{"_id":"@actualwave/type-checker-simple-reporting","_rev":"8-db6b79382cb8040077bd13106f0cdd27","name":"@actualwave/type-checker-simple-reporting","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.2":{"name":"@actualwave/type-checker-simple-reporting","version":"0.0.2","keywords":["js","javascript","type","check","runtime"],"author":{"url":"http://actualwave.com/","name":"Oleg Galaburda","email":"burdiuz@gmail.com"},"license":"MIT","_id":"@actualwave/type-checker-simple-reporting@0.0.2","maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"homepage":"https://github.com/burdiuz/js-type-checker-simple-reporting","bugs":{"url":"https://github.com/burdiuz/js-type-checker-simple-reporting/issues","email":"burdiuz@gmail.com"},"dist":{"shasum":"c4c8a23f9ac702c118ae30a18b88c0fbd15b6ebb","tarball":"https://registry.npmjs.org/@actualwave/type-checker-simple-reporting/-/type-checker-simple-reporting-0.0.2.tgz","fileCount":7,"integrity":"sha512-+xBWmVoo/mgAAOm9ftPPtfhQxvu/LbxPL6Wo2nZHa+5axJu0qdzXWD6zycKqlWeDgHOaMO5M6hX/DLIHYSwqTg==","signatures":[{"sig":"MEUCIQCgeo1CmJvawTWsnEGZuXfgyILrBxo5gxLs8s0iCpu9aAIgf9WIHiQ/G2kUuP9y2niBMN8I3HBjw1ExBUtMjwP84fs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9375,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbm3PmCRA9TVsSAnZWagAA15cP/3lr7nebz3qBGLKCh5ej\naCb44IFCEpwmFvzn8IMm77n2mLuUEcRhbw2+n3pQTCq88N7r30pWIUFJ+eOs\nQLeYrdqR30rZUt/FmEXFJaEaNjWFgyTx9eX1YcsvkaxgV9CB3JBZSfKrzzvd\n1g+NSSyhSIQjuz4psNXBOvTdAnam5XpUsljhVTNEXNl0vAZpboOzJ2Hf9lHq\nYGs9LI++drdi74eTlYy7NoXboXpedGGGlMj5fl1bjiuf4LlXSAuHkgdvWRTl\nWQbuZVsyWobhkUmAjFToay9jTvhuiGlWNn7liEraWcixkDtZIOmniT0DIy7/\najr3KUe4nnX/wtiUoifqGcFxe1X0JqLKXdcAzCE3sL9LFNLjPNujtE/G91F9\niNfePF2kdrAiMDQjb8srUN4RNh7csVyNeGKuU1Cw5y2+ireqLkHhBHzHY47f\nk4aiI4SggoIf3Nigt+rlP7WhVfm1aGR8KnVPfMjaeh8IJfCiHI/00X+5B1NZ\n9Zzhk0+H/amFmGjccLya0UKLSX8mu4O6D9dv/Il0GtroS4ZvgvXzuog2CTGd\nJ5X9eYS5EIPzIeuZt8sqs09YpR5NfwPp/25FNz/97SOIBJanIJYaLBD+J/Oy\nEtQ27+IPYOR5fSlTCm3wzBVSl9H5gQvWZdvJozVeuqvId1n/uH3qOa7iCbuJ\nEPfc\r\n=R7pe\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"collectCoverage":true,"coverageDirectory":"coverage","coverageReporters":["json","lcov"],"collectCoverageFrom":["source/**/*.js","!**/node_modules/**","!**/vendor/**"],"modulePathIgnorePatterns":["\\/\\."]},"main":"index.js","babel":{"env":{"test":{"plugins":["babel-plugin-transform-es2015-modules-commonjs","babel-plugin-transform-flow-strip-types","babel-plugin-transform-class-properties",["babel-plugin-transform-object-rest-spread",{"useBuiltIns":true}]],"presets":["jest"]}}},"gitHead":"f0f7ac9ca0db02ec91e041c7738314cff8a8b6b9","scripts":{"lint":"eslint \"source/**/*.js\"","test":"jest --colors","build":"rollup --config","start":"build","precommit":"npm run lint-staged && npm run build && npm run test","test:watch":"jest --colors --watch","build:watch":"rollup --config --watch \"./source\"","lint-staged":"lint-staged"},"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"repository":{"url":"git+https://github.com/burdiuz/js-type-checker-simple-reporting.git","type":"git"},"_npmVersion":"6.0.1","description":"Simple reporting function for TypeCheckers library","directories":{},"lint-staged":{"source/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.10.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","husky":"^0.14.3","dotenv":"^6.0.0","eslint":"^5.4.0","flow-bin":"^0.79.1","prettier":"^1.14.2","uglify-es":"^3.3.9","babel-core":"^6.26.3","lint-staged":"^7.2.2","babel-eslint":"^8.2.6","babel-loader":"^7.1.5","babel-preset-jest":"^23.2.0","rollup-plugin-json":"^3.0.0","eslint-plugin-react":"^7.11.1","rollup-plugin-babel":"^3.0.7","rollup-plugin-serve":"^0.4.2","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","rollup-plugin-uglify":"^4.0.0","babel-plugin-istanbul":"^4.1.6","eslint-plugin-jsx-a11y":"^6.1.1","rollup-plugin-commonjs":"^9.1.5","rollup-plugin-node-resolve":"^3.3.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-syntax-trailing-function-commas":"^6.22.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2"},"_npmOperationalInternal":{"tmp":"tmp/type-checker-simple-reporting_0.0.2_1536914405904_0.506407751788416","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@actualwave/type-checker-simple-reporting","version":"0.0.3","keywords":["js","javascript","type","check","runtime"],"author":{"url":"http://actualwave.com/","name":"Oleg Galaburda","email":"burdiuz@gmail.com"},"license":"MIT","_id":"@actualwave/type-checker-simple-reporting@0.0.3","maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"homepage":"https://github.com/burdiuz/js-type-checkers","bugs":{"url":"https://github.com/burdiuz/js-type-checkers/issues","email":"burdiuz@gmail.com"},"dist":{"shasum":"013a68f17aa61ab838d1151f47505ca9080645f9","tarball":"https://registry.npmjs.org/@actualwave/type-checker-simple-reporting/-/type-checker-simple-reporting-0.0.3.tgz","fileCount":10,"integrity":"sha512-mP6e8yD+f0C77ZwXYCx0BHA6KnLYV3q/6Vvz7Ov5hM9hoen3bcfCFtLznYWJ/OpfApt9JEQ3hHKZIvOlNwL7AQ==","signatures":[{"sig":"MEUCIB+ymS+o6UCJ/YW48Aa1oJndaBwDi3RYGqlFfMnSYscNAiEA3lNiC5s+czEqIFQPEZSj9Xqdrkt2sLrOFF4vlDdqGxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9849},"main":"index.js","types":"index.d.ts","gitHead":"7c6955bf01147d07e25a8c8d766b1548ebf4aeaf","_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"repository":{"url":"git+https://github.com/burdiuz/js-type-checkers.git","type":"git"},"_npmVersion":"11.5.1","description":"Simple reporting functions for the TypeCheckers library","directories":{},"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/type-checker-simple-reporting_0.0.3_1777847328182_0.13208608239434882","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@actualwave/type-checker-simple-reporting","version":"0.0.4","keywords":["js","javascript","type","check","runtime"],"author":{"url":"http://actualwave.com/","name":"Oleg Galaburda","email":"burdiuz@gmail.com"},"license":"MIT","_id":"@actualwave/type-checker-simple-reporting@0.0.4","maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"homepage":"https://github.com/burdiuz/js-type-checkers","bugs":{"url":"https://github.com/burdiuz/js-type-checkers/issues","email":"burdiuz@gmail.com"},"dist":{"shasum":"ca48be71ee9e40acc0b3e73113c18e84fc3431c2","tarball":"https://registry.npmjs.org/@actualwave/type-checker-simple-reporting/-/type-checker-simple-reporting-0.0.4.tgz","fileCount":12,"integrity":"sha512-+lzAvpDKlNwYG8fA6LxCgIe8BR16zq/qi+7WWv01O2YmHAbfRlCDauueqNG6rQx5EbzmWJ6HhSLhq9X+bpTTKw==","signatures":[{"sig":"MEYCIQDL9YtYL1eE+G8gzxangkZ2dFkTGN+Gd9d9TN/sf2sbLgIhAJ31FIkxSAYC53AHFkCg/fxNXg0M5+nlZP9iii1muVR4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12105},"main":"index.js","types":"index.d.ts","gitHead":"f2032c863ba9a88ce339980b3fec2a22abb6c964","_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"repository":{"url":"git+https://github.com/burdiuz/js-type-checkers.git","type":"git"},"_npmVersion":"11.5.1","description":"Simple reporting functions for the TypeCheckers library","directories":{},"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/type-checker-simple-reporting_0.0.4_1778181326077_0.8870144353367291","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@actualwave/type-checker-simple-reporting","description":"Simple reporting functions for the TypeCheckers library","version":"0.0.5","main":"index.js","types":"index.d.ts","keywords":["js","javascript","type","check","runtime"],"homepage":"https://github.com/burdiuz/js-type-checkers","bugs":{"url":"https://github.com/burdiuz/js-type-checkers/issues","email":"burdiuz@gmail.com"},"license":"MIT","author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"repository":{"type":"git","url":"git+https://github.com/burdiuz/js-type-checkers.git"},"_id":"@actualwave/type-checker-simple-reporting@0.0.5","gitHead":"df5acbfd71bc599e56b086449b344ea075242c92","_nodeVersion":"24.6.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-XZ6Ht36gx5ltPsm+84q6Ml49hvXzzEJm1d58bOF3t30GYZ2a2pUV4s6J89+6lq8WsM9Hiu8bEYHTUIXwFaAVfQ==","shasum":"8b18cefe349680f90b390c9036ba3616400172d9","tarball":"https://registry.npmjs.org/@actualwave/type-checker-simple-reporting/-/type-checker-simple-reporting-0.0.5.tgz","fileCount":12,"unpackedSize":12127,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHqnsrqo5eO00KXRE13A5K6y+OiJdn3fF8DI1uV76Z9EAiEA1PosMXUBjjNCZ12/H4iz+RWwm760SJRiYWFi19XYkjo="}]},"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/type-checker-simple-reporting_0.0.5_1778181974100_0.7060830760154899"},"_hasShrinkwrap":false}},"time":{"created":"2018-09-14T08:40:05.746Z","modified":"2026-05-07T19:26:14.355Z","0.0.1":"2018-09-14T08:38:40.613Z","0.0.2":"2018-09-14T08:40:06.137Z","0.0.3":"2026-05-03T22:28:48.322Z","0.0.4":"2026-05-07T19:15:26.266Z","0.0.5":"2026-05-07T19:26:14.235Z"},"bugs":{"url":"https://github.com/burdiuz/js-type-checkers/issues","email":"burdiuz@gmail.com"},"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"MIT","homepage":"https://github.com/burdiuz/js-type-checkers","keywords":["js","javascript","type","check","runtime"],"repository":{"type":"git","url":"git+https://github.com/burdiuz/js-type-checkers.git"},"description":"Simple reporting functions for the TypeCheckers library","maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"readme":"# @actualwave/type-checker-simple-reporting\n\nThree ready-to-use reporter functions for [`@actualwave/type-checkers`](https://github.com/burdiuz/js-type-checkers) and a shared message formatter.\n\n## Installation\n\n```bash\nnpm install @actualwave/type-checker-simple-reporting\n```\n\n## Usage\n\nPass a reporter wherever a `Reporter`-typed callback is expected:\n\n```typescript\nimport {\n  ConsoleWarnReporter,\n  ConsoleErrorReporter,\n  ThrowErrorReporter,\n} from '@actualwave/type-checker-simple-reporting';\n\n// Log violations without stopping execution (good for development)\nmyChecker.setReporter(ConsoleWarnReporter);\n\n// Hard-fail on any violation (good for tests or strict guards)\nmyChecker.setReporter(ThrowErrorReporter);\n```\n\n## Reporters\n\n| Export | Behaviour |\n|---|---|\n| `ConsoleWarnReporter` | Calls `console.warn` with a formatted message |\n| `ConsoleErrorReporter` | Calls `console.error` with a formatted message |\n| `ThrowErrorReporter` | Throws an `Error` with a formatted message (`never` return type) |\n\nAll three share the same `Reporter` signature:\n\n```typescript\ntype Reporter = (\n  action: string,             // operation that triggered the violation, e.g. 'set', 'get'\n  name: string,               // property name involved\n  requiredTypeString: string, // expected type\n  actualTypeString: string,   // received type\n) => void;\n```\n\n## Error message format\n\nAll reporters produce a message of the form:\n\n```\n<action>Error on \"<name>\" instead of \"<requiredType>\" received \"<actualType>\"\n```\n\nExample:\n\n```\nsetError on \"count\" instead of \"number\" received \"string\"\n```\n\n## `constructErrorString`\n\nThe underlying message builder is exported if you need to compose a custom reporter:\n\n```typescript\nimport {\n  constructErrorString,\n  Reporter,\n} from '@actualwave/type-checker-simple-reporting';\n\nconst myReporter: Reporter = (action, name, required, received) => {\n  analytics.track('type_violation', {\n    message: constructErrorString(action, name, required, received),\n  });\n};\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}