{"bugs":{"url":"https://github.com/altostra/type-validations/issues"},"dist":{"shasum":"17ec69cce62f56633f77447365c8bb6cac204aaa","tarball":"https://registry.npmjs.org/@altostra/type-validations/-/type-validations-2.0.0-ts-41.0.tgz","fileCount":43,"integrity":"sha512-KTE3uy3VaXSi9n5muUS7X185WowAfAOZ/swfdbP8zWHUN9Cf0P4F/3JqHCIVZiMpkouO2T3vrD6j9kgX8QEFpw==","signatures":[{"sig":"MEUCIQD+bbLQ6E890K9rBP+39SPBCjj/GX4oP3pl+fS6dIdLoQIgcF5nDeB9S2SWkPhxE2L59t8j3cWpLtIySC/grAsj4x8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53974,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfumSDCRA9TVsSAnZWagAAzOUP/RFCfNkdwEzVEP9mLRIC\nGLtIFCCv9lTZXZn5uSeGuavy62aratubmeZFLoJLaX+5malv0VDiTd0ZWm7P\nF13b2HxrzThf6G6631C8zkdXMNn6AFZTxFX29A3O4uJf2W0Pgg0yGwInB8fo\nUGuECML735HLVVOXaol9oRXTtOr+cN74xxn+YnwkoFjQaBAAXE/spG1+gw6M\nLNo2n4paZqiOrgNcS9sRd1SiULLrO2qMQWw31px+b160U/yDS6/f/Penl64x\nFYako79avCp1ZM8zuoO7Ut/+GfYE7q4p83xCiWcBNNb91CXpsm10OoIsnzj8\n6YW0iEAwr1MAHiswZLD2jSm6Un0M3gD70YWQiIeyBG26DUy8Skj7hiihmvpt\nIBjhhPoXwe+y+qDOjP0rtzBs1AYWcRmpu6jfOZ59pjfYHTNP6CG1U4ICDJBH\nABw0UoI3Aw4wDwlmHPe3AWL8LHNcBSw33Hfqz6+rZWr/jDdkNpguSt6nbLBb\nZWbzbcJAw93LnklMmzWSUY3O6lX2tdnenZx3nw4aTbFMOfXbtB4+kerNU3gj\nbIVWAuOP+5cCYXJFV2xTVWNupUIwsILufH2yukVca0iXAEso8iQFy3FE6yp9\nCXP0yNFlViADsaOfDVLrc5cOqAnrBN2HIE2kNpeV0r1jZUM0DTaprV4YEYpG\nGBm+\r\n=ZgI2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","name":"@altostra/type-validations","types":"lib/index.d.ts","author":{"name":"Altostra Inc."},"readme":"# Type validations\n\n![CI](https://github.com/altostra/type-validations/workflows/CI/badge.svg)\n[![npm version](https://badge.fury.io/js/%40altostra%2Ftype-validations.svg)](https://badge.fury.io/js/%40altostra%2Ftype-validations)\n\nType validations is a library for creating *type-validator*s: augmented \n[*type-guard*](https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types)s \nthat perform full runtime type-validation and let TypeScript type checker know what a \ntype may be in a certain context.\n\n## Installation\n\n```sh\n$ npm install @altostra/type-validations\n```\n\n## Reference\n\nA full reference can be found [here](./docs/reference/index.md).\n\n### [`allOf`](./docs/reference/docs/reference/allOf.md)\n\nCreates *type-validator*s for an\n[*intersections-type*](https://www.typescriptlang.org/docs/handbook/advanced-types.html#intersection-types)\nfrom a list of *type-validator*s.\n\n### [`anyOf`](./docs/reference/anyOf.md)\n\nCreates *type-validator*s for a\n[*union-type*](https://www.typescriptlang.org/docs/handbook/advanced-types.html#union-types)\nfrom a list of *type-validator*s.\n\n### [`arrayOf`](./docs/reference/arrayOf.md)\n\nGiven *type-guard* for type `T`, creates a *type-validator* for `T[]`.\n\n### [`assertBy`](./docs/reference/assertions.md)\n\nCreate *assertion-functions* from *type-validation* and an error-factory.\n\n### [`enumOf`](./docs/reference/enumOf.md)\n\nCreates a *type-validation* that checks if a value is one of the specified values\n(using strict equality).\n\n### [`is`](./docs/reference/is.md)\n\nCreates a *type-validation* that only allows values that are strictly equal to \nthe provided value.\n\n### [`isEmptyArray`](./docs/reference/isEmptyArray.md)\n\nA *type-validation* that checks if a value is an empty array.\n\n### [`isEmptyObject`](./docs/reference/isEmptyObject.md)\n\nA *type-validation* that checks if a value is an empty object.\n\n### [`isFunction`](./docs/reference/isFunction.md)\n\nCreates a *type-validation* that checks if a value is a function with a specified length.\n\n### [`maybe`](./docs/reference/maybe.md)\n\nCreates a *type-validation* that checks if a value is of validated type, `undefined`, \nand optionally `null`.\n\n### [`objectOf`](./docs/reference/objectOf.md)\n\nCreates *type-validation* that checks if a value is an object that all its properties\nare validated with the provided validations.\n\n### [`recordOf`](./docs/reference/recordOf.md)\n\nCreates *type-validator* that checks that a given value is an object and that\nall its properties are of a specific type.\n\n### [`singleOrArray`](./docs/reference/singleOrArray.md)\n\nCreates a *type-validation* that checks if a value is either a specific type or an\narray of that type.\n\n### [`tupleOf`](./docs/reference/tupleOf.md)\n\nCreates a *type-validation* that checks that an object is an array with a specific length,\nand has all the provided indices validated.\n\n### [Primitives](./docs/reference/primitives.md)\n\n#### *Type-validations*\n- `string`\n- `maybeString`\n- `number`\n- `maybeNumber`\n- `boolean`\n- `maybeBoolean`\n- `nullValidation`\n- `nullOrUndefined`\n- `undefinedValidation`\n- `symbol`\n- `maybeSymbol`\n- `bigint`\n- `maybeBigint`\n- `any`\n- `unknown`\n- `never`\n\n#### *Type-assertions*\n\n- `stringAssertion`\n- `maybeStringAssertion`\n- `numberAssertion`\n- `maybeNumberAssertion`\n- `booleanAssertion`\n- `maybeBooleanAssertion`\n- `nullAssertion`\n- `nullOrUndefinedAssertion`\n- `undefinedAssertion`\n- `symbolAssertion`\n- `maybeSymbolAssertion`\n- `bigintAssertion`\n- `maybeBigintAssertion`\n- `anyAssertion`\n- `unknownAssertion`\n- `assert`\n","gitHead":"60c4b71e8471b5be08fcb70e6b2b574d8ec6506e","license":"MIT","scripts":{"test":"mocha \"src/**/*.spec.ts\" --recursive","build":"npm run build:clean && tsc -p ./tsconfig.build.json","build:clean":"rimraf lib","build:debug":"tsc -p .","build:watch":"npm run build:debug -- -w","build:minify":"node scripts/minify-lib.js","prepublishOnly":"npm ci && npm test && npm run build:production && npm ci --production","build:production":"npm run build && npm run build:minify"},"_npmUser":{"name":"altostra-npm","email":"npm@altostra.com"},"homepage":"https://github.com/altostra/type-validations#readme","keywords":["type","validation","type","guards","assertions","input","validation"],"repository":{"url":"git+ssh://git@github.com/altostra/type-validations.git","type":"git"},"_npmVersion":"6.14.8","description":"Utility functions to create type-guards and assertions.","directories":{},"maintainers":[{"name":"altostra-npm","email":"npm@altostra.com"}],"_nodeVersion":"12.18.4","dependencies":{"@reactivex/ix-es2015-cjs":"~3.0.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"chai":"^4.2.0","mocha":"^7.1.2","sinon":"^9.0.2","rimraf":"^3.0.2","terser":"^4.6.13","ts-node":"^8.10.1","typescript":"~4.1.2","@types/chai":"^4.2.11","@types/node":"^12.12.39","@types/mocha":"^7.0.2","@types/sinon":"^9.0.0","tsconfig-paths":"^3.9.0"},"_npmOperationalInternal":{"tmp":"tmp/type-validations_2.0.0-ts-41.0_1606050946672_0.6321759381678009","host":"s3://npm-registry-packages"},"_id":"@altostra/type-validations@2.0.0-ts-41.0","version":"2.0.0-ts-41.0"}