{"_id":"anslo","_rev":"37-0dae487ee157d2bf2907fccf15cb8f5f","name":"anslo","description":"A json serializer/parser that can remember state.","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.2":{"name":"anslo","version":"0.0.2","description":"An Anslo PHP framework CLI Tool","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Miller Web Group"},"license":"ISC","bin":{"anslo":"index.js"},"preferGlobal":"true","dependencies":{"fs-extra":"^0.26.5","github-download":"^0.4.0","prompt":"^0.2.14","unzip":"^0.1.11","zip-folder":"^1.0.0"},"_id":"anslo@0.0.2","_shasum":"5944f6cd6dd8ffad2ae1006567bf058d031753c4","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"},"dist":{"shasum":"5944f6cd6dd8ffad2ae1006567bf058d031753c4","tarball":"https://registry.npmjs.org/anslo/-/anslo-0.0.2.tgz","integrity":"sha512-Yl+s2pyCGTJ4AJVFJgdpBENyKzGaaBWbgB8Ys4XJJM7jj/aakJfqINWF9LCtjMvmWly+/1KtzSFTfw9x2j6DEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICPv7mfqYEpfCBhr3evaodKOVM10+GFVdHPM3Js0w1zqAiEA83q/uqaQnAlUucgIY5gPfcCALpolOtqKfWuO/BC3HBY="}]},"maintainers":[{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"}],"directories":{}},"0.0.8":{"name":"anslo","version":"0.0.8","description":"Anslo is a wrapper around JSON.stringify and JSON.parse designed to remember original state","main":"build/src/index","types":"build/src/Index","scripts":{"test":"jest --coverage","build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/josh-josh-miller/anslo.git"},"author":{"name":"Josh Miller"},"license":"MIT","bugs":{"url":"https://github.com/josh-josh-miller/anslo/issues"},"homepage":"https://github.com/josh-josh-miller/anslo#readme","devDependencies":{"@types/jest":"^22.2.0","jest":"^22.4.2","typescript":"^2.7.2"},"jest":{"collectCoverage":true},"gitHead":"ac63f970dd93bb0589327426eed70e9859922df1","_id":"anslo@0.0.8","_shasum":"5e14fe1dcb11f77b51ab131c7665952191755489","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"},"dist":{"shasum":"5e14fe1dcb11f77b51ab131c7665952191755489","tarball":"https://registry.npmjs.org/anslo/-/anslo-0.0.8.tgz","fileCount":29,"unpackedSize":26215,"integrity":"sha512-/cZkMSIS4U7xu3jbicWIHri7PsDFzisAiLiuYmiBA+EumwfqPoYSiYZYUiR0UZdJthKJRMCk9/Ucocf6uXusGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF7F1ctR4aGylzKch2e/Af8wT43b/On7oM3WQgprDr+AAiAc3CeecYRfMBcYJPWbRT2IGTDsXgL73yX+4/tcrUyIzw=="}]},"maintainers":[{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/anslo_0.0.8_1520729956289_0.06599072252511418"},"_hasShrinkwrap":false},"0.0.9":{"name":"anslo","version":"0.0.9","description":"Anslo is a wrapper around JSON.stringify and JSON.parse designed to remember original state","main":"build/src/index","types":"build/src/Index","scripts":{"test":"jest --coverage","build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/josh-josh-miller/anslo.git"},"author":{"name":"Josh Miller"},"license":"MIT","bugs":{"url":"https://github.com/josh-josh-miller/anslo/issues"},"homepage":"https://github.com/josh-josh-miller/anslo#readme","devDependencies":{"@types/jest":"^22.2.0","jest":"^22.4.2","typescript":"^2.7.2"},"jest":{"collectCoverage":true},"gitHead":"66c86a349bcbab925b828a910719f377ca3eb0cf","_id":"anslo@0.0.9","_shasum":"92806108af29a3874870d4e80b2eeff9f74ea79b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"},"dist":{"shasum":"92806108af29a3874870d4e80b2eeff9f74ea79b","tarball":"https://registry.npmjs.org/anslo/-/anslo-0.0.9.tgz","fileCount":29,"unpackedSize":27942,"integrity":"sha512-vMhcXfw1peCCu/ayqI2cdbRyWFjOpXlvUIoOYmYiOHKxp4owDPG1NpqWN9kvszZk09NG5Y6McNx0lc8Jsa6CGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcJ4UsWV3sh8Izb+1OImwmsZQjovjigZsaImp7NcnzQgIgSW25kAtxh/crsTQXcXIbNuXgkTtSO/+fL3oDl4Rd1R4="}]},"maintainers":[{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/anslo_0.0.9_1520730425593_0.29207698343542865"},"_hasShrinkwrap":false},"0.0.10":{"name":"anslo","version":"0.0.10","description":"Anslo is a wrapper around JSON.stringify and JSON.parse designed to remember original state","main":"build/src/Index","types":"build/src/Index","scripts":{"test":"jest --coverage","build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/josh-josh-miller/anslo.git"},"author":{"name":"Josh Miller"},"license":"MIT","bugs":{"url":"https://github.com/josh-josh-miller/anslo/issues"},"homepage":"https://github.com/josh-josh-miller/anslo#readme","devDependencies":{"@types/jest":"^22.2.0","jest":"^22.4.2","typescript":"^2.7.2"},"jest":{"collectCoverage":true},"gitHead":"29c793543dc931c7f95de897809a91ae42d03999","_id":"anslo@0.0.10","_shasum":"37375b27645dfaba17988be64df7daf9e1f79755","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"},"dist":{"shasum":"37375b27645dfaba17988be64df7daf9e1f79755","tarball":"https://registry.npmjs.org/anslo/-/anslo-0.0.10.tgz","fileCount":29,"unpackedSize":25401,"integrity":"sha512-qSSJ8WcLVW892xzBLmlsZZk4TcahKTaBxdJstRL+DDX1CG1vrSuRupW9aoJcUs9CTMjWDsWtoMUAQkU4EqSeuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMKzQ2ndHv626MQ4tfL1yTI5oNnsyyzDf7JsvK2zGtMQIgULGi67VBvhZPEKdNRegkx+viHIvfPcIAchgiZe3r084="}]},"maintainers":[{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/anslo_0.0.10_1521320348816_0.38826097697090467"},"_hasShrinkwrap":false},"0.1.2":{"name":"anslo","version":"0.1.2","description":"A json serializer/parser that can remember state.","main":"dist/src/index","types":"dist/src/index.d.ts","scripts":{"test":"jest","build":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/josh-josh-miller/anslo.git"},"author":{"name":"Josh Miller"},"license":"MIT","bugs":{"url":"https://github.com/josh-josh-miller/anslo/issues"},"homepage":"https://github.com/josh-josh-miller/anslo#readme","devDependencies":{"@types/jest":"^22.2.0","@types/node":"^10.12.12","jest":"^22.4.2","ts-jest":"^23.10.5","typescript":"^2.7.2"},"jest":{"testEnvironment":"node","collectCoverage":true,"collectCoverageFrom":["dist/src/**/*.js","!**dist/src/interface/**"],"verbose":true,"testURL":"http://localhost/"},"gitHead":"9f58a3396f6167b5c501fb644f09668f127637fc","_id":"anslo@0.1.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"},"dist":{"integrity":"sha512-zFgi912Tl686UypSmnXy4+hDUFgxCecv/cTf+lZxhOnu9us1j/MzWV6dql+GbFJwXlHSEQ91MydJONh2WBckIA==","shasum":"93e9e69281dd9211cfcce6c2282f1ed6ac7569f2","tarball":"https://registry.npmjs.org/anslo/-/anslo-0.1.2.tgz","fileCount":133,"unpackedSize":90827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcV8WRCRA9TVsSAnZWagAAFcQP/0p2lt2LQaLRkkfOvp4y\n5c+QjoZU0IexVgRV/ldd4s+TPOkb8VLxbgNnV4HfZVbiiIN7GB8gpYb1ojB8\n7+8MaZ3U6SL01f3/q8F9Wa4XHq3pXE0JhbVBlirAMAbQ+lD5gKeiyscEzoyh\nvr60gBlIBUvBR2yFnACemGGzav9UcOdaHq6S7bCZDh6noLonakvJco4D7r7p\n84F4zy0JnzdOB0IUfm+Itj17ClWJ5/Lrgdly/dC5JTIzuKEO2vyd36Zf3QN5\nZXcy+cu+7DobFzu0MgeWL3UaRdI4e0nfLcW/yp4FJPH0w8lUwoV1W5oaPZKR\nrW/MkOGq00cVUySymWm8cQ1MIhAvxymOvh21zzapDO/VKOsK82WxEit2ihyS\nrV7oXPUWRrAb+uKfgcw0yqjk2aHNyKVSyTFfoj583KnLx8YYo8+4WmQG97ZD\nqsfwUk8IxvaUL6WfyU6kgfk6o9qYV75mcC7zrP1IpoLu1lvJpsnSnVqEvDn0\nCsxeAf1Qtepu2sOCckJPdR7xU6NWh18pDRdR9C+XkBjCRSCbGGuTb6wja7Od\n1jonW3gnGb6N7feeax9MNViOyegtotiskL268TfzHsr/PtBwecSdr4hebkk4\nrpgbPuauKtqoBmDhXkUxhlhgJqKSL9HJ8WPhMP/htW3EQBFlnkCBWJhK5OAo\n0p3X\r\n=q11w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwHHgia9Bo9iub3HMBXcLL+OTO/l0QC6fF/xC/OsXB6QIgKfc1MiKlk+RQzTa/JGiEpvFnbqfsIVE8yEn4fmwkIII="}]},"maintainers":[{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/anslo_0.1.2_1549256081326_0.2186173269350542"},"_hasShrinkwrap":false},"0.1.1":{"name":"anslo","version":"0.1.1","description":"A json serializer/parser that can remember state.","main":"dist/src/index","types":"dist/src/index.d.ts","scripts":{"test":"jest","build":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/josh-josh-miller/anslo.git"},"author":{"name":"Josh Miller"},"license":"MIT","bugs":{"url":"https://github.com/josh-josh-miller/anslo/issues"},"homepage":"https://github.com/josh-josh-miller/anslo#readme","devDependencies":{"@types/jest":"^22.2.0","@types/node":"^10.17.6","braces":"^3.0.2","jest":"^22.4.2","mem":"^6.0.1","ts-jest":"^23.10.5","typescript":"^2.7.2"},"jest":{"testEnvironment":"node","collectCoverage":true,"collectCoverageFrom":["dist/src/**/*.js","!**dist/src/interface/**"],"verbose":true,"testURL":"http://localhost/"},"dependencies":{},"gitHead":"bd79e6bd5831791e9bdc21c844ee2c8ad4fe9308","_id":"anslo@0.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"},"dist":{"integrity":"sha512-xRd2m8mzndwjQtClMF2ycXHjKZbWrT/NlffDWawDDUCKqLVAWOdLNMN4w3HfNZDutE4Cd4JB5ig55aM+Eal4xQ==","shasum":"c469709c2d60dc606102d3d176a9ab76722ae4b5","tarball":"https://registry.npmjs.org/anslo/-/anslo-0.1.1.tgz","fileCount":133,"unpackedSize":90896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6F7oCRA9TVsSAnZWagAAgRoP/iGRTji2hv9zNMkF8kbV\nb0o+TTUb1J9M7ImpBFsRxKhSfOa3jyyIS/n+05mBwYEAnh6ulquMExeTodJt\nT6o66QdF/SMsYZ+szfDldzPUEzLQ18mOHMM7KOyAwi1TcuOQrCH7VeTd5PGN\n7s1JWusaY3zjW1SM+TMWYn7NrSo1F6WnW6vGih0RaXEz5vQciYeXcuLJ5KxN\nXKvfn3NqXByLwzYKcBAjKg2P05z4lvIImLUiL/zAORKkElB4qDKYTHYn7tRl\nklHO8dgCiZW6ej/Xp1rPZVjYq6cRJTZtAy00w1DM0A2/1l25et1m3VEPSPDO\nqG4vHIdDQAxpDPbr4FDB8FpgVp0BKf/GV6QVs5stclL78mO0YXT9+4apZhas\nfvNYYGSUUP6hVdvbmRmeWQqu7wgchn5Pc/PIim8IoEx0j/7bsmZaB6dhxMH3\nNdECM+9cN+n5poCzFE7bYRDI6KfMSFDn1JflCdoTqIiiU0sbwv26UZaXZujZ\nF0Y9Ev6TjZCkV3dtmBN153+H5ShraX+LF7OUp8hUg6KrxgtJNeQHRPOTgFWp\nKMtimha8sWevdijKOnKfZlKGeW3Lq5o1yij1Jtej2JRGbGGGklt3w7d4rES/\nVbQA7H/0fStwsinvBlYNaxMN+CQ43HEji2kYmyuB/mfaf5J2qTh6zcpIsRtK\ntM86\r\n=FVQb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF36D6eupF6WPatxsTnYHZuTXGfddaSpbM5kcXI7tzV0AiAy/emCMel4mZNOKbNQqquXc/4wUFZm1qaWRBiZF3ylHA=="}]},"maintainers":[{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/anslo_0.1.1_1575509735855_0.9567023636025225"},"_hasShrinkwrap":false}},"readme":"# Anslo\r\nA serializer/deserializer that can serialize pointer references and remember context.\r\n\r\n```bash\r\nnpm install --save anslo\r\n```\r\n\r\n### How does it work?\r\n```js\r\nconst Anslo = require(\"anslo\");\r\n\r\n/**\r\n * Create an instance\r\n **/\r\nlet anslo = new Anslo();\r\n\r\n\r\n/**\r\n * Create an instance of something\r\n * you would like to serialize\r\n **/ \r\nlet user = new User();\r\n\r\n/**\r\n * Do cool things like self referencing\r\n **/\r\nuser.self = user;\r\n\r\n/**\r\n * Serialize data down to a string\r\n **/\r\nlet string = anslo.down(user)\r\n\r\n/**\r\n * Deserialize back to original state\r\n **/\r\nlet newUser = anslo.up(string);\r\n\r\n/**\r\n * Done!!\r\n **/\r\nconsole.log(newUser === newUser.self); //outputs: true\r\n\r\n```\r\n\r\n### What about remembering context? Let's use the same example.\r\n```js\r\nconst Anslo = require(\"anslo\");\r\n\r\n/**\r\n * Create an instance\r\n * \r\n * [Context]\r\n * Provide an object of constructors that\r\n * you would like to have Anslo remember, \r\n * and when they are revived, the pointer\r\n * will be an instance of the context provided\r\n **/\r\nlet anslo = new Anslo({ User });\r\n\r\n\r\n/**\r\n * Create an instance of something\r\n * you would like to serialize\r\n **/ \r\nlet user = new User();\r\n\r\n/**\r\n * Do cool things like self referencing\r\n **/\r\nuser.self = user;\r\n\r\n/**\r\n * Serialize data down to a string\r\n **/\r\nlet string = anslo.down(user)\r\n\r\n/**\r\n * Deserialize back to original state\r\n **/\r\nlet newUser = anslo.up(string);\r\n\r\n/**\r\n * Done!!\r\n **/\r\nconsole.log(newUser === newUser.self); //outputs: true\r\n\r\n```\r\n### Security Considerations\r\nSerializing state down to a string and reviving it to its original state\r\nraises strong security concerns. If there are any questions at all about \r\nwhere serializations come from, use encryption and a signature to verify \r\nyou made it. Moreover, we are soon to be living in an time where quantum \r\ncomputing is available; use a <b>post-quantum</b> algorithm.\r\n\r\n<blockquote>\r\n    \"Be Kind and <strike>Rewind</strike> Encrypt Everything\"\r\n</blockquote>\r\n\r\n\r\n### Caveats\r\n\r\n* Properties that are functions will be serialized to <b>null</b>. Use classes with methods to provide functionality.\r\n\r\n### What does the serialized string look like?\r\nLet's say we were to run this bit of code...\r\n```js\r\nlet data = [{\r\n    name: \"something\",\r\n    date: new Date()\r\n}]\r\n\r\n/**\r\n * The second argument is the number of\r\n * spaces used to beautify the serialization.\r\n */\r\nlet string = anslo.down(data, 4)\r\nconsole.log(string);\r\n```\r\n\r\n```json\r\n{\r\n    \"pointers\": [\r\n        [],\r\n        {},\r\n        \"something\",\r\n        {}\r\n    ],\r\n    \"graph\": {\r\n        \"r\": 0,\r\n        \"t\": \"array\",\r\n        \"c\": {\r\n            \"0\": {\r\n                \"r\": 1,\r\n                \"t\": \"object\",\r\n                \"c\": {\r\n                    \"name\": {\r\n                        \"r\": 2,\r\n                        \"t\": \"string\"\r\n                    },\r\n                    \"date\": {\r\n                        \"r\": 3,\r\n                        \"t\": \"date\",\r\n                        \"v\": \"2018-12-10T06:36:05.620Z\"\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n```\r\nMinified, it would look like this.\r\n```json\r\n{\"pointers\":[[],{},\"something\",{}],\"graph\":{\"r\":0,\"t\":\"array\",\"c\":{\"0\":{\"r\":1,\"t\":\"object\",\"c\":{\"name\":{\"r\":2,\"t\":\"string\"},\"date\":{\"r\":3,\"t\":\"date\",\"v\":\"2018-12-10T06:40:51.342Z\"}}}}}}\r\n```\r\n","maintainers":[{"name":"josh-josh-miller","email":"wickedhillsmedia@gmail.com"}],"time":{"modified":"2022-06-13T03:05:40.224Z","created":"2016-01-06T07:55:11.943Z","0.1.0":"2016-01-06T07:55:11.943Z","1.0.0":"2016-01-06T08:12:02.688Z","1.0.1":"2016-01-06T08:52:32.733Z","1.0.2":"2016-01-06T19:26:48.520Z","1.0.3":"2016-01-06T19:30:04.217Z","1.0.4":"2016-01-06T19:41:02.548Z","1.0.5":"2016-01-06T19:42:52.047Z","1.0.6":"2016-01-16T07:42:33.567Z","0.0.6":"2016-01-29T08:37:30.730Z","0.0.2":"2016-01-29T08:52:04.925Z","0.0.3":"2016-01-29T08:57:56.747Z","0.0.4":"2016-01-29T09:26:23.734Z","0.0.5":"2016-01-31T07:06:10.935Z","0.0.8":"2018-03-11T00:59:16.390Z","0.0.9":"2018-03-11T01:07:05.709Z","0.0.10":"2018-03-17T20:59:08.885Z","0.1.2":"2019-02-04T04:54:41.437Z","0.1.1":"2019-12-05T01:35:36.045Z"},"author":{"name":"Josh Miller"},"license":"MIT","readmeFilename":"README.md","homepage":"https://github.com/josh-josh-miller/anslo#readme","repository":{"type":"git","url":"git+https://github.com/josh-josh-miller/anslo.git"},"bugs":{"url":"https://github.com/josh-josh-miller/anslo/issues"},"users":{}}