{"_id":"@alon80/json-object","_rev":"9-9c65f9611f6f780c81639aaaef18037a","name":"@alon80/json-object","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@alon80/json-object","version":"1.0.0","description":"Inspired by gson library","main":"index.js","scripts":{"test":"node example/example.js","release":"release-it"},"keywords":["json","object","model"],"author":{"name":"Alon Levanon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alon80/json-object.git"},"homepage":"https://github.com/alon80/json-object/blob/master/README.md","devDependencies":{"release-it":"^13.5.0"},"directories":{"lib":"lib"},"gitHead":"8f545a0b85d82620ac0bc7e3fdacf68c8e094ec7","bugs":{"url":"https://github.com/alon80/json-object/issues"},"_id":"@alon80/json-object@1.0.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-cCcOLvsk42P4KabLM6HIFhUG8morRk2T9h4S4W2qC2zV2dm7dSyltJ8wVK+pR+c5XEejT13MuRPs+f1JQ9Sk8A==","shasum":"8f600620cc8c2bc2c8302b7e2729ed1e3c28bd14","tarball":"https://registry.npmjs.org/@alon80/json-object/-/json-object-1.0.0.tgz","fileCount":7,"unpackedSize":16645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelOc5CRA9TVsSAnZWagAAslIQAJeFDluNAGVm1KQS17Fb\nqZBSzUqNMhfF7UAIcXi+H/MyzLqho4ErFGB/4kffQYjgmQCbigCs5RWEFdJh\ngEFsBe0UOr0D55j/tEALNsfAmQzYb+BphO9E4//Ixlerzg0J4+jhfs5V5l3O\ncsZgDI7Vg+JmOq9Yew2+uARuSnMnfqSg3KZc+i4iO5ANedBV/FGpGCEQd1kt\nZSl3m7id59YBgTKdcenycKU22jKuIYE78ZdqP1e260c5RhJFHBLEaCmuszv6\nQbB5YOCyJa2sQVppKpNkQ5zd//5GE97LsFLk94sQryHT5fl2vdUfKJVrhOOD\nAtKYyhNH2a1L7dzhF/nwG78S/cLmYu7q7hc6W1qmlylAZgLsTQGxm87mNJrr\nCvzGtmcPQTarChHZcwmC9L5FlIy4KWBdwPXcgx9JSBZ2XBiLYnN+HEld6zQp\no0HzdDMzsRiGyxzVUQb6/lgPtymJXMUSfea5btdIwQqyLn+Ie5b9EK72m57l\nDSj9LCIUaGROi77Y2d99Pocf8hSkIL3kb3VsXb1YlhInS/KgnGZv4AU8IXIt\nKgt1ww4q/M0GchwCZBRkn374vJ+hROcYEL5+cyxX3i82eR4JHGrU+PWDF+UT\ns9jAhKQ6v0TreE7se6LVGoZHaTlNSYTal8dSKQw7RGjWhJisS/oGXU0LFTJk\nTy+G\r\n=b+qE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICeFWZhzwVj4sNh46x9v4qCLsmnE9uHdv/UmFjDqnaV9AiAUEIQdh3szMD97sHulPOT/1eAQhSREnFXWD36MVt7ZLQ=="}]},"maintainers":[{"name":"alon80","email":"alon.sharabi@gmail.com"}],"_npmUser":{"name":"alon80","email":"alon.sharabi@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-object_1.0.0_1586816824812_0.21590072429432028"},"_hasShrinkwrap":false},"1.0.4":{"name":"@alon80/json-object","version":"1.0.4","description":"Inspired by the gson library","main":"index.js","scripts":{"test":"node example/example.js","release":"release-it --no-git.requireCleanWorkingDir"},"keywords":["json","object","model"],"author":{"name":"Alon Levanon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alon80/json-object.git"},"homepage":"https://github.com/alon80/json-object/blob/master/README.md","devDependencies":{"release-it":"^13.5.0"},"directories":{"lib":"lib"},"gitHead":"d1b659bc2e6ea61860cf4d7b09d53a47cb02f18c","bugs":{"url":"https://github.com/alon80/json-object/issues"},"_id":"@alon80/json-object@1.0.4","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-AdwhpueeeV2ZKKF87W7T+mFyo3zhFwVRqhtQv87LkHxlqJemGabcTUJDccVmJWVl76y3j1qm74OYJiA2WL8slA==","shasum":"507d252d750743fe43f56f2c7b25cead3e4ce644","tarball":"https://registry.npmjs.org/@alon80/json-object/-/json-object-1.0.4.tgz","fileCount":7,"unpackedSize":16227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelc2hCRA9TVsSAnZWagAAvVAP/3LqJf7uE4By13Gf0qF0\nr48fA7xA/67sW2h67PKQyiJzyO8VmwNwOM0lKlGRQIVcLcZjpPS60kmgWRya\nPqCczCDxwUM71nkHpKFbd5rrEg5S1/jLRemruxgf6yrTb/7cmn8+hHJWD5OK\n0dp27/kIx2z75VFaMu5MpBqh57uHVnuZ1J4Du+IHTmgkWC96Ejh5v1PeKbwf\nSb/3ut7Ej0wyxD7fkDPL4rnmI5JpaOkqCMlsn130Fqt+vGIgrXJK+2qD172K\n7OXusAIkmlWtlttDvtwo97QK4o+F+3t2bVARdeIEcNotmHMkTbH5tvLMuc3L\nbqwC603c7tLYM3qDZ2e4DCbkMwMKw7yQ3kZ5uag6c7KezqgpRTfPFoC6dYWa\n/iSRon3k/YV4Zj509Sxj/wvhNFy0IC517D/RFLgJP7Wq/zrtrO48t7aUCops\njVcpGwM3AfAWFXrWK5WCEzGvkHtN0mSdYr5PZvKAjYZedON5m5s5kickN4Sx\nvzTYGSbX+t0eM580K9VTFOR3Dv8C/y3WLM10DHGMzXh0eUDQUyAKcfUNGruS\nGEhAYCJZmLAY+MtnRO/7A5RKaMkM4ioCzABHHO4WTbSmMtBJCJ/eqY/FbaTD\n2klRKtwlcvoxQ55Jdh5bZlrvJl1khgv1vIf5j9I+vliHaeU+ls/VMMt0NLoH\nEavT\r\n=Sez2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEt8apnRy6rNEyHlNcYsR+Up+IejqG6PU6WQIfnJFEaAiEAhynPN0w2LpdS9kkGmsCf41+Eb+b1ci1xVM7BYMMNsI0="}]},"maintainers":[{"name":"alon80","email":"alon.sharabi@gmail.com"}],"_npmUser":{"name":"alon80","email":"alon.sharabi@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-object_1.0.4_1586875809466_0.19260764462622482"},"_hasShrinkwrap":false},"1.0.5":{"name":"@alon80/json-object","version":"1.0.5","description":"Inspired by the gson library","main":"index.js","scripts":{"test":"node example/example.js","release":"release-it --no-git.requireCleanWorkingDir"},"keywords":["json","object","model"],"author":{"name":"Alon Levanon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alon80/json-object.git"},"homepage":"https://github.com/alon80/json-object/blob/master/README.md","devDependencies":{"release-it":"^13.5.0"},"directories":{"lib":"lib"},"gitHead":"30b13a34b0291eaad4939b6d0728c4674e9daae2","bugs":{"url":"https://github.com/alon80/json-object/issues"},"_id":"@alon80/json-object@1.0.5","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-x+MPi+LVAk3ABBEyVUsSXfzE9R+u6UBCrhXQwH5ncBVvvFRCL1XrhJ0fP2rIWkzx6B17pIUY2BnAMnxaR8avjQ==","shasum":"e93ff47b91a1258ec22a916f51d92f465a275971","tarball":"https://registry.npmjs.org/@alon80/json-object/-/json-object-1.0.5.tgz","fileCount":7,"unpackedSize":16390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemBOaCRA9TVsSAnZWagAAL1EP/A9h5HRPsnoRcv/C8RTQ\nhFYwyRKsFkZuWTU3Q0EXXSEu8uiQy+OL4W07JOB+8L3K+6Uz8p/s18rryHaj\n1IeOfhjDnV36Q9hdfeveFtyzYFh+nilL3EeyU6r3qegE6LACkwvWbxmxqse2\n368Rxych/mirET0/4HBixM7JQfQFBC2rx+bRy7WoxsN77MNkA7tkkhlLOZ4K\nUHl9/acJcZC+K39KpIr4+UmWQJcL9OIXE9jA2+JVoBQR95KJeV5LblckhtW8\n7k0ZTgOaqBDhK/AD0L13+Zh/hwGNj746LqfEpNKMPGaJNLAb+mEjgR/ycwAY\n0InXJJTdIgdEyWBreOg6jGMY/2exaTPztNvdqbIqbxywBAEEgh03ylpHqSxQ\nKre1jys4iYGX1AiSjlhEOAVphi1IzRcrxYOwrtmdg0DxQ/GG8EYkyeju+Aqz\nNeRkuwX7A+LyOYherv/1ie8ovsbtGCLamBfYToZe5D2Zo495cJna86DIKPXK\nIRv9eCo0mxr3z92VEECVFRqzlFqV9H2R59DnFopUSe2rTsFMMSyo4yhyc6at\ncZFP5vjb+eapboayQC99gX4+U+VOCclHhhEC/jFkXN1BNzgu8KRFrwbS3OSl\n7lt2J+cyUvVmeE2h2Tsx5FTc1mXyFtI7QRuzpBvneThzt59Wl83H1wsHCZeO\nQjDC\r\n=WhV3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSG/AxxQHH8ZR4pW5FCnI2hkZ2IKzCTZm9u044lHsDVwIgUphWv3zABNQEOPKlgam+IW3xVAqJFtXFRgWui1zLpSc="}]},"maintainers":[{"name":"alon80","email":"alon.sharabi@gmail.com"}],"_npmUser":{"name":"alon80","email":"alon.sharabi@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-object_1.0.5_1587024793937_0.9359878917490392"},"_hasShrinkwrap":false},"1.0.6":{"name":"@alon80/json-object","version":"1.0.6","description":"Inspired by the gson library","main":"index.js","scripts":{"test":"node example/example.js","release":"release-it --no-git.requireCleanWorkingDir"},"keywords":["json","object","model"],"author":{"name":"Alon Levanon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alon80/json-object.git"},"homepage":"https://github.com/alon80/json-object/blob/master/README.md","devDependencies":{"release-it":"^13.5.0"},"directories":{"lib":"lib"},"gitHead":"eb2327f715b4daf59e9283e6cb026b615281652a","bugs":{"url":"https://github.com/alon80/json-object/issues"},"_id":"@alon80/json-object@1.0.6","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-QfL58lZmXyJl3vINNyxNwIu1AcscoxH2vDWjJj351D/ck8ZvxjceLoeDnEf74GJfyKXVjVcEpuNss1MZzpTFrw==","shasum":"108d50b54be82a971614fe8f44d489c9aef5f5da","tarball":"https://registry.npmjs.org/@alon80/json-object/-/json-object-1.0.6.tgz","fileCount":7,"unpackedSize":16459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemBTrCRA9TVsSAnZWagAAOhwP/jcWYeNNpx2UmQtv8z95\n3jXErLS1ziqADJkMa9Dseget7cIO3vlYw6MJb2UoCYNuK+QiXlOVsVL6/ZjC\nsPyzJOKFGyzVhE/CwSm1dVnO6owNz9htarep5VRl0GLXp1qPnSkq5G3FiV9e\nueoTg8mCdxlPZzpYRFJeTw4N/xGoW5rdAnVOS6lkBlZYzaNb9HOs8IBfV+sB\nkWGMFg7RLFsMmvdecIjUwmTINaL1ejAXs8rgfn3R1F14vCAHBfE4KiXadv7h\njnpA85NG+/HqvkZt3IZiOCO9sFkYN9THyhoY/ItiLYbdFpT+RQAM1jW8LgKF\nnYl5kzQLNCxFSAXYGxvfbke6tbLMKuosjiKnP6VXxPcAjZM9vKXsRdbdT/Za\nXMpILg8v92o4ritFifoEB3TZxAhDz6KtpqYDiNwxwL/yy96BSAH20fuU5BcE\nIMQopR9ko7uHhq3NbVtz3Cypm/16dRJ8ViQt6WyNRc4pHGjF7yJlEAar7LnU\n7WSmbuGWPGSm9iHGhhBiD+EvEb13owBl2SElHNIy/8Y1p6DwNghJkil1u2/P\ngBjn4mNTSidCS4xnZZ9oKrfUAv+yDrMDnnrxKyPLkC81zD+0qFQBZeVBbT0a\nGqjR7xpTzWve0qDWqToNNbFO/W3U2ReDTLTgwS5J7GsBw3PyskQLZ3yG3TsE\niVtV\r\n=NRFM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBFDgZqiZJmuq3TBOXBbzaRuDqK4w+JeQbeSLPVZCfyrAiAeblKwgV/qj775oSFt2EuOn2uuKbY/xgPAdJg9H/oX/A=="}]},"maintainers":[{"name":"alon80","email":"alon.sharabi@gmail.com"}],"_npmUser":{"name":"alon80","email":"alon.sharabi@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-object_1.0.6_1587025131228_0.11654025844137772"},"_hasShrinkwrap":false},"1.0.7":{"name":"@alon80/json-object","version":"1.0.7","description":"Inspired by the gson library","main":"index.js","scripts":{"test":"node example/example.js","release":"release-it --no-git.requireCleanWorkingDir"},"keywords":["json","object","model"],"author":{"name":"Alon Levanon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alon80/json-object.git"},"homepage":"https://github.com/alon80/json-object/blob/master/README.md","devDependencies":{"release-it":"^13.5.0"},"directories":{"lib":"lib"},"gitHead":"85f36ca65f233dc998c9c97719568ed90706e864","bugs":{"url":"https://github.com/alon80/json-object/issues"},"_id":"@alon80/json-object@1.0.7","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-S5k1YE1sebaE5SreirecrdMdUIx4vvxvO0fVc8K1pQt8rEhtvEEKthUY/rZw2tK5CFJ7Ckq6DwOKiKYykWT/Qw==","shasum":"b0ab38ad8d7057afa700cc1df9adf701a948f45e","tarball":"https://registry.npmjs.org/@alon80/json-object/-/json-object-1.0.7.tgz","fileCount":7,"unpackedSize":16518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemDSVCRA9TVsSAnZWagAAwI4P/2uDRKpEefDBmP1rI6LO\nDKtFphnDIhrbzFNoUXiPKui3H8qlXSKiyyhMnn0Ut374DyoyiVNuzp3PLDL2\nP2Lnj4VFQgqpPId8mCFHNFoSLiA6/6bngeOaue5n2PSMTj8LnVc0e3TaQhu+\nEjPZi67V2hM4cURys8r+VoehGptJsXT1zbGmHY5OjVoLa3DT44GZVq3bDIxS\nUrO4NTBTZl00JeaRAIaFfcQQeW8CFCXpRAHudcur7jrC9tqc3VrlkSPL2A/0\nMg3Jzh8wumZA7iAcZ+xa8x7POdlyP+t4vot9OG8gBQ6qwghrPtc0w58V628T\ny5SrGohfyoix1xcVrwDxJT42fHnq6tPAAIDewrgZK1Ok8/v3dbnBGXD+pJCU\nwY24iGdeoSHTqpSbwj233liUfj5dH0GcSybpaF9rqwiTI1yfXgf/3i0EX1zU\nF9XaDlw9oLUiI7Oky+x1uUcyuR8PQ1TIShmeCmEnDcub5y/mcU0AtvSwtexb\nhO+wmZtD40Dki9jh2QVwAbcMGzSaxJQSKmZaezVKFGKt6SM8xmM9e+s4a0Ad\n36WmWIGfOQw83Jzny7OlnuLO1jPmR/+r4P2BaLjllh38xze4Ns/RAd4G5XI5\nTntJDBJhRvw8BwpoWdGLN9jER27+l9t88lJO1lJRxWFE3Ma/obrP/QXQD4Fv\n6Isv\r\n=GavO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDJNKnumBsPZ5TMIcH+TYi9VTxhKUxJ9XIndfdedNNU/AiEAokrJtld7ppVaINEfS5W9hVJi2GHMFquW9pq2KkEMJ/A="}]},"maintainers":[{"name":"alon80","email":"alon.sharabi@gmail.com"}],"_npmUser":{"name":"alon80","email":"alon.sharabi@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-object_1.0.7_1587033237389_0.4661029294407688"},"_hasShrinkwrap":false},"1.0.8":{"name":"@alon80/json-object","version":"1.0.8","description":"Inspired by the gson library","main":"index.js","scripts":{"test":"node example/example.js","release":"release-it --no-git.requireCleanWorkingDir"},"keywords":["json","object","model"],"author":{"name":"Alon Levanon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alon80/json-object.git"},"homepage":"https://github.com/alon80/json-object/blob/master/README.md","devDependencies":{"release-it":"^13.5.0"},"directories":{"lib":"lib"},"gitHead":"a4cbc120e388d7ec81c558fe6f46e04d79b8ac83","bugs":{"url":"https://github.com/alon80/json-object/issues"},"_id":"@alon80/json-object@1.0.8","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-s0h7XYrnl8Mlhf6Ak3oPhLWUNlnzXOXExwpCNqNkS2MnJmy5C/XHFauKiM4e7vo6rNX5HmEXxA0qGoPer8kT9w==","shasum":"43fcf136012de6da24edfea6b19adc1972197885","tarball":"https://registry.npmjs.org/@alon80/json-object/-/json-object-1.0.8.tgz","fileCount":7,"unpackedSize":16743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemD24CRA9TVsSAnZWagAAKGMP/j6l7E8vVzHOniyRXm3n\nbaKWsxrQE9tACyBtUCYp9RY9KQLvGSo0/MxpmLjZ9g+644gYEV4UKZEzlBQQ\na9Fsxl9QB/5EX7dy3IeMxBzLScMb//UYWLoXlkCfGZqkDu9yyzXxM31eZZwk\n83Q+L8ZyfuICP3TETqyDYTpfOdqZhKOAGMKZmE+aEeBmHqv3QLd58keSyVDL\ngUpEqxYcUMwqv9KoAWPEBOSUu2gDgRPUKxYOeqng8jkm+QEidt31Qw2zlDVr\n+NcpkZ6yeFe5iZsy5DYz40mVW/MtmFQF2UFySqW+SIEzszBnci3GziRu0ZRu\nev1KDUn6YnXc9u33zGW/VoaWmrGJMxjZOXaQlJF2fZQULoZ1tP+at1uBg7sC\nJz5C7dBMp4UZ4q0uJOtLPQ3fHBk0onGYWZ/Kap9x625EhdWuTLXm3NHPCurP\nVTe0GssaAgvuZvpnlIPicZzATRFpPZAFCox4+rzBL6Ix2QWYD510PqC7qkgh\nKeGgYNgJyyYNp0H3IKp0R9KaTVwgvsGqOnftDv/n4+e65DA2K4WyFnmfPYqp\nyQnGd1fho9abifzaFmWP/iNLUX436OTtcaM3B7WYkdXN3/hgsn6xQRjVUelU\nm3w4yTtiNo4wuGbpZ4PcvYjKRmYbgqkp1OCvvsyRqsrAVbcMOXpDiKsBJezX\nxboa\r\n=sBGN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgU/NcBfUOY0KMRW3pDHJwTZ9+midPjfiGMgh7Y2iHvAIhANhH2gPFfBEAlnk1+H1Uvxr8fe/tcLmiUpWD1cKm92rw"}]},"maintainers":[{"name":"alon80","email":"alon.sharabi@gmail.com"}],"_npmUser":{"name":"alon80","email":"alon.sharabi@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-object_1.0.8_1587035575868_0.5800916496947903"},"_hasShrinkwrap":false},"1.0.10":{"name":"@alon80/json-object","version":"1.0.10","description":"Inspired by the gson library","main":"index.js","scripts":{"test":"node example/example.js","release":"release-it --no-git.requireCleanWorkingDir"},"keywords":["json","object","model"],"author":{"name":"Alon Levanon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alon80/json-object.git"},"homepage":"https://github.com/alon80/json-object/blob/master/README.md","devDependencies":{"release-it":"^13.5.0"},"directories":{"lib":"lib"},"gitHead":"f953b47afa2040b4b99b848eabbac5d396c95f0d","bugs":{"url":"https://github.com/alon80/json-object/issues"},"_id":"@alon80/json-object@1.0.10","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-lbEv0flYS9qx3sE8QmLCulQm0ctedPDfs7lS7zcOe//EFIuX1nhvqrBYohIS3Q1105rZ/fVM1Ac0XdSmzvlH4w==","shasum":"f9bbba514a1574be290cd522b16e587e29feb53d","tarball":"https://registry.npmjs.org/@alon80/json-object/-/json-object-1.0.10.tgz","fileCount":7,"unpackedSize":17996,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenZBfCRA9TVsSAnZWagAAcD0P/j9qPPKdCtXDKF5Bbbq3\niFmkx6qjDAIgcaa6ZT6WZ6v54NXQ/6miCWFKkx4i0lI9rwj65UmTz81u+wqC\nSBlQbNtU0b4T40Dra4V4Cs+mHwZgUvQtHEl/qUj+XF9OcB46cU1+kQWPV+kO\nbA6LBw2bHmhz2hL9T1IouSTSJVLCCKTyQuiNvwslswI2ZRzWuXag7t75gzD/\nrdzycK1GlqvzZfIygMRhf4ZucIAkxHj6tK8oWUVh+qEmdNoJlQh5MJKOS/xq\nCTorNRTl+R7yzrFwFQPHegVWWee7lX/M3fNBwpO66ZmXCBzvG/1Je7pcjmAH\nVhS1BisYVfBeudCtnocH3/gHJ6PeaF9A6MCmY9TD49STJG//AHK8xorKCs8w\no0+3RXehj1IAuXNXMNjDpbBRM+twmlhq/0YO0ThUc8h5U1nPg6QgtD24qCZG\nM8WppvWpAGERcD5gg74LNLw0ETXvZaY5/MP+NsXA1xec647GjIIID4KK6tOi\nry9pVnFNTRrWqKAeVlesGkkmf7qeptGqW84tPgsvGN2yznQTRF/hQmmTl7XM\nTacOjp1hbg2XzL3S7Vh4DKW92i2AFnyMjmU9MEziPv2zLQVPHyu3no3tPZYg\nq1YfwDtJpzNz58Uw59J5mtuasPJnNUzlKQbNrcTY27fbms2+VYk3sIPAzpR8\nhtNI\r\n=0NhD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/qzotgcGSKYd28fK1Y5TZ/vyZ8G+V5BJyt2B3CZs7tgIgEXNtdXzzBjaZny5T1b662VlJM2KlQPil/B9SM8pOkC0="}]},"maintainers":[{"name":"alon80","email":"alon.sharabi@gmail.com"}],"_npmUser":{"name":"alon80","email":"alon.sharabi@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-object_1.0.10_1587384415421_0.5638728979861038"},"_hasShrinkwrap":false},"1.1.0":{"name":"@alon80/json-object","version":"1.1.0","description":"Inspired by the gson library","main":"index.js","scripts":{"test":"node example/example.js","release":"release-it --no-git.requireCleanWorkingDir"},"keywords":["json","object","model","schema"],"author":{"name":"Alon Levanon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alon80/json-object.git"},"homepage":"https://github.com/alon80/json-object/blob/master/README.md","devDependencies":{"release-it":"^13.5.0"},"directories":{"lib":"lib"},"gitHead":"d0d10fbd0cd695f42f218580de779579e4774b71","bugs":{"url":"https://github.com/alon80/json-object/issues"},"_id":"@alon80/json-object@1.1.0","_nodeVersion":"14.0.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-nsoVawhwFwC7mlSkTCYzwqvle6Muqc4KEz/cldMVb1NAmrC+lKWOSGbilosF8NQG2tHl+1J1EwhGW32j1fmMog==","shasum":"f8bf5d91b6c02d699c1c15fb62d9c7b8818c939f","tarball":"https://registry.npmjs.org/@alon80/json-object/-/json-object-1.1.0.tgz","fileCount":7,"unpackedSize":18815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJer/KgCRA9TVsSAnZWagAAJ94QAJwsJ+/9HQDETBBmGKcn\n5ufVnENkAj03J0jZ8y1LbMx7dR7bM48O8zstIRVzRnPbIetxF8XK90uRNV2v\nQww05vc9WSmtsNWSESxYh+x7zs4eFAZXP3lvfpk16aosXxzRbuUMvsYm2srl\nYarMYczsIJUZfeypB11Rt6TO5QoQcP4sPA/NvjAR1QYe744UzG8ggUgLD+6u\nMNEU6+3t8uqb6wMjoINL73hcdDFnCfWUfc+wlKdFuu5bCeh2W446RVZjO1kS\no8J7y+o9N6IgwngdNHfoklMkc6vnaxY9ecJgoYo3DRXGGUN/P5u4z7omhWfD\nZJzJsgNJ+QvZ31KAeMGsniWQ9TGcmL06vstDqnYt5AMEJ6anbOwBxuLw+Q4C\nqoUIaL+35iVyRqxtiIuPIrHdsuyOLzoGfjT0pmaxiMQcjX5WIZzyFe1qMr5q\n4Y/2j/XhNmJYVUIDiZ3W2FknNi4Irj4lBZEu422cZpR1dYQSzwo5e3BYyGfc\nSFyqjsWVRDA1yQ9atIUENxONiSJAxRT1lOsSqtGEEaZyqYuk8Kzv+V/Mu2D1\nwPhfnzAr1MQ1l8TKddkV1KUGnW3EnGxqaY8dPnN/OjIylUF0Sf7OnhRdNTXt\nQ+SEQRiHjFm1bXM0K11UpJ7YlS3vlgD68huJR8vGcWGSgFZjlu3aVEu8+Iz3\nVElJ\r\n=bwr0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGx6bL2J6olADCWwv7u7OXShYcW2+xy51Q0lp6Nu57Z8AiEA6wSdMDkjDFP6kaDVU6szJvgtYvz1BOEKsU1FQrfjM04="}]},"maintainers":[{"name":"alon80","email":"alon.sharabi@gmail.com"}],"_npmUser":{"name":"alon80","email":"alon.sharabi@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-object_1.1.0_1588589215480_0.7895382277611498"},"_hasShrinkwrap":false},"1.1.1":{"name":"@alon80/json-object","version":"1.1.1","description":"Inspired by the gson library","main":"index.js","scripts":{"test":"node example/example.js","release":"release-it --no-git.requireCleanWorkingDir"},"keywords":["json","object","model","schema"],"author":{"name":"Alon Levanon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alon80/json-object.git"},"homepage":"https://github.com/alon80/json-object/blob/master/README.md","devDependencies":{"release-it":"^13.5.0"},"directories":{"lib":"lib"},"gitHead":"8140ba2333077e6a1fb25f4f62f48dc7bac1119b","bugs":{"url":"https://github.com/alon80/json-object/issues"},"_id":"@alon80/json-object@1.1.1","_nodeVersion":"14.0.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-1Y6V/qmuAijCoTHaNG7G4FRWQ/nOwZ+u3hyszqDQscCqVdZQYxCDvwKbOTWEM9K9WguM/jW8ViD184QtajE4VQ==","shasum":"592ce4fa3c4be2f719b5e445ecbdeb7d50f7a963","tarball":"https://registry.npmjs.org/@alon80/json-object/-/json-object-1.1.1.tgz","fileCount":7,"unpackedSize":18914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesYh5CRA9TVsSAnZWagAANWgP/3JoTG0ECb91DkVSpU3w\nVdpWN6EeUR6cdJ5VcYIAbMx7qSOscPjWl/bIB3yt6NFo0l/5FW7QFVVSR/63\np7Qn44MtBSwEm67TnhjATmYgJwKq86aBnZch8hS0jsYd9+3I0ZXMxsaqdMlG\n6V31//+ygmSMoo6GH7YW6dAM1tPlWpW9QAJjdXuhuJImOHXARchyUAB6YhUA\nKuhxrOZRSE0E0H0E5uoH0k6Jv58jvPNPOrw3EqmUTZJIjbYOfyLTgXSDtgNX\n7x9TpAmko1YMsh5DikKw/t/22lttU0ckOGclsjbnaF/1NjD6g6yRgxBM1O0H\nv2ZYtt7tRVgdUebS+4mZ8HdBEZXW08ZGmePSVhIRHSbB5c6LaXTtKaEY6qd3\n0u0gf6nVrD643eQC0mw5Z8as2dA3/HPGHfJKnxaEUSvH/IqM59Df+wUM4dkg\n5VLLTmszGFoMzepPqiB/qEDDrhm9vZosouPKYQp6CLP92CKUuI0NeJUBBCBj\nr1tM/yMt/lTzznKzH7LOxVQaxgs2gvQkqAhCqPsPGrH156fDaahVvRakR8HA\nT2S3nDtpECHCLkuOTw68LmjDtiCul1Bu2LS9Oa6d4ow8jREcnatA8vxRbTcx\nNIXQItq4MjpdQU1ZyJ/AMZwni4zfntzrzU3+LSQCWhofWFxVcVVNTU/lg/De\nPUL+\r\n=l4Rt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDAUArpuBcRCMl6wPOTRgJPt06Tiv3rxIw+ax2ROHv6EAiA9VuvTC3W13N5Fx1ZDlfLiz5zW6Ubl1xzdkIYAxt3yJQ=="}]},"maintainers":[{"name":"alon80","email":"alon.sharabi@gmail.com"}],"_npmUser":{"name":"alon80","email":"alon.sharabi@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-object_1.1.1_1588693113039_0.6530842185503978"},"_hasShrinkwrap":false}},"time":{"created":"2020-04-13T22:27:04.762Z","1.0.0":"2020-04-13T22:27:04.940Z","modified":"2022-04-04T13:36:57.977Z","1.0.4":"2020-04-14T14:50:09.555Z","1.0.5":"2020-04-16T08:13:14.107Z","1.0.6":"2020-04-16T08:18:51.369Z","1.0.7":"2020-04-16T10:33:57.541Z","1.0.8":"2020-04-16T11:12:56.042Z","1.0.10":"2020-04-20T12:06:55.601Z","1.1.0":"2020-05-04T10:46:55.610Z","1.1.1":"2020-05-05T15:38:33.242Z"},"maintainers":[{"name":"alon80","email":"alon.sharabi@gmail.com"}],"description":"Inspired by the gson library","homepage":"https://github.com/alon80/json-object/blob/master/README.md","keywords":["json","object","model","schema"],"repository":{"type":"git","url":"git+https://github.com/alon80/json-object.git"},"author":{"name":"Alon Levanon"},"bugs":{"url":"https://github.com/alon80/json-object/issues"},"license":"MIT","readme":"# JSON Object Model\n\n\n***\n****Working on a new readme, below is an outdated one...****\n***\n\n- [Installation](#installation)\n- [Features](#features)\n- [Usage](#usage)\n  * [`PropertyTypes`](#basic)\n  * [`options.mapFrom` & `options.mapTo`](#-optionsmapfrom-----optionsmapto-)\n  * [`options.class`](#-optionsclass-)\n  * [`options.def`](#-optionsdef-)\n  * [`options.deleteIfUndefined`](#optionsdeleteifundefined)\n- [Full Example](#full-example)\n- [What's next](#what-s-next)\n\n\n## Installation\n`npm i @alon80/json-object`\n\n## Features\n\n* Model your classes easily\n* Strictly typed properties (primitives, arrays, objects or even your other custom objects)\n* Construct with json or any other object (for example: expressJS `req.query` object)\n* Define default values\n* Map property names inputs and outputs (inspired by gson annotations)\n* Use '_' prefix if you would like to use your custom setters or getters\n\n\n## Usage\n\n### `PropertyTypes`\n\n\n```js\nconst {BaseObject, PropertyType} = require('@alon80/json-object');\n\nclass Album extends BaseObject {\n\n    _id = PropertyType.integer();\n    // You can also use without the \"_\" prefix:\n    // id = PropertyType.integer();\n    _name = PropertyType.string();\n    _artist = PropertyType.object();\n    _songs = PropertyType.array();\n    \n    // Call super constructor and the call the build method\n    constructor(json) {\n        super(json);\n        this.build();\n    }\n}\n```\n\n##### Create instance:\n\n```js\nconst json = {id: 1234, name: 'The Flying Eggplant'};\n// Method 1:\nconst album = new Album(json);\n// Method 2:\nconst album = Album.fromJSON(json);\n```\n##### Outputs:\n\n```js\nconsole.log(album);\n/**\n Output:\n Album {\n   _id: 1234,\n   _name: 'The Flying Eggplant',\n   _artist: null,\n   _songs: []\n }\n**/\n```\n```js\nconsole.log(JSON.stringify(album));\n/**\n Output:\n {\n    \"id\":1234,\n    \"name\":\"The Flying Eggplant\",\n    \"artist\":null,\n    \"songs\":[]\n }\n**/\n```\n\n### `options.mapFrom` & `options.mapTo`\n\n`options.mapFrom`: use this option when the input object has a different property name than your class.\n\n`options.mapTo`: use this option when you want a different property name when stringifying your object.\n\n##### Example:  \n```js\nclass Album extends BaseObject {\n\n    _id = PropertyType.integer();\n    _name = PropertyType.string({mapFrom: 'title'});\n    _artist = PropertyType.object();\n    _songs = PropertyType.array({mapTo: 'playlist'});\n    \n    //...\n}\n```\n\n```js\nconst album = new Album({id: 1234, title: 'The Flying Eggplant'});\n```\n\n##### Outputs:\n\n```js\nconsole.log(album);\n/**\n Output:\n Album {\n   _id: 1234,\n   _name: 'The Flying Eggplant',\n   _artist: null,\n   _songs: []\n }\n**/\n```\n```js\nconsole.log(JSON.stringify(album));\n/**\n Output:\n {\n    \"id\":1234,\n    \"name\":\"The Flying Eggplant\",\n    \"artist\":null,\n    \"playlist\":[]\n }\n**/\n```\n\n### `options.class`\n\nThis option is available for object and array proprties.\n\nUse this option to ensure your property is a specific class (or an array of specific class).\n\n```js\nclass Song extends BaseObject {\n    //...\n}\nclass Artist extends BaseObject {\n    //...\n}\nclass Album extends BaseObject {\n\n    _id = PropertyType.integer();\n    _name = PropertyType.string();\n    _artist = PropertyType.object({class: Artist});\n    _songs = PropertyType.array({class: Song});\n    \n    //...\n}\n```\n\n```js\nconst album = new Album({id: 1234, name: 'The Flying Eggplant'});\n```\n\n##### Outputs:\n\n```js\nconsole.log(album);\n/**\n Output:\n Album {\n   _id: 1234,\n   _name: 'The Flying Eggplant',\n   _artist: Artist {},\n   _songs: []\n }\n**/\n```\n```js\nconsole.log(JSON.stringify(album));\n/**\n Output:\n {\n    \"id\":1234,\n    \"name\":\"The Flying Eggplant\",\n    \"artist\":{},\n    \"songs\":[]\n }\n**/\n```\n\n### `options.def`\n\nDefine default values for undefined or misstyped properties\nDefault values if not specified (and `options.deleteIfUndefined` is not true): \n\nType | Default Value\n--- | ---\nInteger  | 0\nFloat  | 0.0\nBoolean | false\nString | null\nObject | null\nArray | []\n\n##### Example\n\n```js\n_description = PropertyType.string({def: 'This item has no description'});\n```\n\n##### Output:\n\n```js\nconst album = new Album({id: 1234, name: 'The Flying Eggplant'});\nconsole.log(JSON.stringify(album));\n/**\n Output:\n {\n    \"id\":1234,\n    \"name\":\"The Flying Eggplant\",\n    \"description\": \"This item has no description\",\n    \"artist\":{},\n    \"songs\":[]\n }\n**/\n```\n\n### `options.deleteIfUndefined`\n\nIf set to true, delete the property if undefined (or misstyped)\n\n##### Example \n\n```js\n_description = PropertyType.string({deleteIfUndefined: true});\n```\n\n##### Output:\n\n```js\nconst album = new Album({id: 1234, name: 'The Flying Eggplant'});\nconsole.log(JSON.stringify(album));\n/**\n Output:\n {\n    \"id\":1234,\n    \"name\":\"The Flying Eggplant\",\n    \"artist\":{},\n    \"songs\":[]\n }\n**/\n```\n\n## Full Example\n\nLet's say you have this JSON that represents a product:\n\n```json\n{\n  \"id\": 123456,\n  \"product_name\": \"Acme headphones\",\n  \"price\": 289.99,\n  \"in_stock\": true,\n  \"description\": null,\n  \"seller\": {\n    \"name\": \"Acme Industries\",\n    \"email\": \"acme@mail.com\"\n  },\n  \"images\": [\n    {\n      \"height\": 640,\n      \"width\": 640,\n      \"title\": \"some title\",\n      \"url\": \"https://some.url.to.image\"\n    },\n    {\n      \"height\": 640,\n      \"width\": 640,\n      \"url\": \"https://some.url.to.image\"\n    }\n  ]\n}\n```\n\nThe product object has some primitive members, a seller object and an array of image objects.\n\nWe can model it to 3 classes:\n\n1. Seller\n    ```js\n    class Seller extends BaseObject {\n    \n        _name = PropertyType.string();\n        _email = PropertyType.string();\n    \n        constructor(json) {\n            super(json);\n            this.build();\n        }\n    }\n    ```\n\n2. Image\n    ```js\n    class Image extends BaseObject {\n    \n        _height = PropertyType.integer({mapTo: 'h'});\n        _width = PropertyType.integer({mapTo: 'w'});\n        _title = PropertyType.string({deleteIfUndefined: true});\n        _url = PropertyType.string();\n    \n        constructor(json) {\n            super(json);\n            this.build();\n        }\n    }\n    ```\n\n3. Product\n    ```js\n    class Product extends BaseObject {\n    \n        _id = PropertyType.integer();\n        _productName = PropertyType.string({mapFrom: 'product_name'});\n        _price = PropertyType.float();\n        _inStock = PropertyType.boolean({mapFrom: 'in_stock'});\n        _description = PropertyType.string({def: 'This item has no description'});\n        _seller = PropertyType.object({class: Seller});\n        _images = PropertyType.array({class: Image, deleteIfUndefined: true});\n    \n        constructor(json) {\n            super(json);\n            this.build();\n        }\n    }\n    ```\n\nNow you can use it\n```js\nconst json = require('./example.json');\n// method 1:\nconst product = new Product(json);\n// method 2:\nconst product = Product.fromJSON(json);\n\nconsole.log(JSON.stringify(product));\n```\n\noutput:\n```json\n{\n  \"id\": 123456,\n  \"productName\": \"Acme headphones\",\n  \"price\": 289.99,\n  \"inStock\": true,\n  \"description\": \"This item has no description\",\n  \"seller\": {\n    \"name\": \"Acme Industries\",\n    \"email\": \"acme@mail.com\"\n  },\n  \"images\": [\n    {\n      \"h\": 640,\n      \"w\": 640,\n      \"title\": \"some title\",\n      \"url\": \"https://some.url.to.image\"\n    },\n    {\n      \"h\": 640,\n      \"w\": 640,\n      \"url\": \"https://some.url.to.image\"\n    }\n  ]\n}\n\n\n```\n\n## What's next\n\nCLI tool for converting your JSON files into ES6 classes.\n\n","readmeFilename":"README.md"}