{"_id":"o-check-list","_rev":"14-393b52d9eef5f95de3e2c87e6cc0c165","name":"o-check-list","dist-tags":{"latest":"3.1.0"},"versions":{"1.0.0":{"name":"o-check-list","version":"1.0.0","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/check-list","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json --reporter text-summary npm run test-for-coverage","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js","test-for-coverage":"npx ./bin/checklist.js --for-coverage"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"o-testing-toolbox":"^2.0.1","eslint":"^7.13.0","eslint-config-standard":"^16.0.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.1.0","nyc":"^15.1.0"},"dependencies":{},"gitHead":"4fa73bed78e29d39d6940feb0f618e48ff4c6538","_id":"o-check-list@1.0.0","_nodeVersion":"14.12.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/D4aR/+bkQZYBzAATGl5MfpZwxC9F6hGLoj9KNLHKNCYLkdmy7rEQISgjDkFOqZlhRPVZJxno6/uy+BOWlgKKg==","shasum":"fecf8cafba6700a9598a2984820343a8b01485c5","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.0.0.tgz","fileCount":58,"unpackedSize":73894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsAdrCRA9TVsSAnZWagAApFkQAJFwtZNRizJUeTuXWd4Y\nkf8ljKto8MBqIVIaWoPf8o7zSXKr6dZOBrBHLJ7N+MTQCKbqqJ5wCx5avt7g\nVTODHCPhi7gtm/fBuz2eLjcO8MOCkc6nN3LQgDzCcpajLCFBi0vljxngSH4f\nVUgBxJHV3mzsqgVECOI9SS1VU6RmBq4oLmLe70C2l+Xa18H+ytC50A4eDdOS\nKywqjbjiOwqDuFpt3lmc+5BB2HoUGFE8kZXSWgtFb3ySQc4VhbzOnsnOKqeC\nFbusWY3n/2ld3fTnWQLCoisfe0IOkvnv9VrrTFQgrEMi5TqabcrfrC50/6lN\n2F/qY/FltjHP1kY0+guaIQWi9sx2ExkhC417F6Pf1mwmH4h2amEFefuFAuXO\n5rvptYLswyO7hNCsBMcqp39kj71otQ5LCVbN9Ib4qxaagHH7CYOuK+NF+2xa\nJ3GytbYzQvp4QJf4ebZGbtPO1IXCncchbyLhrfxGa2RPd3Kp8ISkklWtsbR4\n5HOVGg3pN5pveJ62qP0mKebPSTAjO+u1SjgGbR0IRJsYCXY0wwcjZDtN/hy9\nyv2e9ou5tzRHEtjPiN8pe5v6cxcU5ASeSQ+M0umHdq6/4Gp52UFddHTyfiFp\nYYV+AWdjh/vUXxk5RP5Jqu2eitsAQZmuLxht0qnj4+e8Sbh6HlHuCnnBQDV2\nS9dI\r\n=nPy5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFwzdeBBI8xYBMG1odoqrjCzuX5FRWW0/Wy4wkxfBuMoAiBcHPveroXnEKue3v/NCwOAJbxFMgSapNAlzB7hbPj4Zw=="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.0.0_1605371755240_0.3623442036686364"},"_hasShrinkwrap":false},"1.1.0":{"name":"o-check-list","version":"1.1.0","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/check-list","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json --reporter text-summary npm run test-for-coverage","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js","test-for-coverage":"npx ./bin/checklist.js --for-coverage"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"o-testing-toolbox":"^2.0.1","eslint":"^7.13.0","eslint-config-standard":"^16.0.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.1.0","nyc":"^15.1.0"},"dependencies":{},"gitHead":"642696fda661e75847620c763fb598c92458ab8a","_id":"o-check-list@1.1.0","_nodeVersion":"14.12.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Sdso4PqTc1ppBLadU4sE14DDmbtm2UaNFbrrbLXrAIxOtQ87bDm5Pu7c9j8mAlKocynm9GB3knwkNkdiCzx2zw==","shasum":"e39b028c6956c03383f1f7a7f88b658a7706d370","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.1.0.tgz","fileCount":61,"unpackedSize":75558,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuPhlCRA9TVsSAnZWagAAy40P/1Bp6ZTdGrodqTL8utDW\nN46r8HYIZM+UZCqeKcehhqr0fejO7cJBzWkDW7r4GZUJiaudM/iu2plygSlJ\n5ceGM0mutD8mLSsLOF1f798mdWtbMYcQw3lMEiMpaN+k4uAKmMNjtt73fTAA\nrGG1vzPN8jt+7TqrQreylGEX18z3ZCiGg3bu66SlE+UsJtbpRbiE3K3nRH+o\nFp09C+crJAzCeoOhn7UBI+80GDGlzBb4BsuAmybnmfD8STAK8wCzT0/YUDy3\nCLLsYVmRA3nh0QO3vwsyOI/tyKIViQpzP46W4pTUFqTbQeN+oJHZL891wqit\nv5aRiyOJIJ3EbCaJ0REfM0bNkZ7A2jywmIjUzzmL8/XVT16xde2b4g4VY/0h\nDhZ3GWbXUhth3XDinoWXeW2zWSaIXECv/HnFQZFfyDsKeAWBhtfurpCU5fvy\nt+VYcsAe6iZwA47bORfU9NuhCXaLNGN6Uw96U13r4PPY9KkaMOXcBhA/6JnH\nbiEVpjFN2MKQscWlYLH/Fj4W0b8LICmBIjYPmqSLMDkzOBdy39fNBxlVHbfX\n5uPqf/AuiR4YVR7Un83IGj6hDdWIAv6P2b/g/H5s0gvhIHGgjCir9eEdHtet\nOeZ2sBUwL/FJ0qzzMx27QLSC0vMqvYv4G/NQyMhm7Ge1muNBit2xJP0YAxYc\n068P\r\n=jyNn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdaWshoLfFeXPgLeK0n66raIlXv4rBcuIAbgIoZqGRFQIgMQGryg01vgbptb5qz53Zavnlj4PbQdpGywwpSsAtEcQ="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.1.0_1605957733229_0.4869673162698436"},"_hasShrinkwrap":false},"1.2.0":{"name":"o-check-list","version":"1.2.0","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/check-list","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json --reporter text-summary npm run test-for-coverage","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js","test-for-coverage":"npx ./bin/checklist.js --for-coverage"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"eslint":"^7.13.0","eslint-config-standard":"^16.0.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.1.0","nyc":"^15.1.0"},"dependencies":{},"gitHead":"be8b5ee0a3c6cec92e75091185deaa228db02927","_id":"o-check-list@1.2.0","_nodeVersion":"14.12.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-W6LSDz57onExDUjOIf4ELI6/i1vwVyatqZiPQ1PIJn/VJUnLZsNTwox5XH40fWrkHF7LsCZWajpB3AF9l9QmsQ==","shasum":"a6aca1f8099dab2896df7dd18f167b539ce519bb","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.2.0.tgz","fileCount":68,"unpackedSize":82020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfumtwCRA9TVsSAnZWagAAK7IP/16Gdo5ZNP/Wa+NHYY5o\nQWO8tndETMMDVjuCiTBOA9yvrp7JtzpowyD7SITxdgCf6+QRn1E27omean2v\n4qpmxV6jWKSafyMCoMt9Y4F6QgGom5KDcEhvz4++s2lITbQzNnE5mTVTYHV7\nGp0s8ppgu0nFI0l0flQ8fpfc37kgW2pgWD1HBSTc4tdud2E0u0mxHyi8Fi6k\nYJgS+hZtaXOwMnrJScnvHQCHHPBGctrzWyEY4w4nxF1XvaZzidNojJlatpiL\nk/QyWPa8F1w5xQpM9+fvIT/snegWVv92eYJQ7ApF3Fi8VFmH49ujxUL++PRu\n1Sv8jCyu+zHB2P/WoYdyAhf+YZOQ6uhBf+PqRdlpGWoXkao42WeVTRSZqJke\n07NOHIQJQv7c5uimae3b9ZwSNjn5ryqfwVUBER0mc9BAPR/ZUxDSIV0BXTRi\nYB21PniPpPs5aUCiIkrKSeJYcW1O7/d2yjWC4BKOL4dImTjZFVSx/H3P1sT3\n3InY5BUHFYsIAA9cQSGulo1fLUYz/mNcUHoPb+don40rkNWyLkZuAQvZ7e9D\n4bZRZwQbRBAcLn3EBpJa3TAl9r5pdF2MVLdWgZ1QQUZ3fRMMyh+NM6M+8u/3\n5S5NeJB7hQ0UAnkWnih6vFH8dpBZrTsp6qBM+wcPWldfH4tPRsQoZwEGrKDu\ntdEi\r\n=H1bR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5Ycrbg6obCPhEvesxj1uieBSH6PdSqkryvpBHhyH/egIhAOSdWmzcj1BfltQtiRl2XblyW73EvKqB/FcNEwwAycpC"}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.2.0_1606052720142_0.3279366830327701"},"_hasShrinkwrap":false},"1.2.1":{"name":"o-check-list","version":"1.2.1","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/check-list","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json --reporter text-summary npm run test-for-coverage","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js","test-for-coverage":"npx ./bin/checklist.js --for-coverage"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"eslint":"^7.13.0","eslint-config-standard":"^16.0.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^5.0.0","nyc":"^15.1.0"},"dependencies":{},"gitHead":"81f2b77ed2e2baba55fb720ecc0fe26e5b74c813","_id":"o-check-list@1.2.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-KWYHk03hrQLVNv3hNFO4MTxSCzAhRJQkkOkANXPS4jOGk1t/goRpeQ2wukmBd4Vk1n0PVONnG+Y4ESfY9/Z1oA==","shasum":"3a675a27cb09831c7d0972e36f8f4f82bfa5b827","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.2.1.tgz","fileCount":74,"unpackedSize":83500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfx6YGCRA9TVsSAnZWagAAOlsP/2VE+ryzDPL2lTSJtdzh\nvpQG5cFn6bC6cJJhIE5smNi5LzLp/AkcqpkJt3dj++FI99pJIjMTTbIGpifw\nGZbrYi9Uk0S4wPhBRzGJYugGm/vx9a9qyIaA/Fd266xEW5UwpndphcVojW6m\ncc6fAIdr5Q2L0L5wpfsf6AqzavwucQhV8X7ei3Dwr/0dkNkpmkZru/jyqksi\nw/W11uR3bsCrIJ/lgrgVn7kyRrnwYn8p6LRYQE0Pt5i4vJWsxKVjRevO7p/R\nAy2vBpN0Mvm980JgvlpU5UiC1PHrtouaLDOzEzWRN80BeknZQ5b0mvzxyrxl\nL6dja13dM7X67v0D3vZuxkwuDsiSy1Moc5S/8iR7x9j65qpy3c6U4aVmQUw4\nqbq+Wk30Y3u9jcmgXAngAjw5SpXGHWB6cVDoQrHBnAcqLw1kTO199LwXWVwv\nZ3s4GQ2Msaniz1W72bckZjs9zVCPQhiAhqYjUgnOBFvJTZH25dWe/qOmAEUU\nZXhn6R8BvnzD2bfsTV8vvRUFQ1aQyeeoWtIkKgqJLNH5msB2jo2t6VC31uZ5\nKMJZEIcQNgL6C2RfDr1ALhsQEHw5cRb7L10n70pUWQMOclDT6auLPFz+ZRit\nbHg0gKCMeq/en+SPJiw3cKst8vAuPj/L5KY2Q1oWoKpvBsun/Q5ecVABrWJQ\nm2uc\r\n=XFFN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6tGv9yOb0C8FDChfBK5wN24JUMrlJkDYD/ZuUmFVSowIgTFSU8Sq1hyw4b1RWZXTJFcnJ/FYq47VE64nJo87yoTU="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.2.1_1606919686266_0.4653342948803758"},"_hasShrinkwrap":false},"1.3.0":{"name":"o-check-list","version":"1.3.0","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/check-list","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json --reporter text-summary npm run test-for-coverage","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js","test-for-coverage":"npx ./bin/checklist.js --for-coverage"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"eslint":"^7.15.0","eslint-config-standard":"^16.0.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^5.0.0","nyc":"^15.1.0"},"dependencies":{},"gitHead":"3c3316b685c8d177db93f9585119c3ce913abb80","_id":"o-check-list@1.3.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-JV5r4vkQewrXGaplThT2dek+3m/3qP3hG6tJ9MtG+V3bpk2txLwKYbbcVkA7fFupT64m59WkcVi4uNJiOwfENg==","shasum":"336c723ab29b3273ac4e6448f6d96a685ff50c4a","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.3.0.tgz","fileCount":74,"unpackedSize":84200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2BsVCRA9TVsSAnZWagAAVKYP/2HduZuxF2UQKrS7ybVy\ndvJBHDIUktgNe8SA+GpZk4w9hpvqDI0ngwtrx15+4tw6z8dCSq3wNTk+d55u\nb7wRhYUgWY0mdWc7YsJfKoLAyGbYWqGL/1zL7en3vLh6udm73TqysCqVJYPO\nsNPGm3u9FXrfG0CLIiJ5z2zhsnT3XmZAHCGnLHCoazcEsFA60+J0oqUa+/kp\nLcng/bl2sX2f3IGTS8eJvQkwLT01pfOYqMmqsV5Y3C3/HPl/L5H8ZcaTvI3S\nQwuL3zSCGqD6A+NsSUOEFMEok35toam8c+IWmAw5heBvwYwTbuqgORsSMD9s\n+5F+RIB4TShnxLIiDQWf2WqEz9b5EIMyEKnsx35f25v5pHUaRuBn5hH9Zl8e\nif/nDo7AiSX/ox+AlqyA2YqgjBVkpEiZBKA0TjMC2VVa7mzsY9EXGSF3tptM\nUlVoYmFhEfsE7grOncRcInX0+vni18Uq/8Rek/cwjxJ1zwXDbA9TqZ8aP4Ey\nrkqNecwxATEhst7nlApqxEQW5cqrs+SVwIYSLzkS309olGy6XgGxPiK3fmhc\njs1RjtCIMQEdO7Aj5B+NcZi9lrR4wzsT2Gw/ofG4W8eBtKMWrLhlnLY/fBl9\nKQr1OiPCE0GoQQHZM73YvhMw7winw3XmRVnMAImTpiNHEwm+meARnFXvEW+s\ne7Sj\r\n=d2PU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBbbkN5MfFGjnq5lpn03VCDY3MhxS9KDwas4K8XmFlY5AiAif2Bz/hPznnpHadYflfRB0GDdj1PcaHEeWyMlqklrig=="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.3.0_1607998228893_0.5640643745040286"},"_hasShrinkwrap":false},"1.3.1":{"name":"o-check-list","version":"1.3.1","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/check-list","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json npm test","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"eslint":"^7.15.0","eslint-config-standard":"^16.0.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^5.0.0","nyc":"^15.1.0"},"dependencies":{},"gitHead":"2ef4eaff354cfe41af6d3a497e4c2f6eee0b6bf6","_id":"o-check-list@1.3.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8tJXXrNrtIyFDW8t6zuOH9hiobhA3P3R/1O4ukjAo7HdJpwIRmvZdSvp+Cxc47GquzK0bRUUT6Zth5ICljRrUg==","shasum":"48964b21b74ccf94d721ed9621b67551a1cea724","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.3.1.tgz","fileCount":74,"unpackedSize":85076,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3qaACRA9TVsSAnZWagAAbqAQAJdlrmrpYJeRpUmz5qBe\nHDevP9VkTcxV1uXP1XZ6LT+8JYTz2voqp0TA0MOgcrjsS6xdC4zu3DdgWrc/\nCLC7gC+Jblm24N3Mxc6YFnNUmQ49Mx+2Y7mp2DucUo1G4QgT+BXSJc/8Gnsy\nr5jErviaXWzaGRDFsQxvhB8Run1CnEeNM+yVmw7wJueu5o8Qx0/M+G53mzdK\ng9wS3V3DmG1vTkQrQbhdAloBbxRVatltdB5cy5E3gfwjWBwcN9aYYTfO0ffz\naELLgz8lOaxXmirtJWt2iqp28vpg3XDUR2Td3MhEgme1fAHixN84Wruat7gm\nj+5YDs2OVFCjnNn3CmrOArtDv/8iIkAHe88V/KyvX7IYwwLCS49fkJPQE5yk\n2pzsUbePN/Wmxi40jjKi5Gwtl+dOd+oAnavoivv8Yb5bdPS051MuzY+FdVqN\nMUnpJVdINAs2YASPI3WJqMtJ3DSW5v4qgJvQTpW9OpRQTlLXqsQ/ZN55T83E\nhogyn+OskRToyYJqyZG+ptOyReePlfqQBIiAwIC6+jzMhxh7dQat8X3nctQt\nNXrHQvN5nD5quTohSdszrZ9YHRD7IsfEEym60bH6OujiNjdQ6LY7+o6RSxIM\nLUadeS0AeuVqWOMDsneihry4HrzdmBeQ9q/o82GpA8fFQmno3qDkmJk51ii5\n5UQJ\r\n=9pZJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFEtrJy0PDIuaVQzJkU60lP90lZtjanaHoMt95ODNrxCAiAGfUhQcrsKuGaznRPCaBWpxqgdDGEAKu5HHS/0zrbkTQ=="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.3.1_1608427135740_0.9007389642926846"},"_hasShrinkwrap":false},"1.4.0":{"name":"o-check-list","version":"1.4.0","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/check-list","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json npm test","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"eslint":"^7.15.0","eslint-config-standard":"^16.0.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^5.0.0","nyc":"^15.1.0"},"dependencies":{},"gitHead":"1dcf6a2f56d9a9ca5305a6114d785c5790f3bc33","_id":"o-check-list@1.4.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-qwvbZzt5qzYQeedfsFCYLOMb3eiY4WTGz882w3LGgcrtCHBGxHRw2JJT5g5xEauXO/EJet0AAdPupBTLqJgF6g==","shasum":"f22e04e897bf28f269fb2c141e0cde7e7fd040b0","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.4.0.tgz","fileCount":75,"unpackedSize":87507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6MQMCRA9TVsSAnZWagAAoBQP/0FxPMEGUC3ocxLo4TrV\ncqH0iDjYGXIeBzbO2XH1maKAtbFBPlJBCcLFIGaCjHHqtPimiUE+n26GRXpy\n+W7SkHpgtdHlwOjqPd62WNOBNgAETVk986jn9jdWCQqrMUhviTdI1K72qn8U\nzqfUGkaweAzqdph6ZmIoGDfZIi6J7+Ne+8CTI0DYMoCriDsV+hpdHlHvFrP0\njm5r84b4jYX4pTaX3DjWnBFozv0jc1ndFEsneFKQd7qJR665EsmJ2NyodKzs\nXrFcpm0UtVRfo4Y5KFT68ErcumaTgpBkvK0tnG5aKU+UR4khd9yd4Hkpyu0l\nyNURDpevvI/o1rGGeSmkZHhiFE3rKagTFRkaIsCnPBhb2ff92Kjzm0m0eL0t\n7gy0aHpfDR28GAebXqXPpMbd30Xtyg3TYiRu0FBWQIKF/UQga23Pu2oi1z0X\nSDEIzzAad4I618udhdTfMj2eH2FElZ+TsP1dPopBgz819O+GRulCdpH28yvD\nGp7Xj0LU2BCiMwF+BemBJ3rsSxE1cZfGvC0HvBfmleNhHw0wMQEDOw2E5ksC\nvZCxpVXv4XZct1/B0IPN5gO6tbcdlHkCsvC4AO/aKi+njGsYkJZxJQuTaBTK\niHzzrKjNKYV4uQ3m6hTMSoKWbFcL4522CKuA2fzX5yKHhXXs/ddsXmvVJczd\nZ/Pn\r\n=YxZq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBIMHni0iKOEGAwYcdWiGI5nQTQd+SLPSkgv0sqYhl0hAiAObYSPiBZRHq7O4o1VM5CwIzUC5kQ9ClWqWYZMWqiPRg=="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.4.0_1609090060412_0.06856868807858918"},"_hasShrinkwrap":false},"1.4.1":{"name":"o-check-list","version":"1.4.1","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/check-list","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json npm test","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"eslint":"^7.17.0","eslint-config-standard":"^16.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","nyc":"^15.1.0"},"dependencies":{},"gitHead":"5176dde28dbd89617e3cfb8fa05ded54c207ee38","_id":"o-check-list@1.4.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-6Yh4EjfZDzG5b8gnyOKLRmT2JNv7Ll0JFDtbj8Qqs0jrUhfgOeLUzlTSTgfxwsTNhAoNX3XrNtaUCwWBPFGmEA==","shasum":"dbbc74563454f7d29790640e07549aa596503ba5","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.4.1.tgz","fileCount":78,"unpackedSize":93494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8RDJCRA9TVsSAnZWagAA5wsQAJ0EGQQ7H420NWsovqK4\nusfyFwiKg83pZ0uEh7RK1Kyse4KbbNMOpsePq6keHa9amBuspwTygK+r62Zw\nuDyOhzRurGRco5DAgzEcchudB+zajcN+Q8EO6AauAxOLoR6DIJ9SdMKLJzrY\nK/omfyySoHlZvydeQdzFhgRvfuc7sIUf7BnklQ/hF6LY8Kbpw5bywo8+d/EH\nu+9eKjugDSTXKi3UgWZYU0IG9XFqVbX8diMaB8/v+lxB66cag3UMMzzKmvUw\n1KgeHxXq6lnJKJZ19Z5pzxqMcqCx/9Eq9U5a2wjtrgvktpZ2daITm+yEfpUC\nbSJilJS5tECePLRF9IxaF3QHZafq25eOb6/2nkLTyxgmcgFnH8E7Dy/NJqlC\naXFa2pPTfBc9/gtsG9PQWpRdWAz+C6EIUJ99mfZL/jwlBZXpmYnxn5hGyFTJ\nONpYJtm8zqejEtlstMGgy8v75gDXlYINHpqGiiSRbiKiiOiTKttK1LyQ2gk+\nsB+R5fM6lX6V7MKeXSjhQW/jtkaw0D9jcu9kkde8xijw15fqk4TqstO8BusD\ndfmVSkX3LwvoZSaJSD7CEDs3Qye43FfOLPi5TWMXFBTms4cyrxEQ7EkQGc8P\n7w4HPU1DjjHdKyUO89JKU43Hv91fS+1k5nfxsd3Du632PNtk4U2nA3vl5HId\nmwDq\r\n=rOEq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKRiLTdJi/1EQ+DLLLI0tzppEMepPyLjg436PIYbX0FgIhAKF9t5sNlrsGScoUt5J5nD7l61o7YmatMFvvbRaaUvw6"}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.4.1_1609633992799_0.8801262835704924"},"_hasShrinkwrap":false},"1.4.2":{"name":"o-check-list","version":"1.4.2","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org/","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json npm test","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"eslint":"^7.17.0","eslint-config-standard":"^16.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","nyc":"^15.1.0"},"dependencies":{},"gitHead":"72e38182e955a2a45a425c7c38b91bef8fa0f8fd","_id":"o-check-list@1.4.2","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-TYImqa3sMCD5SILqvd+hQZqd0IU2A3qLJ0+ikPadAiVFEHz0MgE22yQGGHz0Bhg90lHTkfqXX7fuwkASBmAf9g==","shasum":"f70fae19b464c841240c049c71f39644fb4e78aa","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.4.2.tgz","fileCount":78,"unpackedSize":93639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9L4sCRA9TVsSAnZWagAAcwQP/19NrBUea9kX3dqdzDfm\nPKCl83tiPWXvUJOhuMTUljSrHB9fzA2g9kjXymcchoezVA7pvP1T42c6fEkn\nBA45aEPrlr0gria48SuuGsW6RXtpQ9mi5NbWm8LgKmhuDZhgsVo0zjhAgUES\nXFA29znMzgZH0+alRVyQ35NcRhi/5AIaNRTzm4YIR1NyliRiMuRlcuuAL4zl\nm81Wp0pcqoQ+eYd+rtubX2xMrrlwv0o471aWsbkMhrwYZrtEZg1Q8hgN8fnL\nz73qbe+6ubiZ0jMjnr/12HfiamJyO37LMvstQ7zbLahu9WKdkj06dnPJopkN\nJ7JTf9qjLPdk4sZzfvqbk11j8SblL/nbUywkvqwt+VqVuwS6KG1iGUuwkmQ1\nn+o0+zd9dh7zLLv8pZtr8Efj7S2aLppS1teJpccJR0CpDVWG/xyk92XRM9oT\n0ZXwoeFCVuxqRLU7CgC7JchHj76gzMlm7AsHbmF/6w+iZ5oNFD9MUnW2i4tN\nzc3frR6E1LocTz0eRdZXTxALA1zAcpW+Ut7YPa+2vhMDMduhAAobbljL1ySm\n2pkOrgDxmaOBo6QwPAOvQe3Au9J0VseWV3ailo7yY4pPV7uEiEEDFVB4flMr\n4HblbAkwxSYGjIcAY+aEfCWIGCUCFEKTUaC2+Eglf2n1yKe7N1WzcXVHsNkK\nHrne\r\n=/wVE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCztNk35UOCucLOzl9rdA1aK5YuTwGKjrhU0tLk1SpXGQIhAPQJISBWYsgtMRYzLPPk0r+w15iZNTBw+1S7vy2ROrVM"}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.4.2_1609874987720_0.46664044951570416"},"_hasShrinkwrap":false},"1.5.0":{"name":"o-check-list","version":"1.5.0","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org/","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json npm test","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"eslint":"^7.17.0","eslint-config-standard":"^16.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","nyc":"^15.1.0"},"dependencies":{},"gitHead":"68d2993d64676ad9c79692d4b31e8b221a99532d","_id":"o-check-list@1.5.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-oozLT22krx/XAqIK9uaCpOu36y4nXN1ki7O16gvbXLT6Z2evBpNJtoXFYDwwYpEUfVy5mr4N27Hds9JE7z81uw==","shasum":"1a95a6cf9ecbd6833b491ac76b246c707f5c0b1f","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.5.0.tgz","fileCount":78,"unpackedSize":94258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJnVFCRA9TVsSAnZWagAAMiAQAIxkYsSEf6dghEkxPVXG\n1SxGl2FtTgoobshs9KTsqUjGSgaCKZyQjCFQrHVKTZOUL+OJh8h1KNptVgj6\niYLFtjRHRG4tUNBl+aG/oJMWpbE+aGkJqEys73KZVXbl0hkLAmMWWDC8zbeS\nCtxG/vObm7TMuGzZO+dkGiFz7Rcl1ygBiU4OOQJ70RXQGnkSvbddz+QkRZt4\nNNFfXZchU0qPnVYUlmO7inaTf/3bX3ydLFlVIsnUBqT+NZDyKD3uQIGP+W6S\ndmi3r32bPv4AifFLowraqaH4thJ04pcZmAWfbnej8q57aYpBUGQyoxC6kvnA\nyriUY/DSdKUV55Ms0mA3Zze+W1V4zZhNqI3VeN+TypCyRuLyttvuZWjGOV/a\nm/UnM4lRAh6dpFaftvc4IbO0gK7WXz+1tf22hglFoFLm+5ZYNfntswdoU4oc\noxrZ4m5jGfM64ejzvYLZ8SzX0OhbBuFxCNBpETgAZUq9bsbzjnBmGeGgAVCV\nlHUTCjlRlfP4AlJOgspUSJvKIcUlJ485p9prFlaoShubKxRDv8jR3dUWh64/\nFMCQW7zFeogbujxomRSVgLzVClVjXH3gCmJ6QmBSuVghZgV4AYSuhVR9tmo7\nL2pC0Mem+7RBfCwP3yaTeEi1ZPovH67EM40R6h4sw1KU0HxV49xzAAyoa5gL\n8bvl\r\n=a8Ke\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpbmIdTQusvHPRzxfuMKGoTyXX3tSLmsUvf7NQyakgmwIhAO4Ifkhk1rzbzejJXYf22UFHON1FaUNm+szq1Ni3Fn9A"}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.5.0_1613133125319_0.5897553144005558"},"_hasShrinkwrap":false},"1.6.0":{"name":"o-check-list","version":"1.6.0","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org/","scripts":{"coverage":"npx nyc --nycrc-path utilities-config/nyc.config.json npm test","lint":"npx eslint --config ./utilities-config/.eslintrc.js .","test":"npx ./bin/checklist.js"},"bin":{"checklist":"bin/checklist.js"},"devDependencies":{"eslint":"^7.17.0","eslint-config-standard":"^16.0.2","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","nyc":"^15.1.0"},"dependencies":{},"gitHead":"75d3a5c92ea1ca3b60812c8026547340e831a701","_id":"o-check-list@1.6.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-cFPREdvpbZMyr7Ke3sioO3RT+6zocxbqKBvXp+i4HZE5plt7Ip3gHY+4SYKj6PU7k+bn3r02e3bWBIbguAMYBg==","shasum":"3a561ce1230683a26f25896b3cdd1dd44725e3d5","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-1.6.0.tgz","fileCount":78,"unpackedSize":95403,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYnDhCRA9TVsSAnZWagAAqBcQAITXED/4qSwhg0qWyu1q\nwhM4zoOSWADPP9R39y6SNGZd3Qdj+t7i3kX5+WiohxJeCWIK1xFRUl4Qhv3K\n8SVFGQH5WylZYQKhARDttjoKQs51LENrVsVmVDq08THQa0qELuhwkOhO+sev\n3sknDjyNlW9q2O7GbvlZS4PI0LiJ1zR57YinQy4D39B9viasNDOzEp1gG9Tw\nPMj01ArGpRu9h/0x+l7m8dJ3aqDj1UGD5PLbJ0xZsnIGbzb9kvUochSeJvcI\nl952KmbFN1jlTrFIkTU75W9llJcT8YXP6qJtIrNxQqgxwDim7iEFK4HWI4sr\nZfdTa/zZnA2RL25gfpdf2A/O14XS/ckvederjSzIF9aHBEon0+LwzpfXq9bU\nUNFMnFDWpRUDBDz5Af6xWtJ37ldlzyiTH7ZaRi0XtReizMSrdOYzB+7jaZPp\nPSUvPjC912Vz5Is3RdMhJuEXbzdLvATIuXDlmdjqfAhufLcTkDxgIeEGAeq0\nTecHlx2P6GvLW3S/LPSZc0hXBX4zL5kMabqRX6FOxIj2NtIPqNEqMXJY+ies\n2gJwh5aJyX0zPzahxfi9Vogx6DKUDUaPZB207LHQkNMsMG0W3rQNjBng4P2V\nbUaIGm3FA9HLlwaaqeKDTu34Diw21inT1laudStmmRf2PMNQ7OYM8TQDxExo\n+Lsi\r\n=TRXw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB6ibKDXlaME9dlU7/a0AHTSGw0/M1eTThRel11HRYebAiEA/Mw2b96rgLbxDLSUqRYSTIslDRHECXWD7EN6Xx1K7Hg="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_1.6.0_1617064160735_0.6465110268793992"},"_hasShrinkwrap":false},"2.0.0":{"name":"o-check-list","version":"2.0.0","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org/","scripts":{"coverage":"npx nyc --nycrc-path DoMe/forDevelopment/configFiles/nyc.config.json npm test","test":"npx ./bin/checklist.js"},"bin":{"checklist":"bin/checklist.js"},"dependencies":{},"devDependencies":{"eslint":"^7.28.0","eslint-config-standard":"^16.0.3","eslint-plugin-import":"^2.23.4","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^5.1.0","nyc":"^15.1.0"},"gitHead":"30c784368e122ea8002274e315458f6993ceca63","_id":"o-check-list@2.0.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-D9kvgxcqYkohN6tTVQR1uGoX1Bdb2FwxF8HCUzLzQ/Wj/jnLTkxzOcve/lP4ZmgreW+jnop+tyo3A/oR9OOctg==","shasum":"7ad87d22774518e9060c7890ed5849cba2b3b633","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-2.0.0.tgz","fileCount":81,"unpackedSize":93816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvWYYCRA9TVsSAnZWagAAqDIP/2QVf5toc5q6KsBhEqEp\n+cteMcGvI+rCI+GbHQmX6+EvV34kqoudbLF4JzWOexqEzxW8Q/X4URbR865Q\nQCD1vEE+TtszfOBDe1Bf4WPX4K44bVnzG9angcLBCJXwXiCrZe+v2+obtJAR\nRMQWAKnQC1hUsmDHGMl4lHbISe3QXhPS0g6q9zgSrIG8sg2Rr+t9i9SVZqbE\nCwFNEuHXzhv+fI5KcH2FJSQ2zc2Mf/wJayBBCRaXQB4wJXuE48o3Wx2ZAXMb\nXdne+j/Bze9qA9LB1lzY+v75BQ/khKN+8vnwhixzLwRdZK5oQuC9g9EwkhJO\nFrF/+ne3BwtJ8rsOGrQaYFw9bQzesUY0pqJ31NUlcHuO7o2J0Gf33XKS3E1O\nJ2+LRhG+bmwq31LJdlbRcdecqt/lyf/BXCLNdtFJqNNqiRvjNm6x68Dya6N9\n65bjZTBOh0PhG5vnEs8zUG9SqQEQIZYz03TZ6cEA5y32B3hPWlPDWTRlUs5c\nYJtusgsKnqUrn95zYn7RDbMf7tYHnQZ+ztNps7aeZKPGMutZwnEnt0VAU4XQ\nnx7YTgZypj6ZVbLUDxnbiPzNs3KR/rBzrx3l+Wo1qTxffdmD0E/1vn8u9QAj\nTw0sqcOz5eeTOuqXkaMkUkZqbH7DvTNNB6dfZ46oRP9JyvcscyhYDUacXuwk\n+xkE\r\n=ylZc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEOGRWqokVHaU5zQdU8wDLkRgNyTc2n/XU7SDkY7u+KyAiEAvk/BdSffj229BW72xPVv0FavedmsxE/sddyIFIMmbR8="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_2.0.0_1623025176395_0.6551392363713089"},"_hasShrinkwrap":false},"3.0.0":{"name":"o-check-list","version":"3.0.0","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org/","repository":{"type":"git","url":"git+https://bitbucket.org/haijin-development/check-list.git"},"scripts":{"test":"npx ./bin/checklist.js"},"bin":{"checklist":"bin/checklist.js"},"dependencies":{},"gitHead":"59f9db6c79e86c249855c3c5884198264cebaf32","_id":"o-check-list@3.0.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-f7eBaDpsPccdO1giIr4y0AFbDtthHVyJoSKi0i6tSoC16Be4ozOb3zFF1HWid2YMwOcgat+F6qS5g4O9sNRjZQ==","shasum":"a72c99fbe3aee334711c8da0b1c006d07ec2b736","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-3.0.0.tgz","fileCount":82,"unpackedSize":102258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEBZrCRA9TVsSAnZWagAAKJoP/2pYz/j/9evh3IHJDayb\n7i7c7983AT/pIP+YLcd6fQhbCrKh3GW8ulOpVhnufnsYFDH/SCzOte4QrSKG\nIhkhzRdxH7VxfCHMQXIRQSLyb2k6GQXH5cLxFoWIbSMIu4SnU9X53HhhkOI0\nv/NsrfrVFBDjVVy56f7tm5NGPB/If5LgKvmBWrKObSlvIyedbXuFjeMuyYZf\nlHBENnzRngayVQIWZqInnAh4OfU0LLvHbREmfYyDVr5EDK/zp9T8uSLtHA/Q\nXuaxHtGhStty8/mtBFHhtYpgxGXBvYk85DxgHBdX6wibOr2+7CaZ6wEMZR7h\nzSCLfzg0trnXIkAbQsi5CoZjSyKDpT6omcxOazNVxylpz2eMt+QXevPtwNCP\nqCEY88wV9bfqigduT+Zq0H0HuGBCHyFmlm2cFjPQE9hmLgUhfZys+lh4yApl\nDl0itf+2zlW4eaJe1fDr1hiwxxXZG1vKe8sLon6fYEUoRW4pk0peW5zzEV2W\nIgEXSTIEuJuZvCy+uNoyp0OTZPDf710ufMTiZw2K2gtIeuPl7ODAHoiUj+Ap\nqRhKnL27GKgGSE/j9VrM5hNPfT24LLfvQKu+uExQoPewO+/BY4jxmtlpai9r\nplQ2cOibq1wT7bA7vHOsXkmvQ93k9FNjbg3P/NPj0tF2STz+94x7a3xb27V2\n0QD7\r\n=t4mq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC53v7zfRB0fleqRJlQcYTdUKkI34w7Hpl/5HNUmRXFaAIgMqJB76F18Se5lfL+2D+ix3uOAOMW5PY6IUxsg8cVaNc="}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_3.0.0_1628444267438_0.6265428997772391"},"_hasShrinkwrap":false},"3.1.0":{"name":"o-check-list","version":"3.1.0","description":"Check for conditions on objects","main":"index.js","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org/","repository":{"type":"git","url":"git+https://bitbucket.org/haijin-development/check-list.git"},"scripts":{"test":"npx ./bin/checklist.js"},"bin":{"checklist":"bin/checklist.js"},"dependencies":{},"gitHead":"848fa4703e558956539c94b242831bfb37f252f7","_id":"o-check-list@3.1.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-CLqqt7gRM3uZKNLmWlYwLZpAtUFeRejaPZ/hQsgv67LnHYMQ9E9/P+S/hflhMtv/wyNvumB3BIYJpVFmkyX8qQ==","shasum":"535f7827367e73d54a21ea1b451bd3f80d6bafba","tarball":"https://registry.npmjs.org/o-check-list/-/o-check-list-3.1.0.tgz","fileCount":84,"unpackedSize":104144,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhImAACRA9TVsSAnZWagAAclcP/j+oxNwRkdOR3lLdMo15\nK1sbHlhFWfo/uik6VspO9YfYLh96jM9GxsB1kARX+134BZNhp+MKBmUuR3NO\nI6F+cXYZbREv+1ny30hb/tGkiGoOxzQF3K9L9Bnn2oKwZ2UsDiEy6Mw/tE/+\nvx3LFwcQvj2GMEvBo++fuNuSvld9Qv4bH+SJgrrHyY+q8K79e2mBvzPnXv+w\nwp5FktNiItSHpneSjVUBdQ6i4ZgY/Ry43c0SgENSF/ZSvvXKIdqPVrWYLp8X\nLLeYhHvfaVncCkj7JZis/7stj2+pjUpVACyhXLgrfYbaUCCYlBWpkyRb1h2a\nbcP4ehGBHXShhE7GRoEqSdIc+mb1KNyipr6U98RFnsLYiO42vHrXfKOpU4o+\nJWvnX6594C8+Ohe+bGSsl6cCFbvhDU8OOMepazcLenOvHnt6q6pPXaMooKhD\ngjsrAqT74KORyTcTLd2aZAvMKzoHAsmrUepWyiKxMI6l2xd7DVZWI2VYqxln\naYiYeWvdlxu336FoTQhljpeOVIrWDoQuZ+lUKZOgzTsakJjEbXZP9y7CsF+X\nbrwYLVgsdEAPyQ2T3GqOY3TA24YdqofED+zJkkLuHxPHnssuqt0bB2ps8ELc\nMFGnM88B1ZlkOQEGGDS+ov2GefLma0nTDS6Uo8DFYIy2qqPLiqwnidwrdX4N\nY0zN\r\n=QUPR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/QTsSIzb0lYfijwXHBEfCqgvqzhl1n4su5oSXg+7I6QIhAOz+O+7JLJblbDPaKbTO5xtpAgCgzX0oXkQLl00eHFTa"}]},"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-check-list_3.1.0_1629642752826_0.22010869274516986"},"_hasShrinkwrap":false}},"time":{"created":"2020-11-14T16:35:55.239Z","1.0.0":"2020-11-14T16:35:55.471Z","modified":"2022-05-12T00:01:22.042Z","1.1.0":"2020-11-21T11:22:13.386Z","1.2.0":"2020-11-22T13:45:20.311Z","1.2.1":"2020-12-02T14:34:46.468Z","1.3.0":"2020-12-15T02:10:29.081Z","1.3.1":"2020-12-20T01:18:55.920Z","1.4.0":"2020-12-27T17:27:40.589Z","1.4.1":"2021-01-03T00:33:12.889Z","1.4.2":"2021-01-05T19:29:47.855Z","1.5.0":"2021-02-12T12:32:05.531Z","1.6.0":"2021-03-30T00:29:20.862Z","2.0.0":"2021-06-07T00:19:36.529Z","3.0.0":"2021-08-08T17:37:47.600Z","3.1.0":"2021-08-22T14:32:32.973Z"},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"description":"Check for conditions on objects","homepage":"http://o-programming-language.org/","keywords":["test","assertion","validation"],"author":{"name":"Martin Rubi"},"license":"ISC","readme":"# Checklist\r\n\r\nValidations, assertions and tests for conditions on objects\r\n\r\n## Installation\r\n\r\n```\r\nnpm install o-check-list\r\n```\r\n\r\n## Documentation\r\n\r\n[http://o-programming-language.org/](http://o-programming-language.org/)\r\n\r\n## Validations\r\n\r\nValidate that an object satisfies one or more conditions.\r\n\r\nIf a validation fails it raises a `ConditionCheckFailure`\r\n\r\n```javascript\r\nconst { validation } = require('o-check-list')\r\n\r\nconst user = new User()\r\n\r\nvalidation((validate) => {\r\n  validate.that(user).isNotNull()\r\n  validate.that(user.name).isNotBlank()\r\n})\r\n```\r\n\r\nGet a validation result instead of raising an error with `validate.whether`\r\n\r\n```javascript\r\nconst { validation } = require('o-check-list')\r\n\r\nconst user = new User()\r\n\r\nvalidation((validate) => {\r\n  validate.whether(user).isNotNull()\r\n  validate.whether(user.name).isNotBlank()\r\n})\r\n```\r\n\r\n`validate.whether` does not use try/catch\r\n\r\n## Assertions\r\n\r\nAssertions are like validations with the option to be globally disabled\r\n\r\n```javascript\r\nconst { GlobalAssertion } = require('o-check-list')\r\n\r\nGlobalAssertion.disableAssertions()\r\nGlobalAssertion.enableAssertions()\r\nGlobalAssertion.isAssertionsEnabled()\r\n```\r\n\r\nFor instance, to disable assertions in a production environment do\r\n\r\n```javascript\r\nconst { GlobalAssertion } = require('o-check-list')\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n  GlobalAssertion.disableAssertions()\r\n}\r\n```\r\n\r\nIf assertions are disabled the assertion block is not evaluated\r\n\r\nIf assertions are enabled they behave the same as validations do\r\n\r\n```javascript\r\nconst { assertion } = require('o-check-list')\r\n\r\nconst user = new User()\r\n\r\nvalidation((assertion) => {\r\n  assertion.that(user).isNotNull()\r\n  assertion.that(user.name).isNotBlank()\r\n})\r\n```\r\n\r\nAssertions are usually part of a development and debugging process, whereas validations are part of the program logic\r\n\r\n\r\n## Tests\r\n\r\n\r\nTest **stateful objects** with **sequencial steps**, organized as one or more **use cases** of a functional **story**\r\n\r\n\r\n```javascript\r\nconst { story } = require('o-check-list')\r\n\r\nstory('Removes an element from a Set', (story) => {\r\n  story.useCase('Remove an existing element from a Set', (exec) => {\r\n    let set\r\n\r\n    exec.step('let be an empty set', () => {\r\n      set = new Set()\r\n    })\r\n\r\n    exec.step('then add an element', () => {\r\n      set.add('item')\r\n    })\r\n\r\n    exec.step('then the element is present', (assure) => {\r\n      assure.that('item').isIncludedIn(set)\r\n    })\r\n\r\n    exec.step('then remove the element', () => {\r\n      set.delete('item')\r\n    })\r\n\r\n    exec.step('then the element is not present', (assure) => {\r\n      assure.that('item').isNotIncludedIn(set)\r\n    })\r\n  })\r\n\r\n  story.useCase('Remove an absent element from a Set', (exec) => {\r\n    let set\r\n\r\n    exec.step('let be an empty set', () => {\r\n      set = new Set()\r\n    })\r\n\r\n    exec.step('then the element is not present', (assure) => {\r\n      assure.that('item').isNotIncludedIn(set)\r\n    })\r\n\r\n    exec.step('then remove the element', () => {\r\n      set.delete('item')\r\n    })\r\n\r\n    exec.step('then the element is not present', (assure) => {\r\n      assure.that('item').isNotIncludedIn(set)\r\n    })\r\n  })\r\n})\r\n```\r\n\r\n### Async tests\r\n\r\nBecause of its sequential nature, rather than a declarative nature, testing asynchronous code in `o-check-list` is pretty much the same as testing synchronous code\r\n\r\nAdd `exec.beAsync()` at the beginning of each async `story.useCase`, and that's it\r\n\r\nE.g.\r\n\r\n```javascript\r\nconst { story } = require('o-check-list')\r\n\r\nstory('Call an asynchronous method', (story) => {\r\n  story.useCase('Fetch data from a remote server', (exec) => {\r\n    let remoteServer\r\n    let fetchedData\r\n\r\n    exec.beAsync()\r\n\r\n    exec.step('Given a RemoteServer', () => {\r\n      remoteServer = new RemoteServer()\r\n    })\r\n\r\n    exec.step('then, fetch ask it for data', async () => {\r\n      fetchedData = await remoteServer.fetchData()\r\n    })\r\n\r\n    exec.step('then, data is as expected', (assure) => {\r\n      assure.that( fetchedData ).equals( 'something' )\r\n    })\r\n  })\r\n})\r\n```\r\n\r\nIf you ever forget to flag the story as `exec.beAsync()`, yet some step is asynchronous, `o-check-list` will kindly remember you to add it\r\n\r\n### Filtering tests\r\n\r\nTo test only one or a few `stories` or `useCases` from the whole suite, include any number of `alone()` and `ignore()` statements in any `story` or `useCase`\r\n\r\n\r\n```javascript\r\nconst { story } = require('o-check-list')\r\n\r\nstory('Removes an element from a Set', (story) => {\r\n  story.useCase('Remove an existing element from a Set', (exec) => {\r\n    exec.alone() // <-- ignore all other useCases not flagged with .alone() as well\r\n\r\n    let set\r\n\r\n    exec.step('let be an empty set', () => {\r\n      set = new Set()\r\n    })\r\n\r\n    exec.step('then add an element', () => {\r\n      set.add('item')\r\n    })\r\n\r\n    exec.step('then the element is present', (assure) => {\r\n      assure.that('item').isIncludedIn(set)\r\n    })\r\n\r\n    exec.step('then remove the element', () => {\r\n      set.delete('item')\r\n    })\r\n\r\n    exec.step('then the element is not present', (assure) => {\r\n      assure.that('item').isNotIncludedIn(set)\r\n    })\r\n  })\r\n\r\n  story.useCase('Remove an absent element from a Set', (exec) => {\r\n    let set\r\n\r\n    exec.step('let be an empty set', () => {\r\n      set = new Set()\r\n    })\r\n\r\n    exec.step('then the element is not present', (assure) => {\r\n      assure.that('item').isNotIncludedIn(set)\r\n    })\r\n\r\n    exec.step('then remove the element', () => {\r\n      set.delete('item')\r\n    })\r\n\r\n    exec.step('then the element is not present', (assure) => {\r\n      assure.that('item').isNotIncludedIn(set)\r\n    })\r\n  })\r\n})\r\n```\r\n\r\n### Collecting test results\r\n\r\nStories are regular javascript objects, they can be collected and run in any regular javascript context\r\n\r\nCreate a test and get the result of its evaluation\r\n\r\n\r\n```javascript\r\nconst { GlobalStories } = require('o-check-list')\r\n\r\nconst stories = GlobalStories.createStoriesContext()\r\n\r\nconst checks = stories.story('Removes an element from a Set', (story) => {\r\n  story.useCase('Remove an existing element from a Set', (exec) => {\r\n    let set\r\n\r\n    exec.step('let be an empty set', () => {\r\n      set = new Set()\r\n    })\r\n\r\n    exec.step('then add an element', () => {\r\n      set.add('item')\r\n    })\r\n\r\n    exec.step('then the element is present', (assure) => {\r\n      assure.whether('item').isIncludedIn(set)\r\n    })\r\n\r\n    exec.step('then remove the element', () => {\r\n      set.delete('item')\r\n    })\r\n\r\n    exec.step('then the element is not present', (assure) => {\r\n      assure.whether('item').isNotIncludedIn(set)\r\n    })\r\n  })\r\n\r\n  story.useCase('Remove an absent element from a Set', (exec) => {\r\n    let set\r\n\r\n    exec.step('let be an empty set', () => {\r\n      set = new Set()\r\n    })\r\n\r\n    exec.step('then the element is not present', (assure) => {\r\n      assure.whether('item').isNotIncludedIn(set)\r\n    })\r\n\r\n    exec.step('then remove the element', () => {\r\n      set.delete('item')\r\n    })\r\n\r\n    exec.step('then the element is not present', (assure) => {\r\n      assure.whether('item').isNotIncludedIn(set)\r\n    })\r\n  })\r\n})\r\n\r\nconst checkResults = checks.evaluate()\r\ncheckResults.isValid() === true\r\n```\r\n\r\n### Custom checks\r\n\r\nCustom checks are subclasses of `ConditionCheck`\r\n\r\n```javascript\r\nconst ConditionCheck = require('o-checklist')\r\n\r\nclass IsString extends ConditionCheck {\r\n  getCheckId () {\r\n    return 'isString'\r\n  }\r\n\r\n  evaluateConditionOn ({ subject, params, result, evaluationContext }) {\r\n    if (typeof (subject) === 'string') { return }\r\n    const subjectString = this.displayString(subject)\r\n    result.beNotValid({\r\n      reason: `Expected a string, got ${subjectString}`\r\n    })\r\n  }\r\n}\r\n\r\nmodule.exports = IsString\r\n```\r\n\r\nAdd custom checks globally, in a story or in a use case with `registerCheck` method\r\n\r\n```javascript\r\nconst { story, GlobalStories } = require('o-check-list')\r\n\r\nconst isStringChecker = new IsString()\r\n\r\n// Add the custom checker for all stories\r\nGlobalStories.registerCheck({ checkMethodName: 'isString', conditionChecker: isStringChecker })\r\n\r\nstory('...', (story) => {\r\n  // or only for this story\r\n  story.registerCheck({ checkMethodName: 'isString', conditionChecker: isStringChecker })\r\n\r\n  story.useCase('...', (exec) => {\r\n    // or only for this useCase\r\n    story.registerCheck({ checkMethodName: 'isString', conditionChecker: isStringChecker })\r\n\r\n  })\r\n})\r\n```\r\n\r\n## Exceptions are optional\r\n\r\nAll checks in `o-check-list`, validations, assertions and tests, share the same underlaying implementation\r\n\r\nThe implementation can run without using exceptions at all with the use of `.whether(...)` instead of `.that(...)`\r\n\r\n### Before and after execution blocks\r\n\r\nTo perform setup/tearDown actions, before and after each UseCase execution, do\r\n\r\n```javascript\r\nGlobalStories.beforeEachExecution( () => {\r\n  setupSomething()\r\n})\r\n\r\nGlobalStories.afterEachExecution( () => {\r\n  tearDownSomething()\r\n})\r\n\r\nstory('...', (story) => {\r\n  story.beforeEachExecution( () => {\r\n    setupSomething()\r\n  })\r\n\r\n  story.afterEachExecution( () => {\r\n    tearDownSomething()\r\n  })\r\n\r\n  story.useCase('...', (exec) => {\r\n    exec.beforeEachExecution( () => {\r\n      setupSomething()\r\n    })\r\n\r\n    exec.afterEachExecution( () => {\r\n      tearDownSomething()\r\n    })\r\n  })\r\n})\r\n```\r\n\r\nAt the moment, there are no `beforeAllExecution`, `afterAllExecution` methods, for it seems to be more on the test runner protocol, rather than on the definition of the tests\r\n\r\n### Run tests command\r\n\r\n`o-check-list` has a limited test runner\r\n\r\nTo run tests in the directory `./tests` and `./examples` within the project, execute\r\n\r\n```\r\nnpx checklist\r\n```\r\n\r\nTo run tests in a directory different than the default one, execute\r\n\r\n```\r\nnpx checklist testsDirectory ./tests\r\n```\r\n\r\nTo filter tests based on their description, execute\r\n\r\n```\r\nnpx checklist testsDirectory ./tests filter \"Removes an element from a Set\"\r\n```\r\n\r\n\r\nSince `o-check-list` is regular javascript objects and methods, it's faily possible to implement a custom runner, both in Node.js and Browser sides, though\r\n\r\n## DoMe commands\r\n\r\nDoMe commands are intended to be self-documented, please take a look at the files in `DoMe/forDevelopment/inWindows`\r\n","readmeFilename":"README.md","repository":{"type":"git","url":"git+https://bitbucket.org/haijin-development/check-list.git"}}