{"_id":"@krakenjs/universal-serialize","_rev":"13-20670d388a550b4613437ee2c949413b","name":"@krakenjs/universal-serialize","dist-tags":{"latest":"2.0.0","alpha":"3.0.0-typescript.3"},"versions":{"1.0.10":{"name":"@krakenjs/universal-serialize","version":"1.0.10","keywords":["template"],"_id":"@krakenjs/universal-serialize@1.0.10","maintainers":[{"name":"bluepnume","email":"daniel@bluesuncorp.co.uk"},{"name":"gregjopa","email":"grjopa@gmail.com"},{"name":"sdk-integrations-npm","email":"sdk-integrations-npm@paypal.com"},{"name":"wsbrunson","email":"brunson.ws@gmail.com"},{"name":"westeezy","email":"westin.wrzesinski@gmail.com"},{"name":"mstuart","email":"stuartmark@gmail.com"},{"name":"sioked","email":"sioked@gmail.com"}],"homepage":"https://github.com/krakenjs/universal-serialize#readme","bugs":{"url":"https://github.com/krakenjs/universal-serialize/issues"},"dist":{"shasum":"9da8194833228b0f39ef8c05a0cd50e7eac6d1e0","tarball":"https://registry.npmjs.org/@krakenjs/universal-serialize/-/universal-serialize-1.0.10.tgz","fileCount":50,"integrity":"sha512-l3L6rJ9WH1YWrgnqorTpDy2pkMudu89bPRS5Z/18Tm6RUH/JoFhNmbo4fho/kNGQKXMnYhr0Ip9vZZfMKugPtg==","signatures":[{"sig":"MEUCIBFsP+ZVwqFMPBdu9iSFwtUmoiapNX7p6bp3P5H4xl6dAiEA2l5k+ONMnmAbGKQqmm2E4ykRKHGmpkuBsAVCpwO7xZc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHBjyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmojuA//R841g1btB8kjHahMgj3dZ+HRN1RTLTbBVoXbh+31TvIC4zYT\r\ntw0QiXXiv9dVfXW/zBOCENJCdp7EFOwALCUXve6CNrtDnqnSIMNK3FykI3OU\r\n44YBWJZAOTymGK0P2OBjFMHaqIpTQMOyOQg45zvK0psZYxv83YwCkdSFeKnO\r\nlObjoOcMZX/5sYG54zFdVU4v+mfWdJFfBS7GOTOZb1HyISejhjbmBgM/gwGU\r\n3I3rZc0Gq//IblV92CT2ZtT615AKikoMvufn+nZ1xsDbmnbpdMG3B9ihn5WZ\r\ntH0QspMKP3rpmD5LWJVB/xLFsJOh4z1iUYJ1CZHX0vCD6oeNaKqR4yJRFkC/\r\nyb8JFY0rKJnTdxff7k2l/oH2SFxiaS+NfHdgULWh/vMwvIa9z1URmWDMXa5p\r\nLm9juIojvbKGycHboBe/XlLB8IYWnGnWrohzbGCEq7yw3tMmr3z8i/soXNag\r\ntEuOM4hgciB/YACaFagBL2OmbIvrha2eqZRoTwN/tofd9dKjSQ8mGqwdxz/a\r\nLTd65XyJ364AVfag/PlrH5y+O5RUx+pDvnP0CbThtDb4nxaaT3pFIPM4lLTi\r\nhiH+FjYj4leLQSSCbmMUFeACY0Z/eqWczJQbYOjO31qRTDvpjy2IR7BjzgRr\r\nEqjvYvjZCI8EbR1U2a+9dcW6nBmIhSNPKCw=\r\n=aPgQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"f676fbc2727af7d6e54eaa627bf3d4f981b8b302","scripts":{"flow":"flow","lint":"eslint src/ test/ *.js --ext .js,.jsx","test":"npm run lint && npm run flow-typed && npm run flow && npm run karma","babel":"babel src/ --out-dir dist/module","build":"npm run test && npm run babel && npm run webpack","clean":"rimraf dist coverage","debug":"cross-env NODE_ENV=debug","karma":"cross-env NODE_ENV=test babel-node --plugins=transform-es2015-modules-commonjs ./node_modules/.bin/karma start","setup":"npm install && npm run flow-typed","prepare":"husky install","release":"standard-version","webpack":"babel-node --plugins=transform-es2015-modules-commonjs ./node_modules/.bin/webpack --progress","reinstall":"rimraf flow-typed && rimraf node_modules && npm install && flow-typed install","flow-typed":"rm -rf ./flow-typed && flow-typed install && flow-typed install mocha@4","prerelease":"npm run clean && npm run build && git add dist && git commit -m 'ci: check in dist folder' || echo 'Nothing to distribute'","postrelease":"git push && git push --follow-tags && npm publish"},"_npmUser":{"name":"westeezy","email":"westin.wrzesinski@gmail.com"},"licenses":[{"url":"http://www.apache.org/licenses/LICENSE-2.0.html","type":"Apache 2.0"}],"repository":{"url":"git://github.com/krakenjs/universal-serialize.git","type":"git"},"_npmVersion":"6.14.16","description":"Javascript module template.","directories":{},"_nodeVersion":"14.19.0","browserslist":["IE >= 11","chrome >= 27","firefox >= 30","safari >= 7","opera >= 23"],"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","flow-bin":"0.155.0","@commitlint/cli":"^16.2.1","grumbler-scripts":"^5.0.3","standard-version":"^9.3.2","@commitlint/config-conventional":"^16.2.1"},"standard-version":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","hidden":false},{"type":"docs","hidden":false},{"type":"style","hidden":false},{"type":"refactor","hidden":false},{"type":"perf","hidden":false},{"type":"test","hidden":false},{"type":"ci","hidden":true}]},"_npmOperationalInternal":{"tmp":"tmp/universal-serialize_1.0.10_1646008562518_0.10200526808148735","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@krakenjs/universal-serialize","version":"2.0.0","keywords":["template"],"_id":"@krakenjs/universal-serialize@2.0.0","maintainers":[{"name":"bluepnume","email":"daniel@bluesuncorp.co.uk"},{"name":"gregjopa","email":"grjopa@gmail.com"},{"name":"sdk-integrations-npm","email":"sdk-integrations-npm@paypal.com"},{"name":"wsbrunson","email":"brunson.ws@gmail.com"},{"name":"westeezy","email":"westin.wrzesinski@gmail.com"},{"name":"mstuart","email":"stuartmark@gmail.com"},{"name":"sioked","email":"sioked@gmail.com"}],"homepage":"https://github.com/krakenjs/universal-serialize#readme","bugs":{"url":"https://github.com/krakenjs/universal-serialize/issues"},"dist":{"shasum":"c4a508ec53f6b412b1032e78c570b87f4f2c7763","tarball":"https://registry.npmjs.org/@krakenjs/universal-serialize/-/universal-serialize-2.0.0.tgz","fileCount":47,"integrity":"sha512-Qd9W2iaP5lMTzXPETomBDAaqbgHYkEjJKcQ+3eNC8EwWGCHFk3/+uQ41B+QYfSZqRoz8AEjdNHOps7nDEypAyw==","signatures":[{"sig":"MEUCIH5/++dBfVCGBNDPLfU63gn+XAlx8y6NYF92P1v4sAA1AiEAl79x5P2EqLpoge52njB9XyyiiA07lLfltJ/X75vJvHo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99103,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHBtmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmox6w//dcLjaP/k7ZRiQMphxy2g+WJd5TwE3OnjGqw/DeRkAG3IEUMo\r\nFjrkeYEJgeqjzMvosmDLBObmJH4IVGSFkzL0JN9DKZWEMqO6oemW6rmjM5Qb\r\ng6/XRg79aSA+f7hopu4tqiPrCe+KBn6UdRZBUbP8DYQJSKQ8dSXUfpAkf8rP\r\n9/dKmullrSKukXksuVwqjwcCwgYL/HUzd3EDTCt9NyObwsfHPiQfbomrlfFS\r\nPvi/or9wBfyXqiWseteQhjDUwOwtOH1p1B3bdM7Pa4XOGD3w4jRpNpQhg/Ei\r\nEhXc43fNokGTzgWsw0pgl6IfWHR82ecE99Pfq957YzniVlszNz1TYj047zFQ\r\nlkmXDSk/Fmtr/H1Havg+SgnjLdD23UKsEXnBC4XJK5kCJwbmKfUuV1wf3aDR\r\nEryl1gERrQzFQgSxraxTfFH1ZId/AWzWkRRiYLhezzdcffb8ScsYFpRm9mFm\r\nTMhkKg7gKU4tdMgdNNUXvbR5O6ejFsu8kFhEhoCEUXWR8KhOcrqM6WwSBUpS\r\nXSBHiz79jzENhS2QgnSU2Kfu9sXR11Gl8HhksnM+TkbGUtVXD+MGAvbUqZYo\r\nvklqNPWmLJKxkaF8wdRgg4Q+DHqqWqZHTHIV4SXcbusmxLhGQWGbnFGM23kP\r\ncb7JwkgHY3IR6N1TwoT6nIOOZY5+c6L5ph4=\r\n=Z81h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"b8e9cda37b443ce5c173f0e687f1512c2e9c8df9","scripts":{"flow":"flow","lint":"eslint src/ test/ *.js --ext .js,.jsx","test":"npm run lint && npm run flow-typed && npm run flow && npm run karma","babel":"babel src/ --out-dir dist/module","build":"npm run test && npm run babel && npm run webpack","clean":"rimraf dist coverage","debug":"cross-env NODE_ENV=debug","karma":"cross-env NODE_ENV=test babel-node --plugins=transform-es2015-modules-commonjs ./node_modules/.bin/karma start","setup":"npm install && npm run flow-typed","prepare":"husky install","release":"standard-version","webpack":"babel-node --plugins=transform-es2015-modules-commonjs ./node_modules/.bin/webpack --progress","reinstall":"rimraf flow-typed && rimraf node_modules && npm install && flow-typed install","flow-typed":"rm -rf ./flow-typed && flow-typed install && flow-typed install mocha@4","prerelease":"npm run clean && npm run build && git add dist && git commit -m 'ci: check in dist folder' || echo 'Nothing to distribute'","postrelease":"git push && git push --follow-tags && npm publish"},"_npmUser":{"name":"sdk-integrations-npm","email":"sdk-integrations-npm@paypal.com"},"licenses":[{"url":"http://www.apache.org/licenses/LICENSE-2.0.html","type":"Apache 2.0"}],"repository":{"url":"git://github.com/krakenjs/universal-serialize.git","type":"git"},"_npmVersion":"6.14.16","description":"Javascript module template.","directories":{},"_nodeVersion":"14.19.0","browserslist":["IE >= 11","chrome >= 27","firefox >= 30","safari >= 7","opera >= 23"],"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","flow-bin":"0.155.0","@commitlint/cli":"^16.2.1","grumbler-scripts":"^5.0.3","standard-version":"^9.3.2","@commitlint/config-conventional":"^16.2.1"},"standard-version":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","hidden":false},{"type":"docs","hidden":false},{"type":"style","hidden":false},{"type":"refactor","hidden":false},{"type":"perf","hidden":false},{"type":"test","hidden":false},{"type":"ci","hidden":true}]},"_npmOperationalInternal":{"tmp":"tmp/universal-serialize_2.0.0_1646009190505_0.8397799312455843","host":"s3://npm-registry-packages"}},"3.0.0-typescript.1":{"name":"@krakenjs/universal-serialize","version":"3.0.0-typescript.1","keywords":["template"],"_id":"@krakenjs/universal-serialize@3.0.0-typescript.1","maintainers":[{"name":"gregjopa","email":"grjopa@gmail.com"},{"name":"sdk-integrations-npm","email":"sdk-integrations-npm@paypal.com"},{"name":"wsbrunson","email":"brunson.ws@gmail.com"},{"name":"westeezy","email":"westin.wrzesinski@gmail.com"},{"name":"mstuart","email":"stuartmark@gmail.com"},{"name":"sioked","email":"sioked@gmail.com"}],"homepage":"https://github.com/krakenjs/universal-serialize#readme","bugs":{"url":"https://github.com/krakenjs/universal-serialize/issues"},"dist":{"shasum":"f9890fc47452dce80d8caf51e7e2f8c9bca54e6c","tarball":"https://registry.npmjs.org/@krakenjs/universal-serialize/-/universal-serialize-3.0.0-typescript.1.tgz","fileCount":97,"integrity":"sha512-+zhsH2tN1iTONVfIRI1KJFTwlYRP2DsIE4miqWCQKCNP2LDKsTTJTHi32ZG8BwpuUOlTit3+vFn9Kx5sNWhwzw==","signatures":[{"sig":"MEUCIQCOjB44QFU1FkjEfXI2cTHlQ9YXoXrnIRlR+HTv+iZoygIgY87YQZuKMFiFdA5SbQGnvwJMWWtVgfYOrkp6YWbpVoo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfozpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqu1w//eyZ6HqkfSK00f/JxNv104kx7eF5snRSF3Wq4MkFuaRyQAw9b\r\ndAyBtRxBzDmk13i3xK1YkAD9/JCUTNEqYsNWeeL6bRMzkgfaJKpoK4XecO3b\r\nP0o7o82VXy4yYljT/l0eqMwt8edIdWAeXpsXw9u4CPxORRpQHv1Mtpzzjpxn\r\nl2hZp5cY+Wm2tfNa6jvCS6ZhJhNmXqcbVycQAYYtldxBB90rzGYAFozobl8/\r\nB26OeLDZ6eixb/AsGsTObK+wVT+kya3RidL0aOMHLKQzbFLIvuc9TdhuAAUR\r\nUHbakkgXPgMfxqqEBz7t0aZiG9/wfkdNFWqwt1RV0rNEG2MMI1W0QNlpP9zA\r\nT0ZIQcsy/Frhp9GxsvWq0VkCj+5QfcsQjTlxQgB9l6ddDb8o9Q10M4OwJ+vr\r\n2hlt5PUuBrj+j0O9zmcDrFcvVVyQhSJRn4jBZEPN363h61zDGpPMfTkL8T0J\r\nQJ4MpYO8PgiEX8sb+5GJkDhl73uVBGw1Cb2pQHRXJDCA5tuTWS0v8LMBcrpf\r\nKR6vpuZ3LmS6pjj+8bOxuctWhTviMTGpY8Ag/IDITsKDQY9KD3dRrCiI5WF1\r\nfJSbFRJU0R1OynnaQUsIbXPlYC+LDFqi4CrgC+VMRDiEehADLBAlARMn3Ry2\r\nQNlI/b2povmm483/YZXY23Xyzkt+2+Zt9bg=\r\n=6OnQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"dist/types/index.d.ts","readme":"## Universal Serialize\n\n[![build status][build-badge]][build]\n[![code coverage][coverage-badge]][coverage]\n[![npm version][version-badge]][package]\n\n[build-badge]: https://img.shields.io/github/workflow/status/krakenjs/universal-serialize/build?logo=github&style=flat-square\n[build]: https://github.com/krakenjs/universal-serialize/actions?query=workflow:build\n[coverage-badge]: https://img.shields.io/codecov/c/github/krakenjs/universal-serialize.svg?style=flat-square\n[coverage]: https://codecov.io/github/krakenjs/universal-serialize/\n[version-badge]: https://img.shields.io/npm/v/universal-serialize.svg?style=flat-square\n[package]: https://www.npmjs.com/package/universal-serialize\n\nUniversal serializer and deserializer, which supports many build-in javascript types, and any number of custom types you want to support\n\n## Simple serialization\n\n```javascript\nimport { serialize, deserialize } from \"universal-serialize\";\n\n// Define a complex object\nconst originalObject = {\n  foo: \"bar\",\n  date: new Date(),\n  error: new Error(\"world\"),\n};\n\n// Serialize the complex object\nconst jsonString = serialize(originalObject);\n\n// Deserialize the object\nconst deserializedObject = deserialize(jsonString);\n\n// Make use of the deserialized data and objects\nconsole.log(\n  deserializedObject.foo,\n  deserializedObject.date.toUTCString(),\n  deserializedObject.error.stack\n);\n```\n\nBy default universal serialize will serialize:\n\n- Errors\n- Regexes\n- Dates\n- Arrays\n- Objects\n- Strings\n- Numbers\n- Booleans\n- Nulls\n\n## Custom serialization\n\n```javascript\nimport { serialize, deserialize, serializeType, TYPE } from 'universal-serialize';\n\n// Define a new serialization type\nconst SERIALIZED_FUNCTION = 'SERIALIZED_FUNCTION';\n\n// Define a complex object containing a function\nconst originalObject = {\n    sayHello: () => {\n        console.log('Hello world!');\n    };\n};\n\n// Serialize the object with a special handler to serialize function types\nconst jsonString = serialize(originalObject, {\n    [ TYPE.FUNCTION ]: (val) => {\n        // Serialize the function as a 'serialized function'\n        return serializeType(SERIALIZED_FUNCTION, val.toString());\n    }\n});\n\n// Deserialize any `SERIALIZED_FUNCTION` types from the serialized object\nconst deserializedObject = deserialize(jsonString, {\n    [ SERIALIZED_FUNCTION ]: (fnString) => {\n      return eval(fnString);\n    }\n});\n\n// Call the deserialized functionn\ndeserializedObject.sayHello();\n```\n\n## Quick Start\n\n#### Getting Started\n\n- Fork the module\n- Run setup: `npm install`\n- Start editing code in `./src` and writing tests in `./tests`\n- `npm run build`\n\n#### Building\n\n```bash\nnpm run build\n```\n\n#### Tests\n\n- Edit tests in `./test/tests`\n- Run the tests:\n\n  ```bash\n  npm run test\n  ```\n\n#### Testing with different/multiple browsers\n\n```bash\nnpm run karma -- --browser=PhantomJS\nnpm run karma -- --browser=Chrome\nnpm run karma -- --browser=Safari\nnpm run karma -- --browser=Firefox\nnpm run karma -- --browser=PhantomJS,Chrome,Safari,Firefox\n```\n\n#### Keeping the browser open after tests\n\n```bash\nnpm run karma -- --browser=Chrome --keep-open\n```\n\n#### Publishing\n\n##### Before you publish for the first time:\n\n- Delete the example code in `./src`, `./test/tests` and `./demo`\n- Edit the module name in `package.json`\n- Edit `README.md` and `CONTRIBUTING.md`\n\n##### Then:\n\n- Publish your code: `npm run release` to add a patch\n  - Or `npm run release:path`, `npm run release:minor`, `npm run release:major`\n","gitHead":"52fa96c1835fb7440167bc71f83ed48b841d52a6","scripts":{"tsc":"tsc","lint":"eslint --ext ts,tsx,js,jsx src/ test/","test":"npm run format:check && npm run lint && npm run tsc --no-emit && npm run vitest","babel":"cross-env NODE_ENV=production babel src/ --out-dir ./dist/esm/ --extensions .ts,.tsx","build":"npm run test && npm run babel && npm run webpack && npm run build:types","clean":"rimraf dist coverage","debug":"cross-env NODE_ENV=debug","format":"prettier --write --ignore-unknown .","vitest":"vitest run --dom --coverage","prepare":"husky install","release":"standard-version","webpack":"cross-env NODE_ENV=production babel-node --plugins=transform-es2015-modules-commonjs ./node_modules/.bin/webpack --progress","build:tsc":"tsc src/**/** --outDir ./dist/esm --declaration --emitDeclarationOnly --strict","build:flow":"find ./dist -type f -not -path './node_modules/*' -name '*.d.ts' -exec sh -c 'flowgen --add-flow-header $1 -o ${1%.*.*}.js.flow' _ '{}' \\;","prerelease":"npm run clean && npm run build && git add dist && git commit -m 'ci: check in dist folder' || echo 'Nothing to distribute'","build:types":"npm run build:tsc && npm run build:flow","postrelease":"git push && git push --follow-tags && npm publish","format:check":"prettier --check .","vitest:watch":"vitest watch --dom --coverage --ui"},"_npmUser":{"name":"westeezy","email":"westin.wrzesinski@gmail.com"},"licenses":[{"url":"http://www.apache.org/licenses/LICENSE-2.0.html","type":"Apache 2.0"}],"repository":{"url":"git://github.com/krakenjs/universal-serialize.git","type":"git"},"_npmVersion":"8.15.0","description":"Javascript module template.","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown"},"_nodeVersion":"16.17.0","browserslist":["IE >= 11","chrome >= 27","firefox >= 30","safari >= 7","opera >= 23"],"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^3.2.4","husky":"^8.0.2","vitest":"^0.25.3","flowgen":"^1.20.1","ts-node":"^10.9.1","prettier":"^2.8.0","cross-env":"^7.0.3","happy-dom":"^7.7.0","@vitest/ui":"^0.25.3","typescript":"4.9.3","lint-staged":"^13.0.3","utility-types":"^3.10.0","@commitlint/cli":"^17.3.0","standard-version":"^9.5.0","@vitest/coverage-c8":"^0.25.3","@commitlint/config-conventional":"^17.3.0","@krakenjs/babel-config-grumbler":"^8.0.7","@krakenjs/eslint-config-grumbler":"^8.0.7","@krakenjs/webpack-config-grumbler":"^8.1.0-alpha.1","@krakenjs/typescript-config-grumbler":"^8.0.7"},"standard-version":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","hidden":false},{"type":"docs","hidden":false},{"type":"style","hidden":false},{"type":"refactor","hidden":false},{"type":"perf","hidden":false},{"type":"test","hidden":false},{"type":"ci","hidden":true}]},"_npmOperationalInternal":{"tmp":"tmp/universal-serialize_3.0.0-typescript.1_1669237993139_0.6604495856288475","host":"s3://npm-registry-packages"}},"3.0.0-typescript.2":{"name":"@krakenjs/universal-serialize","version":"3.0.0-typescript.2","keywords":["template"],"_id":"@krakenjs/universal-serialize@3.0.0-typescript.2","maintainers":[{"name":"gregjopa","email":"grjopa@gmail.com"},{"name":"sdk-integrations-npm","email":"sdk-integrations-npm@paypal.com"},{"name":"wsbrunson","email":"brunson.ws@gmail.com"},{"name":"westeezy","email":"westin.wrzesinski@gmail.com"},{"name":"mstuart","email":"stuartmark@gmail.com"},{"name":"sioked","email":"sioked@gmail.com"}],"homepage":"https://github.com/krakenjs/universal-serialize#readme","bugs":{"url":"https://github.com/krakenjs/universal-serialize/issues"},"dist":{"shasum":"d6383a66ad62a01cfb5dbbe9aa41ed46c6da4fab","tarball":"https://registry.npmjs.org/@krakenjs/universal-serialize/-/universal-serialize-3.0.0-typescript.2.tgz","fileCount":97,"integrity":"sha512-n34UIC0cJemsDuUAfEA98K8mSIMSsuZg/fsne74Jo5dqZEktPE3/mri3jN/Psxi8R5xuwHhAZwqFPwNhBTygJA==","signatures":[{"sig":"MEQCIGkn7zBdzBwlJcVJEDUSZpQUc9urRs8vHRn903HKc2c8AiAarNZBgn1sDoQMxAN1LMAwBvO1kZ6GgaOrFQK+P5Ui5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjf7TFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9pw/+J4rePGQmh0wRizLJCqfHFxEZb7cjMAZ8A4ye8BKU9ThG/LLQ\r\nf2YMdufmc9KZ8AQAIHE7SP5qnSL31B34faMRJTruDR4/A7xzT7ZEAuHbA2FB\r\nfdy6/R1MUfKczvw3saunCHq5ao/L+dev5AAg8BA5qvjF7Xbpgdv/uCUI4Shm\r\nUGYRL8mpEF3BS0gvdWD37U6k3U5rsn+ZnN3j2QWoBes16buWFe+2CovlZihy\r\naoh3TJMI4nc2J/UInWUEKILEpTjGsMC5ONHhfaO71tkP7h4U6xjaQFa7q+jn\r\nP8AbNQwxr4cmKIXOefSJn9cqbuGrFsMXclSZMxRYn6DCysFK/8M2fCBQ9qhj\r\nT8lwSRab4aTi1tKEnJgwBjLCS8bNBVRttFd7yyKjbRFyiqRSsZpDlCJRwBew\r\naJj3x7WdkUcrZqkpzwSW7L5zJIATZAZ+VHjXObnnKyzJwx9cC2TWrL7jNesv\r\nFQbPVGqd6bxXwfsxNwmxJhvR46x1UarzS1+8dWaKGVEAYMNBIoVlDFsm4TKI\r\nl46/GYg6IeU3DRhuhKwrtlodCgE/yPDbrWZLtpame57g6duTgTBWAlsvdIGt\r\ndDO7nTxdUW5OTXervbyVCPOsZFfWvd392e6/m0Wpj/25rAYJrktYbQxeDO+X\r\n2rDn/YHe5yPIP1uTQzWjpguVi/ji+K5earQ=\r\n=8ycX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"dist/esm/index.d.ts","readme":"## Universal Serialize\n\n[![build status][build-badge]][build]\n[![code coverage][coverage-badge]][coverage]\n[![npm version][version-badge]][package]\n\n[build-badge]: https://img.shields.io/github/workflow/status/krakenjs/universal-serialize/build?logo=github&style=flat-square\n[build]: https://github.com/krakenjs/universal-serialize/actions?query=workflow:build\n[coverage-badge]: https://img.shields.io/codecov/c/github/krakenjs/universal-serialize.svg?style=flat-square\n[coverage]: https://codecov.io/github/krakenjs/universal-serialize/\n[version-badge]: https://img.shields.io/npm/v/universal-serialize.svg?style=flat-square\n[package]: https://www.npmjs.com/package/universal-serialize\n\nUniversal serializer and deserializer, which supports many build-in javascript types, and any number of custom types you want to support\n\n## Simple serialization\n\n```javascript\nimport { serialize, deserialize } from \"universal-serialize\";\n\n// Define a complex object\nconst originalObject = {\n  foo: \"bar\",\n  date: new Date(),\n  error: new Error(\"world\"),\n};\n\n// Serialize the complex object\nconst jsonString = serialize(originalObject);\n\n// Deserialize the object\nconst deserializedObject = deserialize(jsonString);\n\n// Make use of the deserialized data and objects\nconsole.log(\n  deserializedObject.foo,\n  deserializedObject.date.toUTCString(),\n  deserializedObject.error.stack\n);\n```\n\nBy default universal serialize will serialize:\n\n- Errors\n- Regexes\n- Dates\n- Arrays\n- Objects\n- Strings\n- Numbers\n- Booleans\n- Nulls\n\n## Custom serialization\n\n```javascript\nimport { serialize, deserialize, serializeType, TYPE } from 'universal-serialize';\n\n// Define a new serialization type\nconst SERIALIZED_FUNCTION = 'SERIALIZED_FUNCTION';\n\n// Define a complex object containing a function\nconst originalObject = {\n    sayHello: () => {\n        console.log('Hello world!');\n    };\n};\n\n// Serialize the object with a special handler to serialize function types\nconst jsonString = serialize(originalObject, {\n    [ TYPE.FUNCTION ]: (val) => {\n        // Serialize the function as a 'serialized function'\n        return serializeType(SERIALIZED_FUNCTION, val.toString());\n    }\n});\n\n// Deserialize any `SERIALIZED_FUNCTION` types from the serialized object\nconst deserializedObject = deserialize(jsonString, {\n    [ SERIALIZED_FUNCTION ]: (fnString) => {\n      return eval(fnString);\n    }\n});\n\n// Call the deserialized functionn\ndeserializedObject.sayHello();\n```\n\n## Quick Start\n\n#### Getting Started\n\n- Fork the module\n- Run setup: `npm install`\n- Start editing code in `./src` and writing tests in `./tests`\n- `npm run build`\n\n#### Building\n\n```bash\nnpm run build\n```\n\n#### Tests\n\n- Edit tests in `./test/tests`\n- Run the tests:\n\n  ```bash\n  npm run test\n  ```\n\n#### Testing with different/multiple browsers\n\n```bash\nnpm run karma -- --browser=PhantomJS\nnpm run karma -- --browser=Chrome\nnpm run karma -- --browser=Safari\nnpm run karma -- --browser=Firefox\nnpm run karma -- --browser=PhantomJS,Chrome,Safari,Firefox\n```\n\n#### Keeping the browser open after tests\n\n```bash\nnpm run karma -- --browser=Chrome --keep-open\n```\n\n#### Publishing\n\n##### Before you publish for the first time:\n\n- Delete the example code in `./src`, `./test/tests` and `./demo`\n- Edit the module name in `package.json`\n- Edit `README.md` and `CONTRIBUTING.md`\n\n##### Then:\n\n- Publish your code: `npm run release` to add a patch\n  - Or `npm run release:path`, `npm run release:minor`, `npm run release:major`\n","gitHead":"8f367a9c624ebe7235e7035d5389d9ae59723eb3","scripts":{"tsc":"tsc","lint":"eslint --ext ts,tsx,js,jsx src/ test/","test":"npm run format:check && npm run lint && npm run tsc --no-emit && npm run vitest","babel":"cross-env NODE_ENV=production babel src/ --out-dir ./dist/esm/ --extensions .ts,.tsx","build":"npm run test && npm run babel && npm run webpack && npm run build:types","clean":"rimraf dist coverage","debug":"cross-env NODE_ENV=debug","format":"prettier --write --ignore-unknown .","vitest":"vitest run --dom --coverage","prepare":"husky install","release":"standard-version","webpack":"cross-env NODE_ENV=production babel-node --plugins=transform-es2015-modules-commonjs ./node_modules/.bin/webpack --progress","build:tsc":"tsc src/**/* --outDir ./dist/esm --declaration --emitDeclarationOnly --strict","build:flow":"find ./dist -type f -not -path './node_modules/*' -name '*.d.ts' -exec sh -c 'flowgen --add-flow-header $1 -o ${1%.*.*}.js.flow' _ '{}' \\;","prerelease":"npm run clean && npm run build && git add dist && git commit -m 'ci: check in dist folder' || echo 'Nothing to distribute'","build:types":"npm run build:tsc && npm run build:flow","postrelease":"git push && git push --follow-tags && npm publish","format:check":"prettier --check .","vitest:watch":"vitest watch --dom --coverage --ui"},"_npmUser":{"name":"westeezy","email":"westin.wrzesinski@gmail.com"},"licenses":[{"url":"http://www.apache.org/licenses/LICENSE-2.0.html","type":"Apache 2.0"}],"repository":{"url":"git://github.com/krakenjs/universal-serialize.git","type":"git"},"_npmVersion":"8.15.0","description":"Javascript module template.","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown"},"_nodeVersion":"16.17.0","browserslist":["IE >= 11","chrome >= 27","firefox >= 30","safari >= 7","opera >= 23"],"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^3.2.4","husky":"^8.0.2","vitest":"^0.25.3","flowgen":"^1.20.1","ts-node":"^10.9.1","prettier":"^2.8.0","cross-env":"^7.0.3","happy-dom":"^7.7.0","@vitest/ui":"^0.25.3","typescript":"4.9.3","lint-staged":"^13.0.3","utility-types":"^3.10.0","@commitlint/cli":"^17.3.0","standard-version":"^9.5.0","@vitest/coverage-c8":"^0.25.3","@commitlint/config-conventional":"^17.3.0","@krakenjs/babel-config-grumbler":"^8.0.7","@krakenjs/eslint-config-grumbler":"^8.0.7","@krakenjs/webpack-config-grumbler":"^8.1.0-alpha.1","@krakenjs/typescript-config-grumbler":"^8.0.7"},"standard-version":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","hidden":false},{"type":"docs","hidden":false},{"type":"style","hidden":false},{"type":"refactor","hidden":false},{"type":"perf","hidden":false},{"type":"test","hidden":false},{"type":"ci","hidden":true}]},"_npmOperationalInternal":{"tmp":"tmp/universal-serialize_3.0.0-typescript.2_1669313732926_0.6084412743851024","host":"s3://npm-registry-packages"}},"3.0.0-typescript.3":{"name":"@krakenjs/universal-serialize","version":"3.0.0-typescript.3","keywords":["template"],"_id":"@krakenjs/universal-serialize@3.0.0-typescript.3","maintainers":[{"name":"gregjopa","email":"grjopa@gmail.com"},{"name":"sdk-integrations-npm","email":"sdk-integrations-npm@paypal.com"},{"name":"wsbrunson","email":"brunson.ws@gmail.com"},{"name":"westeezy","email":"westin.wrzesinski@gmail.com"},{"name":"mstuart","email":"stuartmark@gmail.com"},{"name":"sioked","email":"sioked@gmail.com"}],"homepage":"https://github.com/krakenjs/universal-serialize#readme","bugs":{"url":"https://github.com/krakenjs/universal-serialize/issues"},"dist":{"shasum":"851cb502ffe57ff2b16194be33ad3d4ad2f3141a","tarball":"https://registry.npmjs.org/@krakenjs/universal-serialize/-/universal-serialize-3.0.0-typescript.3.tgz","fileCount":102,"integrity":"sha512-edBWxSaygf5Q4YGMbVk5ufup/wB25Z9zgMXkFLYeOUTjUnA5677oOJucHlFRNwEeWJc8nUQYojQcXOTIuazh7A==","signatures":[{"sig":"MEYCIQCiVAUfAu0zDV9d67mybTD9v2yzqD4RzT5Q4xkHT11qkQIhAPp6i0m7/S044SFdUDryIIdXZNcUjKdnWO9ad6tA3OBY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":128135,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjgRajACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpzow/+KdcPQjMr02WeoWqT3g1rLoV37OqyFgdhWQsDpES2adJpn7aJ\r\n8tAZx1+Z1dZk+BtielRBfHB4yFk9j5YnhXCdLTcB8PxRHIRAh69kHUaEZoQf\r\nnvK0bb7hB84Y3cfOn/jIPmVmkK1k8ggSUZRTwf4gYg95ZK40G4G+cwSqnqq/\r\nU7GwmJDuu7JDzbWajH0Gyo6NTvfsQFoNx0TjCWK/RZS/+i0ynjKrApDbx0Ed\r\nJ47C18VchWbIwN7Ie5SGL/EaZe0B3T8BZDYQ7RiOQqHMfOcpNU7DWSNVp16h\r\n98ZdCcoQr5+NRg7xh6cDwy8I/BIjoBDFK9gOZkTvRcHL9AXNx+lrta5TGDMv\r\neR/++E8fAWO+FgwxU6uyuaTiy1HRWH4CssbAMlRWQvj/PJvOblzFhpP2vdUi\r\nU/M2714XwkJqdppWIWcH5tOTEP61/H5Z7+lagfLjwgNPoNOD6B5WCsYrUqRQ\r\ncBlqGu2k066Y38EVa5P0L4i7+YnM5s4ul+iR4Zuc15jVV/+MCax9vuxUsBkd\r\nhF+f3t35ID5YbvBbUu+d1P2NjmrfIj2KjkMMBqlduukHI+AfjkjeVoRZoQ0m\r\nzxAJDXMQ9Gi1Yvro7jiPzAxtGDrm1/ylqiXEzQsvtQM07OjGKSaFX1KfA4TR\r\nB1qdYcFCtpkqA0urkq2nc0KT6RYJERglDNM=\r\n=eV//\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/universalSerialize.js","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","readme":"## Universal Serialize\n\n[![build status][build-badge]][build]\n[![code coverage][coverage-badge]][coverage]\n[![npm version][version-badge]][package]\n\n[build-badge]: https://img.shields.io/github/workflow/status/krakenjs/universal-serialize/build?logo=github&style=flat-square\n[build]: https://github.com/krakenjs/universal-serialize/actions?query=workflow:build\n[coverage-badge]: https://img.shields.io/codecov/c/github/krakenjs/universal-serialize.svg?style=flat-square\n[coverage]: https://codecov.io/github/krakenjs/universal-serialize/\n[version-badge]: https://img.shields.io/npm/v/universal-serialize.svg?style=flat-square\n[package]: https://www.npmjs.com/package/universal-serialize\n\nUniversal serializer and deserializer, which supports many build-in javascript types, and any number of custom types you want to support\n\n## Simple serialization\n\n```javascript\nimport { serialize, deserialize } from \"universal-serialize\";\n\n// Define a complex object\nconst originalObject = {\n  foo: \"bar\",\n  date: new Date(),\n  error: new Error(\"world\"),\n};\n\n// Serialize the complex object\nconst jsonString = serialize(originalObject);\n\n// Deserialize the object\nconst deserializedObject = deserialize(jsonString);\n\n// Make use of the deserialized data and objects\nconsole.log(\n  deserializedObject.foo,\n  deserializedObject.date.toUTCString(),\n  deserializedObject.error.stack\n);\n```\n\nBy default universal serialize will serialize:\n\n- Errors\n- Regexes\n- Dates\n- Arrays\n- Objects\n- Strings\n- Numbers\n- Booleans\n- Nulls\n\n## Custom serialization\n\n```javascript\nimport { serialize, deserialize, serializeType, TYPE } from 'universal-serialize';\n\n// Define a new serialization type\nconst SERIALIZED_FUNCTION = 'SERIALIZED_FUNCTION';\n\n// Define a complex object containing a function\nconst originalObject = {\n    sayHello: () => {\n        console.log('Hello world!');\n    };\n};\n\n// Serialize the object with a special handler to serialize function types\nconst jsonString = serialize(originalObject, {\n    [ TYPE.FUNCTION ]: (val) => {\n        // Serialize the function as a 'serialized function'\n        return serializeType(SERIALIZED_FUNCTION, val.toString());\n    }\n});\n\n// Deserialize any `SERIALIZED_FUNCTION` types from the serialized object\nconst deserializedObject = deserialize(jsonString, {\n    [ SERIALIZED_FUNCTION ]: (fnString) => {\n      return eval(fnString);\n    }\n});\n\n// Call the deserialized functionn\ndeserializedObject.sayHello();\n```\n\n## Quick Start\n\n#### Getting Started\n\n- Fork the module\n- Run setup: `npm install`\n- Start editing code in `./src` and writing tests in `./tests`\n- `npm run build`\n\n#### Building\n\n```bash\nnpm run build\n```\n\n#### Tests\n\n- Edit tests in `./test/tests`\n- Run the tests:\n\n  ```bash\n  npm run test\n  ```\n\n#### Testing with different/multiple browsers\n\n```bash\nnpm run karma -- --browser=PhantomJS\nnpm run karma -- --browser=Chrome\nnpm run karma -- --browser=Safari\nnpm run karma -- --browser=Firefox\nnpm run karma -- --browser=PhantomJS,Chrome,Safari,Firefox\n```\n\n#### Keeping the browser open after tests\n\n```bash\nnpm run karma -- --browser=Chrome --keep-open\n```\n\n#### Publishing\n\n##### Before you publish for the first time:\n\n- Delete the example code in `./src`, `./test/tests` and `./demo`\n- Edit the module name in `package.json`\n- Edit `README.md` and `CONTRIBUTING.md`\n\n##### Then:\n\n- Publish your code: `npm run release` to add a patch\n  - Or `npm run release:path`, `npm run release:minor`, `npm run release:major`\n","gitHead":"2828e6719bcebe764d63d6dd7548da6064ce603a","scripts":{"tsc":"tsc","lint":"eslint --ext ts,tsx,js,jsx src/ test/","test":"npm run format:check && npm run lint && npm run tsc --no-emit && npm run vitest","babel":"cross-env NODE_ENV=production babel src/ --out-dir ./dist/esm/ --extensions .ts,.tsx","build":"npm run test && npm run babel && npm run webpack && npm run build:types","clean":"rimraf dist coverage","debug":"cross-env NODE_ENV=debug","format":"prettier --write --ignore-unknown .","vitest":"vitest run --dom --coverage","prepare":"husky install","release":"standard-version","webpack":"cross-env NODE_ENV=production babel-node --plugins=transform-es2015-modules-commonjs ./node_modules/.bin/webpack --progress","build:tsc":"tsc src/*.ts --outDir ./dist/esm --declaration --emitDeclarationOnly --strict","build:flow":"find ./dist -type f -not -path './node_modules/*' -name '*.d.ts' -exec sh -c 'flowgen --add-flow-header $1 -o ${1%.*.*}.js.flow' _ '{}' \\;","prerelease":"npm run clean && npm run build && git add dist && git commit -m 'ci: check in dist folder' || echo 'Nothing to distribute'","build:types":"npm run build:tsc && npm run build:flow","postrelease":"git push && git push --follow-tags && npm publish","format:check":"prettier --check .","vitest:watch":"vitest watch --dom --coverage --ui"},"_npmUser":{"name":"westeezy","email":"westin.wrzesinski@gmail.com"},"licenses":[{"url":"http://www.apache.org/licenses/LICENSE-2.0.html","type":"Apache 2.0"}],"repository":{"url":"git://github.com/krakenjs/universal-serialize.git","type":"git"},"_npmVersion":"8.15.0","description":"Javascript module template.","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown"},"_nodeVersion":"16.17.0","browserslist":["IE >= 11","chrome >= 27","firefox >= 30","safari >= 7","opera >= 23"],"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^3.2.4","husky":"^8.0.2","vitest":"^0.25.3","flowgen":"^1.20.1","ts-node":"^10.9.1","prettier":"^2.8.0","cross-env":"^7.0.3","happy-dom":"^7.7.0","@vitest/ui":"^0.25.3","typescript":"4.9.3","lint-staged":"^13.0.3","utility-types":"^3.10.0","@commitlint/cli":"^17.3.0","standard-version":"^9.5.0","@vitest/coverage-c8":"^0.25.3","@commitlint/config-conventional":"^17.3.0","@krakenjs/babel-config-grumbler":"^8.0.7","@krakenjs/eslint-config-grumbler":"^8.0.7","@krakenjs/webpack-config-grumbler":"^8.1.0-alpha.1","@krakenjs/typescript-config-grumbler":"^8.0.7"},"standard-version":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","hidden":false},{"type":"docs","hidden":false},{"type":"style","hidden":false},{"type":"refactor","hidden":false},{"type":"perf","hidden":false},{"type":"test","hidden":false},{"type":"ci","hidden":true}]},"_npmOperationalInternal":{"tmp":"tmp/universal-serialize_3.0.0-typescript.3_1669404323599_0.23851513530185464","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-02-28T00:36:02.465Z","modified":"2026-09-29T18:53:54.363Z","1.0.10":"2022-02-28T00:36:02.671Z","2.0.0":"2022-02-28T00:46:30.729Z","3.0.0-typescript.1":"2022-11-23T21:13:13.381Z","3.0.0-typescript.2":"2022-11-24T18:15:33.139Z","3.0.0-typescript.3":"2022-11-25T19:25:23.806Z"},"bugs":{"url":"https://github.com/krakenjs/universal-serialize/issues"},"homepage":"https://github.com/krakenjs/universal-serialize#readme","keywords":["template"],"repository":{"url":"git://github.com/krakenjs/universal-serialize.git","type":"git"},"description":"Javascript module template.","maintainers":[{"email":"dustijones@paypal.com","name":"dustijones"},{"email":"sdk-integrations-npm@paypal.com","name":"sdk-integrations-npm"},{"email":"grjopa@gmail.com","name":"gregjopa"},{"email":"sioked@gmail.com","name":"sioked"},{"email":"brunson.ws@gmail.com","name":"wsbrunson"},{"email":"ravi_shekhar00@yahoo.com","name":"ravishekhar00"}],"readme":"","readmeFilename":""}