-
-
Notifications
You must be signed in to change notification settings - Fork 84
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
add enforce.loose() #492
Comments
What do you think of the following implementation ?
Would also allow using shape with an additional param to get the same result (might be more clear than loose) |
Yes, that's pretty much what I had in mind. I would argue though that instead of a boolean argument, it might be better an options object with a |
@kapalex If you still want to take this issue, you can go ahead. I am done implementing my breaking changes :) |
Should get to it today or tomorrow 😄 |
closed by #505 |
….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)
enforce.shape() supports defining an object schema, but it requires an exact match of an object. If the object contains extra keys, it will throw an error.
enforce.loose should implement the same behaviour of enforce.shape, but also allow extra keys to be present in the data object.
See Shape for reference.
The text was updated successfully, but these errors were encountered: