Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2020 11 19 enforce template #509

Merged
merged 4 commits into from
Nov 19, 2020
Merged

2020 11 19 enforce template #509

merged 4 commits into from
Nov 19, 2020

Conversation

ealush
Copy link
Owner

@ealush ealush commented Nov 19, 2020

Q A
New feature?
Breaking change?
Deprecations?
Documentation?
Tests added?
Types added?

Enforce templates

When you have common patterns you need to repeat in multiple places, it might be simpler to store them as templates.

For example, let's assume that all across our systems, a username must be a non-numeric string that's longer than 3 characters.

enforce(username).isString().isNotEmpty().isNotNumeric().longerThan(3);

This is quite simple to understand, but if you have to keep it up-to-date in every place you validate a username, you may eventually have inconsistent or out-of-date validations.

It can be beneficial in that case to keep this enforcement as a template for later use:

const Username = enforce.template(
  enforce.isString().isNotEmpty().isNotNumeric().longerThan(3)
);

And then, anywhere else you can use your new Username template to validate usernames all across your application:

Username('myUsername'); // passes
Username('1234'); // throws
Username('ab'); // throws

You can also use templates inside other compound rules, such as shape, isArrayOf or anyOf.

enforce({
  username: 'someusername',
}).shape({ username: Username });

enforce(['user1', 'user2']).isArrayOf(Username);

Templates can also be nested and composited:

const RequiredField = enforce.template(enforce.isNotEmpty());
const NumericString = enforce.template(enforce.isNumeric().isString());

const EvenNumeric = enforce.template(
  RequiredField,
  NumericString,
  enforce.isEven()
);

EvenNumeric('10'); // pases
EvenNumeric('1'); // throws

@ealush ealush merged commit 54e500f into latest Nov 19, 2020
@ealush ealush deleted the 2020-11-19-enforce-template branch November 29, 2020 08:31
github-actions bot pushed a commit that referenced this pull request Nov 23, 2022
….0), [n4s]: (5.0.0), [vast]: (2.0.0), [vest]: (5.0.0)

