{"_id":"o-quantity","_rev":"13-8f9ee2f8f3726d5bf024dfc8ea3c9790","name":"o-quantity","dist-tags":{"latest":"3.1.0"},"versions":{"0.1.0":{"name":"o-quantity","version":"0.1.0","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/quantity","devDependencies":{"o-testing-toolbox":"^1.0.1","chai":"^4.2.0","eslint":"^7.3.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7","nyc":"^15.0.0"},"dependencies":{"o-toolbox":"^1.0.0"},"gitHead":"3dedb58cf9b104ae88abe7e46c957898d43b8202","_id":"o-quantity@0.1.0","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ly+XwEkaxXwhGEVjCAVVHrTgTty+JIRW13zaQl1oZX7RY/e/nxN7+biGVf+ZQNvl38AMX5FOP2c667Voo16TrA==","shasum":"1f705d8a971fe737be8ffc577d8b3535d40953a3","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-0.1.0.tgz","fileCount":23,"unpackedSize":66902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7hAICRA9TVsSAnZWagAA40gP/3sHfaW7A7RCNDEglRfR\npyC04wvdo4EgoBbr/IN1WxnZ8069BAPvYK8Os5AXr33DUTFYlJ7pIiuQ2sRZ\nYF9JciXMym6Ahe31/B4GHNjEhte6ToTPvgN5AWNsBrnibi6Qt8PMZQ1wW/vi\nOjG+3Udbl/xfA26zWxCjm60wP0WZeRsEstNdXdPSn3eRCGkS2RNCO3zS91CD\nzh4r2k77YX1g+Abv7kwlJjmC878D1+CQfajyVMso1f5GmxxasHsc+Yw5hFjy\n81d5FidYZd1nK8WTdNdLQRwP31dyLGfFiJoGKbXFVg5aj1wtBQcPhtudQTsH\n990TznguB7qB+kasEelPlnrXkl+VvmilQOz7hMbYPr1SNqgX7JC3w3pfnqIS\nVsmZbft0Kr62FjKuv+Qab3CIeGFSURPA3GCOpv83JLOEPhpfOXGj9+vjaKrI\nq6JacLBK8A6t7vcjyOCmr/i6r5Unu4Yiuy029CKrvh2V/4MglGITgHjr4pI8\nzAjkFv1Kn/iA7ZKWIV/CaKV+FRuGUpHFwpSDSTus9V+TgmQzdGN9g2078haY\nHdRk+L4Uy1Q7o5wdG9mCoBBOGkGPXZTC18Az/aI8M0ls/4biRT0SC7YBv3NO\nzdGopPOmGZlEioSdC41WZJkAJrLKSPlOHvZRZE2qnUHJWEhfZfOqMj+3G/Ng\noYCu\r\n=LPS8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHPvZtAgC6+rIJHUi2EnnIsj1Eb29NIewcQQ+Rnd9H1YAiBEEn8uE+oIr+0JEFO5rpXNhao+M+4I/P/l+osXbExb7w=="}]},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-quantity_0.1.0_1592659975918_0.8655810199984078"},"_hasShrinkwrap":false},"0.2.0":{"name":"o-quantity","version":"0.2.0","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/quantity","devDependencies":{"o-testing-toolbox":"^1.0.1","chai":"^4.2.0","eslint":"^7.3.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7","nyc":"^15.0.0"},"dependencies":{"o-toolbox":"1.1.0"},"gitHead":"fce3d061a7beaf0e2589faf75b7a8069c8b4338a","_id":"o-quantity@0.2.0","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-34jsLR4O7UD5+vi1dIPixzJ3Oj47SVTkIBApvOThbfeTsKp3BtBT3NZyDLe61Ar2n0zUEdkVqKQPWlTL9c7H4Q==","shasum":"ce7484876bf4e337a08f885a0ee02fb655294c08","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-0.2.0.tgz","fileCount":29,"unpackedSize":75274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe98+gCRA9TVsSAnZWagAAwL8P/i5wqMwBBNIWsjuYsqon\nwzGkM5/AldYpH9VFvA2ffowwBJKrov4pdCNLJdrloBGzdyxAs6dCulyUXB7L\nqhgsbj8ggTX6I6Rnu4N5N9R/PoA9NGU4/RaDgrvMDa+rtkxfdA+41ZPFxtf2\nU1olUwcSAcswJDMRuWy6IW228zABMQhvCJI/Op+/heSOVQ2JcNfhfCI89LJr\nqsDef/aNQXuRSpYgpYQnwDN6KeWhQtXRwD3rS4/wzHwgm05nDsRMNhYsGM5P\nmN0bLcVLM7TRF6Wm8q5N8C3xpb8EzAH07pznl+mRcLKBgsxZ3tv0Lg9SW5kM\n1VfzpslYW6RsjrWB0V/6n/9RR5YY84Uvf/IEkrTG9nEcUVYCnVlbhvP9bWMn\ncsfIUMARFA1sZqcLjQ0OI4VfTz0Vs7oYWWIEeUE7RoHdIOk80BlfKlcAOSmE\nSMX7PrQbfHpugOiaZWrR8VoZczUsL/L6qWw3qmcBejP6e8Y7xFfH5yzYopNZ\n/PZ+daw+W0RwAliOJk9BV/M8579CSbAoFzY692TVTOgVOb8qV82l7eCkj75y\n9oulE9BGSm9tW5wVZum9lm/67bEemHm0JAJ0s37rDB88RMbAWv8Loesq3vfb\nwSVABZK6lGwuktFQqOkGzrbz+bJ+AvTxI1sDWhJD2MFeCfs2d05kNAikGIuO\n8fcC\r\n=DlbV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSJGprBtqXxcUnXL/SonTsle4IlaUoIohkm48HaIlXFQIgOrOONB2j81hghAUHceDSmFePYo/OiQxNd0HhQDXMmRY="}]},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-quantity_0.2.0_1593298847946_0.4364249533128983"},"_hasShrinkwrap":false},"0.2.1":{"name":"o-quantity","version":"0.2.1","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/quantity","devDependencies":{"o-testing-toolbox":"^1.0.1","chai":"^4.2.0","eslint":"^7.3.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7","nyc":"^15.0.0"},"dependencies":{"o-toolbox":"1.1.0"},"gitHead":"efb8128480e2364bc5e0c3d1517279d83d198f88","_id":"o-quantity@0.2.1","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-QCJno6wkt3xMZGr5UenAK+wXfhVeD8RUnekiCxCNCvPWi+O/9gDTzs0bgI58KXOzEvNyqlP8Ac5XAwtck17LeA==","shasum":"9eb7f7e8a9e15fbd93ed41ec666374a163ec4e3d","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-0.2.1.tgz","fileCount":29,"unpackedSize":75274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+Jw1CRA9TVsSAnZWagAA+HIP/0046AvFwij1iuSTaT7Z\nD3cgfoiQh3fNreGQynZRE3QPUHMUPSWGbN23kLY2j/5RcUDPxNw3bRYGWmtP\nd1XJ51g/AKhC57GwX6TBjtzYRBCjqhD7Xmwl6JzPSh8m5miTLr+WI+ATuUL1\n5NVObGVDohJpMqeeX2YEoQGEowH+6qRjLfcO3b4Z7kmPoPXsl+PgLTQb425b\nS1dqRse9oV0qqUJEEJZ7mRulIm8CbzI6oVElccTQEUYcVi3r+45vQx6pyKF8\nooFlof7tH1CM1kbOi4w1pkJQF7nOUwdmSK1ougc9x2vX0w1FwUjH2A9Y8+JD\n9Fn/ckNFmKQNsg60kW+HzpDA/XpgLysy3Tn3zCggNw5Jm7oOD67bcInXh/4d\n7RwVYMve4iZnnJA+4vZYGsLObrNZF2Qr7FbIOiDQtf+zGZMVQHEGbTMqx8dW\niThwGYRVL+fEr5PxopQcqIkqBHhGDJZq8MP5mZrHHaVfFOCqcq+Aly9z2VBV\nQqamG1N2OcmSIkYNUbXdsnMJNZCPmriXD3ZopwlHviQuQxd5VX9dvEiA5DuC\n7DYltS23OTmUyMx/kXcp0vUEyRnEWegJTbl9uiT6BUGDJlmJ8YwVTqkg70WM\nVX8QGOvr2e4CSe0Yw9C6KohKVQcoS5Km87wPForVN9rnbO2U2UezZ7wJqZop\nVCCf\r\n=YWil\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdr+4ZH7c7LKo1sRU4Yj8V0mXGog9J3FdvU7sgnP61yQIgDM3h9rd810o81RYnjRW6tvnrqPFxp77MZ6uFVwj1/Bk="}]},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-quantity_0.2.1_1593351220885_0.4707633731005614"},"_hasShrinkwrap":false},"0.3.0":{"name":"o-quantity","version":"0.3.0","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/quantity","devDependencies":{"o-testing-toolbox":"^1.0.1","chai":"^4.2.0","eslint":"^7.3.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7","nyc":"^15.0.0"},"dependencies":{"o-toolbox":"1.1.0"},"gitHead":"18ec05d04194b04c38e40a0b774a9ae1cd03c634","_id":"o-quantity@0.3.0","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-YwrPP7jtx0dlhy9UKpBuzCQlX+rU698n6cu0WqeCHrwnqp3utwZg9CMD5byv4NeYbBjuLb/f/L+yNC30cKr9+A==","shasum":"909cbbef5542ecab1d6d4d0a1bf3f329a6f78256","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-0.3.0.tgz","fileCount":30,"unpackedSize":77420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUFagCRA9TVsSAnZWagAAZIQP/1A+pWM0bcy47Jbrar04\n77AFRINjvRRZL0RVevO6h9PZ1gcVpwLbt+ymgcHp4njMJFBD/EYSIu5SY3KC\nsR7Gi8F4mVu/o5U6dO0sbuygtaq6gyaE+MIJes0i9lctZFBdl/02N8l7s8vI\nKvqGf8qLTw28vJ+3A8iqXK2hXrnublI1gPq4e7fL1249JDmSecUJME6p19YT\nC9elp1pZVviFHChseBct2W3RY7+srN8md/YiMUSB0mB0NoQD2AlsDgdS/pFF\n0hSLcppqIO3jx1ZXZ01ydOzmBk87l/IZVRfYeykQP18YnmWOLLE7wLqwmX1u\nvmMCWYcADpigmZj1wFBtMKmZul3UcmZ9WopdlkhDDizllYRFMCHMNtad5ZbE\nxHH+t820iZKB/Q1xoVLDsMnUqsG97CxZ+08VSlyndFGw+pi7iBfefYFkSo8s\nQNJgUpj1UHMq5dBbuwDW4uocbBClowo3fIA4oaGhYNf+uMdcHab7mQlVXJVO\nRBROP67++CzrSHoMyvhA55BL80pfY27uWJH6eSIyL1Ed7lin2AfImemLXexW\nmBty3PpuxoYCzbHtkjKWidWgg2g/P1g5htiyB4seyZXL8ax3SQU/SvLvfHq1\nB1Uk6wH1sY75FkJxoxGwdLUavn0Ed5f/9p8XB4630bA86sUayJgvJrZX1/Aq\nu0aD\r\n=jC6G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmQK8ZPGXIdmM28KxD+gv8spVv27g3coQ2LRQf6twJ6gIhAJcSxrkYgqmyiLBTEMvOQ/rl2m1YcjYamVJ6U47Osgv4"}]},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-quantity_0.3.0_1599100575269_0.8152969574782254"},"_hasShrinkwrap":false},"0.4.0":{"name":"o-quantity","version":"0.4.0","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/quantity","devDependencies":{"o-testing-toolbox":"^1.0.1","chai":"^4.2.0","eslint":"^7.10.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7","nyc":"^15.0.0"},"dependencies":{"o-toolbox":"^1.2.0"},"gitHead":"0ac3d2f0e47309dca911fc95cecadcdf38211f58","_id":"o-quantity@0.4.0","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-HkvHFWKRpdqosn/JwITNWFIkqCTfGud06H6wRPAE+2v7bPlEa9sbYwFRABiN5pqhwcqjtfuSs9Rp3gL0qFUsSA==","shasum":"110ee95adfba435a22b954e11b7dc96d540ac721","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-0.4.0.tgz","fileCount":40,"unpackedSize":88598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc90PCRA9TVsSAnZWagAAHDEP/17d+s3hfCCSpFExPNQA\nP2ZQGPD/JcqD9MX8Z+4oQ2N/h5oXfgjqeWuy2uf+EdK+Jz5GkQiTts5BNy3c\nesZy3yJrSDmZpaKd0pRRsKUq2+ajvft3d8VRm+Hi9hRmcheVnoe3Grm4YPIm\nE8KJ0yadGUUYUWTBHR7VZoF3aeGEzG/U6WyH2+S7OIh6xHz6b5sX/bp8gUD2\nYDfO2xPhidxDuRxKFlJzkasJoInNHKQ4RVpOoK2QLJeDo3xR4PQrFC8UAfbj\nfujB/SoCeStFdOyeXg69ENZb66+TMH5UsgCD7YGVgcI6SY24puk+bfhQmZ2H\ncCvEFYPuE8uklg/F2AAxM0Hzxp971yo/WlMRpoDq6jjdl+zioUoRUGB/ddJ+\nVhcm9dEttqf03onLtkmoITimU47ItVmOn71KD+8Q3oebcTLFUGwxzTnmfD3g\nw3ZTCJDWaqxIoY5lIyhljFIvwr74yYQbeWEPSBwL+MJeLbuPobh18PgH1CZy\nrFSCUsS6L7c7pKct42CWB1jEsFcICVPq4jI5DQfVcLsOizyKcNe423Cq33zi\nESHFSI8CvWRX6w7asghwLKawfsXd53Cm+QHnUeRSzRofFbS3pwZlQ3kj24PW\nipMkglKjZ2Sp00ked0wpLLfh6xb9urI6wXROPtyAPAnUF+enHaIDS1m/uGmU\nY8ce\r\n=MZ14\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHXXfEizfBHlW1GFlm7/wtW+aAxWYgDHGjy326Ga5UGAIhAMwF9MAM6bKdg++oTTZW6B1wBBKVgTO6CT4fRoik9VBA"}]},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-quantity_0.4.0_1601428751264_0.03573787038173748"},"_hasShrinkwrap":false},"0.4.1":{"name":"o-quantity","version":"0.4.1","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/quantity","devDependencies":{"o-testing-toolbox":"^2.0.0","chai":"^4.2.0","eslint":"^7.11.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7","nyc":"^15.0.0"},"dependencies":{"o-toolbox":"^1.4.0"},"gitHead":"11cf246b7db4650d41bdaffbaffe82b15266d86e","_id":"o-quantity@0.4.1","_nodeVersion":"14.12.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8BPaN2rjUIz0S6d/pmJuCIMR+wyb3fuftLsmTxrUlJ27Pg5JV+xJHQPf7SNcvggMmhMa8aI0QrABApYDGXfTJg==","shasum":"fc321127529f0986c0eb86225536a5bc7b95c3cf","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-0.4.1.tgz","fileCount":40,"unpackedSize":88598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiPpICRA9TVsSAnZWagAAhhgP/0vOWawxv4imsrHI96RX\nMol1olO3jFKXqSAn+wAJXndr/HPVFvfM++20yDeB4vjCTJ7Lxsg4OZXDRZcb\nN+hjliweZfA4pQnKhO7pZi2jfYpQf862mGb6OtkYoNVEnMl8X5aIYe2tqEBq\nPdDxS+jvWqO/jo3n+XKN5uofHeACibM6qxDS4g8ZvdeyK5+eZEnwPAw3CCKn\nsduV1d1/INKhKefhUVZ16NE5EYK71M5tp3cvwPoKk9PdlhUp4Twv/zHNX7Bi\ngqz/V+i+nrMPSQ6Si/LLLZADkcWOBCzcCAoi8KCpkp2KDs+3tQNWpDQ15AO0\nduLQgqvhSlLQe97nSEFUZ+edSNC0QH2YF2g0Uh5AScoVTkcgba4D7IeG8fiG\n9LugPvH+M+dZCGrCiVmy6Ig6kvLaB6WeoesvB+NKlUj0da/zfuCv3p/uG6VV\nZqtbVLSLMa9pfCgQ6oJPXSXZAt2PyS8w7F3zSekrFSpPuXadEqiP4C3zGiY1\nboEXSN5t/iE7UIFe/A/blBHMbTzTaqqY00VIBgrTXmtszQH+63pIGhDHrhmP\nf5Ka0vxi0I20DjZAHjeyIb7RUqcbHMiXgRYmmB3cmYjuxaQSdLLP3yrIHK3C\nRnxov3mdYOlvHKCKHpyaLj+XRF1Y18IG5Y/AKF7Xs1sGUxlVz84ivXyxKxKE\nJXiu\r\n=QRv3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFdRAvZyhCXvJ66JPnChP+kfQPK/Q4OiLbmq8MaJ/vBZAiEA4y9q95NtgnkBFK/GtMSDaFNP5E3R2OmS1p791HFKe8o="}]},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-quantity_0.4.1_1602812487791_0.8973507702227972"},"_hasShrinkwrap":false},"0.4.2":{"name":"o-quantity","version":"0.4.2","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/quantity","devDependencies":{"o-testing-toolbox":"^2.0.0","chai":"^4.2.0","eslint":"^7.11.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^7","nyc":"^15.0.0"},"dependencies":{"o-toolbox":"^2.0.0"},"gitHead":"0ce3e105594834c0324c72b13ef0fd1f7a228cc6","_id":"o-quantity@0.4.2","_nodeVersion":"14.12.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-aIuLtoYQNZmBzgBvZLTURXakiNRZPSf7jqcEYNME4wlpD0bWE9JH193orjKP2mHLzzqVN71UGR/FdTRhn4ha6w==","shasum":"d88d8be432bd58d31f49ee189292af9158e0fa80","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-0.4.2.tgz","fileCount":40,"unpackedSize":88598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiXJdCRA9TVsSAnZWagAAgXQP/AkfqKKhe49rnD1SdzCP\nGg60ejARITVoorHJTtebe77bX9KApCC3U+XciWzO2rGWtcqVAEL9PiVnRUfQ\nHOmCmxS92uIdkax6TeltYLiwSJy2/xop/ReEEjCSWLL+86VOZhqkq6RaBLbj\nP4yJUax9WtbPrG+LX4+WOpA/QlSLwm3FSHg3cL5c1cgPxwkuEdDlyFLDdJis\nzlMJChyp73zBJ+iVh3AjX3cRt+GN85Rn1IBkukyAfcFJ5q6YvxZUctYQ9N6E\nDxmazWTf1RKmckAYglkEjpzLWRrwwUBeJ4YOLesGvj0hkixXEfRa1LwJ2ADh\nAfUomEebtJFInbwlexS0a79ZZsJ23ttkC5JJfrf5/rf5WcI70ncvGs+XPZ6Q\nvMjkFOmtGBAdDlMrS4tNgy5Cztrfed7KZLf9ZxApLqzyTxbaAUa/V72xBOzY\nYbGoQxWwuak0lnMs7RwPgY2bG9SBAyegySq6wDzoQkIpaqD63NseznX/LS+f\nB62053fbW0MtnZyciE5qJ+9YU1UJkrDRAypcjJ7I1sKyxPoeWkDL8bGuEoNr\nj5qCrUeyGi/Z37AZeThHFO6WkAV+Fxn94zTqrw1ykMWI487Aa/NsRaPdHaMJ\nLybwqwt9uheONoNzhjqpA8QnI28i7pvAZlXgBJSCLfD1FlVZ7sRQ9/yC6UjM\nGJ2c\r\n=UHiX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqc6Y5iJNuGwfNFQt7e/gnK2ZOu6qsZmxUf/VQ8uZPdAIhAO3YqITJDNlq2Tl9jJjQlx5iMS3yj7SGsDS9qGjNKRhJ"}]},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"_npmUser":{"name":"haijindev","email":"haijin.development@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/o-quantity_0.4.2_1602843229031_0.15413665666890486"},"_hasShrinkwrap":false},"0.4.3":{"name":"o-quantity","version":"0.4.3","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/quantity","devDependencies":{"o-testing-toolbox":"^2.0.1","chai":"^4.2.0","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","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^3.0.0"},"gitHead":"92d519c28a8ae1f4ce7e46cc1d45b75416e66132","_id":"o-quantity@0.4.3","_nodeVersion":"14.12.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-jMfdsJDvuRad2NYFbLWvnMt85KNn4DhuSSj8TLV5gc6IoF+Z1NWqE8Kbo9fg5vI+iSqBza2gDK14yFTqaBoQrQ==","shasum":"0266965daf4fadc8afbe65d397dbea5d3494bfd4","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-0.4.3.tgz","fileCount":40,"unpackedSize":88769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsBbFCRA9TVsSAnZWagAALL8P/iWJbgdoWepb9zJjVRxd\nhsBXsjvTAE5JQeDlCRI6Hc8A0E4D4F9Il7AzLA3rwmzUC0gRSzn0A7ydFuvM\nEkB0oUpfP++CJItgWhmiRQrRY+94cC6803AgOzWx3s6SOkyF4zZfx0SLa1p8\nCkh1wIoebJB4VvB1XKIQWizDcpkvaZtSK/Vgz88sKD94GSzeafN9rQfuK/G9\nBGaxO4nE6SaEBqxG4tUGdbb00kpfXtZc7tFmx4E/Bd0oKcG/TmJ9qkV1SRSK\nj41l5RFPxezhtEgnP7Gq3pCA2XTI9Yr4UIUQsLx7UXwkefbQTJpVcrvc2YPq\nqEZo1qXc0j1KzG/9sL/2hVBzMBsSJwtJ/TX2nPKJLZHWTFdEDXFKoM6mBoMk\nQoOaVA2YQLE6H2pc83zbW6kwQVBYp3zBCvT/8hXbgrEt5EOrKfaMWW/HerQ5\nucOOmIub9XWLEC7hKMbPk30t9Vxlfcs3cEDTlpv3zXUAfRBsDCmoLN6NP6Mc\nBGlR51DXIiUHQWaN4fjR5/9syAyB3Kc0up7kxxcvHUe02WCXSr/CXAVxU2P6\n+07yTOdd3YGnXj035p+n/AYwDUQPSKRgochPjtbvl0O9HiMJze8PgdPDcglP\nWhJxGoPQJBM3k933lc51diaI0omohbP0jEhopj3pPYjGCo5K4TL3hudOh1Xw\ndfyi\r\n=yJMU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2ldu6RIO7Lu0QH3/mWrZBtsvryCfKKajkmX99bZ62/AIhAJQm72dw0WcaFcTFKqcSqF6pDh1lxwHj8aq8Cm3bKfa5"}]},"_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-quantity_0.4.3_1605375685121_0.04500307378507551"},"_hasShrinkwrap":false},"1.0.0":{"name":"o-quantity","version":"1.0.0","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"clean":"rm -rf node_modules && rm package-lock.json","test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"https://bitbucket.org/haijin-development/quantity","devDependencies":{"o-testing-toolbox":"^2.0.1","chai":"^4.2.0","eslint":"^7.16.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","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^4.0.0"},"gitHead":"97e05f7ec41a81733c83528d69ac1caf4c948f4f","_id":"o-quantity@1.0.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-D8keSYND0Vs3iHSIFa5V9wtlxj41Epc+HLZa7RXD8EhHEeaWwEJFgvFnlhipCcKkFRG7ZpfX429UIdnI5L0LVA==","shasum":"e6b4d1a054f002c38d885c9278fab3d098073169","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-1.0.0.tgz","fileCount":41,"unpackedSize":91636,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf52frCRA9TVsSAnZWagAAbGQP/2lPajjp2mnPZ5bb2Dva\nkyZPo3Febo46GDL5w23cnHaCg5hc/o3xkSwWGLGBgo6TDT0EqbDKKZGfQQyu\np347KY1L7yicvK1Cc/g8m9VCSKTTm8kutyXaKBvsPYM6Z1gWeGoQfYrwcpJq\naTzAbThoGmah8Om5QP4w3l1jtb5/zefOxQZ7PuGwCtWSZDgOfGMmdKVBsyDE\nOfXjs4YdFE5YHpMO78XuScWVrbW7cs8zSHqxlSfryG1qFTY2iXpwgeotF3UW\nXJHSag07loXug+JjQk0bJkADteQ2eT9UysFbak5086bgp1+vPUqT4wH6rcL0\n9WIrVYgLxMp5ienpbgKm/vmOVuY2YdG2xClS9Ukh0OAY9sAWT8q1m5OjNbvi\nCTFmNEZTlnbP4bHsZrahJ7hOiqhZJnEPBOy3DbpKLu5D4LDLNBPc5dOJ7pu7\niMUJAaP3gi6X0xmyqOB4gkcFkiuH7BnVaTV17ux6Y58bx6b4pFkkTeD/YiCX\neK2mMmnpznJS/ocQZyX+sJ3BaS4FtGQHC1775URsH8/B55CESpW036+ynPgZ\nmc2H98Lev2w/ACEDZ6ve9dpN0EHk1GqR3IW00ygMvtZfGDIeIE1nASoRh6es\ndxIFILTO4YL3aPBA3c5yXCVEpXylYBn1OyIf1oCFouX8Su6wN8JyBwXOfXw8\nihK9\r\n=cfAS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRgW3fYHTdmVBEjVKKjIscz4tMJmKWJtXLAp+6pFF1lgIhAM9pm7gNH6vZ2+fb2I54SFR70spIP4FAKmflSyPiETe7"}]},"_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-quantity_1.0.0_1609000938758_0.8930580114759312"},"_hasShrinkwrap":false},"1.0.1":{"name":"o-quantity","version":"1.0.1","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"clean":"rm -rf node_modules && rm package-lock.json","test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org","devDependencies":{"o-testing-toolbox":"^2.0.1","chai":"^4.2.0","eslint":"^7.16.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","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^4.0.0"},"gitHead":"b0ff957db10b5ce057d9c0b6ae5cef91d7a08916","_id":"o-quantity@1.0.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-O4fHfsWtw81ZPjcW69VPrjaSWf5wi7cxik7eDME6nL/WBgzjtPYGadVNjGbj4HqSaOJjdGjthM6wOG67UbTc3Q==","shasum":"62d1f1c5df318d8bdeb140cf1dfc999eb53d217a","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-1.0.1.tgz","fileCount":42,"unpackedSize":91357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9MPnCRA9TVsSAnZWagAArEEP/A99uKpaL/ViEqYNNuFT\nJn1S1DCYePuAieGfNReqZbblFbLU5trICe2FO33h0O4vOfySuI+6pW+tmOU0\nAlt6Lw8EJwRjkcZlI2s8U7tLhfVkK4QHoS8RfBiwSDRfK8MOo59yuM2pot3L\nJzDw9FNpKnPoBT4kFJQnJXvtb+pQnHqdjnYv4Jw76bojW1RN6kvEK6OuaYZ2\n1PpGeTnnskCOpEo9bl65WEMOjvNcir0Z2bqK/1fkqNNywlnncBq/fPaUxldt\nb2U5LHOOdLauBYUS4ZZOtKjDN8dpjzzfuTY/svYXL6uEo/AjaC/vxb2OoBrX\nKPNqJsYd7yTyPTb9dHcABIvF2sWjiFhA9OSp6tv/1kECiE8BfwLAZX4efPPn\nlpPpxUvMYGu90bqmIdzdJ4NWN8NTpspFxfBoVX2Q0QjD8zmSIiiYkI3K1ToF\nphMiAkn0AooZPkBlT3qLVcQosIl81QBVXbkkyMmOSWQKWUxzMKYTq07vSBG9\nXW8wMD/GlSPvxm9PBkHTm/RFfjSLTY6TDedk0uYEF2f11xzr3dHdNFjby0Ph\nugJPrWQTNAyf/ejyxzA+KlmUHg90WGlW7q2jFwUp1MO6HAfwmsrRX7Q/N5UJ\nFkYObJ4mVEdR5ON8onrgTjbQDPtVmgWyeUx2Y3JvdgHbJOLQdmStJNZPtGlF\nPdrd\r\n=NUYY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDq1s9DTwlLp2WOxq8wliIU8WFT/LG3L9r1cI5dTkNxDwIgOkiv/62WxUlGELpTt0oHswdSwphhXVeo5enXLJjyDsA="}]},"_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-quantity_1.0.1_1609876454764_0.8419062017746826"},"_hasShrinkwrap":false},"2.0.0":{"name":"o-quantity","version":"2.0.0","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"clean":"rm -rf node_modules && rm package-lock.json","test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org","devDependencies":{"o-testing-toolbox":"^2.0.1","chai":"^4.2.0","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","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^6.0.0"},"gitHead":"7d675adf426dfc3205edf08812b15b66cdb0e0d9","_id":"o-quantity@2.0.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-5D9Hv7u2wFPhhYLWcG3vx/nJaDi50letNwv21Yd5ZoE4AR77cULao1DsWSxeX/pyM+QRA38ii/hYPvQlT9BnBg==","shasum":"84fee3db790ec136242c94033cce4f2f506a2dbe","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-2.0.0.tgz","fileCount":43,"unpackedSize":93989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+HADCRA9TVsSAnZWagAAJo4P+QHl82GQAj0vey2msBky\nSIIm4lGDs/8K631TnWKaur1Jk5NJ/tEn1WP30XxjFtSvYTh8kKQc6wS3gznb\nSO/88qDFGqY5TH0xg96d3uLSmasAI0LBxwW16cDeZoHONSYx2xmDH5jexTUr\niuvrk9aBoFAfvrxOPbbjdPK1MICU04z4CCVIioyX3sU+GQqj53VxAYaU1Mar\nR2N5ZKcGJFOuq+CS2dVofKp2gl44eAF8mekW3NQFMs345I3ly/hcuT3gUaYo\nERQ2kMxQ3ypJCDUNsZcU2hkixh89X9Xa++tuqZD+gGyJBhN3thCrzvm7soFo\nyQL6mwqntdj5JOPFga+5WKmJZ1IK3I6c5Xvt3BR1hNdsD5Ks1n9b6wVaDk/Y\n33GN+7hl4YMea0AAcHuKZNikk8zwmRc3m4Teb6mtRpBAobLC2AHR9HQQQfaT\nd1I4zFJQsTQQ9GC27BdBC5dVat79hwz/qQKmMV+lDr/EOTXlX1Tn0atlhl7e\n59GkS4KIFkTqyX/j6d3njzcdBcZ9GVYEtCwg+3B6QIady/GcJzE2tbrn8mW7\n+tbIYj37FOeT0uWY1+ny+qYi9qL8LpKaksuOOT9Ar72OVHYzq2tI5XLNGtKO\n1guKXRmi7UlIF1qSD4B5YkIclUB7Dqa0twFc10e+BKvL1Rdr9avyqilT5rXf\njBW1\r\n=stxP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdGzpn9J4c2N7sWVttY6tvMturblRP+22ttjijklGVdgIhANQwAX8/G6BlibPQk33TaKcKSRrfzloOB6+uEZLDETiI"}]},"_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-quantity_2.0.0_1610117122205_0.011945460617294401"},"_hasShrinkwrap":false},"3.0.0":{"name":"o-quantity","version":"3.0.0","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"clean":"rm -rf node_modules && rm package-lock.json","test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org","devDependencies":{"o-testing-toolbox":"^2.0.1","chai":"^4.2.0","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","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^7.2.0"},"gitHead":"c566b78eeca7a7fec0fd2b9ab1d64fda48c74e3b","_id":"o-quantity@3.0.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.11","dist":{"integrity":"sha512-nwvQeeN4hzTRMP9gMzN30cNBS1sUD3txecUY69dP8Dz/M1UHYdcV64Pmke9tnBwdJJ103aJ/fzq2mOTJE8GoFA==","shasum":"7a873db43c9d2c5549186308233b4fd159a0906a","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-3.0.0.tgz","fileCount":56,"unpackedSize":134395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEG/yCRA9TVsSAnZWagAAsPUP/2wKNKSqsg2hr67xtVQ5\n6hahE8S0yxmRdNnqwrfudkrE3l5ltLalX32ug0iSSGSahJwT4oLMe29z2V/q\nd/Wkiq/T0w/FxyIIDDA1cEhg1EyzcbkzKr99mGP2ndL+LaQUIVRy3yN4uMmM\nUfFos6nuR8q1PlPfrqADA4o8uY6xSuFc6mqSJtHU1m/tmedtTXp0ZI+Lr+ZX\nYOv/ktlEf0k/OGc4M0je6HZNoO0yptywgUpefcl2ODMc9ya8/YnFB5CcuEvb\nipfsq4Es+fIz3wHbrvv9gevWhmrLTAtYKO38DX9w9eUFmRe2xeZWmB5TYEa9\nBgterIUiXG3dgopI8S+5IAVbf437xwcqjPiHDv32SV11d+fbT6tEWuGvO25n\ndtDK4kNeh9X28vIEkDCkbtXiG17/Ltc2f8Pfl4BjwOIa5jsk/WtzX6x1NKlN\nU/EH8FiMHslKV3q8jqSipqThkm5oQFKfMbafpW0DBKPpFWD7jddIVGlqwulQ\n1x8dxwG5QyBacP0KGmKz6Dp8YkAeOJZSEw/U6cl9EtkfeQqP1SPLMVUcDSYD\nR0BFN002Qy3s1pLXaY5GlBiC7ziE13mTCTdq6ZgztBpJMWmyJ9tFMF7MfcWj\nVlgRqO2ak20uvk0GtxXty2Vsk7aoQG/K2L6CDAtr8TAdZ72kWp3Rxe3648zY\nj5Zq\r\n=T6dO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEV3NscZWypLY99JlLf3Mnbm/ZjsvuYxDr0JxbbIhKxVAiAQrNc8VPGsWEenLtNsUpuKADuNk7gxPxGVDZbVtI3qBg=="}]},"_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-quantity_3.0.0_1611689969617_0.5877036536088582"},"_hasShrinkwrap":false},"3.1.0":{"name":"o-quantity","version":"3.1.0","description":"A library for quantity arithmetic and units","main":"index.js","scripts":{"clean":"rm -rf node_modules && rm package-lock.json","test":"npx mocha --config ./utilities-config/.mocharc.json"},"keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","homepage":"http://o-programming-language.org","devDependencies":{"o-testing-toolbox":"^2.0.1","chai":"^4.2.0","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","mocha":"^7","nyc":"^15.1.0"},"dependencies":{"o-toolbox":"^7.2.0"},"gitHead":"42cfda4801d8c2c5c1fe12664f0d56af20e60a33","_id":"o-quantity@3.1.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-pjv12EoGGXNKYxDR7OdMmkl8bEvjWHDRAsqRgo3EY3z3LEaN2tGVPaqeklHtywCPkrHD9PcwY0sAfZvzeXDdQQ==","shasum":"6740e8f7da7d1e1c616a2b4025642c4b355fd705","tarball":"https://registry.npmjs.org/o-quantity/-/o-quantity-3.1.0.tgz","fileCount":56,"unpackedSize":135411,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgH0y6CRA9TVsSAnZWagAAcT8P/RWi4BkfDy2AKDgADRIV\nAWTmtCPyCI7K9/CSfpNTqvgSKRhOyf+7ZDEAYABcu4zYbAL9BGNWnhB4PQ4Y\ni0qX5vLNWnnGIaYWqiuG5TMELYdowIyZyGs4RyNWqGGKFa/0VziV0YH6LU4B\nBvap9QuDipOBSuG7HLiJsg16e1TMpHpbqhG7bEen7RmK+R5fbh2CHVr6prRS\n/E7cxrfd3qmi5yLv+nzd00I8Gl/9NSF9u8ydZmXp9ZSMXJVuz9ERrYj5ET62\nQ5175AobvLTCxbaqTCa4TFhcHKo6Mi2Uq/AtOgr+7PvorbPosibWwjgw1g7s\n0AZtoZN0pChldama4nZDgppyFg+cnVa5VKgXqWp+DEK9TcHC4JsDxkcmEUbU\nLqiimLganjbUe1isLdrcBvJP26X7bjLEwA2K+t5Epud0LNbl3MS0HhiUfPXj\n28FN7anxJBt9AW33dPKkU+qU8TcHPCADu+eILsZUfYG5m64OPf4S/39eeAMi\ncfc8bWeCmFe5ES69IuiwDEde8z3jZ5w5WyUXB8ewQ+IPMkoBfvxgpG3MvaCR\nJzS11ETLKXQNR5T5eyf3sWtDFeW+GOJgHUQOvS2HHnl8+TBdydplNAjJrXPU\nuZgcea88pdS+HoCYRrd3DVj0cYZhAN3jhFt3R+/pTuYC3t11vtp53BZdCOWL\nugDV\r\n=0t/q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFyOIUgHcmpMw7+GEccSU8vtD3Rv6n9cCcQywb2QFfkAiEAk9wHZzMBprZQIbob+Bu+xbceHIl/cBnav2Zx12PeWno="}]},"_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-quantity_3.1.0_1612663994205_0.8395210177946404"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-20T13:32:55.917Z","0.1.0":"2020-06-20T13:32:56.064Z","modified":"2022-05-12T00:03:02.887Z","0.2.0":"2020-06-27T23:00:48.072Z","0.2.1":"2020-06-28T13:33:41.083Z","0.3.0":"2020-09-03T02:36:15.496Z","0.4.0":"2020-09-30T01:19:11.474Z","0.4.1":"2020-10-16T01:41:27.988Z","0.4.2":"2020-10-16T10:13:49.171Z","0.4.3":"2020-11-14T17:41:25.298Z","1.0.0":"2020-12-26T16:42:18.970Z","1.0.1":"2021-01-05T19:54:14.924Z","2.0.0":"2021-01-08T14:45:22.634Z","3.0.0":"2021-01-26T19:39:29.807Z","3.1.0":"2021-02-07T02:13:14.315Z"},"maintainers":[{"name":"haijindev","email":"haijin.development@gmail.com"}],"description":"A library for quantity arithmetic and units","homepage":"http://o-programming-language.org","keywords":["units","measurements","measures","quantities","metric system","musical scale"],"author":{"name":"Martin Rubi"},"license":"ISC","readme":"# Quantity\n\nA library for quantity arithmetic and units\n\n## Quantities\n\nA Quantity is an amount of some unit that handles comparisons and basic arithmetic operations.\n\n## Documentation\n\n[http://o-programming-language.org/](http://o-programming-language.org/)\n\n## Why use Quantity objects?\n\nA Quantity object uses the knowledge of its own unit to convert and compare itself with other equivalent units.\n\nThan means that the only points in the application where the program must be aware of\nunits and apply transformations are when it reads the quantity from a source like\nan API, database or user interface and when it writes the quantity to a target like an API,\ndatatabase or user interface.\n\nDuring the rest of the execution the program deals transparently with variables regardless\nof their actual units.\n\nAlso Quantity objects validate that arithmetic operations are evaluated with other equivalent units and will raise an error when a non equivalent unit is used flagging\nthe units missmatch immediatly instead of silently producing a wrong value.\n\n### Arithmetic\n\nCreate quantity of a metric unit and do arithmetic operations with it\n\n```\nconst {Kg, Gr, Mg, Lt} = require('o-quantity')\n\nconst quantity1 = Kg.amount(1)\nconst quantity2 = Gr.amount(250)\n\nconst total = quantity1.op('+', quantity2)\n```\n\nUnits are properly converted if required.\n\n### Comparison\n\n```\nconst limit = Kg.amount(3)\nif( total.is('>', limit ) {\n  // ...\n}\n```\n\nIf units are not comparable the comparison will throw a NonEquivalentUnitsComparisonError:\n\n```\nKg.amount(1).is('>', Lt.amount(1))\n```\n\n### Convertions\n\nStandard units can be expressed in other units of the same metric system\n\n```\nconst {Kg} = require('o-quantity')\n\nconst quantity = Kg.amount(1)\n\nquantity.toKg()\nquantity.toGr()\nquantity.toMg()\nquantity.toLbs()\nquantity.toOz()\n```\n\nWhile these convertions are not required for comparisons and arithmetic operations they can be used to show Quantities to users, to store quantities in a database and to communicate with external APIs.\n\n### Standard units\n\nAt this moment the standard units implemented in `o-quantity` are\n\n```\n// Quantity of weight\n\nconst {\n  Kg,\n  Hg,\n  Dag,\n  Gr,\n  Dg,\n  Cg,\n  Mg,\n  Oz,\n  Lbs\n} = require('o-quantity')\n\n// Quantity of volume\nconst {\n  Kl,\n  Hl,\n  Dal,\n  Lt,\n  Dl,\n  Cl,\n  Ml\n} = require('o-quantity')\n\n// Quantity of distance\nconst {\n  Km,\n  Hm,\n  Dam,\n  Mt,\n  Dm,\n  Cm,\n  Mm\n} = require('o-quantity')\n\n// Quantity of storage\n\nconst {\n  Gb,\n  Mb,\n  Kb,\n  Bt\n} = require('o-quantity')\n\n// Quantity of time\nconst {\n  Weeks,\n  Days,\n  Hours,\n  Minutes,\n  Seconds,\n  Milliseconds\n} = require('o-quantity')\n\n```\n\n### Non standard units\n\nA Quantity object has two components, an amount and a unit.\n\nUsually the amount is a scalar value like a float or an integer or a value object like\na RationalNumber or a FixedPointNumber.\n\nThe unit can also be any object, not just standard metric system units.\n\nFor example\n\n```\nconst {Quantity} = require('o-quantity')\n\nconst quantity1 = new Quantity(1, 'points')\nconst quantity2 = new Quantity(2, 'points')\n\nconst total = quantity1.op('+', quantity2)\n```\n\nThe same rules apply as for standard units.\n\nFor example the comparison below will throw a NonEquivalentUnitsComparisonError:\n\n```\nconst {Quantity, Kg} = require('o-quantity')\n\nconst quantity1 = new Quantity(1, 'points')\nquantity1.is('==', Kg.amount(1))\n```\n\n### Precision\n\nTo compare quantities with a given precision use `~=` and `~==` (read it like 'approximately equal to').\n\nOperator `~==` raises an error if the comparison is with a not equivalente unit. For example\n\n```\nKg.amount(1.01).is('~==', Lt.amount(1.0099)) // error\n```\n\nOperator `~=` returns false if the comparison is with a not equivalente unit. For example\n\n```\nKg.amount(1.01).is('~=', Lt.amount(1.0099)) // false\n```\n\n## ArithmeticObjects\n\nThe following classes are ArithmeticObjects:\n\n- FloatNumber\n- FixedPointNumber\n- RationalNumber\n- Quantity\n\nWhile each class implementation is different and has its own specifics they all implement the following protocol:\n\n```\nconst n\nconst m\n\nconst result = n.op('+', m)\nconst result = n.op('-', m)\nconst result = n.op('*', m)\nconst result = n.op('/', m)\n\nconst result = n.is('==', m)\nconst result = n.is('===', m)\nconst result = n.is('~=', m)\nconst result = n.is('~==', m)\nconst result = n.is('>', m)\nconst result = n.is('>=', m)\nconst result = n.is('<', m)\nconst result = n.is('<=', m)\n\nn.toNumber()\n```\n\nor if you prefer the method version\n\n```\nconst n\nconst m\n\nconst result = n.plus(m)\nconst result = n.minus(m)\nconst result = n.multiplyBy(m)\nconst result = n.divideBy(m)\n\nconst result = n.equals(m)\nconst result = n.comparedTo(m)\nconst result = n.equalsWithPrecision(m, 0.01)\nconst result = n.comparedToWithPrecision(m, 0,001)\nconst result = n.greaterThan(m)\nconst result = n.greaterOrEqualThan(m)\nconst result = n.lowerThan(m)\nconst result = n.lowerOrEqualThan(m)\n\nn.toNumber()\n```\n\n### FloatNumber\n\nFloatNumber are wrappers of javascript built-in Integer and Double numbers.\n\nThe reason to wrap them is to have a polymorphic procotol with other implementations of numbers like FixedPointNumber and be able to do things like\n\n```\nconst result = n.plus(m)\nconst result = n.equals(m)\n```\n\nregardless of whether n and m are built-in values or complex objects.\n\n### FixedPointNumber\n\nA FixedPointNumber is a number with a fixed number of decimal places. For example\n\n```\n1.02\n```\n\nis a FixedPointNumber with 2 decimal places.\n\nThe difference with floating point numbers is the precision used in its arithmetic operations.\nFixedPointNumbers will round to its number of decimal places on every operation.\nThat makes it a good fit for handling amounts of money where the precision is 2 decimal\nplaces.\n\nThe comparison and arithmetic operations with FixedPointNumbers are the same as with Quantities:\n\n```\nconst n = new FixedPointNumber(1.01, { decimals: 2 })\nconst m = new FixedPointNumber(1.02, { decimals: 2 })\n\nconst result = n.op('+', m)\n```\n\nexcept that arithmetic operations might take an additional optional parameter to get the remainder of the operation:\n\n```\nconst n = new FixedPointNumber(10.00, { decimals: 2 })\n\nconst tail = {}\nconst result = n.op('/', 3, tail)\n\ntail.tail === 0.00333\ntail.rounded === 0\n```\n\nto allow each use case to decide what to do with the rounding remainder of the operation.\n\n### RationalNumber\n\nA RationalNumber is a number treated like a pair of (numerator / denominator) integers instead of a floating point number.\n\nAll operations are done with numerators and denominators using Integer arithmetic therefore avoiding the accumulation of rounding errors.\n\nA RationalNumber can be created from any other number\n\n```\nconst n = new RationalNumber(10)\nconst n = new RationalNumber(0.5)\nconst n = new RationalNumber({ numerator: 1, denominator: 2 })\nconst n = new RationalNumber(new FloatNumber(0.5))\nconst n = new RationalNumber(new FixedPointNumber(0.5, { decimals: 2 }))\n```\n\nand the comparisons and operations are the same as for any ArithmeticObject.\n\n\n### Convertion between number types\n\nTo convert FloatNumber, RationalNumber or FixedPointNumber to a regular float, for example to communicate the value to an external API or database, use\n\n```\nn.toNumber()\n```\n\nTo convert between number types use\n\n```\nn.toFloatNumber()\nn.toRationalNumber()\nn.toFixedPointNumber()\n```\n\n\n### Musical Scales\n\n### Important\n\nBefore using this implementation of Musical Scales please we aware that this is an experimental work in progress and, more important, that I am a fairly recent student of music, not a music expert, and this work is part of my musical study resources and practical works.\n\nMeaning that it would be safer (and wiser) to validate all of these concepts with your own teachers of music while using it.\n\n## ChromaticNote\n\nA `ChromaticNote` is an abstract chromatic note. Abstract means that is not in a concrete position in a scale but rather in reference to its sorrounding ChromaticNotes.\n\nThe available ChromaticNotes are\n\n```\nconst {\n  Do_b, Do, Do_d,\n  Re_b, Re, Re_d,\n  Mi_b, Mi, Mi_d,\n  Fa_b, Fa, Fa_d,\n  Sol_b, Sol, Sol_d,\n  La_b, La, La_d,\n  Si_b, Si, Si_d\n} = require('o-quantity').MusicalScale\n```\n\nand can be dynamically queried with\n\n```\nconst { MusicalScale } = require('o-quantity')\n\nconst allNamedNotes = MusicalScale.ChromaticNote.getAllNotes()\n```\n\n`_b` stands for the note accidental `bemol` and `_d` for note accidental `diesis`.\n\nA ChromaticNote supports the following operations:\n\n```\nconst note = Si\n\nnote.isBemol()\nnote.isDiesis()\nnote.getNoteName() // returns the name of the note without its accidentals\nnote.getSymbolName()\nnote.getName()\nnote.getWithoutAccidentals() // the same note without its accidentals\nnote.getNextNote() // the following note in the cromatic scale preserving accidentals \nnote.getNextSemitone() // the following note at a half tone distance\nnote.at(height) // a ScaleNote at the given height, Height 0 is the piano middle Do\nnote.equals(otherNote)\nnote.is('==', otherNote)\nnote.is('>', otherNote)\nnote.is('>=', otherNote)\nnote.is('<', otherNote)\nnote.is('<=', otherNote)\n```\n\nA `ScaleNote` is a `ChromaticNote` note in a position in the scale.\nThe position is relative to the piano middle Do, which has a position (or height) of 0.\n\nTo create a ScaleNote define a position in a ChromaticNote:\n\n```\nDo.at(0)\nLa_d.at(-1)\nFa.at(3)\n```\n\nScaleNote supports the same operations as a ChromaticNote plus:\n\n```\nDo.at(0).getHeight()\nDo.at(0).up(Major3.amount(1))\nLa_d.at(-1).up(Perfect5.amount(3))\nFa.at(3).down(Semitones.amount(6))\nDo.at(0).staffDisplayString() // a textual staff print in major G key\nDo.at(0).displayString()\n```\n\nThe available interval distances are:\n\n```\nSemitone,\nTone,\nMinor2,\nMajor2,\nMinor3,\nMajor3,\nPerfect4,\nAugmented4,\nPerfect5,\nMinor6,\nMajor6,\nMinor7,\nMajor7,\nPerfect8\n```\n\nand can be dynamically queried with\n\n```\nconst { MusicalScale } = require('o-quantity')\n\nconst allNamedDistances = MusicalScale.ChromaticScaleDistance.getAllDistances()\n```","readmeFilename":"README.md"}