├── .eslintignore ├── .eslintrc.json ├── .github ├── pull_request_template.md └── workflows │ ├── build.yaml │ ├── lint.yaml │ └── test.yaml ├── .gitignore ├── .prettierignore ├── LICENSE.md ├── README.md ├── api-extractor.json ├── etc └── caketype.api.md ├── jest-exactOptionalPropertyTypes.config.js ├── jest.config.js ├── package.json ├── scripts ├── jsconfig.json ├── markdown-toc.js ├── readme-check.js ├── tsdoc-to-markdown.js └── util.js ├── src ├── Class.ts ├── MapUtils.ts ├── ObjectUtils.ts ├── Primitive.ts ├── Result.ts ├── assert-types.ts ├── cake │ ├── ArrayCake.ts │ ├── Baker.ts │ ├── Cake.ts │ ├── CakeError.ts │ ├── CakeErrorStringifier.ts │ ├── CakeStringifier.ts │ ├── CheckOptions.ts │ ├── Checker.ts │ ├── IntegerRefinement.ts │ ├── LiteralCake.ts │ ├── NumberCake.ts │ ├── NumberConstraintsRefinement.ts │ ├── NumberRefinementCake.ts │ ├── ObjectCake.ts │ ├── ReferenceCake.ts │ ├── Refinement.ts │ ├── RefinementCake.ts │ ├── StringCake.ts │ ├── StringConstraintsRefinement.ts │ ├── StringRefinementCake.ts │ ├── StringTree.ts │ ├── TupleCake.ts │ ├── TypeGuardCake.ts │ ├── UnionCake.ts │ ├── helper-types.ts │ ├── index-internal.ts │ ├── index.ts │ └── tags.ts ├── compare.ts ├── index-internal.ts ├── index.ts ├── type-guards.ts └── typescript-flags.ts ├── tests ├── Class.test.ts ├── MapUtils.test.ts ├── ObjectUtils.test.ts ├── Primitive.test.ts ├── Result.test.ts ├── assert-types.test.ts ├── cake │ ├── ArrayCake.test.ts │ ├── Baker.test.ts │ ├── Cake-withName.test.ts │ ├── Cake.test.ts │ ├── CakeError.test.ts │ ├── Checker.test.ts │ ├── IntegerRefinement.test.ts │ ├── LiteralCake.test.ts │ ├── NumberCake.test.ts │ ├── ObjectCake.test.ts │ ├── StringCake.test.ts │ ├── StringTree.test.ts │ ├── TupleCake.test.ts │ ├── TypeGuardCake.test.ts │ ├── UnionCake.test.ts │ ├── tags.test.ts │ └── test-helpers.ts ├── compare.test.ts ├── readme │ ├── getting-started.test.ts │ └── quick-reference.test.ts └── test-helpers.ts └── tsconfig.json /.eslintignore: -------------------------------------------------------------------------------- 1 | /coverage/ 2 | /dist/ 3 | /types/ 4 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/build.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/.github/workflows/build.yaml -------------------------------------------------------------------------------- /.github/workflows/lint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/.github/workflows/lint.yaml -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/.prettierignore -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/README.md -------------------------------------------------------------------------------- /api-extractor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/api-extractor.json -------------------------------------------------------------------------------- /etc/caketype.api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/etc/caketype.api.md -------------------------------------------------------------------------------- /jest-exactOptionalPropertyTypes.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/jest-exactOptionalPropertyTypes.config.js -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/package.json -------------------------------------------------------------------------------- /scripts/jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/scripts/jsconfig.json -------------------------------------------------------------------------------- /scripts/markdown-toc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/scripts/markdown-toc.js -------------------------------------------------------------------------------- /scripts/readme-check.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/scripts/readme-check.js -------------------------------------------------------------------------------- /scripts/tsdoc-to-markdown.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/scripts/tsdoc-to-markdown.js -------------------------------------------------------------------------------- /scripts/util.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/scripts/util.js -------------------------------------------------------------------------------- /src/Class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/Class.ts -------------------------------------------------------------------------------- /src/MapUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/MapUtils.ts -------------------------------------------------------------------------------- /src/ObjectUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/ObjectUtils.ts -------------------------------------------------------------------------------- /src/Primitive.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/Primitive.ts -------------------------------------------------------------------------------- /src/Result.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/Result.ts -------------------------------------------------------------------------------- /src/assert-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/assert-types.ts -------------------------------------------------------------------------------- /src/cake/ArrayCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/ArrayCake.ts -------------------------------------------------------------------------------- /src/cake/Baker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/Baker.ts -------------------------------------------------------------------------------- /src/cake/Cake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/Cake.ts -------------------------------------------------------------------------------- /src/cake/CakeError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/CakeError.ts -------------------------------------------------------------------------------- /src/cake/CakeErrorStringifier.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/CakeErrorStringifier.ts -------------------------------------------------------------------------------- /src/cake/CakeStringifier.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/CakeStringifier.ts -------------------------------------------------------------------------------- /src/cake/CheckOptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/CheckOptions.ts -------------------------------------------------------------------------------- /src/cake/Checker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/Checker.ts -------------------------------------------------------------------------------- /src/cake/IntegerRefinement.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/IntegerRefinement.ts -------------------------------------------------------------------------------- /src/cake/LiteralCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/LiteralCake.ts -------------------------------------------------------------------------------- /src/cake/NumberCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/NumberCake.ts -------------------------------------------------------------------------------- /src/cake/NumberConstraintsRefinement.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/NumberConstraintsRefinement.ts -------------------------------------------------------------------------------- /src/cake/NumberRefinementCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/NumberRefinementCake.ts -------------------------------------------------------------------------------- /src/cake/ObjectCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/ObjectCake.ts -------------------------------------------------------------------------------- /src/cake/ReferenceCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/ReferenceCake.ts -------------------------------------------------------------------------------- /src/cake/Refinement.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/Refinement.ts -------------------------------------------------------------------------------- /src/cake/RefinementCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/RefinementCake.ts -------------------------------------------------------------------------------- /src/cake/StringCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/StringCake.ts -------------------------------------------------------------------------------- /src/cake/StringConstraintsRefinement.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/StringConstraintsRefinement.ts -------------------------------------------------------------------------------- /src/cake/StringRefinementCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/StringRefinementCake.ts -------------------------------------------------------------------------------- /src/cake/StringTree.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/StringTree.ts -------------------------------------------------------------------------------- /src/cake/TupleCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/TupleCake.ts -------------------------------------------------------------------------------- /src/cake/TypeGuardCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/TypeGuardCake.ts -------------------------------------------------------------------------------- /src/cake/UnionCake.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/UnionCake.ts -------------------------------------------------------------------------------- /src/cake/helper-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/helper-types.ts -------------------------------------------------------------------------------- /src/cake/index-internal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/index-internal.ts -------------------------------------------------------------------------------- /src/cake/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/index.ts -------------------------------------------------------------------------------- /src/cake/tags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/cake/tags.ts -------------------------------------------------------------------------------- /src/compare.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/compare.ts -------------------------------------------------------------------------------- /src/index-internal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/index-internal.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/type-guards.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/type-guards.ts -------------------------------------------------------------------------------- /src/typescript-flags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/src/typescript-flags.ts -------------------------------------------------------------------------------- /tests/Class.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/Class.test.ts -------------------------------------------------------------------------------- /tests/MapUtils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/MapUtils.test.ts -------------------------------------------------------------------------------- /tests/ObjectUtils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/ObjectUtils.test.ts -------------------------------------------------------------------------------- /tests/Primitive.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/Primitive.test.ts -------------------------------------------------------------------------------- /tests/Result.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/Result.test.ts -------------------------------------------------------------------------------- /tests/assert-types.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/assert-types.test.ts -------------------------------------------------------------------------------- /tests/cake/ArrayCake.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/ArrayCake.test.ts -------------------------------------------------------------------------------- /tests/cake/Baker.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/Baker.test.ts -------------------------------------------------------------------------------- /tests/cake/Cake-withName.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/Cake-withName.test.ts -------------------------------------------------------------------------------- /tests/cake/Cake.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/Cake.test.ts -------------------------------------------------------------------------------- /tests/cake/CakeError.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/CakeError.test.ts -------------------------------------------------------------------------------- /tests/cake/Checker.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/Checker.test.ts -------------------------------------------------------------------------------- /tests/cake/IntegerRefinement.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/IntegerRefinement.test.ts -------------------------------------------------------------------------------- /tests/cake/LiteralCake.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/LiteralCake.test.ts -------------------------------------------------------------------------------- /tests/cake/NumberCake.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/NumberCake.test.ts -------------------------------------------------------------------------------- /tests/cake/ObjectCake.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/ObjectCake.test.ts -------------------------------------------------------------------------------- /tests/cake/StringCake.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/StringCake.test.ts -------------------------------------------------------------------------------- /tests/cake/StringTree.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/StringTree.test.ts -------------------------------------------------------------------------------- /tests/cake/TupleCake.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/TupleCake.test.ts -------------------------------------------------------------------------------- /tests/cake/TypeGuardCake.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/TypeGuardCake.test.ts -------------------------------------------------------------------------------- /tests/cake/UnionCake.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/UnionCake.test.ts -------------------------------------------------------------------------------- /tests/cake/tags.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/tags.test.ts -------------------------------------------------------------------------------- /tests/cake/test-helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/cake/test-helpers.ts -------------------------------------------------------------------------------- /tests/compare.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/compare.test.ts -------------------------------------------------------------------------------- /tests/readme/getting-started.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/readme/getting-started.test.ts -------------------------------------------------------------------------------- /tests/readme/quick-reference.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/readme/quick-reference.test.ts -------------------------------------------------------------------------------- /tests/test-helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tests/test-helpers.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/justinyaodu/caketype/HEAD/tsconfig.json --------------------------------------------------------------------------------