{"_id":"@0bdx/are","_rev":"5-bde63855353af03c4fd0a0bfa42029a5","name":"@0bdx/are","dist-tags":{"latest":"0.0.8"},"versions":{"0.0.2":{"name":"@0bdx/are","version":"0.0.2","description":"Utilities for unit testing 0bdx apps, libraries and websites.","type":"module","engines":{"node":">= 14.0.0"},"main":"are.js","scripts":{"build:prod":"rollup -c","build:types":"tsc are.js --allowJs --declaration --emitDeclarationOnly","build":"for s in {prod,types};do npm run build:$s;done","preflight:test":"echo \"🧬 test.js\" && node test.js","preflight:types":"tsc are.js --allowJs --checkJs --noEmit --moduleResolution nodenext --target es2020","preflight":"for s in {test,types};do npm run preflight:$s;done","test":"echo \"🧪 src/test.js\" && node src/test.js"},"repository":{"type":"git","url":"git+https://github.com/0bdx/are.git"},"keywords":["assert","expect","test","unit-test"],"author":{"name":"0bdx","email":"0@0bdx.com","url":"0bdx.com"},"license":"MIT","types":"./are.d.ts","bugs":{"url":"https://github.com/0bdx/are/issues"},"homepage":"https://github.com/0bdx/are#readme","devDependencies":{"@0bdx/build-helpers":"^0.0.4","rollup":"^3.15.0"},"dependencies":{"@0bdx/ainta":"^0.0.19"},"gitHead":"af17a4f5a66d048406439f0ab241748d17c79559","_id":"@0bdx/are@0.0.2","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-KsKNiA8Zp0tOqmU/YlguF0bLm5WlJsG/mvP/8v20yscP67DJFBpxUTXnmcf/SRjaWgLbf3c8SbxDcf99cZvrLQ==","shasum":"054768849422398d76323e71fc20c1837bd1157b","tarball":"https://registry.npmjs.org/@0bdx/are/-/are-0.0.2.tgz","fileCount":5,"unpackedSize":83253,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6mxgxuEnlDSltnjt31aVVwb0V74uxl90PgpJ29l0GoAIhAPsBZyJzE6uiJt3rWT29/6+xc5qCX5J78PpSggjxNq9G"}]},"_npmUser":{"name":"0bdx","email":"0bdx.com@gmail.com"},"directories":{},"maintainers":[{"name":"0bdx","email":"0bdx.com@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/are_0.0.2_1686484748525_0.37321296316939256"},"_hasShrinkwrap":false},"0.0.3":{"name":"@0bdx/are","version":"0.0.3","description":"Utilities for unit testing 0bdx apps, libraries and websites.","type":"module","engines":{"node":">= 14.0.0"},"main":"are.js","scripts":{"build:prod":"rollup -c","build:types":"tsc are.js --allowJs --declaration --emitDeclarationOnly","build":"for s in {prod,types};do npm run build:$s;done","preflight:test":"echo \"🧬 test.js\" && node test.js","preflight:types":"tsc are.js --allowJs --checkJs --noEmit --moduleResolution nodenext --target es2020","preflight":"for s in {test,types};do npm run preflight:$s;done","test":"echo \"🧪 src/test.js\" && node src/test.js"},"repository":{"type":"git","url":"git+https://github.com/0bdx/are.git"},"keywords":["assert","expect","test","unit-test"],"author":{"name":"0bdx","email":"0@0bdx.com","url":"0bdx.com"},"license":"MIT","types":"./are.d.ts","bugs":{"url":"https://github.com/0bdx/are/issues"},"homepage":"https://github.com/0bdx/are#readme","devDependencies":{"@0bdx/build-helpers":"^0.0.4","rollup":"^3.15.0"},"dependencies":{"@0bdx/ainta":"^0.0.19"},"gitHead":"ad63ca94a25461c53ccd59a6ce99cba1bb3d142f","_id":"@0bdx/are@0.0.3","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-HOF2t2fSjTYXdZp1FvqOk+liGyySYbnPuW1TEGiwj+2RackWWpQzmkDe2VD0bZyOZ9fUCS2ns4fH/8hcNGv0cg==","shasum":"39ee34e8f9fa16e622948aeddce45e3c8e2a1213","tarball":"https://registry.npmjs.org/@0bdx/are/-/are-0.0.3.tgz","fileCount":5,"unpackedSize":83270,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFImWpZMUVFl2U1Z3HYNEUuxSkxFGLmjR53oljlt9BT7AiB8uHggAZsg7ZwEpVhzX+2UiwPjLdpEw2fJNYZHbmHXFA=="}]},"_npmUser":{"name":"0bdx","email":"0bdx.com@gmail.com"},"directories":{},"maintainers":[{"name":"0bdx","email":"0bdx.com@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/are_0.0.3_1686487367356_0.2516463082597804"},"_hasShrinkwrap":false},"0.0.4":{"name":"@0bdx/are","version":"0.0.4","description":"Utilities for unit testing 0bdx apps, libraries and websites.","type":"module","engines":{"node":">= 14.0.0"},"main":"are.js","scripts":{"build:prod":"rollup -c","build:types":"tsc are.js --allowJs --declaration --emitDeclarationOnly","build":"for s in {prod,types};do npm run build:$s;done","preflight:test":"echo \"🧬 test.js\" && node test.js","preflight:types":"tsc are.js --allowJs --checkJs --noEmit --moduleResolution nodenext --target es2020","preflight":"for s in {test,types};do npm run preflight:$s;done","test":"echo \"🧪 src/test.js\" && node src/test.js"},"repository":{"type":"git","url":"git+https://github.com/0bdx/are.git"},"keywords":["assert","expect","test","unit-test"],"author":{"name":"0bdx","email":"0@0bdx.com","url":"0bdx.com"},"license":"MIT","types":"./are.d.ts","bugs":{"url":"https://github.com/0bdx/are/issues"},"homepage":"https://github.com/0bdx/are#readme","devDependencies":{"@0bdx/build-helpers":"^0.0.4","rollup":"^3.28.0"},"dependencies":{"@0bdx/ainta":"^0.0.19"},"gitHead":"d0550b8e2ee34dc404b7736e4dc98855db976707","_id":"@0bdx/are@0.0.4","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-IzJcdvHVfbBd9loCmUkXGLE3sK5Vx+tTdoexQd8SEyhqGGe4pYQMwFTHnHdJJqggRj10OuQBLsTYSerX83lNDQ==","shasum":"9be18de5445ff2419f3acda9d65ce7d2101b2cd6","tarball":"https://registry.npmjs.org/@0bdx/are/-/are-0.0.4.tgz","fileCount":5,"unpackedSize":83270,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhvDrFS+EOt7MOllqptOBRUsk7K6h0zCHCkOK4HkFCBgIhAO29tY2kervQz/3lqEL04GuzL003Q0ajfoZC+DEDktPS"}]},"_npmUser":{"name":"0bdx","email":"0bdx.com@gmail.com"},"directories":{},"maintainers":[{"name":"0bdx","email":"0bdx.com@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/are_0.0.4_1692539167085_0.9776246040366212"},"_hasShrinkwrap":false},"0.0.5":{"name":"@0bdx/are","version":"0.0.5","description":"Utilities for unit testing 0bdx apps, libraries and websites.","type":"module","engines":{"node":">= 14.0.0"},"main":"are.js","scripts":{"build:prod":"rollup -c","build:types":"tsc are.js --allowJs --declaration --emitDeclarationOnly","build":"for s in {prod,types};do npm run build:$s;done","preflight:test":"echo \"🧬 test.js\" && node test.js","preflight:types":"tsc are.js --allowJs --checkJs --noEmit --moduleResolution nodenext --target es2020","preflight":"for s in {test,types};do npm run preflight:$s;done","test":"echo \"🧪 src/test.js\" && node src/test.js"},"repository":{"type":"git","url":"git+https://github.com/0bdx/are.git"},"keywords":["assert","expect","test","unit-test"],"author":{"name":"0bdx","email":"0@0bdx.com","url":"0bdx.com"},"license":"MIT","types":"./are.d.ts","bugs":{"url":"https://github.com/0bdx/are/issues"},"homepage":"https://github.com/0bdx/are#readme","devDependencies":{"@0bdx/build-helpers":"^0.0.4","rollup":"^3.28.0"},"dependencies":{"@0bdx/ainta":"^0.0.19"},"gitHead":"35b6c8cae9ae8adfff5eab6a682266174279a7ba","_id":"@0bdx/are@0.0.5","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-J+mxjE8ge1Q3VWp8E4CY1ReaCDm5MvCQCCwSFWTAj84YhJqDt1CxwvLC+0krvHpIn2QjEFMRLs9TDlQyUC3Qxw==","shasum":"775216c76ad84c5b5b30149bb6ab21082ffcb929","tarball":"https://registry.npmjs.org/@0bdx/are/-/are-0.0.5.tgz","fileCount":5,"unpackedSize":83260,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDq5+7vs048y7AyWVI5Jb1kkgBta5M50JOwSv16fTYJ4gIgfj0kvMr6Ad9jUGCk3ZV5Un22wto5BX0BwwyzsT+T6w0="}]},"_npmUser":{"name":"0bdx","email":"0bdx.com@gmail.com"},"directories":{},"maintainers":[{"name":"0bdx","email":"0bdx.com@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/are_0.0.5_1692540460587_0.6934342549635799"},"_hasShrinkwrap":false},"0.0.6":{"name":"@0bdx/are","version":"0.0.6","description":"Utilities for unit testing apps, libraries and websites.","type":"module","engines":{"node":">= 14.0.0"},"main":"are.js","scripts":{"build:prod":"rollup -c","build:types":"tsc are.js --allowJs --declaration --emitDeclarationOnly","build":"for s in {prod,types};do npm run build:$s;done","preflight:test":"echo \"🧬 test.js\" && node test.js","preflight:types":"tsc are.js --allowJs --checkJs --noEmit --moduleResolution nodenext --target es2020","preflight":"for s in {test,types};do npm run preflight:$s;done","test":"echo \"🧪 src/test.js\" && node src/test.js"},"repository":{"type":"git","url":"git+https://github.com/0bdx/are.git"},"keywords":["assert","expect","test","unit-test"],"author":{"name":"0bdx","email":"0@0bdx.com","url":"0bdx.com"},"license":"MIT","types":"./are.d.ts","bugs":{"url":"https://github.com/0bdx/are/issues"},"homepage":"https://github.com/0bdx/are#readme","devDependencies":{"@0bdx/build-helpers":"^0.0.4","rollup":"^4.0.2"},"dependencies":{"@0bdx/ainta":"^0.0.20"},"gitHead":"43f346c07d1d8c60f7d5f9895debc05194ec9e48","_id":"@0bdx/are@0.0.6","_nodeVersion":"18.17.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-iIA4hrHm6407ubvChHXcdayf9gWB/lBx53mC0e8tAmvRqDWt2yJBJrdt0WX9ciu5LbO65/fHYqhVPCkgjroSTA==","shasum":"3a5c12176e46e68a0f3f05a51eda4a64af4f8b3f","tarball":"https://registry.npmjs.org/@0bdx/are/-/are-0.0.6.tgz","fileCount":5,"unpackedSize":83249,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFglusI81OmIcLwdI1htQ7Rgz/o6YZJLv1KFUSx1UyNVAiAQsIbevb/WlXbzifYvZXhGaDlxFhK13EEFcex5XdWTHw=="}]},"_npmUser":{"name":"0bdx","email":"0bdx.com@gmail.com"},"directories":{},"maintainers":[{"name":"0bdx","email":"0bdx.com@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/are_0.0.6_1696671351204_0.2061451107420078"},"_hasShrinkwrap":false},"0.0.8":{"name":"@0bdx/are","version":"0.0.8","description":"Synchronous utilities for unit testing apps, libraries and websites.","type":"module","engines":{"node":">= 14.0.0"},"main":"are.js","scripts":{"build:prod":"rollup -c","build:types":"tsc are.js --allowJs --declaration --emitDeclarationOnly","build":"for s in {prod,types};do npm run build:$s;done","examples":"for s in examples/*.js;do node $s;done","preflight:test":"echo \"🧬 test.js\" && node test.js","preflight:types":"tsc are.js --allowJs --checkJs --noEmit --moduleResolution nodenext --target es2020","preflight":"for s in {test,types};do npm run preflight:$s;done","test":"echo \"🧪 src/test.js\" && node src/test.js"},"repository":{"type":"git","url":"git+https://github.com/0bdx/are.git"},"keywords":["assert","expect","test","unit-test"],"author":{"name":"0bdx","email":"0@0bdx.com","url":"0bdx.com"},"license":"MIT","types":"./are.d.ts","bugs":{"url":"https://github.com/0bdx/are/issues"},"homepage":"https://github.com/0bdx/are#readme","devDependencies":{"@0bdx/build-helpers":"^0.0.4","rollup":"^4.0.2"},"dependencies":{"@0bdx/ainta":"^0.0.20"},"gitHead":"986cef8a09ae01d170e1abdaac9eeffdb81ccf2d","_id":"@0bdx/are@0.0.8","_nodeVersion":"18.17.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-IVqPK7mKmVdd+GNXYAgMo/i9eJ8zdtiKZG480knoHazMQ2BcXHA/Pupb1/iyQGLjaYmscOCFxp1WR6T2pOzn1g==","shasum":"6d47156e697b396d2a18bf054d4e9dae29675fcb","tarball":"https://registry.npmjs.org/@0bdx/are/-/are-0.0.8.tgz","fileCount":5,"unpackedSize":82061,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEA8DazLH3Z8ihnFscKFmKq//q3+TxWNMvSN0oou5eRQAiEAwsT5LpWMcGS0tFlIT9h5XRziraYQQmkC9l40swQPuhI="}]},"_npmUser":{"name":"0bdx","email":"0bdx.com@gmail.com"},"directories":{},"maintainers":[{"name":"0bdx","email":"0bdx.com@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/are_0.0.8_1697908600320_0.7229835506542002"},"_hasShrinkwrap":false}},"time":{"created":"2023-06-11T11:59:08.469Z","0.0.2":"2023-06-11T11:59:08.668Z","modified":"2023-10-21T17:16:40.731Z","0.0.3":"2023-06-11T12:42:47.598Z","0.0.4":"2023-08-20T13:46:07.285Z","0.0.5":"2023-08-20T14:07:40.856Z","0.0.6":"2023-10-07T09:35:51.410Z","0.0.8":"2023-10-21T17:16:40.553Z"},"maintainers":[{"name":"0bdx","email":"0bdx.com@gmail.com"}],"description":"Synchronous utilities for unit testing apps, libraries and websites.","homepage":"https://github.com/0bdx/are#readme","keywords":["assert","expect","test","unit-test"],"repository":{"type":"git","url":"git+https://github.com/0bdx/are.git"},"author":{"name":"0bdx","email":"0@0bdx.com","url":"0bdx.com"},"bugs":{"url":"https://github.com/0bdx/are/issues"},"license":"MIT","readme":"# @0bdx/are\n\n__Synchronous utilities for unit testing apps, libraries and websites.__\n\n⨂ __Version:__ 0.0.8  \n⨂ __NPM:__ <https://www.npmjs.com/package/@0bdx/are>  \n⨂ __Repo:__ <https://github.com/0bdx/are>  \n⨂ __Homepage:__ <https://0bdx.com/are>\n\nTODO add an overview\n\n## Examples\n\nExample scripts can be found in the 'examples/' directory.\n\nYou can run __Example 1,__ for example, using:  \n`node examples/example-1.js`\n\n### Example 1\n\n```js\nimport { isDeeplyLike as isLike } from '@0bdx/are';\n\n// Compare two numbers.\nconsole.log(isLike(0, -0, 'Zero and minus-zero are alike.'));\n// PASS: Zero and minus-zero are alike.\n//     : `actually` is `0` as expected\n\n// Compare two booleans.\ntry { isLike(true, false, 'true and false are not alike.');\n} catch (err) { console.log(err.message) }\n// FAIL: true and false are not alike.\n//     : `actually` is `true`\n//     : `expected` is `false`\n\n// Compare two plain objects.\nconsole.log(isLike({a:1}, {a:1}, 'Similar objects are alike.'));\n// PASS: Similar objects are alike.\n//     : `actually` is `{ a:1 }` as expected\n```\n\n### Example 2\n\n```js\nimport { bind1, isDeeplyLike } from '@0bdx/are';\n\n// Create a test suite with a title, and bind one function to it.\nconst [ isLike, testSuite ] = bind1(isDeeplyLike, 'fact()');\n\n// Or a test suite from a previous test could be passed in instead.\n// const [ isLike ] = bind1(isDeeplyLike, testSuite);\n\n// Optionally, begin a new section.\ntestSuite.addSection('Check that fact() works');\n\n// Run the tests. The third argument, `notes`, is optional.\nisLike(fact(0), 1);\nisLike(fact(5), 120,\n    ['`fact(5)` 5! = 5 * 4 * 3 * 2 * 1']);\n\n// Output a test results summary to the console, as plain text.\nconsole.log(testSuite.render());\n\n// Calculates the factorial of a given integer.\nfunction fact(n) {\n    if (n === 0 || n === 1) return 1;\n    for (let i=n-1; i>0; i--) n *= i;\n    return n;\n}\n```\n\n### Example 3\n\n```js\nimport { bind2, isDeeplyLike, throwsError } from '@0bdx/are';\n\n// Create a test suite with a title, and bind two functions to it.\nconst [ isLike, throws, testSuite ] = bind2(isDeeplyLike, throwsError, 'fact()');\n\n// Or a test suite from a previous test could be passed in instead.\n// const [ isLike, throws ] = bind2(isDeeplyLike, throwsError, testSuite);\n\n// Optionally, begin a new section.\ntestSuite.addSection('Check that fact() works');\n\n// Run the tests. The third argument, `notes`, is optional.\nthrows(()=>fact(), \"`n` is not type 'number'\");\nthrows(()=>fact(NaN), '`n` is NaN!',\n    ['`fact(NaN)` cannot factorialise the special `NaN` number']);\nisLike(fact(0), 1);\nisLike(fact(5), 120,\n    ['`fact(5)` 5! = 5 * 4 * 3 * 2 * 1']);\n\n// Output a test results summary to the console, as plain text.\nconsole.log(testSuite.render());\n\n// Calculates the factorial of a given integer.\nfunction fact(n) {\n    if (typeof n !== 'number') throw Error(\"`n` is not type 'number'\");\n    if (isNaN(n)) throw Error('`n` is NaN!');\n    if (n === 0 || n === 1) return 1;\n    for (let i=n-1; i>0; i--) n *= i;\n    return n;\n}\n```\n","readmeFilename":"README.md"}