6ecff19  [Snyk] Upgrade context from 3.0.1 to 3.0.2 (#943) (Snyk bot)
92a190d  [Snyk] Upgrade vest-utils from 0.0.2 to 0.0.3 (#942) (Snyk bot)
fcb5e4f  🌈 Updating: [vest]: (4.6.6) (ealush)
e57dafa  types(vest): expose compounds types (ealush)
8f54ca7  🦺 Updating: [context]: (3.0.4), [n4s]: (4.3.2), [vest]: (4.6.5) (ealush)
a2ef40d  readme: add badges to context and enforce (ealush)
989cd0d  patch(vest): separate Context and Cascade tests (ealush)
3ae44e8  types(vest): simplify test overload (ealush)
b168fb2  ✨ Updating: [n4s]: (4.3.1), [vest]: (4.6.4) (ealush)
323aafe  patch(n4s): throw .message as a string object (ealush)
70bd5d4  🤘 Updating: [n4s]: (4.3.0) (ealush)
04f93f2  add(n4s): enforce().message() for inline assertion text (#929) (Shani Arnon)
902b1bc  vx: Improve dependency resolution based on package.json (#928) (Evyatar)
853d57a  🚀 Updating: (ealush)
9166d7b  patch: auto update package json catch all (ealush)
678112d  🚀 Updating: [vest-utils]: (0.0.4), [anyone]: (1.0.4), [context]: (3.0.3), [n4s]: (4.2.3), [vast]: (1.0.14), [vest]: (4.6.3) (ealush)
7f601c7  fix(package): deprecated folder mapping ./ in the exports field m… (#922) (Thierry Poinot)
14bfa60  lint: add rule no-else-return (ealush)
75dc914  vx: disallow duplicates only within the same package (ealush)
4baabe7  vx: replace moduleAliases with a package-local module (ealush)
fabbb16  vx: update context (ealush)
8bd5015  ✨ Updating: [vest-utils]: (0.0.3), [anyone]: (1.0.3), [context]: (3.0.2), [n4s]: (4.2.2), [vast]: (1.0.13), [vest]: (4.6.2) (ealush)
4c9f3b8  fix(vest-utils): use correct package path in imported types (ealush)
3f18579  chore: improve anyone code coverage (ealush)
b286f4b  ✨ Updating: [context]: (3.0.1), [n4s]: (4.2.1), [vest]: (4.6.1) (ealush)
2ffc4ee  Bump Context (ealush)
781e21f  patch(context): useX throws instead of returning default value (ealush)
040354c  major(context): add createContext and createCascade (#918) (Evyatar)
6d79c65  🤘 Updating: [context]: (2.0.9), [n4s]: (4.2.0), [vast]: (1.0.12), [vest]: (4.6.0) (ealush)
7a17ef0  patch(context): simplify context by removing the ancestry registration (ealush)
147c906  types: simplify indirect types (ealush)
d7d0893  feat(vest): Add boolean control for optional fields (#910) (Evyatar)
5b93c8c  vx: run all formats at once (#909) (Evyatar)
8284ce2  patch(vest): use string module from vest-utils (ealush)
641324a  vx: update vest-utils (ealush)
9a876c1  🚀 Updating: [anyone]: (1.0.2), [vest-utils]: (0.0.2), [context]: (2.0.8), [n4s]: (4.1.9), [vast]: (1.0.11), [vest]: (4.5.0) (ealush)
9b46fb6  types(vest): add suiteName type to SuiteResult (ealush)
47d688a  lint: ignore comments in max-lines (ealush)
a9070d9  documentation: add code comments to enforceEager (ealush)
e4590ac  lint: sort exports (ealush)
b94b568  patch(vest): use suiteSelectors from vest top level api in parser module (ealush)
24e4cea  added(vest): expose suiteSelectors as a top level API (ealush)
1812e68  patch(vest): remove unneeded base object in context assignment (ealush)
590ad76  patch(vest): Remove suiteSummary from context (ealush)
e8dbbc9  patch(vest): move suite selectors out into their own module for easier consumption by external sources (#906) (Evyatar)
8597af2  patch(vest): Call done callback immediately when field does not exist (ealush)
e94a2df  vx: getModuleAliases add package name (ealush)
238ccfa  patch(vest-utils): added patch utils package (ealush)
1303163  patch(vx): make current package a global as well (ealush)
17c39f6  types(vest): improve getFailures overload (ealush)
d4d4cb1  patch(vest): Remove unneeded empty check in hasRemainigTests (ealush)
e7db774  types: consistently use cb type (ealush)
92c0e70  vx: build single (ealush)
1d77692  lint: fix lint errors (ealush)
b621b6a  chore: update gitignore (ealush)
1919dec  Update coverage.yml (Evyatar)
97b9f52  🤘 Updating: [context]: (2.0.7), [n4s]: (4.1.8), [vest]: (4.4.2) (ealush)
4992737  Update RawExample.js (Evyatar)
70d30a0  Update README.md (Evyatar)
042e7d5  patch: remove unneeded conditions (ealush)
3bf8aa5  lint: fix lint errors (ealush)
dc9e214  tests: mapFirst (ealush)
555bf85  patch(n4s): replace array with counter in oneOf (ealush)
28db6c7  patch: mapFirst move breakout conditionals inside (ealush)
a6a86a7  patch(n4s): Simplify rule result (ealush)
b11c779  patch(context): use  internally (ealush)
44721e6  types(n4s): add isUndefined type guard (ealush)
b062abb  types(vest): Add a dedicated VestTests plural type (ealush)
59940e1  patch: add function fallback to defaultTo utility (ealush)
f28a1a6  tests(vest): Completely remove itWithContext (ealush)
47b07cd  🌈 Updating: [vest]: (4.4.1) (ealush)
870a2ed  tests(vest): Remove most itWithContext instances from tests (ealush)
1944122  patch(vest): use isolate hook directly (ealush)
33cd6d9  patch(vest): Use the same test mutation function everywhere (ealush)
8b83eff  ✅ Updating: [vest]: (4.4.0) (ealush)
a5db77c  tests(vest): Add sanity tests for group validity (ealush)
49096b1  patch(vest): replace Cursor with IsolateCursor (#869) (Evyatar)
4dbb9c0  minor(vest): isValidByGroup (#856) (Evyatar)
6a67315  tests(vest): make test.memo test more resilient (ealush)
89dc0f7  vx: create git tags from changes (ealush)
85b6ded  vx: force push to stable branch (ealush)
c4775cd  🌈 Updating: [context]: (2.0.6), [n4s]: (4.1.7), [vast]: (1.0.10), [vest]: (4.3.4) (ealush)
3a5c8fe  fix(vest): restore v3 compatibility in failure gathering (ealush)
922999f  website: fix button hover status (ealush)
4dc8d80  ✅ Updating: [context]: (2.0.5), [n4s]: (4.1.6), [vast]: (1.0.9), [vest]: (4.3.3) (ealush)
69ff658  patch(vest): simplify flat test selectors (ealush)
679b1ca  fix(vest): valid is calculated correctly with omitWhen applied (#838) (Evyatar)
ab4a29e  types(vest): Automatically infer state type from state key (ealush)
4d15f14  🤘 Updating: [context]: (2.0.4), [n4s]: (4.1.5), [vast]: (1.0.8), [vest]: (4.3.2) (ealush)
2c8e73b  vx: remove custom options from build (ealush)
b99e817  vx: clean up hand crafted paths (ealush)
52064d3  vx: hack around double build (ealush)
4dd8e5e  patch(vest): simplify hasFailures (ealush)
9d6a435  patch(vest): simplify exclusive (ealush)
7dbc324  patch(vest): always generate errors and warnings arrays (ealush)
b20ef64  tests(vest): isValid (ealush)
8a20841  patch(vest): disallow bad include input (ealush)
584be8a  patch(vest): remove duplicate VestTest run logic (ealush)
4640d5a  patch(vest): remove unneeded field existence check (ealush)
65a8a38  patch(vest): simplify severity count (ealush)
472e4cc  patch(vest): simplify omitted calculation (ealush)
1bd49f1  tests: invariant (ealush)
852c692  tests: invariant (ealush)
ad8f1c8  tests: enforce (ealush)
25c016b  tests: isValueOf (ealush)
128311f  fix: isEmpty defaults to false (ealush)
101e6f1  tests: inside (ealush)
2fcf0c9  tests: oneOf (ealush)
1c13dc0  tests: oneOf (ealush)
38c7305  tests: isProxySupported (ealush)
6764716  patch(vest): only bind summary object to the suite result methods (ealush)
0dd7dad  patch(vest): hasFailure selectors use static summary object (#813) (Evyatar)
e379446  ✨ Updating: [context]: (2.0.3), [n4s]: (4.1.4), [vast]: (1.0.7), [vest]: (4.3.1) (ealush)
3d5b4e4  tests(context): Add test coverage to use and useX (ealush)
a087969  patch(vest): remove unneeded bind in run result callback (ealush)
2f1c5b7  types: remove type prefixes (ealush)
8dd9c64  types(vest): add FailureMessages type (ealush)
6abeaee  patch(vest): lower test.memo cache size to 10 (ealush)
4d84352  patch(vest): reduce result cache size to 1 (ealush)
6446c19  patch(vest): isValid uses static summary (ealush)
a8484a8  patch(vest): make suite result methods use static summary object (ealush)
742d340  patch(vest): getFailures uses static summary object (ealush)
31727a0  # This is a combination of 2 commits. # This is the 1st commit message: (ealush)
3f9811e  test(vest): make collectFailureMessages tests use external interface (ealush)
9b9e394  patch(n4s): use number rules in length rules (ealush)
4eaea36  patch(vest): cleaner omit (ealush)
6c0d43c  types(vest): shared callback type (ealush)
7722de7  🤘 Updating: [context]: (2.0.2), [n4s]: (4.1.3), [vest]: (4.3.0) (ealush)
16a2059  types(vest): export SuiteSummary type (ealush)
bec71a8  types(vest): use only SuiteSummary in classnames (ealush)
24ef7f0  types: make classnames accept SuiteSummary (ealush)
1895a9a  vx: filter out file names from commit message (ealush)
bee4ba8  lint: use single Vest import in test (ealush)
414673a  patch(n4s): simplify gte and lte rules (Evyatar)
cdf6910  patch(vest): use isPositive in parser (Evyatar)
36b905a  fix(n4s): isPositive is not a negation of isNegative (Evyatar)
67e698b  patch(vest): support suite summary in parser module (Evyatar)
d648cb5  minor(vest): Add valid to the results object (Evyatar)
87ebfaf  types(vest): export Suite return type (Evyatar)
7d6749c  patch(vest): fix lint errors (Evyatar)
f78a477  patch(vest): organize genTestSummary (Evyatar)
bc85119  patch(vest): isValid calculation without relying on result object (Evyatar)
e13b558  patch: use invariant utility (Evyatar)
6a4ed2c  patch: remove custom resolutions from vx (Evyatar)
f817048  ✨ Updating: [vest]: (4.2.2) (ealush)
d305efe  patch(eager): safer exit on eager (Evyatar)
24bc521  fix(vest): prevent performing eager check on prev test run (Evyatar)
e266bf8  ✨ Updating: [vest]: (4.2.1) (ealush)
1a6adf3  types(vest): export core types (#795) (Evyatar)
e568689  patch(vest): log test object to the console on error (Evyatar)
9092c0c  test(vest): fix mistyped field name in tests (Evyatar)
905bdd7  🌈 Updating: [vest]: (4.2.0) (ealush)
052f317  add(vest): eager run mode (#793) (Evyatar)
4745f94  patch(vest): general cleanups (Evyatar)
f8a934c  patch: simplify bus (Evyatar)
ebd8188  patch(vest): emit an event when all tests are done running (Evyatar)
a486d7e  ✨ Updating: [vest]: (4.1.3) (ealush)
39fbd65  fix(vx): set correct version number inside package  bundles (Evyatar)
f601e1c  patch(vest): support nested omitWhen calls (Evyatar)
070d0d5  v4.1.2 (ealush)
8c2e2d4  v4.1.2 (ealush)
ea76261  fix(vest): support nested skipWhen when true->false (Evyatar)
072ccde  patch(vest): add statusEquals VestTest method (ealush)
02e08d6  v4.1.1 (ealush)
e1c18e5  patch(vest): Use a more informative test exception message (ealush)
c100a5c  🚀 Updating: (ealush)
fd79b1b  Create CODE_OF_CONDUCT.md (Evyatar)
fc37abb  v4.1.0 (ealush)
e353c16  vx: add minor keyword (ealush)
c1e31f3  add(vest): suite.resetField (#777) (Evyatar)
d9a5831  bump deps (ealush)
b0456bc  v4.0.3 (ealush)
45d4522  v4.1.1 (ealush)
52bfd95  fix(n4s): Use TLazyRuleRunners for isArrayOf (ealush)
3ae8284  v4.0.2 (ealush)
e34571a  v1.0.6 (ealush)
faf65c1  v4.1.0 (ealush)
7c7c9a0  vx: add branchAllowsRelease constant (ealush)
b9369da  Update codeql-analysis.yml (Evyatar)
d03550c  vx: prevent release on no disallowed branches (ealush)
65cd1a6  Update integration.yml (Evyatar)
ec3be98  Update codeql-analysis.yml (Evyatar)
ea00352  feat(n4s): added 'isKeyOf' rule (#771) (galezra)
adfb43b  Create codeql-analysis.yml (#739) (Evyatar)
7b2c4de  fix(n4s): use a target function in ES5 browsers as well (ealush)
35723af  add(n4s): isValueOf and isNotValueOf (#760) (saard)
3041ce6  vx: build umd as complete bundles (ealush)
9e4b95d  vx: build right before publish to update .VERSION (ealush)
3fc3131  add(vest): declarative conditional include for linking fields (ealush)
f0e5982  vx: use correct rootDir for tests (ealush)
377f30e  vx: align testMatch with jest 27 (ealush)
025b916  patch: align jest version (ealush)
f794014  Update readme title (ealush)
ced73f3  build(deps): bump tmpl from 1.0.4 to 1.0.5 (#744) (Evyatar)
08d6ac9  vx: allow merging to stable branch (ealush)
bbcbaf0  Update changelog (ealush)
ed8eaad  vx: temporarily disable pushing to latest branch (ealush)
8f006ce  types(n4s): extract shape object type (ealush)
6a2b45d  vx: comment out 'build' in release step (ealush)
37dfaaf  types(vest): fix redeclaration of _default (ealush)
99e9897  vx: build all (ealush)
0842334  feat(vest): expose Vest's context for future plugin support (ealush)
eb4e35e  vx: use caret version when bumping local deps (ealush)
8ba9895  add(vest): omitWhen (#738) (Evyatar)
a01e5ce  vx: auto increment dep versions (ealush)
dbea7ac  vx: treat locally installed as externals (ealush)
1384c08  fix(vest): only.group works in conjunction with only (#734) (Evyatar)
7daf6d2  rule(n4s): add isNullish rule, improve isBlank (ealush)
c4a4140  chore: organize imports (ealush)
825e74b  types(n4s): fix proxy type (ealush)
b5a0108  breaking(vest): remove test.each (ealush)
b0a9a14  feat(vest): use key prop to retain test state after reorder (#732) (Evyatar)
ddceca7  patch(n4s): improve partial support (ealush)
d0421dc  chore(n4s): add plugins directory (ealush)
9f9b970  vx: improve package.json generation (ealush)
0370fc1  n4s: extract non-required modules (ealush)
03ba92c  vx: support namespaced exports (ealush)
38a54ae  vx: support installing of local packages (ealush)
7baedf2  n4s: use named export in entry (ealush)
366001b  patch(vest): better handling of skipped async tests (ealush)
2380679  types(vest): allow unprovided suite name in tests (ealush)
5e9194f  vx: add next release process (ealush)
f721b2d  patch(vest): replace warns boolean flag with enum (ealush)
7473483  hack(n4s): use 'any' as the input for compose (ealush)
0acb24d  patch(vest): Pass draft result to skipWhen conditional (ealush)
e84cd9d  patch(vest): add back optional suite name argument (ealush)
8b30b66  patch(vest): make compose an external export (ealush)
e60e9a6  vx: make exports of a module use its main entry as an external (ealush)
ddfa9fd  patch(vest): move creation functions to event bus (ealush)
fe83e88  patch: Some cleanups (ealush)
780c5b7  types(n4s): Allow adding types for custom matchers (ealush)
9275707  fix(vest): prevent pending tests from being marked as skipped (ealush)
94e00a8  patch(vest): Add isolate module for containing re-orders (ealush)
bed7040  vx: add back to workspace (ealush)
5bcc14a  patch(vest): refresh tests after cancel (ealush)
fd049e8  patch: add cursor util (ealush)
9380c09  patch(vest): move cursor into context (ealush)
49b72f4  patch(vest): automatically purge not-found test results (ealush)
2dfedaf  vx: correctly pass cli options to build script (ealush)
aae250a  patch(vest): Throw error when tests are called in the wrong order (ealush)
a87824b  vx: add types to exports (ealush)
cc9b4b0  organize vest state hooks (ealush)
df84261  patch(vest): infer omitted optional fields (ealush)
d3e7613  feat(vest): support custom optional logic (ealush)
f2d458d  update build artifacts (ealush)
dc99d94  patch: shorten isBlank (ealush)
2534cf6  vx: add dev bundle to exports (ealush)
4d450aa  fix(vest): prevent changing test status once it was finalized (ealush)
8730e25  patch(vest): add cache invalidation for canceled tests (ealush)
4cb2c6c  types(vest): add safeguard around shouldUseErrorAsMessage (ealush)
c214a12  patch(vest): some cleanups (ealush)
858458d  patch(vest): remove duplicate code handling perv test registration (ealush)
ec69173  vx: use context directly from published package (ealush)
962bc06  patch: run done callbacks via event (ealush)
2038399  patch: add shared bus module (ealush)
b3e2714  vx: use context named import (ealush)
d96f428  patch(vest): removed state subscription (ealush)
7c43eab  major(context): used named export in context (ealush)
e4e1746  patch(vest): remove pending and lagging state (ealush)
be1cbf6  feat(vest): Add a parser export (ealush)
9d8fd21  patch(vest): convert boolean flags to a single status key (ealush)
dbb836e  patch: simplify fieldname comparison (ealush)
2553748  feat(vest): isValid with field name (ealush)
5a78179  patch(vest): add useAllIncomplete hook (ealush)
b5ae658  patch(vest): invalid accounts for warning tests as well (ealush)
4563b8d  patch(vest): isValid counts all required tests per field (ealush)
3fe2f21  chore: cleanups (ealush)
149aab3  add(n4s): enforce.condition (ealush)
d786b34  fix(n4s): make sure oneOf correctly validates single case (ealush)
ec5ceb9  feat(vest): handle execution order state refill with memoized tests (ealush)
49e601a  feat(n4s): enforce.compose (ealush)
13830b9  types(n4s): simplify the types for (ealush)
40ef071  chore: cleanup residue (undefined)
4032bd8  feat(vest): Make the state rely on execution order. Make skipWhen set skipped context. (undefined)
2b902cb  added(n4s): add custom message support to lazy enforcements (undefined)
eeac20e  chore: remove duplicate types (undefined)
e4e2a80  tests(n4s): add paritla tests (undefined)
220127b  added(n4s): partial rule modifier (undefined)
4d88c04  patch: add nodejs exports (undefined)
6e57aa1  patch: remove unused exports (undefined)
1dddaf4  patch(n4s): improve types for rule chaining (undefined)
b5ce72d  feat(n4s): context propagation within enforce (undefined)
651de44  feat(n4s): optional (undefined)
516ff54  feat(n4s): isArrayOf (undefined)
32fe8a5  feat(n4s): add shape and loose validations (undefined)
97175f1  patch: simplify proxy test/run assignment (undefined)
39b92f1  patch: enable enforce in es5 environments (undefined)
6dcbe62  fix: writeCJSMain plugin - emit index file (undefined)
26af06b  chore: reduce complexity, remove all lint errors (undefined)
5be986d  chore: cleanup unused code (ealush)
ba68539  lint: handling lint of all packages (ealush)
cca5130  patch(n4s): add ruleReturn default values (ealush)
75306ff  fix(n4s): make enforce compound runners fall back to correct response (ealush)
4751584  fix(n4s): make enforce chaining work (ealush)
73b28a1  chore: some lint fixes (ealush)
4135ce3  add cli options support (ealush)
e8652bc  breaking(vest, enforce): prepare next major (ealush)
dab8e00  breaking(vest, enforce): prepare next major (ealush)
623bd89  ✨ Updating: [vest]: (3.2.8) (ealush)
9555d1b  types(vest): Add types for skipWhen (ealush)
f0f066d  📢 Updating: [vest]: (3.2.7) (ealush)
c2964e0  patch: add skipWhen for forward compatibility (ealush)
6996d73  🌈 Updating: [vest]: (3.2.6), [n4s]: (3.1.0) (ealush)
e538e5b  patch(vest): remove incorrect messaging from group initialization error (ealush)
5adc337  feat(n4s): add isBlank rule (Luca Pizzini)
0bcf915  🤘 Updating: (ealush)
12fc6e7  ✨ Updating: [vest]: (3.2.5) (ealush)
3bb7f76  patch: Fix crashing of setFnName in IE11 (#671) (Václav Jančařík)
b3b42be  ✨ Updating: [vest]: (3.2.4) (ealush)
ba6c296  patch: remove unused optional references from the state (ealush)
17677ec  💫 Updating: [vest]: (3.2.3) (ealush)
c02f22f  patch: use context only as dev dep (ealush)
e1c44bf  🌈 Updating: [vest]: (3.2.2) (ealush)
70bd8fd  fix(vest): remove buggy conditional skip implementation (ealush)
927dd23  🤯 Updating: [vest]: (3.2.1) (ealush)
0280bbc  🤯 Updating: [vest]: (3.2.0) (ealush)
dcd8ad2  feat(vest): add conditional to skip (ealush)
e3b42c6  minor(vest): account for async tests in isValid function (ealush)
339fe45  patch(Vest): shave off a few bytes (ealush)
60099b3  feat(vest): add support for optional tests and isValid (#612) (Evyatar)
73f2e35  patch: use fieldCallbacks as an object (ealush)
94dd7a5  patch: simplify produce function generation (ealush)
09b2aa4  feat: vest.skipWhen for conditional test exclusion (#611) (Evyatar)
d53d56d  patch(vest): prevent skipped tests from persisting after override (ealush)
c0180d1  patch(vest): upgrade context package (ealush)
5791fef  patch(vest): use vast state library (ealush)
a5aa3f1  patch(vest): make state independent of context (#609) (Evyatar)
32b1d05  feat(vest): add state subscription (#606) (Ronen Elster)
0bb9347  minor(vest): add skipped tests to result as well (#600) (Evyatar)
72b3e40  patch: remove package-lock.json (ealush)
74cb2d6  patch(vest): add remove type, fix typo (#578) (Yakko Majuri)
0761c79  🤩 Updating: [vest]: (3.1.2) (ealush)
d6cce23  types(vest): fix schema types (ealush)
6471856  declare schema (ealush)
177f519  patch: support exports with and without extension (ealush)
f251852  🌈 Updating: [vest]: (3.1.1) (ealush)
d566a32  types(vest): fix promisify types (#563) (Evyatar)
20a047b  💫 Updating: [vest]: (3.1.0) (ealush)
8458837  minor(vest): support schema skip and only (#557) (Evyatar)
0cf5615  minor(vest): support custom message in test (#560) (Evyatar)
553b45c  🌈 Updating: [vest]: (3.0.2) (ealush)
736001f  fix(vest): custom enforce rules typings (ealush)
f59a659  fix(vest): error message override when no warnings (ealush)
c1bd6ab  Update README.md (Evyatar)
47be20a  Update changelog (ealush)
42f587a  Release: Vest 3.0.0 (ealush)
2f948fc  feat(n4s): deeply nested schema result (#555) (Evyatar)
ede4587  test(vest): add tests for VestTest.cancel (ealush)
b8746f9  feat(vest): suite.remove (ealush)
4dd6a30  feat(vest): test.each (#541) (Alex Kaplan)
f3bb418  patch(vest): optionalFunctionValue utility (ealush)
81f3a4d  fix(vest): retain lagging list after reset (ealush)
c2ea710  added: [N4S] allOf compound rule (#533) (Moses3301)
db7f6f4  added: [N4S] oneOf compound (#526) (hpsharon)
61d6258  tests: improve rule test fixture (ealush)
8d0b087  tests: runLazyRule (ealush)
0006059  patch: reduce transpiled bundle size (#522) (Evyatar)
52691b0  patch: update dev mode errors (ealush)
54e500f  feature: [n4s] templates (#509) (Evyatar)
c3949bd  patch: improve enforcement performance on legacy browsers (#507) (Evyatar)
c0053f2  added: [n4s] anyOf for either/or style enforcements #269 (#493) (Alex Kaplan)
4c81bc0  added: enforce.loose for loose shape enforcement style #492 (#505) (Alex Kaplan)
3083ba4  patch: use rules for internal comparisons (ealush)
26d6bed  patch: move anyone package inside (#502) (Evyatar)
56b195d  patch: use isPromise utility (#501) (Evyatar)
670887d  added: isArrayOf rule [N4S] #488 (#499) (Moses3301)
eb43009  patch: use enforce rules for internal evaluations (ealush)
4059180  patch: [n4s] inverse arg control for more correct lazy rule flow (#500) (Evyatar)
bbe0159  breaking: [N4S] Remove ensure export as it is now replaced by the lazy enforce interface (#497) (Evyatar)
8e3386b  Added: Chaining support in lazy enforcement (#495) (Evyatar)
b8c8b6c  patch: move severity profile logic out (#496) (Evyatar)
458bccd  readme: add a discord invite link (Evyatar)
7df6371  added: [n4s] rule: isBoolean (#494) (Evyatar)
f3ff232  minor: [N4S] Add shape validator (#491) (Evyatar)
c3e4449  patch: sort out organize deps (ealush)
3e33fa8  added: [n4s] lazy evaluated enforcements (#479) (Evyatar)
cbee269  patch: [N4S] Use own modules (#476) (Evyatar)
3d47fb1  breaking: remove vest.draft() (#474) (Evyatar)
797fe4e  patch: reduce built size (#465) (Evyatar)
92924df  fix: use proxy with ensure (ealush)
1d6955d  patch: simplify conditions (ealush)
c6b36f2  patch: remove state init symbol (ealush)
98bd1d1  patch: [N4S] bindNot for rules (ealush)
4dd0132  patch: Move state modules to the same directory (ealush)
65a7468  patch: Remove state history (ealush)
699b293  use context.bind (ealush)
b080130  patch: rewrite state module (ealush)
e5eac8f  patch: remove context around async test (ealush)
9de029c  patch: simplify cache (ealush)
1474825  test: remove runSpec module (ealush)
0ef8ec8  breaking: remove validate (ealush)
00a5aba  breaking: remove global state reference (ealush)
a54e455  added: [N4S]  isNegative & isPositive (#433) (Ganesh Patil)
eecb59a  feat: [N4S] rule isBetween and isNotBetween (#419) (Daniel Hermon)
1a69910  types: isUndefined rule (ealush)
17f74e1  added: [N4S] startsWith rule (#414) (Daniel Hermon)
b20aa66  patch: regorganize Context and Suite State (#413) (Evyatar)
d77d569  added: [N4S] endsWith and doesNotEndWith rules (#409) (Daniel Hermon)
a424282  added: [N4S]  rule. (#404) (omri lugasi)
a13e860  added: [n4S] isUndefined rule(#410) (omri lugasi)
ca5dda1  fix: README typos (#392) (baahrens)
62a9336  ✨ Updating: [vest]: (2.2.3) (ealush)
765dea2  fix: get/reset suite typings (Gaspar)
d7db9c3  patch: extract business logic out of context module (#382) (Evyatar)
870dd86  fix: notEquals typings (ealush)
8bcea6e  fix: enforceExtended typings (ealush)
ef8f51c  💫 Updating: [n4s]: (2.1.1), [vest]: (2.2.0) (ealush)
dca5b3b  FIX: rules do not exist on type 'EnforceExtendMap' (#377) (Evyatar)
a694c68  patch: Create a suite core folder (#351) (NorbertLuszkiewicz)
b633f09  FEAT: use Jest assertion return api (#349) (Victor Ligas)
9e96ca6  FEAT: get and reset as properties of createSuite result (#330) (Victor Ligas)
c1846d1  types: add vest.reset and vest.get types (#333) (Evyatar)
63f81ee  🕶 Updating: [n4s]: (2.1.0), [vest]: (2.1.0) (ealush)
062c40a  added: [n4s] add isNaN rule (#300) (Evyatar)
f9f1d39  added: promisify utility (#261) (Adi Feiner)
51e7aa2  patch: Skip iteration of pending tests (#294) (Evyatar)
32ea43f  Use latest branch (ealush)
4d3b583  Update README.md (Evyatar)
a3bc606  patch: clean runAsyncTest done callback (ealush)
4f24697  patch: Replace global object with closures (#275) (Evyatar)
553c8fe  patch: Move exclusion to context (#274) (Evyatar)
e6cccc9  added: returned function name is the name of the suite (ealush)
ff5608f  Update README.md (Evyatar)
bb6cc1d  fix: added safeguard to async test inference (#266) (Evyatar)
a215c43  patch: return enforce from extend api (ealush)
2582c43  types: group and skip types (#258) (Evyatar)
c2beec9  fix: edge case when calling done after delay (#252) (Evyatar)
19e592e  added: test.memo for memoized tests (#238) (Evyatar)
96210af  Skip cache when resolving done results (#240) (Evyatar)
a657058  patch: cache validation result for improved runtime performance (#237) (Evyatar)
ba6ca3d  fix: make vest.reset restore initial state (#235) (Evyatar)
d1ce227  minor: add vest.skip.group and vest.only.group (#225) (Evyatar)
0a1e5dc  Update readme (Evyatar)
fbb1fe9  ✅ Updating: [eslint-plugin-vest]: (0.1.3), [n4s]: (2.0.0), [vest]: (2.0.0) (ealush)
c2eddc9  spec: Improve async tests specs (ealush)
cf19610  feat: add valid class to classNames utility (ealush)
bd67de2  patch: stringify rollup-plugin-replace values (ealush)
c7a384f  added: [vest] hook vest.get (#202) (Evyatar)
492e651  added: utility - classNames (#200) (Evyatar)
8e5add2  update jsdoc (ealush)
146d31b  breaking: [n4s] add extend interface (#189) (Evyatar)
6c9a18f  patch: Move anyone/any to its own bundle (ealush)
febca2e  patch: simplify singleton (#188) (Evyatar)
cff3dbc  test: isGroupExcluded (ealush)
ce5edda  lint: Add lint rules (ealush)
72decaf  patch: consolidate state into a single  source of truth (ealush)
2fcaeda  patch: remove global counters from live state. (#176) (Evyatar)
d65ac73  added: test grouping support (#174) (Evyatar)
2dd93ae  patch: add error handling to  runWithContext (#164) (Evyatar)
ed58c37  test: add dummy test helper (#163) (Evyatar)
07bcb51  patch: nested context support (#157) (Evyatar)
d22f529  patch: validateSuiteParams module (ealush)
b9ebf1e  patch: remove canceled tests from canceled state (#152) (Evyatar)
c4e827c  feat: Separate vest.create from its result function by making validate accept arguments (#151) (Evyatar)
f7ae45b  minor: vest.reset() (#150) (Evyatar)
0b41ac6  breaking: throwError actually throws (#149) (Evyatar)
7872203  major: stateful validations (#148) (Evyatar)
abb72e0  🌈 Updating: [vest]: (1.0.10) (ealush)
89aaeff  fix: Temporarily remove ts typings (ealush)
1d1871b  fix: use default values when field not found in output methods (ealush)
3c17e85  added: runWithContext interface (ealush)
e25884b  ✅ Updating: [eslint-plugin-vest]: (0.1.1), [vest]: (1.0.9) (ealush)
4ca03c4  🔔 Vest update: 1.0.7 (ealush)
a83a9cf  🚀 Vest update: 1.0.6 (ealush)
b1b26ac  ✨ Vest update: 1.0.5 (ealush)
9d89031  Create CODE_OF_CONDUCT.md (#7) (Evyatar Alush)
5ca2ebc  ✨ Vest update: 1.0.4 (ealush)
d73aa67  Merge 425f33c into e4e9112 (Evyatar Alush)
301345a  Hello, World. (ealush)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant