{"_id":"@akromio/doubles","_rev":"12-c73a8cf92554ddc55de78b44b3ec96f4","name":"@akromio/doubles","dist-tags":{"latest":"0.7.2"},"versions":{"0.1.0":{"name":"@akromio/doubles","version":"0.1.0","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"contributors":[{"name":"Raúl G. González","email":"raulggonzalez@siacodelabs.com"}],"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"@akromio/expected":"^0.2.0"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"33b37f476ee13f694c46eb39b57b7a33bbb7fb27","_id":"@akromio/doubles@0.1.0","_nodeVersion":"18.9.0","_npmVersion":"lerna/5.5.1/node@v18.9.0+x64 (linux)","dist":{"integrity":"sha512-YJHpt9+N9oL8Ncyp8pCfkGfgPjo03EQQ+CnYsHeDpduqW1Wif/2CoJGI/LvX5eAAS77XrJ2JECcvjwt3BRhZEQ==","shasum":"175285cb2e2368afef69ad54bbf01a838197dd05","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.1.0.tgz","fileCount":24,"unpackedSize":65870,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBw/7r8a8zr+bgMnPtZ++MEy6MorkHxL5H8+ZH+75UFDAiA/3MIyY623Kh3+frjliNagV05xhRXvVzHQXzdayEeazQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIw3KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpu8A/+NWcISw5cp9q0SgLO36BrrCVpPCbYxPXQ67lHus7CILf1lxmI\r\nJCPcivFsA7n6TTMReOdotzJooFA0wQTHrbd/tGz0gjQe3nM9INb6OOHfPf4I\r\nGs2/3sxPka/ED7grdIAhN4xqpoFmilCyBTXUMbnPy67NyHpM8lN40KVisRGt\r\nxOOvTF1JF/kuhrL7HRSvWLylaG8Eq+gBO2uPFicB1dUuUjtCVB+figHvjoD1\r\n7FqaPKSfIylqVaV9yNDRsGJDFVjqek588bjEjjsNR+KZy11CPjBtrmb/mXvA\r\nNRDn+jbbKCC3m0GzBaCrNBE30vQrkTG1UWVQpewasWTHe34Ad9tNUN/ZqiSd\r\nDzh6W8DNYqkagP7yIIu97CAt7b2CkgQBmLOy0m7FeF3EI7a3nulFFcD1wYp0\r\nvKhjxZbuAMLO+lhiSkqev0tDLxxNT2zIEGzJv84nw6jsKIn3qikHMpXSmmQi\r\nGJRN5bd+aICsGdNEO+1Vt8ZZQAgnJNB6oFLnJw981au6QE9NhsuOGl14zAZT\r\nAC8U40kJA/kY7kQhuqDaHlvucL2hnFzrlPq1hX1Q7Ck/N+0eo04/UQVhs5R/\r\nkwj85RtLiQWs28c6FqYY+CJcFZv99Pb7j8dcyu3cemKGR+9Mf10+5nB+3hv4\r\ndSCEjotWxs6+u1mlGIqRRrnWQ8+rO1BrzQk=\r\n=KrkG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.1.0_1663241674127_0.7625940875808617"},"_hasShrinkwrap":false},"0.1.1":{"name":"@akromio/doubles","version":"0.1.1","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"contributors":[{"name":"Raúl G. González","email":"raulggonzalez@siacodelabs.com"}],"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"@akromio/expected":"^0.2.0"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"d8d0afcf6c74168d774452d4307f4a0292451efe","_id":"@akromio/doubles@0.1.1","_nodeVersion":"18.9.0","_npmVersion":"lerna/5.5.1/node@v18.9.0+x64 (linux)","dist":{"integrity":"sha512-VJAq106BWM2bnwytV/bae6Ae+Q12qdQJeySpZkBUUN8HXGrknw1oVw5t6OEc8NmNkiLHhpG/lGEMpqlnIOnYsg==","shasum":"b373c152e5edda217d675ca0571b33642ee5ba8c","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.1.1.tgz","fileCount":24,"unpackedSize":66118,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEtrSxh0Os2nGmQDYSppqiHIK50Adr5oqz7OqBElVIGhAiBK656bfCXl3+ajImWVK5P2wRlPXMEhZh+ppmvaPxT/gg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJCq1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcVg//aZBu8PyR+o5MgLHhUNpEelEjynlFqCMM+MscL2EnPZRklUCD\r\n5Jkht/HW7u1w1jGGx0mQUuKGQozsGzkE66KElWuJ2YMgBAtznMYoKuWBb+TG\r\nuJwhrvFfWf6MHDe9MzYb4soa5zd5ukPt7VosGvnZiPXetSJsi86ErnusiuYM\r\nxwYq9akQA7XN8J6LbFXURpapFaQs/BGbNHznStUCKcBjuhO0OS2FzRl9bFvK\r\nucwmfxAdIDm0je7TlhSPXCpVQZbq9M2qSr0RVqvA1mJR5CB9hzMglrd/2PBD\r\nE+DIyzcO88RrBjyEEnjr9LYCdyEOvDXJc0kF2TbMU7W8zkmgx4iKt1Nj9/lP\r\neT9Wo+xTY5euvm5CCrMzxCxyyy5B+pms6bgWneQNEs2k5ugsUzpC8/Li9384\r\nBonZCNWmJExnwDqz+kh/WKzjwjXXF/FIQsdtTOcXrgHOpTasQXlFZPAoj4nw\r\n1hA7BUr/6N4a8uTOjNREjPPlGb24FmcLC7H1abS3VBC0CSPo3jB87ABIJg93\r\n3qjUgkFv7MYHKUvw24lCbylQ8gXFaKTEYCZOi4T0e/rRuKeKksNyiYrCpCyH\r\n/L51J83lk/w7XIJ/blQBeGRS+jLZ5DV8bzUqNgdN4Ei/DgKM9kWTv/YCJtYT\r\nVQA412+GvkY/I0clnojKbXaR3vNqfyn0qL8=\r\n=c0Nz\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.1.1_1663314612825_0.07430683585380349"},"_hasShrinkwrap":false},"0.2.0":{"name":"@akromio/doubles","version":"0.2.0","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"contributors":[{"name":"Raúl G. González","email":"raulggonzalez@siacodelabs.com"}],"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"@akromio/expected":"^0.2.0"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"5a4527bf710c48f220e4843590a0085f76e6bcbe","_id":"@akromio/doubles@0.2.0","_nodeVersion":"18.9.0","_npmVersion":"8.19.1","dist":{"integrity":"sha512-xvb/Fus4bcNTZjI/zNtu6okXTeEe+PfYIQpI7O12G9uPfIF0FiDnlLpyEaYCJc51owyzbmF1COLlHJ5UmsZtdQ==","shasum":"7f3ce0d83e22c1733ed97df33da62d05f9b50425","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.2.0.tgz","fileCount":24,"unpackedSize":66408,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHQK56YyYSYpess9qS8WWq+TpghnOU42hk6Qqst0+Uw9AiBlbfT7G7TeP7P4ZhEQzrmnfpMiJ8wy2+41BphoK4TkJA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKsmWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkyA//X7wi7DEbmxWnNzS94gXpujnsf53nH9ipSIMYvKjEUpgykQUM\r\neK55LnDOogsLHwZnRHtHTmEBkyEqNzBb4paSsmXo4MgIIxWdA+6pGLU38vCH\r\nr2kahD/ATgss/amg4y/v5mKIHwvsrqB8SsNk5ec4txZWiWbQG7c3D62K81b3\r\nruJYt4PPk04JxpMLfTHYtleaI+WeI/zqpbNQIQuDUsMCTIAImOsgHZMeTJpp\r\nesIGa5QUIx+4lGLK1ZDjFnbWZZfwowitH37AWy9q970fgg88QB4NDdstVRNd\r\npXUSzDROxO4kHxMhs0WCncWDTVeEGCrKrJDkI9MmypIRx/ozWbKTLf2Jh8YA\r\n+w/dH7SBwYGDhlfp/MRy/3oIXtbYI3PSkgQbnsdAu85Yvobxj3kz4wqJaGry\r\nu4dEe170t3wrB4t0PlyX4qInLkmuzo/UrfV2KvIBpI2Qlg04VCLA1J7JifpB\r\n0P2H6lU317U1vvWcPiLEQbvyoD4EthjhimiRm2r1aT7Tk7cZikytDlZ75KeW\r\nldE9pkikDIjV5y5/QixaRJQg6cE/EvP/RRN3PLyntNeBJlgqswOf8gIsz3PY\r\nytvTjQggkl+W+8bC+mqcO7a+Sh9saPO9OYstXoj1SjwNAwNV0ZgOVR881Rpx\r\nlEreX0aclYsYtMLsMn87nPX29aMjcQuOOc0=\r\n=D6yt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.2.0_1663748502354_0.08983363571351277"},"_hasShrinkwrap":false},"0.3.0":{"name":"@akromio/doubles","version":"0.3.0","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"@akromio/expected":"^0.2.0"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"d7ea512335b208d8ef85aa7073c660a087169f23","_id":"@akromio/doubles@0.3.0","_nodeVersion":"18.10.0","_npmVersion":"lerna/5.5.2/node@v18.10.0+x64 (linux)","dist":{"integrity":"sha512-bt6bt0T3akHnbelvrKKuu+znf2d2rjPwcwU7OpE6dOID1O3fVPWQhQVxQVhF2pRgxoeeH4YguOjoEbgrdYN4qw==","shasum":"603a5d2a0b39dc6bfb6a2d4b1b91dfb37ba068b5","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.3.0.tgz","fileCount":24,"unpackedSize":66359,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGZOUVMRoq46tuLfZyW6S8m+iuUK+NCmfo140SEcEpjQIhAOKKiVQv++hbDrzdcn+cDPeWpeigxqJlRk/1QAfOGdkY"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjR+ygACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFpQ/+OamHQNcJpC7WV62rWr74HksJUaCdeePHVUlZ8ymfgB669FFY\r\no8Y+2OgenEDcTvPbUOSTAD3CePcjabKvh8T/kYGrvkISwlUjR5JBndWWy0BQ\r\njU6KtwcVAXipzFeDQO83Rycg9/SxAiIOAw9BbgG6etDIJBmnKJpvmzYybTUD\r\nuF8bOxmucmjq+RVgGZRIdMhK565J+yOi8WxfkVVj/pG65DfuF+pCbbTYTzWp\r\nCLthY6nwhbha+9Dl/2WqyEGCCwzc50e04WQXxLpg6Lw2srPGvb2dWIGdvAuz\r\nukrJ0AA2SfFl0odbw31K0hL0TE/srHYmaPrAfd8eKtHWFom/AmYqcFxDoffe\r\n8VYEBKvQnOvxJx6EQ8MgG9Jipg/uQqE2kF9dIr3eprKCMKUtbuZ0fqaVPP9T\r\nJdQSHvJfpxVu2lcotUqgk46RbHzoDqgKZ1DZhor5kGD7kRI6X4pjWw8KsNkR\r\n5dG2WQfGRzfbOJ7nmPzWW/WYBenIWHEWkfurcH01h5B6pb7ikhNBWfBLysv0\r\nRKi15hVTflaoRL4vQ/Q50EJp1Db+soSnURkA8+fylWDNOruZKLvEgMJkry2q\r\nGt3v3ZFOm8LG1nBO9TMh4UZqoUZ/EU402kv3fn925OoHnFslr9dsS2kxwA82\r\ng/0LPwiiRpsKKzT4vqTz0775TGyE89wbPY4=\r\n=1PoP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.3.0_1665658016045_0.05555874052576648"},"_hasShrinkwrap":false},"0.4.0":{"name":"@akromio/doubles","version":"0.4.0","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"short-uuid":"^4.2.0"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"94a60d141dde041f3b3594a1d90b2d6931d02df9","_id":"@akromio/doubles@0.4.0","_nodeVersion":"18.10.0","_npmVersion":"lerna/5.5.2/node@v18.10.0+x64 (linux)","dist":{"integrity":"sha512-umixTh4KHF+XyCSQjyi1Ua1SlD/Oi34wjyyGbnIU0UCqM57q3FRzdG0ran861q+48gDuKoYcAfqLAnSXueXAzA==","shasum":"b01e44dc80bddc0723d6dbe2d2419b0c5c2696e1","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.4.0.tgz","fileCount":24,"unpackedSize":69709,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH+DY0aNX7MXBkRk2As+5goZdNyzyiTUNxxKfF2oNKAJAiEAmA0tQy8KuA8V9PzucYIPtZjKc3k9pxHeY+gwh2wNSX4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTCgsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRqg/+IKJPftGE4A23lciV4h9MnIkNg4wpC1yNU5Cd8SkcfvGqXpYI\r\npVONF1J+4EN3VKm5Fv5S5v72M+scE2c4FJRyCoWY7LZfm7gj344GSWxqTiIh\r\ny+vg+TRM7Zge1QhMK3cPfa52fzx3uFtn4iGKAUwo3YIPfkYymcj30vduapQP\r\noigSG0GGC6UUH9tnjnv4fabe1IvP6YoRyT3Tx7STzTFXNqHdff6HPHktjaVj\r\nM6V9HBXwjthz+hm3/joQ9FpuG8sPFTJ3erny2lTvPAXTNFWVZitO4LYPp44B\r\nzIzeToEZ78SZjXhaXK4Og7NGrjRoe3uH9BopzRTi5T2oJTqu9hELFjjy09ox\r\ngRYuHIw5FYVrBHmzkMdFTeBHKSc7Jv5A3Q5pM9AzrgNmwhF9xYm+EFec2OOC\r\ndgbyJmDUALP85dh2E7j66nFdAOXi5wDzKQUX+hw4r1662m3Jy73y3nw2BrBW\r\nJ3jpoJNhizETg+G+2zXR3sHEPlfUZ4z7MzIxTeyVCkaa0gBLz06laD0b0E18\r\nMNTQoBvlvNnsWEA7I9iOBuSuzvUBXLspn00PrLSstjWF9E7p9Ub1Bt2GzUDa\r\nd9lGKljoYUtEv50e/3MyrHMqfMK0iCKPTRvRO+C7WyojmVRQo5aPui1PpfJc\r\noFkk/dYd4eU9fT9jzYz7l1j9hk32G9r1Aj0=\r\n=Fm9Z\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.4.0_1665935404154_0.3469096698987306"},"_hasShrinkwrap":false},"0.4.1":{"name":"@akromio/doubles","version":"0.4.1","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"short-uuid":"^4.2.2"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"d9b45098bf543e80f4c938d2e3b7026b53bcd3a6","_id":"@akromio/doubles@0.4.1","_nodeVersion":"18.12.0","_npmVersion":"lerna/6.0.3/node@v18.12.0+x64 (linux)","dist":{"integrity":"sha512-HTnxH4/LSQ8bxB2eIC9OOihRRijaP5fvXarhbBemdPiZbSdLWy5yT4gX8CTKkTAgJVnppvBfP70PL2BfEjdlTw==","shasum":"566149b64573988cad3c4c3ef7596f46af966208","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.4.1.tgz","fileCount":24,"unpackedSize":68759,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdbh4+ccdDJPHvwK9nWxKWL2Hkjtv/5bESl5u2Ctj4mQIgX36KC4s/oGKlqIsz20pfFFNVYztFGtJ1sYmhlLLO9iY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfLjXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqfsg//W5fDce4U+smXvSgtWYY9MyDcOts7Sm23HSASdMF1Gp6ELnw6\r\nkQeeCXsnf6+208WkweFKjhVHUjsTIkdaYqyb+eIgxwbpdYghGyr4L1+4CDfH\r\nDqGW6xwkDGYSLRkobmghyiP5E8bbU8Gi2xr1iSvKtvVLN1SJOAd5MRjEdGAf\r\n//eGIBykdo7JchZdyGtWR8gb0Ndi8b166lMUv1rbCJUbJO6qm7nX0YsMbjQQ\r\n0NPTrzApceqRMJtbA2GSSQ1dSRy90+cKpPAOPDAbKVXkhOwwFzz2pZvLAwWp\r\new1hjqkm/F5YX0rSc4jDgdgjiLEOADb8XvNMC8v20OCNV2kQs7oh4cheSrFC\r\nbxDlORpGvtre4q9yYQfwa1WsYo5KuYdTKVMZU6dc6ZfC/DiZWeml9F/hxQZO\r\n7vMWfmKXfIrteEY4V9bnO8y9XD8IJQZYNjNFA9OMNAOAuQFdo13dtdvacjff\r\n4iilIcHlBTNSuR26FMlV1Mdr0XDuUr4pe3GQnM3k73YShR3SlreMP19AUrQw\r\n/Q+n74QCn2u8CBRbEnD3QwXhWj9wi7pq+mjFqDqfkQPgTkNpmPELzTcppiIw\r\nMcc4mufKlCiZiHJ5bZMpFgqZBNM6KjzNF4hE3CHLm2G8E1ZE2AdjBM3rDXoM\r\n9Kf822S6IC9l43nuzXLiIJu4XHWaJKunzuw=\r\n=zuOI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.4.1_1669118167538_0.1005579944706052"},"_hasShrinkwrap":false},"0.5.0":{"name":"@akromio/doubles","version":"0.5.0","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"short-uuid":"^4.2.2"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"5aafa23d0635b922f166e0f6d5cec9fb48c57000","_id":"@akromio/doubles@0.5.0","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.1.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-WUgplle+vcwSQ5wkXS3NFZ3+hWezQg9jsdx3etkBynkoyslq7phy/ztvk7itYUMMoe4rtqUWff8Fhr2m9kVu6w==","shasum":"3c33b94972895a404e45d43081e3f6df5f59dbb1","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.5.0.tgz","fileCount":27,"unpackedSize":72538,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCG/r8IT/2HxqQ3RfwfCK6gfq3DbahtnyCj5vu6/jfIMQIgUzrpBg4Pp4Px+JWe+zqXURsPZ6b0a0yAC/rFyTJnS/c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpY2FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrC7A//bjsENtJhrlOyb1J5OhwAUePqnCDy4jRZko5lAYXRk7Tg20+O\r\nKEOWJX0/CfgU/VFu8WvsxFIQaOwpGpcRbNcGwd2dLTc9/GgbgknA+dXRdBBP\r\n9MMkPJYq1UKv6mwAptg6wdsfO8hgOUi+QaO9vL3QW4ThP0w7R6jx6jqtODZb\r\nJpN129wQ3XHGRE7MC5GFp1j/zOXrpKzmcOiQ6E0lGnWpVxW3dkjSho4jdbVc\r\nngSCrHrB4MC4rbeX0yWQcuSBrASMVaJqS7u2xMu0ZYDx7F82Uqaz3ncF/MQ6\r\nxCfdf/8LcC8bIxy0yWa6HoA9atZo69XFK422vy5rbLn7sAnaBsjx+7uv429t\r\nf+g2QcnWH76PXl77Pzh+xr+WR6jZg9eW0Owec0gc+29a36MMCyQ3rKH6IHtL\r\nL+COYJFieCMyr1KYn+Bmio2wg7FzJFnJxRTvpSdzMoPNkCPAnr6c7FX7y9R0\r\n6IFSBXhOnYVfhFYuup6cxrtsIIpU31rvkdCHyAiHwp1x5Xkk9TIee4/wC3TX\r\nM7apFwEwyIdT0UzXfXEppgywk85PBY+wu4ZxKHGoXOuFZY2nZO4F/WbrdPyO\r\nXcBFXyOuGZWSC1z+7gtkK9JADguewsAv+W1vbrg02Bvem6Nfz02WuuGVRa5t\r\n/xN6m4fl8jRT8NKFfpeWKboT4nXGOZpHiEw=\r\n=Fwcj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.5.0_1671794053639_0.10860072987216163"},"_hasShrinkwrap":false},"0.5.1":{"name":"@akromio/doubles","version":"0.5.1","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"short-uuid":"^4.2.2"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"a1afa0eae98f0d41609e480f4983947a991d2f44","_id":"@akromio/doubles@0.5.1","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.1.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-eYjFI4W+WYwe8Ovyv3ZpXkzm0EDJ+O8kfOAst/6GeESEH7FJkfDhkCjU7MRQydl/SOQ+1CzjlYRnqN7q+vg35Q==","shasum":"4c6532b28672a38a1a301951cd20afc2f678584f","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.5.1.tgz","fileCount":27,"unpackedSize":73215,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqrilSDx7nTTjAs18HJszubWg9gz6pX+ykOA24O0x3gwIgC9dEcv5piJtYV9fO4R5VEUJtzCukajDhE2iJfRhjikE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpdliACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzBA//QdrItqEiHYLpoHfOSONS3hX9TB0V9ZU4f4qh1tY0D/6/kkYR\r\n+K404Dm7fFObvdrRtk0VRuvJyYuC2cBeTKDNEwJjm9AM6d2X9GP7nA3k4gwJ\r\n9NknF8fUvUv467vIz8gsl8V2BscLt4EyWAeGIo6LoXdWAgpDKZJTWscK+4d4\r\npsw91Fkklr8XaLEGmsQZKOmVTysh5PUfqVuivlOvRUrg/b1TVhVfwyk7abSC\r\ndi5cwAuImh5COp4Zy4hNsButdmcQEYrH3LrhkEmqRkU/4jRSrgvBrNnEagT5\r\nFdv1UAgLht8YKF4+QHFE7IJGDcIZ9SeAuYNWy7mFHOUUCAQNtK9AzS4nLut5\r\nJWFRnbb45sDLkOzJ5iBJ+ZnENL9nHCSmyHSkxEUJziceTbQYWRT82Nxer+An\r\nsCTO75TU3l9jCUgRy8axEwJKSakbfUwV+CC/3z9ESTj6dJcM6MGgGqb1JOGT\r\nXkgy/BrqNhJnuJFAQLK9dwtz6Amm3ZV3CQozRkRhI+2cXb1jJ9lnmyw0Nf7M\r\nlch/I+tE5hQ946xwffFovl1H83UrBBZm9hT65PxsXkplWr2W+jPCIrIYVVgL\r\noW1h7UhN1SRDYE+G4m81I3FLdaCZccN0Jj+HA6ulSCOcXnAWwZOkapV1gwdp\r\ngTwL/FXYZ0Kz781J87OyuzhAoflvIVJhFjM=\r\n=Hq4m\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.5.1_1671813474374_0.4181769573188261"},"_hasShrinkwrap":false},"0.5.2":{"name":"@akromio/doubles","version":"0.5.2","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"short-uuid":"^4.2.2"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"8e05406dc8887e4730955f3c331210a6551adcc8","_id":"@akromio/doubles@0.5.2","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.1.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-uHy7h2cOgGMJC+0VIhW/a0LUrRG7H0d41YfrlF254QRN8/zep1rallpGxA9VNhAPN9SliD9seMNIl3rCn+PTtQ==","shasum":"a23bdeea2d4d025a3f71c755e1514512ee46d894","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.5.2.tgz","fileCount":27,"unpackedSize":73203,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHXoImKwzbehvUMNWexkpWt0tn8jQR9aJWPfwihKFQBkAiEA/z9LgLszeiKMxpjvdiZ8C+e+1OyQFQcXRn7Q5FB+z8I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpsL6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEfw//V4Tc3TW2/rkD8B+98xokNBUAqMQZlBP6l1ZEiiGxWsg8uKRx\r\n4iGmHY5dKsSYh5tuJGfUTnc9ysoEZHexUO+D24QvPZNHN4kcVgaIZp1nWORA\r\nmO9ZtBKb+dKFpUgN+waycsRu6mnj/K3jG1Y/wPHLXYp3zUGSFwqTwaXQuf57\r\nxZv9vFcOpaXqtcLQUNHESR5anTNXfnOIjcNsoHTxr9fD53/0DZyLRf05WyGq\r\nOxNUV2wsP/OG2Mq0dVOTkXD+pn/FZ35RI0z4huv9Pen5Bse3I/qlTHEop+8D\r\nP1ZsVBq0g/AMgiLixlfc2/MVr/hOCyLvscmrHrhVXfWyHFMZEx0qcCatcTmH\r\nGGV+psppojOtHm0N/icOB0TOpcjnYVA1LblU3m2A4tKxRG8XetCuYMmenI8g\r\nvjgYALtIXpAa/uCJrEAQwos9Ca0FNaLDKQb6OU/Qcy82bcR55m3+zHX2HFb7\r\nrsO+Rs6DQsra2Zts4T751+Hd3p5B2HwPwFGbGhI2Q+JPVHwBbLwp8OYeDIiw\r\nkV31OQdq15pu0UEhXTI5NEdt1uQsQh0JGdYH9lNi645zVd/cNjuU5UQCg15x\r\nwnYWpe1fm7sI2zkoyU3Jh9cXvi+IHd+ze/q8BxYQ9oSFV2SZJY80l/LxZdyN\r\noDDXTq+MVupWYp68QixLprhd0U33E3kkWK4=\r\n=R0YX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.5.2_1671873274573_0.5481109231723293"},"_hasShrinkwrap":false},"0.6.0":{"name":"@akromio/doubles","version":"0.6.0","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"short-uuid":"^4.2.2"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"995b21d59a1f57f8489ee5044f96aa2592b28c4c","_id":"@akromio/doubles@0.6.0","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.4.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-TUMSomWChjQJuHiMZRdLorXmWeU8vfByF8lFr50z3zvBPwFK9H11o2M38RY3gnugUvtReSFbQ3Anip0pg97mTA==","shasum":"49583b23480d524c286e9c50be079424d017ba16","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.6.0.tgz","fileCount":27,"unpackedSize":73782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSGBzCOrrtgaVbxJep3EVZcw8BEbYN8uFgBC7p9vXggQIgCzr5gSONpeh7cnMoXuob4bWQlY2mEpmM1LY0BYMSULc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjuplxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptlQ/5AcF0gjWmCa74l/VR9dNtfSO1170X2bdTkwg9sTAJATDQ8mvr\r\nzfzpBsWzhLjQZJ2SyDI64Xze4GndhiGSIigNvtlvLahOqmf8pmmOqJ1syIxR\r\n9BxZWEvpXg6AhXTqJitONWExR2OxDsn0Ed6v0o5i8eKjZwnisuSwzzmG+mcd\r\nE6e2zeULh4+2+aHdKiYDTSgVbjMJEBIyqb8y7mxOSX8k6jBsJqGIeN2MID9e\r\n1C3xGulVTQd9vUDYGCbDFcBZSFO6vsNUB4kGJdykMKCic506VqfHiwu6crin\r\nKV5DdldLme80d98oFhmPBRkAJ73I3iAMNXXXK3I2dUO2/J32YeMv79SvFcUt\r\no4Wwo3WI6h9pXgPcsj2yedXg1v47fZxLG0K0Z2wA3mKUB7U+jbUL8KDIGdJQ\r\nQSKU9tew19XNnx2MqQyr7152voJquC/yZVvnJeK+zqZZQVpi2ntbylVrI4Ww\r\naoUG5by5RX/x7A6B+tEdiR0B6V31omYTF5UHL5bHan5VxABi1QCrJ7PbOMl4\r\nsbLRlG1/sDRrXAh2mLxE95QKWLzWEpcHV5qNc56N+zElexKf4B0QKjvvXIBc\r\n9rKXVyqSn7cbDzSrRUveFjNVyTMP9fwxPaAu8tyMndUCmEkrXb0UjZqVphnV\r\nNl2VZ0/NLlDbi7naD3+TRYPUIxuZs3U6Y1U=\r\n=hhtU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.6.0_1673173361818_0.5312300118788689"},"_hasShrinkwrap":false},"0.7.0":{"name":"@akromio/doubles","version":"0.7.0","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"short-uuid":"^4.2.2"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"fa4b5ba077b601b96fb7a69b42cc35ee4affe935","_id":"@akromio/doubles@0.7.0","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.4.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-qSR3MsG7znf/iL6wbpkXkj/aEJX83uHtu3/z9eSj1MA1coAPqGLMc1Qm05VwvNrRpXUmVTxiid8px+IsLfyWWA==","shasum":"cd94fb919744a7560c9ef61bb0d03e4d7a29f31d","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.7.0.tgz","fileCount":27,"unpackedSize":74284,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE//++lWJmUsSt+TDsVxJdozqHQc7GZtgZBymPLRFzWnAiANTpC5WNCFwMJ9z5UDkyzJdBjczcOLX1BZrAbxYIw1HA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvULsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDhQ//QROjovT8pxmLKFY4P052k0bd7GQg//rnf2ot3uwIJZbE0DrE\r\nKEU54vHHETeJosM0DEGQG8SNjVU2/gLCRcgmp5pK3dSsRCYQfevpfO8YtR/d\r\nGYEavWvLDTOoQzOD6PPQX23VR4alzkQeM9DuTqg/ekeq6gImDmchv/82na2d\r\nu4ZC6iSN7LcMBYHwMz2HKitXhDrsbDB/lIYBh/ymMI6mAVkY37p+ZigDxpaj\r\nagsmCM2y7ldd9AOMbvRRPW4PkfHuP0Ey1rbYi3Hj2VnrQ51Rz8wVPNtDbe//\r\nIJdI+bA69fG+TNZ7DHiZUZYTZHlg4NJH0oMps6mMvP/hDn2gT7pd6lbkccle\r\nyoAZNq35decBIqfRuaqOkmf6nQlLd6C4G+bv2d3va5l5yQKo6WgcPKaFNtt6\r\nmX1Lw5Dglrvt3VGhe/rAAYZWeYULTYl26Axzw9v95kCo4lVu4UjWkOSYXSNF\r\nMrKIulIQdrC3bAb+NNA0HpjCW5x3DGT8A1YQIVOrxanxy7hx6nVbE6pB88t9\r\ndy5Jt030lnKM7wRSLbLMlfyZ0aPyF5A5QhiahwSG+iOvoWz33tJz2oXx2Eq0\r\nQXX2BT9lPVNfqANPPm0epF0d6WqAH7o3OB0eEcZQj0sXymzn5Np242Z2CCDc\r\nOxY/Ns/ifEzUd5Bta5iNzItrUPemMKUHntU=\r\n=Ics0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.7.0_1673347820432_0.5273654970721429"},"_hasShrinkwrap":false},"0.7.1":{"name":"@akromio/doubles","version":"0.7.1","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"short-uuid":"^4.2.2"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"39e610d6a75bc11d1b5dbe1b86d544f351f1015b","_id":"@akromio/doubles@0.7.1","_nodeVersion":"18.12.1","_npmVersion":"lerna/6.4.0/node@v18.12.1+x64 (linux)","dist":{"integrity":"sha512-4myUYr0DawpDyoF4pb1oS7bm0FbkoTGt0dREkSLA0LPGWoTPtJ9cPnD8okvbrQL3N8Jh9WeA/ZSipBMGYQIT3g==","shasum":"8dd105a4454d682256168d9407fa36a3330ed3ac","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.7.1.tgz","fileCount":27,"unpackedSize":74548,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGCoAjHYaIc2DAryTJOQ+6e7N+MlXcQxZUmXvQHM9MVwAiEA59V8RXI6b2d2FA611S6nBM463eL3EpZdiVT4vG+z7v4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjv9UKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmokpw/+ORL0QbLlAUZW51R8ciuYLh+jSKUdaVRVJoAoMp871EIgEgB4\r\nvSyOjr+Tr0NEWpV5IFrYcJyFU7Ik18t8dC8gmeV0JNYmjTzkBTGGO1W4LR2c\r\nFKzf+/O3mvr+aXe/lCIkHnXKAY3yPTlxKVjX2a4g0IJqTCz6o4iTUPvDu1kH\r\ndM0gstbhtlVC74e4g/e3wGa37A5+FhcJY+GV3HkI8P76xEkPd8bku282WqhT\r\n5vBidLz2sBO+LLOWq5SuAYcRU5sulWDRiraZ/XBMHYaE+D+2cM5CE+v83Alh\r\ng2xZzKHfS3ug4xs4Du4M70M9JgU0miVsu3ndwBX0kCXiu60Ces6lcs5JCAgz\r\nE+xbg+fODj/QmPLagUdlvNbC5Q2yTZKhKI45eWQsAPDq/GTd9gDD6FM/a4X2\r\n1ar9TVsc2SRzmiI8J8Ax9mKi6BkvzipdzmD6Eni33cCGpi6BNcf9fygGWft3\r\nVbyFqRrTqseFPBXKGSPsXgKLrBrHiJ+WiTpKnOLi+Cy8W9WohIe0O8f1+Uvp\r\n1UnQJT+RiocIpJ2Agh8ocufFVp0KfAWdAZVV/3Uiv52+bMBTVvv2Y3uNMPom\r\nuIHiFUE8W06A1kTLmoPSJKfHn5Itas8iciY4xvgSXMU8ovGxRC0RPIbBiviC\r\niEjDXvBlaXl15muzBTjHhN7GoU08gFFbjLE=\r\n=f4JQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.7.1_1673516298647_0.6106278298904002"},"_hasShrinkwrap":false},"0.7.2":{"name":"@akromio/doubles","version":"0.7.2","description":"Test doubles library.","homepage":"https://akromio.com","author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"publishConfig":{"access":"public"},"keywords":["doubles","test"],"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"preferGlobal":false,"type":"commonjs","main":"dist/cjs/index.js","types":"dist/cjs/index.d.ts","engines":{"node":">= 16","npm":">= 8"},"dependencies":{"@dogmalang/core":"^1.0.0-rc18.0","lodash.isequal":"^4.5.0","uuid":"^9.0.0"},"devDependencies":{"short-uuid":"^4.2.2"},"scripts":{"lint":"dogmac check src tests && tsc src/index.d.ts","build":"npm run build/src","build/src":"rm -rf dist/ && dogmac js -o dist/cjs src && babel -d dist dist && cp src/*.d.ts dist/cjs/","test":"npm run test/build && mocha --config .mocharc.yaml","test/build":"rm -rf ./__tests__ && dogmac js -o __tests__ tests && babel -d __tests__ __tests__","cov":"c8 mocha --config .mocharc.yaml"},"gitHead":"59a0a99ec357345d83d11624121b9fc6f40640ec","_id":"@akromio/doubles@0.7.2","_nodeVersion":"18.16.0","_npmVersion":"lerna/6.6.1/node@v18.16.0+x64 (linux)","dist":{"integrity":"sha512-i6+ETvb6Y5icCG+hsVjXnw/+m881OHcNoebwHMmvK5xx0AFUuktOviCb7F2BW0f4CreelRCs6rkxUZGSFHC9NQ==","shasum":"4e9ab4cbb016d59f30b8780d69c334e19af02757","tarball":"https://registry.npmjs.org/@akromio/doubles/-/doubles-0.7.2.tgz","fileCount":27,"unpackedSize":74548,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwlWzoKJJ1bEnwEgpFrvRBFLTg+r/XMEP/TAG/XrEdUgIhAPFfohmOXubvN+IMKoJoUbRf1WRELc4lzk+D07AWbppZ"}]},"_npmUser":{"name":"akromio","email":"akromio.com@outlook.com"},"directories":{},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/doubles_0.7.2_1686315958179_0.5621798151227204"},"_hasShrinkwrap":false}},"time":{"created":"2022-09-15T11:34:34.055Z","0.1.0":"2022-09-15T11:34:34.293Z","modified":"2023-06-09T13:05:58.450Z","0.1.1":"2022-09-16T07:50:13.023Z","0.2.0":"2022-09-21T08:21:42.552Z","0.3.0":"2022-10-13T10:46:56.249Z","0.4.0":"2022-10-16T15:50:04.390Z","0.4.1":"2022-11-22T11:56:07.708Z","0.5.0":"2022-12-23T11:14:13.815Z","0.5.1":"2022-12-23T16:37:54.544Z","0.5.2":"2022-12-24T09:14:34.749Z","0.6.0":"2023-01-08T10:22:41.963Z","0.7.0":"2023-01-10T10:50:20.646Z","0.7.1":"2023-01-12T09:38:18.798Z","0.7.2":"2023-06-09T13:05:58.343Z"},"maintainers":[{"name":"akromio","email":"akromio.com@outlook.com"}],"description":"Test doubles library.","homepage":"https://akromio.com","keywords":["doubles","test"],"repository":{"type":"git","url":"git+https://github.com/akromio/nodejs-doubles.git"},"author":{"name":"Sia Codelabs","email":"hello@siacodelabs.com","url":"https://siacodelabs.com"},"bugs":{"url":"https://github.com/akromio/nodejs-doubles/issues","email":"bugs@akromio.com"},"readme":"# `@akromio/doubles`\n\n[![NPM version](https://img.shields.io/npm/v/@akromio/doubles.svg)](https://npmjs.org/package/@akromio/doubles)\n[![Total downloads](https://img.shields.io/npm/dt/@akromio/doubles.svg)](https://npmjs.org/package/@akromio/doubles)\n\nDoubles library to simulate objects:\n\n- **Monitors** to save the accesses and the calls to objects.\n\n- **Simulators** to simulate the behavior of an object or a function.\n\nYou can create mocks by combining simulator and monitor.\n\n*Product of Spain, made in Valencia by Sia Codelabs.*\n\n## Monitors\n\nA **monitor** is an object to save the accesses to an object or the calls to a function.\nSimilar to the spies.\n\n### Object monitor\n\nAn **object monitor** monitors an object: its field accesses and its method calls.\nWe can use the monitor as the object being monitored.\n\nWe can create a monitor for an object as follows:\n\n```javascript\nconst {monitor} = require(\"@akromio/doubles\");\nconst object = {/* ... */};\n\n//monitor all: field accesses and calls\nconst m = monitor(object);\n\n//monitor only the calls\nconst m = monitor(object, {onlyCalls: true});\n\n//monitor only given members\nconst m = monitor(object, {members: [\"member1\", \"member2\"]});\nconst m = monitor(object, {members: [\"method1\", \"method2\"], onlyCalls: true});\n\n//examples of use\nconsole.log(m.x);       //monitored\nconsole.log(object.x);  //not monitored, using object directly\n```\n\nWhen an object monitored, we have two kinds of entry in the log:\n\n- **Access**, a member access.\n\n- **Call**, a function object call.\n\nWhen a method is accessed, we can't forget that two operations are performed:\n\n1. The access to the function object.\n\n2. The function object call.\n\nIf only the method calls must be monitored, use the `onlyCalls` option.\n\n### Function monitor\n\nA **function monitor** monitors a function.\nWe can use the monitor as the function object being monitored.\n\nWe can create a monitor for a function object as follows:\n\n```javascript\nconst {monitor} = require(\"@akromio/doubles\");\nfunction fn(/*...*/) { /* ... */ }\n\n//monitor function calls\nconst m = monitor(fn);\n\n//examples of use\nconsole.log(m(1, 2));   //monitored\nconsole.log(fn(1, 2));  //not monitored, using function object directly\n```\n\n### Monitor clear\n\nTo clear a monitor:\n\n```javascript\nconst m = monitor({});\nmonitor.clear(m);\n```\n\n### Monitor log\n\nA monitor has a **log**, where the accesses and the calls are saved.\nTo get the log associated to a monitor, use the `monitor.log()` function:\n\n```typescript\nfunction log(m, opts?: {clear: boolean}): any\n```\n\nIf `clear` specified, `monitor.clear(m)` is performed too.\n\nExample:\n\n```javascript\nconst m = monitor({});\n\n//work with m\n\nconst log = monitor.log(m);\n```\n\n#### Operations with the log\n\n```javascript\n//number of calls, not keeping in mind the field accesses\nlog.calls\n\n//number of field accesses, not keeping in mind the calls\nlog.accesses\n\n//number of log entries (calls + accesses)\nlog.len\n\n//number of operations returning\nlog.returns\n\n//number of times a given value returned\nlog.returnedValue(value)\n\n//number of times a value returned of a given type\nlog.returnedType(Type)\n\n//number of operations raising an error\nlog.raises\n\n//number of times a given value raised\nlog.raisedValue(value)\n\n//number of times a value raised of a given type\nlog.raisedType(Type)\n\n//number of times called with a given arguments\nlog.calledWith([arg1, arg2...])\n\n//given entry by its index in the log\nlog.getEntry(i)\n\n//given call by its index in the log, not keeping in mind the accesses\nlog.getCall(i)\n\n//given field access by its index in the log, not keeping in mind the calls\nlog.getAccess(i)\n```\n\nWhen `getEntry()`, `getCall()` or `getAccess()` used, the instances returned are of the following types:\n\n- `Access`, representing a field access:\n\n  Member | Date type | Description\n  -- | -- | --\n  member | string | Member name.\n  value | any | Value returned or raised.\n  returned | boolean | Did the access return a value?\n  raised | boolean | Did the access raise an error?\n  returnedValue(value) | boolean | Was the given value returned?\n  returnedType(Type) | boolean | Is the returned value of the given type?\n  raisedValue(value) | boolean | Was the given value raised?\n  raisedType(Type) | boolean | Is the raised value of the given type?\n  isGet() | boolean | Is a read access?\n  isSet() | boolean | Is a write access?\n\n- `Call`, representing a function/method call:\n\n  Member | Date type | Description\n  -- | -- | --\n  value | any | Value returned or raised by the call.\n  returned | boolean | Did the call return a value?\n  raised | boolean | Did the call raise an error?\n  returnedValue(value) | boolean | Was the given value returned?\n  returnedType(Type) | boolean | Is the returned value of the given type?\n  raisedValue(value) | boolean | Was the given value raised?\n  raisedType(Type) | boolean | Is the raised value of the given type?\n  calledWith([arg1, arg2...]) | boolean | Were the given arguments passed to the call?\n\nExamples:\n\n```javascript\nconst log = monitor.log(m);\n\nexpected(log.calls).equalTo(1);\nexpected(log.getCall(0)).toHave({value: 123});\n```\n\n## Simulator\n\nA **simulator** is an object to simulate another, defining only the responses.\n\n### Function simulator\n\nA **function simulator** is a simulator for a function.\nThis is defined with the `simulator.fun()` function:\n\n```javascript\n//returning always null\nsimulator.fun(): function\n\n//returning attending to given behavior/responses\nsimulator.fun(behavior: object[]|object): function\n```\n\nThe `behavior` is an object containing the responses for the calls.\nIf we always want to perform the same operation, we can use an object, as follows:\n\n```javascript\nfn = simulator.fun({returns: 1234});\nfn(/*...*/)  //returns 1234\n\nfn = simulator.fun({raises: new Error(\"my error\")});\nfn(/*...*/)  //throws the error\n\nfn = simulator.fun({resolves: 1234});\nawait(fn(/*...*/))  //returns 1234\n\nfn = simulator.fun({rejects: new Error(\"my error\")});\nawait(fn(/*...*/))  //throws the error\n```\n\nThe following fields are possible:\n\nField | Data type | Description\n-- | -- | --\nreturns | any | Value to return.\nraises | any | Value to raise.\nresolves | any | Value to return using a resolved promise.\nrejects | any | Value to raise using a rejected promise.\ninvokes | function | Function to call, the value returned by this function will be the value returned. The arguments passed to the simulated function are passed to the function.\n\nBut if we want to select among several possibilities, we have to use an array of objects.\nTwo types are possible: position-based or arguments-based.\n\nOn the one hand, we can use a **position-based behavior**, keeping in mind the arguments passed to the calls aren't used.\nIn this case, the first response must contain the `i` field set to `0`.\nExample:\n\n```javascript\nconst m = simulator.fun([\n  {i: 0, returns: 1234},\n  {returns: 5678},\n  {default: true, returns: 13579}\n]);\n\nm(\"one\")    //returns 1234\nm(\"two\")    //returns 5678\nm(\"three\")  //returns 13579\nm(\"four\")   //returns 13579\n```\n\nThe **default response**, defined with `default` to `true`, is used when call out of range.\nIf not defined, in the previous example, the third and fourth calls will raise an error.\n\nOn the other hand, we have the **arguments-based behavior**, using the arguments to select the response.\nThese are defined with an `args` field.\nExample:\n\n```javascript\nfn = simulator.fun([\n  {default: true, returns: \"default value\"},\n  {args: [12, 34], returns: 1234},\n  {args: [34, 12], raises: new Error(\"my error\")},\n  {args: [12, 34, 56], resolves: 135},\n  {args: [56, 34, 12], rejects: new Error(\"my error\")}\n]);\n\nfn()                  //returns \"default value\", arguments not found in the responses\nfn(34, 12)            //throws error\nfn(12, 34)            //returns 1234\nawait(fn(56, 34, 12)) //throws error\nawait(fn(12, 34, 56)) //returns 135\nfn(1, 3, 5, 7, 9)     //returns \"default value\", arguments not found in the responses\n```\n\nIf the function simulator must simulate fields too, we can define its members in the second argument of `simulator.fun()`:\n\n```javascript\nfn = simulator.fun(\n  {returns: 1234},  //always returns  1234, but this argument can be an array\n  {\n    x: simulator.field({returns: \"value of x\"}),\n    y: simulator.field({returns: \"value of y\"})\n  }\n);\n\nfn()        //returns 1234\nfn(12, 34)  //returns 1234\nfn.x        //returns value of x\nfn.y        //returns value of y\n```\n\n### Object simulator\n\nAn **object simulator** is a simulator for a (non-callable) object.\nThese are created with `simulator()`:\n\n```javascript\nconst {simulator} = require(\"@akromio/doubles\");\nconst {field, fun} = simulator;\n\nconst obj = simulator({\n  member1: field(/*...*/),\n  member2: fun(/*...*/)\n});\n```\n\nThe fields must be defined with `simulator.field()` and the methods with `simulator.fun()` or its alias `simulator.method()`.\n\nExample:\n\n```javascript\nconst {simulator} = require(\"@akromio/doubles\");\nconst {field, fun} = simulator;\n\nconst m = simulator({\n  x: field({returns: 12}),\n  y: field({raises: new Error(\"my error\")}),\n  z: fun({returns: 1234})\n});\n\nm.x   //returns 12\nm.y   //raises an error\nm.z() //returns 1234\n```\n\nThe fields can have position-based behaviors if needed, defined as seen with `simulator.fun()`.\n\n#### Special fields\n\n```javascript\nsimulator.field.uuid()         //similar to: simulator.field({default: true, returns: uuid.v4()})\nsimulator.field.list(returns)  //similar to: simulator.field({default: true, returns: returns ?? []})\nsimulator.field.map(returns)   //similar to: simulator.field({default: true, returns: returns ?? {}})\nsimulator.field.text(returns)  //similar to: simulator.field({default: true, returns: \"text to return\"})\nsimulator.field.bool(returns)  //similar to: simulator.field({default: true, returns: true|false})\nsimulator.field.any(returns)   //similar to: simulator.field({default: true, returns: value})\n```\n\n**Important**. When a `returns` passed, a clone of the value is used.\nSo well, the original value is not modified.\n","readmeFilename":"README.md"}