{"_id":"@raytio/core","_rev":"56-c2bcfccda5e81bb95a21be41fac0bce1","name":"@raytio/core","dist-tags":{"latest":"11.9.0"},"versions":{"0.0.1":{"name":"@raytio/core","version":"0.0.1","license":"MIT","_id":"@raytio/core@0.0.1","maintainers":[{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"715865df7d2ced244b1e9ba369f3b69edc076718","tarball":"https://registry.npmjs.org/@raytio/core/-/core-0.0.1.tgz","fileCount":53,"integrity":"sha512-S6Lahb1T4/SWEaS4eVoYR+dMBXQFun5aNF8A/w/wfMSNgmZXrHnGGb7uqOwaV7b+6a/+EnlvQzNOX48OMzklOA==","signatures":[{"sig":"MEUCIDVfHwAIfq0HflON6coVFqcH2Q4f0oD9guyVjzroNFkkAiEA9exzCM0d0A0gLJH3we4T2H444lf+bS6nEGFxzwTFir4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYapeCRA9TVsSAnZWagAAmYoP/Rb3uCI01GToc77SxDd+\n4cbwuaN6KpMnWRKQOg/CwgcPKLh7doeRNnSgA5pLgnQt71JyLkg/F8GQYmJP\nUAyOkcSFr6FS04nBKFTCQTolRqAk0JUZ1uIaQTXwHu1ux7a4AL0qUJM/vmoG\n2p3WF51hF+dzE1gjtCQTQpTHlRjfbj+7ibfcl5uwDStdYmB9syvxQBgoFliY\nUJK00baG5IqRVOEkSNyk53+eFEc24Z5nLqirIoaLdbVyxwoBeLSioTkd8FFi\n9akyP7/cvHBN9Ypk9/wWzUap9O50MR17jTEFqQnl2dgxcy4uNgZdAMLM0hoI\nERNAumY8Yy8tdwxmC/t6St4hQX7PK1tgmQhLzYp4t2fy9ofWkI/nxK7jsB0L\nuNorVaDwLtza/sYg2Qek39qH3DUwh+oMomMLxl2J9pSqmh9SU5xl5XxLmq2N\nE0ZizM8q2vq5aOdJM7SiVM3HwFd+vQWD5Las+AewvTMiw98nYTxGqqoaaNqe\nWnMRVZ1qXThVu3yzPNWTIR2tKCdJKMaSCTujmM0zqx9HTEKa2MhnKn/7hnxZ\nQmV9cKO+80zTQ/RwxuT0dfq3lbAldtDfXlXAaz+URUU4qtpdj5QAjAC2+7XD\nIfxoU1rEJ0MWCi+Amkg2vNhOJXF+fbIRruSbILW86M3KXWIk8dQAyZTNkew/\nLO9R\r\n=jP7W\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"6.14.5","directories":{},"_nodeVersion":"12.18.1","dependencies":{"ramda":"^0.27.1","@raytio/types":"^0.0.1","@raytio/maxcryptor":"^0.2.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","ts-jest":"^26.3.0","typescript":"^4.0.2","@types/ramda":"^0.27.17","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_0.0.1_1600236125831_0.9836762753507482","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@raytio/core","version":"0.3.0","license":"MIT","_id":"@raytio/core@0.3.0","maintainers":[{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"6e8f159f901d6daad14b80b7e95b80bafcd1aab4","tarball":"https://registry.npmjs.org/@raytio/core/-/core-0.3.0.tgz","fileCount":3,"integrity":"sha512-RWFgB/GW5k7Fj44EJXgB7iz44uw2vxbvozZWEWTLF6qyhVxX4kZvd8J4YCnR695oYpLegt04Qxn4mjmjyZDe3g==","signatures":[{"sig":"MEQCIC0V8swIkmVZFGhJjlAmIJVDrfpMUPxqEAXZEFUWsyHTAiAJsk/mFFZdC/HtUYPenpf07pMVh7Ad3XfEoFRUk64twA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYcXsCRA9TVsSAnZWagAA5iIP/3og5lXUev/xqAt65jZM\n4f1QPMYWly7tX+4Q4E+j7VKgmuLpvf71RRXHazVQo2Fpg1iXPmExxLDTmw9D\n3rDpCD/zG7368qLi2zgF5Nlh4XxIAU72W8ejFNnaPprUHnuqFUzOGJZnQ8WY\n+4XnshWOljzoWaYcKrAjqGtyGukCIljYPSVYWiKtXd7bZbmzEBTC6RA0uIcB\nwdJPXJgn0MmdVeKimDdNuSt1Ns82u7iAOwh29RbNZ7+VUd+JfTgvBLGnjOyi\nKZnss0DSniDSBHIyr2aiRAkYpndg8KAPAqj5WlTbnCuC0kk7pIRBYoL0yIwa\nVpdyFLkFB/gyJqVSpGng2EA/GD+xq+85t+YDWoqFxnY+lrHbSVNZ5fqefadx\nlj+CQ0OsLnPmLFsWlE68+JpohsXpaNIRh/70Ur6dhBkNa6IdcVodQR/xM9Q3\nI0F7KUA6enfDl7B1LAx1Fd5KO856/PiKmtqYn3MoGtM30df19e/27/UZoMTw\nx0TQp/0fiQ2GU46u0Id2dcick1jlmOW1YGB47+cqGuggI68am7q231uHyuwZ\nnwah+IxiZI5psgy5BWcslZ3UhqBgosfhXwBHkaQkzLi8Gd/eyor0+CBCCumb\nFv6p3gToqkj3MjowOXvdC9ROk3SQ9Wla/QKtM5L1C/sMJJUhs3aZMcr7EYBh\nQBUY\r\n=hqx/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index","types":"index.d","scripts":{"test":"echo \"All files | 100\""},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"_npmVersion":"6.14.8","directories":{},"_nodeVersion":"14.10.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_0.3.0_1600243179823_0.15564330138394888","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"@raytio/core","version":"0.3.1","license":"MIT","_id":"@raytio/core@0.3.1","maintainers":[{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"32cfa586d9cffc24538a32313e11f3773cf54c0f","tarball":"https://registry.npmjs.org/@raytio/core/-/core-0.3.1.tgz","fileCount":53,"integrity":"sha512-Rl+Ook1KfykI6S/BpgYIOfnHnli1ltIs1FC9yz9g4iRCs1LVdiBLlWqNI2Q459B9Eefp+CeRI7bNwygq/KVqOQ==","signatures":[{"sig":"MEQCIHXw/N2MFym3NcVWhTEDQuJpGuC/zvxRew2MVqjFnXk4AiB8ZCGG6OUvOejqTW0HPviJgSRmPU5qGW2dfWerquM6ng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYnuvCRA9TVsSAnZWagAAoGMP/2VBe6i1QzRUBDnbrFE3\nriWbM3okpRS4B1i4qdKdDLqUkT+AUV4kSVJ3mY0mCi22UrU7t4Q9MfcAy8LJ\nJFTHi8Ulpgp9ORk4JZ3eGtAidamtCNvcNINeF8bVdw/gmCUGChdhnM9X8l0e\niJ8bS47iPfgY7Q/u44QcRbQk99i2J0au/H1Q+pSMKIFSm8NURJp4QOftPWnu\n36qUHIH+S+RMX2g6yveDM6qEhxZyCS7d8I7NrxacrkitsHdBqu05cBmqBvqo\n/bdK6dtAxvBJMs2pbiNhFUvbnmjmCAQmlAoV/Bbcp3xsySNeqEJPJcdVcmyI\ntyN5F0BGVdM2AJtiENNjTOA7lZgcOr1VSYp4G4CeD+Wu26eAc63DpdvySpqQ\ndm/H4kyJ/zwP1qCZgd4wyyCC50N10oHZfm9QmSitEA2Vnwus7IYG0RJqQ5lN\nwiVtj9tZIml6DHBw2ICV9LcPGbfQYPlWxQmuA0GLphE3yCPFe4wwqDe27rO6\nEjuakZdu4Sg7/iLtVz2XdRy3bHETvUhyR229i/FW4eHjSA2JF8G8vIzGR4gj\nffOt9hBZwRxEupcUd7vdefKcPfjhdxWYtajijNafvJBXK6RV/dXXKZ/VXddP\nJzL0RPJW14JrFz8RXy+SQn9I1oVHJmNjJ7AEPSCSNAeFtgoXvpLERLgZeDo6\nvCwI\r\n=jGpC\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"6.14.5","directories":{},"_nodeVersion":"12.18.1","dependencies":{"ramda":"^0.27.1","@raytio/types":"^0.0.1","@raytio/maxcryptor":"^0.2.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","ts-jest":"^26.3.0","typescript":"^4.0.2","@types/ramda":"^0.27.17","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.1_1600289711110_0.6219078696525435","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"@raytio/core","version":"0.3.2","license":"MIT","_id":"@raytio/core@0.3.2","maintainers":[{"name":"kalda341","email":"kalda341@gmail.com"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"de09cb97795fc41221ac67ad7a9f2c15942d3527","tarball":"https://registry.npmjs.org/@raytio/core/-/core-0.3.2.tgz","fileCount":54,"integrity":"sha512-ykhSkAAuv4bEtJ+N0z8StAj3ZAq75PFQyiaJTVT1w69V5/kXd6OiAhDG8JdLhVn1k1C8zppvp/c6B5O5lNT7PQ==","signatures":[{"sig":"MEYCIQDElInfreOVrmE189RTAauYA3ecx+WUg2YjteABeF6TEAIhAPh1eC/i9iV6uRzcAv11IHq1aMLkv9ht02iJ5nTKXAEE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmGSoCRA9TVsSAnZWagAAQQYP/2NRF26CKJ/vbjjMScKl\nm5v9ace7myIv7rMDtBlzzNTO8ZlgjGEwiMoDxBI6n9irEEtB1V80ufkLd8/c\nKQvq4vDfV/muKM2XD/iovj23GSLVECc6h2DzpXL9E0d5RcvKxDeV74xtOHlA\nL5exh1cNl+Iyq3xLacm7bYIxfPNfbjI9EhtRo8ACBy5PkYVSlwN4ecD+RwYD\nxB8bHrSItKh1IO1GFR+8hw6xUiNP3j31b3WLnI8Zz43E4KrqBXAZdTDa4CxM\ng13lSrmQBgi917cdz3JqGZpQ7ZUoYDDJA+40k4yDXVF+JsQsgFoJgL6EFiXt\nVD6OOQc2ObkFopYpJ5TS2V2LdpsS25s631lU4AOeIl0Aeul23iW3e6C96XUT\nNfqRzuhuGnR3aDSUMKB7U8NQUaYU263g5zIt2fq7FDl2mVjGwuw5A+STsmtV\ngwJtn3RQdAZD9s6spa+SbwMTAu46VIDDv4kJBgWxi4kG+FgnGW+Ub18dJ6sg\nhBghP9oR5t7N7k9cPFgpEa9O0xg5p5Eg7l1vKRxw21sykHUCCnPICL/a5EY7\nKVbkSd2lsbaqLBERH4JNZSmp6CpNNg5bo4KsCjRhzQiaq5nqsLKyJs9+vn+Z\nMf75Vgv36QwIiWWiuRkmGqC/+mo0kxXflLrQMsn/fdxtIy0s7MiwG50goDCy\nCreY\r\n=nuHa\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.3","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.0.1","dependencies":{"ramda":"^0.27.1","@raytio/types":"^0.3.2","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.1","ts-jest":"^26.4.3","@types/ramda":"^0.27.30","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_0.3.2_1603822759922_0.19932934579622397","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@raytio/core","version":"1.0.0","license":"MIT","_id":"@raytio/core@1.0.0","maintainers":[{"name":"kalda341","email":"kalda341@gmail.com"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"3b6d76a4e98fb650443b9782392aac0e9e274a92","tarball":"https://registry.npmjs.org/@raytio/core/-/core-1.0.0.tgz","fileCount":54,"integrity":"sha512-b5KV8C4qVYIGl3Yw1L4BkBSV9/2NeuP7FTgrDwIv6DclgSSk/6IEZINw8Dq+De74t8oZ60JH9q1aIoVDPTFPpw==","signatures":[{"sig":"MEQCIA6xCfJB0pETXPEhXfxs2ofZEJCYb1PApL7BNm/qrno7AiAf/+0+FbYD1NOc2jsy2nLulzDb5X8n/Xp998mSYHSZBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrOPXCRA9TVsSAnZWagAAL38P/jC9DGU3hvT3iEQ8a7eC\nkzuCw2t6lPA2S7vuvgK3cqbdZbm2DVcLPxv2NfA9CG1qbyr2UueMz7aMhGvU\nFN39nPvCy1t3l5WFFh78J9/sylwTazbOc7voD84HgC2IcPPE68bIi9qVEy5N\nWH5ApDLycw9iK4tnBMnEAq6RRyYN4WW7wwFV0kWISgQDLYhSLFhf12M1JrR7\ncK6N1MTNpEWbP853L2K6lvV65YwkGPjgVJYTIFnkzBBUF1zdO6vU39nQEWo6\nRhNNSzbpYbZ3jp3HKh9OlKgFCawbNTstyl5KHpM40fliw8OPmZdCYxqRezuV\nvWbP4ye6HNpBu/74mBSXqxS7b+tnlNmzVX6IBwQ+j5MFDEijy8rGa7OI6Ssm\noYucKwo4jUfFPb2Ok6RnadhGWcjKO33JdvYt/MMhz3VBnl4n3KK1rg1rqYk0\nYYjWyK8o859imBq7aWdVCIkEp8WB9uPZAXxIn6f/xzvViqDBaM9iBbNIvuTd\nw47X8txysJMI3oD+nbdfKjvPnT9e+r8PNqoWQ+RNS2Vl1aD7F4AqeVvcGGA2\n+EP7gV5jPTWfwVxbGTuEAKqjPvAZhuAuiStSpq8xQNgxK8ZZEVj9U5OJzIXT\nhP9SQGCRFNetvP+L7Nwo9aSrrhBNGm7rz49T3kTCbrKDiaHoKd9EUan8sden\nBsc4\r\n=8fsA\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.8","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.2.0","dependencies":{"ramda":"^0.27.1","@raytio/types":"^1.0.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.32","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.0_1605166039266_0.4060112624501293","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@raytio/core","version":"1.0.1","license":"MIT","_id":"@raytio/core@1.0.1","maintainers":[{"name":"kalda341","email":"kalda341@gmail.com"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"5ec30122dfc21b815ca09eb866023cb62b65df94","tarball":"https://registry.npmjs.org/@raytio/core/-/core-1.0.1.tgz","fileCount":55,"integrity":"sha512-ZbpfGt1U3j5nW5UzKeneHq7LRLYjfwXRD7MXfjJxasGXc+gTHzlPnYQdwWVtcUvVgvhUmSDNtV3QOmcSZNVWSA==","signatures":[{"sig":"MEYCIQDcAPzSQnf7zqT/qjjp/Ixmeu7jRW+lKH/tx3D+70NmMAIhAN6v/Fcfk5cnG3YUh1Dzk9XhFcvvEDjKTLk+JhqInFpK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64606,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftikaCRA9TVsSAnZWagAA+OQP/2U75iLgqwSDbNxCxk1m\n9lf1I6jNdLWha6/KtFpe8Gj6EwVM+BamRjezqYl97WKuP5bi4+r+gCx6fuTj\nREhfyojSUnAlWGfXfqKrosTDRuYz2ey5XS+ZWO5V4gZm8houlYmdVFwpkV/e\nSTU7x1H7L3Ln2rmvaWB5YmrO1B4rWWmM/DNSwh9hpSZZi9s12/wOBKjZCsmX\nsqRhnSPgOpJUnMLgo1J1iQdp5skzW1MG6DEW+PyuVrEONzzwKpQGCkasf6QU\nf8NteA+hzWaHS2043XZuA8fyFyp8IZUXnEtfGHF/q9ZKAVxJi78Mph8W4qkK\nY+A1ABO6qfi898jyv7q/mAgwMFpzgl1gWSvZNeagilk06o/XSHWHRU8D97OM\n52RRmh+Cs3l13bneXeBVbVj0SX68Tmz52BlqDlBPaR5AD7jYyw7B46Rm0hrt\ntsR30QLpI3ZQGW4OMpld8GnZYJAjEX5nvGHzYWNWkH+5ft53BaTI/q3dyQPz\nE5EjTbcusq0lImAeowFmZ5nh3qpL+Kyjfa0b8banLjhq/2AqvlCrBYUBIP4h\n+kl//341+RnPtYvxiwxJoJ2iPuxwMbRt4oBAa2EZMy+GURpvxFpPSYuuhT11\nGiLY2M+k8m7qDox+pR+cL/VtMMqt9fh6IFr3MmQywpeYZoCuWiHhaf8Fe15E\nhRR8\r\n=B48L\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.8","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.2.1","dependencies":{"ramda":"^0.27.1","@raytio/types":"^1.0.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.32","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.1_1605773593555_0.24944770993236576","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@raytio/core","version":"1.0.2","license":"MIT","_id":"@raytio/core@1.0.2","maintainers":[{"name":"kalda341","email":"kalda341@gmail.com"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"50ddb9b49f392965d06bf90701aa1f7a917e9864","tarball":"https://registry.npmjs.org/@raytio/core/-/core-1.0.2.tgz","fileCount":55,"integrity":"sha512-Bp+LZrAoJ0R4oL4XyHYrsOgVilnB8Lat2OpaS6uOgTBYMmJV3YxkV37r7EKlG3lhMYdeRSIWc/oW3KNMTAO3sQ==","signatures":[{"sig":"MEUCIQDsSs4Yx7amp+VoiRUtVEA50+R0LKz+mBOXTyXqS3wL3QIgGlGwD3Ud0yEJ7RoXpux6wRgHWYADrG0k4M5QfHYq+Eg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65012,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftzfZCRA9TVsSAnZWagAAOkUP/RH7M05CPEBsqM4/9Pb4\nOTMt/nS8YGb3MotWGl+jh1RZTWY+k4u/3/55nD0uX7uWZ+gEvH0iq2qQ05yN\n9yjKX261UTgL4IyDnmwefRI9/3Npd3eN044wFuHY7qp4dwNgHtJ6Y+oCh6mJ\nM1bZhLt5vBvmvzNvSoOCBhbPl5zdVKbrW1DF4C1DPSoZ2n7uxK5HBBczlFQO\nmxog4EQsiaaK4xCmmaU/+dIAyvYyL7Dip6Btb7MT+rPGV3LTmejzSoDTlmir\nFR+rgtA/pprTHAZk+3am0nzG8bZ/w7JTms5tS8YVYrdEYL+ikx9U0GVOPFni\nHymt2xfuTIkZxdrC+ZHSLf5rvlp3KK/AZsu/9f3ph/44P0kOlH1cD12RYC2G\nIkZ0tQ665k02aWl+afUMKGWNX80Igad5IotLmdy7OHK4N/mHxShejRTauhlM\nLyJXK85XcExt6dQA+engzRFOtH2TVCm9aQdwxPcMn84KV9/kvtfD6IBTiwxD\nXAAqmpG59nBYRM6hCzya3EW6dpogSG01Dq7oME/51d+Aekkcisw2YswmlrlJ\nppPdmg+6gISti+U7cdDDpB9hgIcUHOsMwfJ1Yq6X2r4G4n4mAP8X2c4HCcvO\n5nNp+4HQDLAZRIW8f4rBcoqDJ0MIYFdE79nundWVX2RnH3RepkrQCNs41MsG\nBMvG\r\n=uZ7h\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.8","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.2.1","dependencies":{"ramda":"^0.27.1","@raytio/types":"^1.0.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.32","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.2_1605842904379_0.727560590707893","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@raytio/core","version":"1.0.3","license":"MIT","_id":"@raytio/core@1.0.3","maintainers":[{"name":"kalda341","email":"kalda341@gmail.com"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"b9a5dc0cab57f102be8ea84cb2176936c19dfa92","tarball":"https://registry.npmjs.org/@raytio/core/-/core-1.0.3.tgz","fileCount":55,"integrity":"sha512-tR+GpirPFS82XNkrjpGdSJHxqa1SDHR97nufzg2RDYAu68sqPmGMxH/fQMLfrF9dP+6/tMGk8Ym2law1l6HLvw==","signatures":[{"sig":"MEYCIQCvbx3kH/cK9uwvs47+T8j7wniJwUBMMKg0qe9u9QO86QIhANCDshpdnV4HCcQ9ESQrtalbP/mhMwSErBUj9gvWIsW6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvLLnCRA9TVsSAnZWagAAp4kQAJTO+QUs/mVfhLjFr1G7\nYqQKtd9YS99StgF2ZjlEstRIA/3RwiNksi9YaKimf6Gw1P//WVjnkK88HJhS\nEkNski4ohT5+eSR43TKdoL8o6RRraSdu3vD0TkMaK9xfvujQcrnNcksHZyLp\nZb+Z1CF31orJ92LSmCNIalyTB9dL1bAg5Vj4Bix269xg6cvLksBgHNLtYsQf\nbZKp0yxOd2rCgytYlhexnAdRqJUetedlq8EVPrOf1KBqZJKh4zDYOjWf6Tse\nOVtTNGrF+58fvtohFt0MEwKaa6t6NZy5B8lXGv/MjquyX8G0rTyBaKbdw5RG\ngPKLwbPINA2Pxu8hpeWJ13YjWmr2D3EqmNFfV18FpSENK80H6Xm6431AWzsc\nZBzfzIA+izaO51qR3t2QnGf8J+95y7ibio0qP05ZrJBUpfQVk+ezkhR0Vye6\numk02JJOshORqz4zudKNbpyVRcoM99+tvCtYOsscC1X/iSbLN/wlXtMr32Mb\nJE0EPLuXBNm2CWagElKgM4LHn8kA6sYJ7G1OD2vP0+U4SNtCDTKDzEHZoSzi\nvs2G6hsFO7zcWMjnOzAvHnw+1OCkXxcVWRXDP4HW9ybEYtf+JUCIrbZ8HFlc\nCVE8MiK/Y+q4BSccFfIgCq2zlGc6o8w+TfTHmcmkTLBKBzuoKrOVdsbcHeY0\nSjXu\r\n=5xQM\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.8","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.2.1","dependencies":{"ramda":"^0.27.1","@raytio/types":"^1.0.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.32","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.3_1606202086652_0.14975515825900065","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@raytio/core","version":"1.0.4","license":"MIT","_id":"@raytio/core@1.0.4","maintainers":[{"name":"kalda341","email":"kalda341@gmail.com"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"de8b6111508b9213a998f987cf2527fdc90dfc37","tarball":"https://registry.npmjs.org/@raytio/core/-/core-1.0.4.tgz","fileCount":57,"integrity":"sha512-KjPgwTFGRoWuWcFtLEtV81ISV8kt7pBSS1FYcWNSFF8XXcJB9nShMHg2Mw3xTMN0vH8AQnzv05kqLezLVoSp6Q==","signatures":[{"sig":"MEQCIBls9geEeZrQ2UJZ38Whznz2mMjQFsNQ6/xU2AU79OpzAiAtrT26fWcr8rqMayZyCXuAOb7nnQ88RcjmvFhtqKGzHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0JDPCRA9TVsSAnZWagAAD9AP/jn0zsTkzipWgIsG5jU2\nStgyQCEMNHuZ5axeUVLqfmyqfyfejyXXDpyYZHfD3B+5SahahVC8kC9rfkVi\nCSGd9dd103UbhhSvFTPAJT1x+sYVmQU1ciUUbeHCXGj6YUHhNl3X7KYNCOtd\ne2NHbLAMTiEqCt9uUlDdagjYPTsyKOaIETGisZfp+srzEjUHFRhRZftB3PVg\nbT0eeMjuMare4B7PxtC8mUvpmCSGW3JeR5StPCVK68eYuQfSzM/Enqdt8CLO\n54Rlfykji7Oe6CMRuEnoVWgJF5y7kSjkRfUGm9exc25JYoTgtLjV09WK9Ibe\neNaNdDgh+CKRmVHZW59o/1gPASRnOhZUPGSxEOyJxaZRkI4RAmmRn0fsUzdR\n6DQrefMURDY4bxjVmGUhhV5zn5HiI2jZOXR0LzKZ2lwkQ7VCq40mxmRdlISg\nERgR8rg1+JNUealoBDrOlV/gwaAmDMa4t/gBJZ4ZVgwrG0PbCnSn1bwYi4+q\nBRLCrHwTXkMjMqhSkdD677LLA0TlirGqFqjLmIJzO3PB35Gkft7y3oJn9y4p\nKAWZE57ghq+cGJGGQqBg1OoRXL9KOrYrO9eNbxhKY/HH3lVWnZgHjnqqi5Gd\nlOb3nxo+tNWrMD0c349BheXwgc51LpKkeGS2bqjRZlDkSX5rIJI9h15xXk/a\nDwJ+\r\n=j5C8\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.14","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.3.0","dependencies":{"ramda":"^0.27.1","@raytio/types":"^1.0.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.32","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.4_1607504078400_0.233043901631121","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@raytio/core","version":"2.0.0","license":"MIT","_id":"@raytio/core@2.0.0","maintainers":[{"name":"kalda341","email":"kalda341@gmail.com"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"4008b059c3529f32c13cc38daa497d5d11bff0c4","tarball":"https://registry.npmjs.org/@raytio/core/-/core-2.0.0.tgz","fileCount":57,"integrity":"sha512-N69W1wABnwrDuakXFBu6+iPgk9e8IY5vRI/lFasQyVCRzaf6tmP+HCHaAOcxcY1v/fdtljDSBCvgoYNVQB+gDw==","signatures":[{"sig":"MEYCIQCqt7DY0fmgCu0jwpIGWxDnitakqz89DR2Gxl9aXgT6DwIhAPz40KZEta2nOVQXr3/eXBmjf9FmO5KIlJbJ4CMlSsCY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0JxECRA9TVsSAnZWagAAGoQP+wVdpB1vvW/zddz5C46t\n4g3QxCQZql9lUeToWOKpOf5f1ln+GTDjJ6b2q5jhlwBuQJpHz69EEhzZwBxF\nGIob9Ia08KGK0vwR6qPnooRbwq3SSDruqD/gduVMgi3w5uRLuwMdIncMIJK6\nIBhrbfq8iynfVxEetekwS9fdoIS77eecdhcwTj66RgCs4ytK4U0G1ZbOMoLW\nAAsVhesg/F7qEAj0kxu06YlHj+ewgFKFnYFsDxHfncK2ci7AQ8sby7yXdEro\nWPBBWfxBb29/1GqRsSUhNNCRSQyrHxKB7t3bmRCqH2/Mi5AB9j0lTcrGLS86\nMvKasBCXf7k3KAIfITHOtwFNwocP0MFJEBMu7X6zeMuHoAHjtchscEo+ubsx\n/5heo5wNF8ZDfK9+l9yr5MCTvMZTng3UnQ4wOkm5+7YazzEHbHRLYnXGzE2U\nP++HiykVeCzdMm2cGu/xyKUH+Inp1BXxgfrAq45C14eHI8iGzxzWe4wuiLCU\nD0i5XTQ9A5Ko3CH5O4Zb0q4uqFPZLC3uGL4kl3rCbkpfZWVVgMOTx+gCaUk/\n+zk/EBIiV1pwzB5QrW4hlcxIH+F2yBAPCt/QpqTr2t8/Q2enpsL1QPMGRFc6\nu/vLm+7pWpn0ksfDRh/AWuZMxpohJUOEo6a0WUEqfNDH0RtfAwmG+TKOGFng\ncaVe\r\n=RZsu\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.14","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.3.0","dependencies":{"ramda":"^0.27.1","@raytio/types":"^1.0.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.32","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_2.0.0_1607507012222_0.6970320074836087","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@raytio/core","version":"2.1.0","license":"MIT","_id":"@raytio/core@2.1.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"4d58168315b5bfc8ec7427c1875d04228bc66292","tarball":"https://registry.npmjs.org/@raytio/core/-/core-2.1.0.tgz","fileCount":59,"integrity":"sha512-l7X3r8mxdbheRcxqjmrVWeri8ZPc6wiHI3APK+iufwedl+u4WJjxdxiL8L8eU6wp3myyunfgu/txMVAUH8wVSQ==","signatures":[{"sig":"MEUCIQCvtU0zDOYkFbXJ2jIHYGQUo5P72UVRhbnuUyckskNmOgIgGwgjreubGk2VO9/J95H9ear4Atv6YE/V7yHcu2DC/Ek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2SBRCRA9TVsSAnZWagAAJBkP/jGhU/gH+hxXaqBxMhwx\ncUK2pJKk0UJSPHz6ya/LCm0G5YV3mBhtWESpF23SC1oLgh//wq9aEeWYR0R9\n0QKTbZNGEDwgbQSfLE40soXJwLaE+LSEZLXXyXbarjZPTvH2asp88K9+twZl\no0NwjZJYKwRQ0maYfOGLHknzDEK52Jjoax+hyAtVbFXSJnRVVH8PITdWEHNx\nxKU1pXTF21OakE8RikkrPPAX6J/Em0XzYhJP2JvEwujG9HCIqQ5U9R76+xg4\n5N+pR46aezRfthaazDUE82a0dR55mZ55MV7GefG6VV3TsN77BRH58rHEE7XI\nqW9DellQqZJIQGiiFoII761kx9x9ooSb/ZZSZHqImze8PcmzZlbqTS6xopVe\nayBriFyD407fScrEUXqsjfkuVoTEmxDQEYEk5PnRy3KtrDSunvJxmSK3QTVy\nDmj45b3LZ47YKY7BfJ66vA03c+BAPhsJvUCPkywBM1BYBUvrHU53ytm1QOT+\nBmPuWFsIeCTEUUifiZ1lLXroeCo7tSN03PaQnr/QsQ2xoGifBijiqPLzGNbO\npBR3Dz/I93gv0O4k8e102LVaTfmwOSiPihOMBfLlKwvs+eAeX09Yg0im62tY\n3iqKqXZs9CRhHyDMZhWzKIaZSiRxVMVE/ImcNcPaggqbSxkqA9YUOMFqjV8r\nj8I2\r\n=XSZU\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.15","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.4.0","dependencies":{"ramda":"^0.27.1","@raytio/types":"^2.1.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.33","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.0_1608065105486_0.2142648460937433","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@raytio/core","version":"2.2.0","license":"MIT","_id":"@raytio/core@2.2.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"8518ed1e04bb8ad2080d6c180c486f0ab0c7b6ec","tarball":"https://registry.npmjs.org/@raytio/core/-/core-2.2.0.tgz","fileCount":63,"integrity":"sha512-1BJs88ro+zQ8AtqIeK90Gi7jznAwu5GtnjQ/HMnc3+hOdJHhSHumsTf/kjGraHXtxpx8Ga18Qr1cg91wYPSc3g==","signatures":[{"sig":"MEYCIQD6JchOSjD1iG3t2x6gPJc+Xk7HaMxrOO/0e8aQIlHFjwIhAPDG2B42ZIdG/h6Iufw00pmz0vt6Lm8LlDSDPGpdGRBt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2a8OCRA9TVsSAnZWagAAGaYP/RgFC9y7BitBz579rg0Q\nJCOjsx6a7TgTU2Caj7Ji1uhH372kbwflyxlYor0/MrHtPDaqsOt+h6UDiwoq\npzqKqy90DuRmM7dTdWGteFzxhdxTYyTAZnw/rkPel0l9hctawEI6FhKw9djU\nJBQkIWMxuG4GqzoRCtC2h+q0ZyEuaogcVcVcexhPkEIu4tGQchHvB/yL/E5x\nCUPj1LeaujaKHMNCZdbZeC0pmrA9ZfiFwdvBG5BJD4qUECFmtVqcitcVPOf5\nsk8+gfdOL3FVwCy7a+nTalbLqUdVQcDJUlo1kcD/xfAo7Z7rZDxDfbU60KT4\nEHJ/ySikYn5KTQk8M/3PSDsZ9KbSsyks4vu9D0DwiQE6q6D9EU/Ekq0CG5Mo\nbGN915QaHBJ717VcE1Fqef9+kzjnFsveCW6D91ooraWlmE94/WcHwSrvls9I\nNIRvcBRgAEy0nOpKC3PJ6y7YaIe4favtjbTJQwdrGZvHG9REHrDvmlYb0dLY\nNiWTnLILyCpKoTaWPCQqpcDmdvflOPtRBvuAxH04ZY05RCtIB2e8TzpHiY/G\nF7FLwCVe4dd2mVrrb70JlVpntvxgGRjgtvpaJ+xQllsvQXN1yE/JHzOCfZLB\nkzTKByyg8qZEwuQG0+mHb/5QfsOl3KB8jUKod9RzicWhHK7FmK2bKI3ddFxt\nIs3P\r\n=5iZS\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.15","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.4.0","dependencies":{"ramda":"^0.27.1","@raytio/types":"^2.1.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.33","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_2.2.0_1608101646064_0.23506706770506836","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@raytio/core","version":"3.0.0","license":"MIT","_id":"@raytio/core@3.0.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"52e2ad8bb2702f2954ef128d0ff0996fdb465015","tarball":"https://registry.npmjs.org/@raytio/core/-/core-3.0.0.tgz","fileCount":63,"integrity":"sha512-A5/dPz6Mj3u9sRrCHkFEZsAH2Lg2IkG+j6zJt7yW6Kv1QYeyVRo4cNrPksGoAUrtRCm/zKLccQgQmMTVPcHZEQ==","signatures":[{"sig":"MEQCIGdUCDPYGpzKmOsLNN0vy6A/7XnzDA3mkL/kDVmewItxAiBJEhI2n/R9SYXQhOfh2/jFHLsklBkYEBDG51kPeBzVqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":93130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3TR7CRA9TVsSAnZWagAAslkP/2MjMqjqf0HQ3W0TpHC4\n3s0XoE2Wt8DsNJbb7i74VbPHZ/Sg/U+OmTlkZpdSIZcrhvcu2DUgAUNa6fzq\nJfVXikkpoLcVnzuSvmz5LG2/lI/OyXMB4cU5dbDGbavYd5puS7DvKPtSUAzH\nvGmYqgvHPAYCK6TlFMYL2NT0scbNgDTM8KUQme0ZeXnUQSxy1q/cUxJigoCc\nJXqqE+KHEYmQSrYDXwsMGUMaMoMozvGfQ9vzNWUo4gBezZV9X25TTo9FW/Tc\nXz327rjKZNtEVHO46EdoF9+lI1S3Od/cqqYHF415dYCQbj77p5jLkVLmk8I7\n1zeTjmaUDUkgRsXCj+rBb9DWf5hCd7gYyjvsslVuqJzXdwYo9LiIR63DVnda\nr8xmwuQNj9Fprz2ib6a1hBnPHHcelwS2rQe20kz0/W65Gshz1QVWq6Lfn7j7\nqNwCCDAULHQb/SK8ZN1iBCbROoy5wOiu0nGkKQY8YRWm9iTNAY4xAQBIaZ4g\n06FL1fhne2hd+4+Au91P6uJ48QQfIvxWCnBk3o10QUgeJ1TuW5KVQr86Xyrk\nbOj4cp6HcMsXAqfylqf9jH4VlCAFXCbhOr1xD17TEAUtEyLLl2b1hhP1GJCb\n7kKhrZ0o5cyAuKkTnbh+DJNTt0whoXerRKLIkfduNci3ZEwrPaj4hs+zO4E/\nq+0b\r\n=swV3\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.15","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.4.0","dependencies":{"ramda":"^0.27.1","@raytio/types":"^2.1.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.34","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_3.0.0_1608332411052_0.03264150188386328","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"@raytio/core","version":"3.1.0","license":"MIT","_id":"@raytio/core@3.1.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"1242bf2ea020ded848be96273a134d97fd5b9b3a","tarball":"https://registry.npmjs.org/@raytio/core/-/core-3.1.0.tgz","fileCount":69,"integrity":"sha512-3PPPsJL+kc5kcow5bg1cSt2nVjoXBdX0zsGpfocUqEw/Lt1KXJRHEvKlIDp5XoEx+okirAIO2oIini8kxLAh5Q==","signatures":[{"sig":"MEUCIHoiskiaDZnEor2lElxM6exaVhiKVfqFPcPjrga0OSTmAiEAgoXzGJ5CkfQha8Pf9EKkct3vPZoCeuBLhfzp+GSEuO8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101947,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3XR9CRA9TVsSAnZWagAAxJgP+wfXDjUp5fCO+i1H9FLg\nAtInNe9Y3RPG2pYPddw+qPQd1QYYz2uz4CiTMA/RB9QEdLedK5ssJv2nayh/\naYzmnjxtHFfDR/fNOlp1j7S474yOBTtLKsUiIeoZyXn2BQXwP9N1P24blbtU\nPZjyufEbxIM83aBBEXy5pu7bv0IbPrjjRosLCVVCHnW8vNXIyQuMoG2ogheR\nCtA5QN6N2AEYfGLEXybpcgxV/efdYfZLPoqE9XJ4rc4cG6y9nZxvu2U4MFtC\nTdj4K/lVZEXuJY46RMm4vjzVS48DwGSR1pm6j8Ob5OvZLZ5jfNT2j+KLCxet\nGf5CKjoSTZghz3ncSvguXld1MqMiFIjeNgj/WSUxLpCi7Glm4U+FkszDe6Ja\nLW9j4DVdaDjOxPZNyvZ1yasEY2Q3mxRxEMQ22oAURDSKZv4Kajx8zSaCuU36\nW95hqZD6Jv0/s/FZdvH29JDefd0n9FFn2o45oBUijEYOVWvuqHIaGGwYt6qn\nLWMoyDRInVMZ/NIht+gUF0DKKYdlvzoGZW8uMu6SBdD84Ov/tHg0x+QbLBfb\nI9vHeBTwrM74iEm7YyRZmnfDyptiIW5OVMrP8Fc0teWZewinQWfABy2vpCiS\n+sGkV0WB/dzlpUjYYSOLD0kkd7P7wjqIK/TXpdl3K4CBsb20wPn47cBRalke\n2Kug\r\n=3nPY\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.0.15","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.4.0","dependencies":{"ramda":"^0.27.1","@raytio/types":"^2.1.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.34","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_3.1.0_1608348796860_0.5312287550834878","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"@raytio/core","version":"3.2.0","license":"MIT","_id":"@raytio/core@3.2.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"1b787566866aa1353e3f804abe47b936529babcf","tarball":"https://registry.npmjs.org/@raytio/core/-/core-3.2.0.tgz","fileCount":77,"integrity":"sha512-P5mbYgzgwqoCu+KdIrZyBmHx0SE69GFq6gKGMIFDXXLPvGEa2BS7dClyRnBdhTOqyGYs8FoE3SoouvvDjXUWNg==","signatures":[{"sig":"MEUCIQC/FiRAy8MZc6BoeK48VEgdIGjXarAFcNcE0HdQ0ZgmqgIgcAvDmQo7hjtt2djot0Th1FBpVELofeNqbcb5Ys51XRQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9oU0CRA9TVsSAnZWagAAzLYQAJyya8xKvooR7/o9zy84\nEm1JPX+mf99K3f6KghTtdx63ZL3vTYkYwl7YW+cS1QnTqWXL7hh6RdESeF13\nICWiyvQQXFt5RZhhhN6fGTt4Jm6y7K0gnG9jrurI2rrqgkOmXuDjprOHynih\ncDJp534UeUzsbNxo/Oi1CdJD+6eZAiRFRu3NwhwbodV0tkx1v/cFjKMEnYD/\nhGIME3MRtmvTwlff54j+peNKp0VziDcEf6SF2GYDhWyp9PSrePLrQOj/gS2M\nKlbWzpW2m7b31wOzd9MFfVI+dN1LPD9Wjj+QKzINdYAG0+flXB9MqTtZcwIJ\nzkh9cJ6/ZJ6ulWk1RipqUPmBPjtDFwTgLIWaxxXmVOQ5FBEK/1fUT6M6tnUT\nGc3zxR4lY3pBHmoZ7ubHqDhl8LJbhJNo7FncRVxlCKHX0RmyzXgMZU7OshgV\nrnHj6r4WFMUdzXqCUmnqeTqGAr2gsolJp12lx6c4Of7iNTEcaqvI1fDTYe3Y\nxIH99pjsJ2u/Li5LRRTULWuL9ePealpKAteNcHfuQOSFa7t7fBYTWqxP0dAv\nLYFnj5n2lClEoUMiT1tHSqPKIX4ttl4cAwwWZ8er9lOPB0PxJtgftQuzW6na\ni/cQThM61gkYoIFnFgEEk6W7OZ1tVtdsuXqPRcCF/MTZEIGxuIGG8368J906\n55mg\r\n=KaNM\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.3.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.5.1","dependencies":{"ramda":"^0.27.1","@raytio/types":"^2.1.0","@raytio/maxcryptor":"^0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.34","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_3.2.0_1609991475552_0.1519175320388848","host":"s3://npm-registry-packages"}},"3.2.1":{"name":"@raytio/core","version":"3.2.1","license":"MIT","_id":"@raytio/core@3.2.1","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"09700546996c48c568f1fae6d43eba073be46010","tarball":"https://registry.npmjs.org/@raytio/core/-/core-3.2.1.tgz","fileCount":77,"integrity":"sha512-tywGsg0Wl1kkm7/tQ7tEEuuuA/mhzPXgchYpu7TPSvW0i1vsYC22nvXBRod2pDr+lQKy8eM/a5yRxbGQAejTmw==","signatures":[{"sig":"MEUCIQCHtO9TLylTZV1YMkOu/+BKh21Vs7ARUfH2jMEa5U4uGwIgHXuL9mgc2KNRR/h8vP2hXhh8EVtbmdPXMFtwDxg1F48=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBhHmCRA9TVsSAnZWagAAOtsQAKBZODXJfI/t5cYF2UD9\nXlbbnLdGpd/emiezgzzpL9Ha0SQicFWjNmvEYKYAFtH34OK1rhU7m/9xtm1b\n3vFL5JUwSBliynmyuqhiL/i43h1bKh+1EG7E4PyI8BuTK1u6JKFh5YTT6uGj\n5sH9e6Fvign8OM+K3MTL73GHfU7QyjVEKMlt5ZYUs7Mhj4BNoAyW/VW92deW\noa716SrQI5lEpoDQ9eyvHyR6zJYMRu/lh3LddHeqFVPt33dL6dnJXYPJKq40\nGOfGft2RvIvQs2slBbYLPeOwM2JjLv7rakAR1uTI7v/2PNS56SXD1A937QHf\njeqc+r45QNxIIMHV3/Y3OLT9DvZBPid6VNwpQG6NX4PqqDaBAdDvZbVvzze0\n/BkaSK7bYQB8LKppdPb4p2szGAB8TW5hA66YZSq9Lvagvw0OR2GtqxYyicLx\n8hlu+3g26eNBe4hy35BSgkIXoXu8TGjZ1yR6D5qSmh8E8ZPihvtIsUcRS0Ot\n+CbZJfcwrADqtVYToWK1JOzKs4ps+EQAAaU88U5Ry4aJdZllzfHuK3CkUKEu\nSPlLvRFbC84DHXBdDvr/Xk8El+Ms4PSdPA5GcJFbYpjLNqQGUyIkaFymicxF\nJMZiaK5YVWFaHFNsz1K88B0RcOepKFS/2bp7sCvULxzpDiJU1CkJUOWD9z49\nzD2x\r\n=8Vse\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.3.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.5.1","dependencies":{"ramda":"^0.27.1","@raytio/types":"^2.1.0","@raytio/maxcryptor":"^0.2.17"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.34","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_3.2.1_1611010534114_0.4384369716771621","host":"s3://npm-registry-packages"}},"3.2.2":{"name":"@raytio/core","version":"3.2.2","license":"MIT","_id":"@raytio/core@3.2.2","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"f9d9413823fd50095f501f7c247428a089f7b269","tarball":"https://registry.npmjs.org/@raytio/core/-/core-3.2.2.tgz","fileCount":77,"integrity":"sha512-llSy5z/k7xgnciAZ2goZJnzf8pqqIm+5PHUbNLcAH/f4n4ei8OdHg2sSvnjeuB66dE3vrpoXspCnck2A1Us1GQ==","signatures":[{"sig":"MEUCIA7yvuPzRgjpVGnVv202kOksf7riZ9iY1VB41eCqZT20AiEA/S6YurRdif+dX5OOpyBTYFsGE1iyoq8UE8/PJOlMPt4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":107086,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB2AtCRA9TVsSAnZWagAAUSQQAIzv01yCfqDbfvlPExg+\n/r/kdqntAc4AB8DUaazrF1Fac8GaD4hW3RGVYmzi48pH8dfa5ke86SEV7ghq\nTCfC92SpE/BEPyCRRPvlOiB2+L73UeiYBr/a6YbU+qjPupbw/ehkXmtlPm/2\niGw3Jd2FOQ/FX5mIayilKQZiZWRW/EX3kHNF8vu9TWtAyG5T/hHK2Ce7HQYJ\n5axB3fNe1SQldFR9yhWaU9OFVMxD8NBsvg5DkzOv3fIzmBuTqdXmXn+h5iLD\nOtrfkNiYozcumsWIGOZ4CCPA7EFxPiIlNunpoDlelhAsLe9yfc15a1E+jkDW\nAD6AhMiE6LRVrNJTkIL+H9k1j4xIxw4iek6XusaJIM/T0IUcRvamhkUHu0TW\nHhcPMKOKP0ooNLqgnWMFI0FG3y/TKUGMY2hAl0UNjVH5hr3F/T7mxAUpbF5j\nQ65wRopv9r0bnViCMFyBc/gFIPDFajBy9QCAtVsNCTsABLGxT/p6i2cwhl8i\nTvaL6awJfnWCCzGIlE3knDviviIg7B9WLk9Qoxl64yRychUERzdlkRSdp4sj\nkQOKSMa4qkOaYNioEGTYI/IFgLvATLyalMh1JKM+Mf8ZAoJq4hgiqylztXdF\nX5GRE/loloJby+obhkwLkJh/f9Bwhzl7Dz9uVACOZvaF0PW+o9ykgg5nQ+OG\nh4u3\r\n=UQQA\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.3.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.5.1","dependencies":{"ramda":"^0.27.1","@raytio/types":"^2.1.0","@raytio/maxcryptor":"^0.2.17"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.4.4","@types/ramda":"^0.27.34","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_3.2.2_1611096108333_0.9521561701040344","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"@raytio/core","version":"4.0.0","license":"MIT","_id":"@raytio/core@4.0.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"d8404c05af001f9133f4e5bd2eefd41dd4157ca9","tarball":"https://registry.npmjs.org/@raytio/core/-/core-4.0.0.tgz","fileCount":77,"integrity":"sha512-QjKAB72Si1r3uNGO6OzWY9vng8ApY1GSwjkeTPbv09p6qds5ALRmUPs3/idRlSRYhI6K697ReGNLdXiUW0aW7g==","signatures":[{"sig":"MEUCICr9fTofoEs4pn2d2gKYMNSeEtImTncU3xcfo8Rl2zg+AiEAuhu9wDs9Rt9YRz5XP/aucDHoMLt5W3dLOr1loYsidHI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHFYsCRA9TVsSAnZWagAAHEwP/jZ0y07zsSwbeWLxb2j5\n0ffro4PjypeDpQArYg8B9dYx2v/cgVxPfHZyOXzV+9fyniHbOFNV2QXZM895\nsmmpPLqxzD6bGVEwlEzptZYVG/F/CDawibstjme0nVBlTqugrCtyHkQKN8Ee\nz5hg7ioXTIfSbTHRV3vUATXantbnB6P2Yb5ur4Sgg4ouGKRGjxevb6E/53wO\nQiEEBwbD860pgOd5L1bVaNquYJQ/Au02Q+dAbMWPoal48nw/U2O6T4lxByvX\nKJ2TiLj0hRb9Vk97zgZBtHJjiG3ahZiWJgw/SD5hsPAM3cumeiBbwHjO+8Ee\n3NK95GviKbgkMJLFY7RciTGKYRyWch9QRqNPaCPYrV/d7o3qd76ozEk8x0cL\nWPWmD9jRRko73getB+QojKtc825JdBVVqqLGMzCIDG3sgiZEsZsPBD7YHWch\n5vwux80pA5fEM7BxlkH0WB2BoyaaWmc5KBXI8I8M92hpfvqks1Ou71rQdRj1\nUuPUmfCANRBaWrqMwttNpA6diFCMpEmGj11fts9VCdeDftuNlp4UQF7meeD+\nTGy/M7ofF2zlWgwxoVkPVOrORv26jsKCVSvXZqWd0lhsoxLhxTntN5OKQtoe\nbTrLwP1DX/45AZR6BBor7J0glPdjyHWoRW9rPnT10nuhBTuSWWwMRwWkuYoR\n7Vzs\r\n=rTue\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.5.1","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.8.0","dependencies":{"ramda":"^0.27.1","@raytio/types":"^3.0.0","@raytio/maxcryptor":"^0.2.17"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.5.0","@types/ramda":"^0.27.36","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_4.0.0_1612469803473_0.8125128524410172","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"@raytio/core","version":"4.0.1","license":"MIT","_id":"@raytio/core@4.0.1","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"b45e5588f86a0aaf583af22f0e3a51c4c657e6d2","tarball":"https://registry.npmjs.org/@raytio/core/-/core-4.0.1.tgz","fileCount":77,"integrity":"sha512-x4Ue2VWpdNQHSxoPQSw+Aau6GL+7M9UEhB5PJwXkqZmENUehnYLwzlTCpQBsjd7yjSGmnfiG2QGNNVvWD6duSQ==","signatures":[{"sig":"MEUCIFbRHD77TtxDwBFCzrzpVoa2TORzOJu7CWuMxY9xs7uJAiEA6txquJ/liM139rPIjL6x03AhLUhfe6CH8hpospyjiqM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIbXhCRA9TVsSAnZWagAAbx8QAIaClY4E1F9zn6b0e9U0\nVLgVp6uz/jU4kM6wGWryv86eemsGmYY12WRXgzaCGWHmm1XgDhmUxy70jzXL\nAlhFIC94mf6s43kJNDAiskcucQzjyyqrVtvrJ6JWhrVnZHsLvNINoK+sULt+\nLbitrdCb88xwSHQ0xlrZOer9xPJ0T07Mx2bq3UTPyPurBN998hhbudgwDbno\nsdlpLB6Qz702vyGed15kHiL7s5NGFzlD1Ra7X7k2NVGDA+2Crl20nTE24Fam\nBgFRq6cTdU/kShnnZlmf+EtJbpXW+9SUX43dz3cZZLFCBbTxMSFzirzzTNjN\nlHWIU6/o40ocp4zOVjZVWWbzpP30TSD73T35l8eBC2pCchuGX3HDoU6kQK81\ne+zKkdpwMLQ3WH4SzUrwepqvMh+mCsXRfDrcAh8UKfMzuaa6stuHp/bz8pJI\n7dGDLfEyxc8TOezaTQbOQmmQKA8BJJst3yF7GYNOR9/Zz96WBVAs6QGluFWE\ncvLQh8HOHGmI2FXYG6P2OQppc+zu0zEqup4z3j03Fi/KxdwgEg33zwjhksx8\nyriqy0yekdH+3D4jgRX5jxEDsMNoBmbi/kgwHfZcSFqvf8YgAtBSVr9u8m+f\npMMPJpExQnAi1tjIEFkCk8ufl/Am0B5/iEKmla7DD33r7EdWuLFghFS8wzEv\ncS6m\r\n=Ahyu\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.5.1","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.8.0","dependencies":{"ramda":"^0.27.1","@raytio/types":"^3.0.0","@raytio/maxcryptor":"^0.2.18"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","ts-jest":"^26.5.0","@types/ramda":"^0.27.37","localstorage-polyfill":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_4.0.1_1612821984824_0.6202672792715678","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"@raytio/core","version":"5.0.0","license":"MIT","_id":"@raytio/core@5.0.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"3dd3d41620c15326f26252fec04871b1d43eaf2e","tarball":"https://registry.npmjs.org/@raytio/core/-/core-5.0.0.tgz","fileCount":47,"integrity":"sha512-wAaC9ZThlL45Brr+kHICPNF7e6gmKeSiHm1IuqO41Wjt1VzrrwLXoU5gb6GCATZ9RPAggMfa2IxqoiJYTMUejw==","signatures":[{"sig":"MEYCIQDhrJpHq65DgZY9xlZo1m0SsvI+nNz89ctsv9yWlIylmQIhALGFcJTg0KldZfzBhBT2xgFVIN9jMeXSe7RFLyFJe001","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP95pCRA9TVsSAnZWagAAMogP/2Rivir/h4mPVtTVFgeT\nITq2KRRGyfrW/7A+CL+s3s61r81laXXfMtZsmP6tjX76yq2gEAJaoOmcpEF6\nhzm+FFyHD4oV4EZ069OjcePIqQ/eTLWRoGW1+YgLNwkXH5nqP+gdIffKDQad\nAkhhfSorsJUdHYVOu+CDAccHyBNbWsNPpsAfzZvnyYa+jAPTPg6NytMV5bFi\nRMIlM+8Lc7z3WEkW0YRAVQ1qXhwCLr97svSAC8qVOnWyC3ZRFcQkrvnhZYCD\nV/eTcW9s4G2TMqBWgiweU9Rd4qCXpgXX1nCwfgxxcPRP94W6cymUPwtAlxA+\noe1H3YGWlrxKu+1zxgzvIIfVgciBI88XMsi3Cdoj//WchdbkfXF0sPiuXMGw\n0qIeNaJ+iB3fpRajWzWdke3e+gwusvHSTh7xc0D/vFRDvuDWczbARQzkgYRT\n8m98DSgizK+yQ0h7m5JHpVpc6xrs0o+OwibBGKjNdXZcHuRdg1c2ClgZI6Tq\nCsxewTWbSkcZhz3eSJjFB/GBzFPM9toID7meGQ8JXlp2XL1yJfAn0Fjs6+7/\nryOjBKWreGpsvcnUStSQ46aPQ6g2VAkipe1JKJzNDjvlbdo4IB+sxOu+Hlt7\nd/KPyhnHaKhGQ9NrHks07bt1Kva/n0nBW5jkfIDzmd/4daPndUYUYjfr8hcw\nxbxD\r\n=VdYc\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.5.3","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.10.0","dependencies":{"ramda":"0.27.1","@raytio/types":"4.0.0","@raytio/maxcryptor":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"26.6.3","ts-jest":"26.5.2","@types/ramda":"0.27.38","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_5.0.0_1614798441254_0.894221186571738","host":"s3://npm-registry-packages"}},"6.0.0":{"name":"@raytio/core","version":"6.0.0","license":"MIT","_id":"@raytio/core@6.0.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"f54247ef7916cf1dd820eb2aebd4f82b67da08c8","tarball":"https://registry.npmjs.org/@raytio/core/-/core-6.0.0.tgz","fileCount":47,"integrity":"sha512-i2VBJKVtTMex4QJDj6HAp4DV6CzoadbgvMyC571p6NbNK86i57hwUBe9UKL7oLvWBFc/tDRA7wZq3Lmbkme2RQ==","signatures":[{"sig":"MEYCIQD4Bj9T2AWy9rbMOHEOQai4CQndtPmULoS3nheAVVcpyAIhALeJVIXM8MjurM4X0lb/F9pQYlw0ewFmWKQ0b2PTd34g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQryrCRA9TVsSAnZWagAAJc8P/39LNTMf1lOfB1lIHoVf\n9/JP38G1DoCrXc/p/KP26HhVAbuJPQzZyGHKCI1VXece4ad2TDfq8HnSXakf\n8HvhNQOE7KhYteWKhV99w0tBNAuvgIZISg+gml5/53OWJ+nrvI8jgaJHvSQ+\nJoDUeq+Xe2y7+lThUUfDRb+Y+zZnuOv/SnVOr7VxB6zhpqmXxQEJr7fXOzSF\nwqN3caAqlgiptqxnQLiFEtnN/2R8V8TDa6AlrZlpOpuK2shEvsV5NAFQodha\n9KvMnqJiaqTUVU+CWixGS0zJNCWi1kMOKKX6swYi6iBtfQSVJ2sNnRbwswHt\nrgfrF2AHmNmQh9+NsCW7TkVGbOAdTue6PcTsZDrUy9TfY10is95K/S7mnPFM\n0JqCy2DZNP+Yiu6JlNbiQiNikW2mx+Bl1lTBtUGr85BdB43UfNrGZQGrQ39z\nFCt2j0wvQkA4fqqfwrUI1Gw3WP5zJDI1BvWo+mQcIKAyqQCXTU8qvI5+G9rq\nWt2XatQFNbL4/4tzZ6mb+lrg6JvCOiswWbfzL/tAeDTtK/6kzvHtFboNXSir\nMwvLv93H4WqAiCSEa6MqOeYPOLtOF/gMZspoR+i84BmIDzcEIBFP3T/2rVen\nX/SLwaSalcKPxnP/DxC8mRT45kQqKGTgmqeUJDow4a7miE2soBHVWVpcQjrA\n3afe\r\n=gDlb\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"dist","types":"dist","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.6.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.11.0","dependencies":{"ramda":"0.27.1","@raytio/types":"4.0.0","@raytio/maxcryptor":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"26.6.3","ts-jest":"26.5.3","@types/ramda":"0.27.38","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_6.0.0_1614986411216_0.9740097391506466","host":"s3://npm-registry-packages"}},"6.0.1":{"name":"@raytio/core","version":"6.0.1","license":"MIT","_id":"@raytio/core@6.0.1","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"38d700ab0c697335bd283568ff66ec3f8e8194b8","tarball":"https://registry.npmjs.org/@raytio/core/-/core-6.0.1.tgz","fileCount":49,"integrity":"sha512-YvrZxlUfZFV9QKeuIvR0PwEdG3TzX21D9f4WfGiUS0syc7iIjQ6yrz3GiH2Gvn9Ugjmgp+nbUEt/vO0FwPWVvw==","signatures":[{"sig":"MEUCID29wc14oRQNyFxhtYcb2+yAS1OcbO5fxSJDWt9i2KI8AiEAluFtvIQUXdqNdIzh0g9ssGKIquJdZKdR7Rrws2kmZ3g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJga/4MCRA9TVsSAnZWagAAhPsP/0Q6tW4pioDp8LFYNlDc\nkU8PYqjEjY3fWfxlPLm11P91iowyS6jyJTqbduiqoJarcZIVjEWYv9opuGC+\n+1Pl2gYJelsf1B0fTDMN4VjvFE4buAtugomIRO1Am7rz0+04xi/eDRH9ua1P\nBpqFWzZJikWjpm5RzPFYu2qRAn4YxdBzhYE+H9Uf1HRK+vFndaKh+eiFyZpS\n9I9e+sQoiKevkKQPYCWA6P5afNSvEP2+44chN9nqdzmm5WOHllC5+3L8I7d8\nR1MAntpUaMaiac3aGJfJTBUb25VjvJPhOgtZkHlxAqZh+9ea1W07hXUk/zJr\nVkx7npBMbndkkVU4Zt4fUlUHIFhhRO4fNkMD6XwbTZ/jOc0rzlU6DrsVZFHW\nUVaTlfhWP1MLnCuztpTxh5ZRGdHB2qJoSuAhVP/Zrhra1Ac/WUcODs2qTYiH\nQZN/Q5mTJ5F6LqLhqI4tnsRuDMEqSarE2H4+15f8IU8vVqeLw7rVPuIUYW2X\nbdR2nWEIQpZufWENg/YRXtDganFXqPO0JRfbezxetzOiNTlaM4D1nmQyKREs\nbRy2E27ohNQI8HrxCoEfmyxCejUuaaISSAlpy8Q+F8O7SiHzKTN+BZtnkbWL\ncJ+AFxQGgCtZMLeTkcvTpfQIreWcr2X6f0YLENazcNms1P86yQerfK8WU65J\nt26g\r\n=AM7c\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.7.6","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.13.0","dependencies":{"ramda":"0.27.1","@raytio/types":"4.0.0","@raytio/maxcryptor":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"26.6.3","ts-jest":"26.5.4","@types/ramda":"0.27.39","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_6.0.1_1617690123714_0.6234694411326287","host":"s3://npm-registry-packages"}},"7.0.0":{"name":"@raytio/core","version":"7.0.0","license":"MIT","_id":"@raytio/core@7.0.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"83e51333bd9838bb8cd4cfcc4bd52acf087bdde5","tarball":"https://registry.npmjs.org/@raytio/core/-/core-7.0.0.tgz","fileCount":49,"integrity":"sha512-IsE3hnwjDoDN3jz7L/pYcyxV3JYi0J/WTl/R2ZXGGxRKckX5QQbQQnb9x6k4NpmXXgiLEruUCYOsoheZ0vo9ZQ==","signatures":[{"sig":"MEUCIGpDZ2jUCLUJsxVVliDlyJbeWvma68I20Wn/l28lm2eWAiEAoViBUtSwlH935Q/2tQ7XA2mogZyBMz0ni2V8cwDd8RE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbkaPCRA9TVsSAnZWagAAbmEQAJt+rYby7x1WKO2vMJI2\nf0+P/qS9yoeSJXTarXUbLqMqx45qMOHOjCp7LylvJ6lAXj12ouv3FOiv0j+i\nEmhE3LHmLG78yRUhpjdBpIYX5Umvzq5x771JJMwZ7vqpydQnzPqnyfCGpyEf\n1O9Vqzgg9nsbzYqC0BiArTFG4VvluAHldj3+kHFdOwH0XjSE4UaXTnHoMhL8\nFZkGHxX8IIpGS9CpGaelU3JhuLCLrXXy7218ctJdNYOkdO5sXX6tlzkF39xF\nD4vhSrUF+ygBLAZt8XkLC9Xuo2i6hpkuZtrEFpyzhRlctl7PKEcyIooREYnA\noPYdQcvzK3HGHPyGzjkw7agjsf7ZTDizHMtdHlIvuQ/LaCBCkFtsODQf/NHN\n2b9TpA4I9JPGki1jn2YaRlNK9ZnqXZEdiWg5R/RjFTB6alhcOJT2YVOfAW9H\nO1pMCK303cV1wB0b/oLgJiu3qUjZGTpv78qRzEYFYfB9dN/zusK4Oqi0Ecld\niUpA81z/Lo/oGejTGCHKnei4lO3RG+VW6upOax66kg8NuZG9n0e2zcuCtOwk\nsK15DFXwohx6SvMZpxRTZ1vzaVu0P9ISp5iEUEqXh91CYIRDefTzVUz8Zbnq\nLuWWv9fONwOkCBpv84+RF5zf5+LkfAxxC8LD/hje8fBdPRNF/S32hYWC2gMZ\nXO0c\r\n=eu3z\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.7.6","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"15.14.0","dependencies":{"ramda":"0.27.1","@raytio/types":"5.0.0","@raytio/maxcryptor":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"26.6.3","ts-jest":"26.5.4","@types/ramda":"0.27.39","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_7.0.0_1617839758678_0.8417064194375843","host":"s3://npm-registry-packages"}},"8.0.0":{"name":"@raytio/core","version":"8.0.0","license":"MIT","_id":"@raytio/core@8.0.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"851a838495e0fd6a681913905a505584fb7cdd92","tarball":"https://registry.npmjs.org/@raytio/core/-/core-8.0.0.tgz","fileCount":50,"integrity":"sha512-HFPhF7tX3mwpuHc6K66f6X2InVxCKAPXfQwhQQzp9Z0L31qPCoNAASfIDqQXWHXWwvKF9ZUTYRpZLHeYu2Q7HA==","signatures":[{"sig":"MEUCICKsTrsEeoxL85uOvKNgYz+O34lAdYQSBvX/t6Uc6U4yAiEAgMxYYMyvQfgBs7vDPCw7toMX2nYWST7DvQDuHztQE34=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDuKoCRA9TVsSAnZWagAAGrMP/i6YXXhHzGtK26gKB1pg\nCLTWil6k9SPut7PzzrsuW427zLNr9QabzvP9F+0h+Q24f/7mPTt+7E/lwWGp\nPFQzVYc6amdmKuUjM+JUCYc6BfMRDEVmkQi4WB6ec1ATcd8MxO78/jXwRG/j\n0lfKCmSZSHBro2AvrwvS5IHnF+VZdPdTvX3b9WJEgozAhl8ZAoSBZ/go9f1C\nixxerIogq4ERRwESRdLEPCQTCsHm1KskzCoN/D0yNiXHHYqEcZMGVPuqB7MK\nJNK3zUgt5fxPQWlr0+nmEDpZj2fV7RFpS8BCYv+eWKgomr0u1YEA0mWR7yor\nalirSnbK81fIh3neG8bbzZLIXDVWPb1b+SZNMP1KG4Yxn0Akf/Cq5LwPIbBE\nk/BDWXqB/HBCRqG8zklVSxwP+h+jdUoVbdP+JMMTJ/PphMS/wrVnHncJfaUZ\nyAm9EOAahUa2r1lHfBGez0AiEwm+zL/e1brxMp4bw2wdX97nyoMB8AMzuIk8\nhB68T18IXR44a0Sd2T5xEbPyEoYUPG7V7bACulEfgag3P/f37vaIdlHXIKyH\n9tUceYleGC4XUPVcKUmPyD1W9kPwIfUB1E4xS+uBtzk18Hx+XzYvUajK73f7\nN3eJzdTPvoZgtoBXsyVcu5Wf7mAhregfJbemrDMg8Vqyp0RR60rrUsc5FRsJ\nFxfS\r\n=Rs+3\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.20.3","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.6.1","dependencies":{"ramda":"0.27.1","@raytio/types":"5.1.0","@raytio/maxcryptor":"3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.0.6","ts-jest":"27.0.4","@types/ramda":"0.27.44","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_8.0.0_1628365479832_0.7269895660295305","host":"s3://npm-registry-packages"}},"8.1.0":{"name":"@raytio/core","version":"8.1.0","license":"MIT","_id":"@raytio/core@8.1.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"55062807fc82b81089117ad139422656e62c94c0","tarball":"https://registry.npmjs.org/@raytio/core/-/core-8.1.0.tgz","fileCount":50,"integrity":"sha512-L1jF7H+i5BlWrVUv1RqetVuSadi5cejRQwDT9dDywW2TkjcuOjA1+/c8ITRW3Sd90TRqFttuGEF07Fl12OIX5A==","signatures":[{"sig":"MEUCIQC7RfJAKT+bk2leIMHOoQNBIIEK5bkr6acVgY4JbW8xAAIge7/2ok/WKEXNyEt6YbsGYiByFUBJKCQeelgXG6yf/xw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLrFxCRA9TVsSAnZWagAA3I8P/2tmLv9ZA2ufvVnJnO7p\nCLCgthLS/HUx7CrpP5+vr7tjP7D0aVXEtd4GhJAwT+BX0cMRaE1wV4cMNa1w\nVshVwnbemV1APCV5nbkWQVZoMvPEINVh9jjNxwT+5EUn6+EkO0lsHKG3Bp4Q\nfjnisMzkz+f3/F2dh6e4p17tR7zCRba7VT5kcJ+IrR3TVjq/fsMRmB4M41+L\n4QJ7W8WaHfG4esSnl8LhCjo0nGfGXAOobyV0rkTfX1jLoxZS0ZWzHn/ZZhoR\n1WCNgdMDCOIK3kB7DNHEE82uOxxD5AOFED8fp1Z8LApfwCEPh/sI40NWLLtB\nF2LSLuG/QKN4i869bDH9SaSquRakPEhlKetfMJvZalTVXVl7qpnnDj9XWa15\nbSWTib5tu99TXYwotMw1/9doYySvsh0CA6nyw6pSeLEIifsU3N0BDEB2YFlA\nBgqZM3NHyf2WYGNabpKgNzipZcN9iFNaA8KEBx/Lbb2OIN59MBQSzhsJihmi\nW9h8ZiR0+qLqkKrWKPT1MAkDvtBAQs7+Xhq3rgFH4+g3lwr98xkhZ9p0hOP8\nhPdHjDkzFXQsfhUyKj4K9Ny6uEVI9zau827vU04L3AcFJtMfZPG8/FQrQQAB\nmRK5mF1eJIo7wWDyGC3OGNn6CaQ8KXt8Cm+TNEQOLdg74spMDVU4jwPgMVhL\nx2BS\r\n=y8Zt\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.21.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.8.0","dependencies":{"ramda":"0.27.1","@raytio/types":"5.2.0","@raytio/maxcryptor":"3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.1.0","ts-jest":"27.0.5","@types/ramda":"0.27.44","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_8.1.0_1630450033286_0.6092218924069319","host":"s3://npm-registry-packages"}},"8.1.1":{"name":"@raytio/core","version":"8.1.1","license":"MIT","_id":"@raytio/core@8.1.1","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"41b6fa5552ae14e8aa67058149d4e4d758790382","tarball":"https://registry.npmjs.org/@raytio/core/-/core-8.1.1.tgz","fileCount":52,"integrity":"sha512-N1iJ2iJtUfFkdYtnRY0cRHnbI1xmcOUU0uYxNMvkl2CQTww/BdpTzkRqxeLQ0+a4RbfLJ4SSwYaV4lwIq7suvg==","signatures":[{"sig":"MEYCIQDQ/xqi/4S5XClBLCHqTotobRMU4ZvNdkJLca74TzGYJgIhAPBWB5rheWaK5FukKCmf6FtZm55doBNToq6gvMRVBI/l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQXzpCRA9TVsSAnZWagAAdscP/A3pdXKBBYmz0LX4J1XS\nnLP4kOnykdrF8HJFDCljLwyMjiQ8LiB38Mr3niXOM0Xv82ZYincbSmBmlgrw\nPnuM9enytdSu2Vco5W8KpVD5dw8/OwpHwAlbP+jQYT5YSdoiVMvsWlxIEplT\nr2ReaARw4NPm7Sj1+6QuAhsec4uTZm0NDAZLJ+hVR1Wk0K4aI78InX6XsK/8\nxi1hfolaqkGWPqMCJ3p88+nFuSJhZT0rDvU0UmsOaQFPgrYK6FsJ23YWECMi\nr/IXnNfsJZjSFarsUqHZUdY/wKkCPjjyewjMc+iwUJp6N2QwcLP7j1eg0cYu\nzX2zIUb8oUQJW0vp6fwTAeTaUQTO6zWfFy8IfLHBhNa1XLpGYheR9LYv6AEH\nC/9mccd0DIntsbEI+tMiY2c/QVN7y24IYTT/+lsNj8mmJBiCd3h+bjxsrTgo\ndP6vmT2hHW85uI7oSsh70JpJ60FZ7qZfnPVhsRyQh2M7BCXnsym3zregwAg4\nfCjVfaIaoLTJrXHorZ5gK2dKByYqDJu7jpw+FvRon1JY/RZLFlsakAcYe0gm\n+1J8ttKE/DDR5pafp8Per/TAtW8wp51xO34HdB4YC6mXyAWwaaX94TYIrhQS\nIFtZAwskDxiD8JzriiztwGzRMzd45XnkRTFNSz4VixJbqtXVyUgGZDPPpltv\nyAs1\r\n=LEc9\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.20.3","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.6.2","dependencies":{"ramda":"0.27.1","@raytio/types":"5.2.0","@raytio/maxcryptor":"3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.1.0","ts-jest":"27.0.5","@types/ramda":"0.27.44","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_8.1.1_1631681769000_0.3466292486138327","host":"s3://npm-registry-packages"}},"8.1.2":{"name":"@raytio/core","version":"8.1.2","license":"MIT","_id":"@raytio/core@8.1.2","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"1e62e88830255836fd171120c6659b1f0e62a220","tarball":"https://registry.npmjs.org/@raytio/core/-/core-8.1.2.tgz","fileCount":52,"integrity":"sha512-8li4R2i3jWHOmeGTLL1rqtfHjncjQCqOEoDwfdSDd+9X1mxu3DJAfdbH9wQ8/hMqd0kyGFR2yA/x1WazWTw/KA==","signatures":[{"sig":"MEYCIQDgrvgzhqqWsV6ccbuJqU1UVO/pyw0Pb8nBkJb6G//tRQIhAJEtPV/P5fNoQ3Z4+e0RfmHp31ee0+ZxSPew4ECoi1za","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44027},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","gitHead":"2ccfe6ccb65e381ae2d7176b3936b8e3f5d35e77","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"7.24.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.10.0","dependencies":{"ramda":"0.27.1","@raytio/types":"5.2.0","@raytio/maxcryptor":"3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.1.0","ts-jest":"27.0.5","@types/ramda":"0.27.44","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_8.1.2_1632460284108_0.2998504807357729","host":"s3://npm-registry-packages"}},"8.1.3":{"name":"@raytio/core","version":"8.1.3","license":"MIT","_id":"@raytio/core@8.1.3","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"42ef92f91438329fd2db2579b6e8974b9d325717","tarball":"https://registry.npmjs.org/@raytio/core/-/core-8.1.3.tgz","fileCount":52,"integrity":"sha512-Jd7N8lSlil4CfHWAHP6zbnm+2MyFPwMf2CHgPJ1i0P3R6vtpqeM8YKRKWY4/ioGIm/x7JgJknXHaViYuADG/AA==","signatures":[{"sig":"MEYCIQDQkr12iVczqXglvXWkIHxK6pxUuM/9zgCSiPYWHQhy0gIhAOoG1K+2KKUELkMpSf1ImQduNQxS27TMTgWHOxxD3wFC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2YAvCRA9TVsSAnZWagAA1l0QAJ9bLE1fW/yYL/sJPWVi\nuG3+iuQ8s9nApt/mrcjcnWLkgccvhs51+R4gsh97nUNwOTi9gAkcg7VRgvcN\nO6oa3PzietdO21D4voQAaba2Yz+HOvogeIGjstilOTAqp3ykkTxJQVBVXZKS\nfTJKQnHL2tc5bXajQbXoRK3ZqPVUD1+D4yDOKP4BoKcm8bbnzX/2q7KQjyEF\nphXMLOaJW+C9j4IuYWFH3S8Fyle6rEIAkQiEtJsoAZGowl0RoX0U8+ReocmI\nXPHO0StfZABbBTm7qU0bWbhg4Al1JjlyI4j+l41C1cS7Jv0eFXHuwyYNRPZB\nqg6Tz4BSu8td2HVZHRaVmFCrm2k0NogyDDxORDPCDJilOVPuCKCxneMZJA0G\ncB/0SNUrL9+3LU4a2kOYE2+LvZWh3arOYZhHHJhOdyRaNe/X0OgIp9B95msI\n/sU5/wMPhyxkWQdYj9HuX+x2pWprbiA2YtMX7ViqBF9XlBhsaTaAMVmALnvV\nqLUoRXEoy+BKXcw0Y8lASsxqM4R4VONesaBy3BcVwLBbloqNpDP5H5kwMjd+\nAFqEasWZ8toSuYhBn6mgXZzgSIlae26cfiZ3hsVHuOncizPcz6ePUOLwCZiP\n46PGlBMVf813kTKHWqSqQ4SvuUl+PguSLs5OHOyZpuKt4y9nvIjd8WICeHbT\nVO8X\r\n=Z8D8\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":true,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","gitHead":"55416868221501cce7eebe114903daf8d9c8c82e","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"8.0.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.11.1","dependencies":{"ramda":"0.27.1","@raytio/types":"5.2.1","@raytio/maxcryptor":"3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.3.0","ts-jest":"27.0.5","@types/ramda":"0.27.44","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_8.1.3_1634584880895_0.4821042919102374","host":"s3://npm-registry-packages"}},"9.0.0":{"name":"@raytio/core","version":"9.0.0","license":"MIT","_id":"@raytio/core@9.0.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"2f408ed62790ab34a12185eba8a09e7df1d83a1d","tarball":"https://registry.npmjs.org/@raytio/core/-/core-9.0.0.tgz","fileCount":106,"integrity":"sha512-wAHIEH+/HNp3DUjC41nNqA9OiFB+aTSiNmEqWEHzPX8pbHXNKHRbKV4P4l5DPevhBcUwrXrY/OHgwc8i/bPpXA==","signatures":[{"sig":"MEQCIGWfMVCmdGuhvkPvL/Ox7itC6guNgMgN9h3mlvRB9kd9AiBEqYDLd7XoXdeDmYU0ipFJia0tabH1I7OrBKUREuFkFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+MEdCRA9TVsSAnZWagAAbSMP/0LYZLfDMXgYcvRpCL89\nYCto/eLJmS652oEdvwDZV+hZD7MGrMXuwmeSdahOBkg28g86MkvW7bVgCkAQ\nzioxXuK7feMoXmvUPvX4xMRHB24KYhWV5mt/Es/gpysNMbprXw1S02CIKfcU\nESYj+CuphaGolzEiLIRUimTolFSv8GtCn5fXYnVbu5dRh6I6cY25xA9I3CWz\nkZZcGlUFJ09OJ0ZcZMdEKWWzC/p1KK+BdzTaYa5xo5Bsf2b2TDIt+aSFTS99\nqChVVQAfRd3YNCNGpl7pPWGn05qRqzQixGL/rDXJ7Pbe+C4ecuH9UhtpZcH6\n8z0iTAN03l/U2i8Z/YnGAULU2KXWi6uKEoHpNh2BvXa3B7hHMBhL+ua+0QHy\n/Qv8yNhq0i+rJOo/E2mwTxEpKEn5OkJBVpzi/MpYv8edMfgKu9UCPPQwpYe7\neBxQuoXlwZYBsrPTZeOXSBDYXSIcfXtZG+RUIUviOcSZjvzV0DZ2naUO54jV\nDmmRVgMhWNZqa6LVRNP21rELhFLXYfQ8EImXvCyRbUCgDQTbK0MtRViLKeET\n/sNeF8c9eGc/dI7KEWQu3gB4MtoK3YQ4/xfcLQSqmK5UvVFOwodc10igdVB+\nuudIKd9HOuArDCXl2MFZCBW49WucC1gJmU/FWOG62II/70dVo/EiqfKO0eyo\njqWo\r\n=ty07\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":false,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","gitHead":"cb3343ea56261cfea657ff75586372c84bcf6388","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"8.1.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ramda":"0.28.0","@raytio/types":"5.2.1","@raytio/maxcryptor":"3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.4.7","ts-jest":"27.1.3","@types/ramda":"0.27.64","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_9.0.0_1643692317225_0.660912375440541","host":"s3://npm-registry-packages"}},"9.0.1":{"name":"@raytio/core","version":"9.0.1","license":"MIT","_id":"@raytio/core@9.0.1","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"ae770322d046f8de6d7dc8cf58666e8c98236e6e","tarball":"https://registry.npmjs.org/@raytio/core/-/core-9.0.1.tgz","fileCount":106,"integrity":"sha512-UR+zKw81m5EoSOJmpBttyc1VQgFs05Z1yJwTNF1dqzpEKaSoM2twUaUih+lhiAM4AnMuRzUQNzYHI2FqilfEJQ==","signatures":[{"sig":"MEQCIF7MLALmEDKTEOv7DZZtLOuVMjC/1waZa3JllzzqwPbpAiAoi4ejOZBLFsx60R4BWCwv/9V25e36e6boYRwqs5TcFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAuf9CRA9TVsSAnZWagAAWMsP/3o8kyk3rCJ+QwlpJEBA\nKU8NZca+ApgxRXRtH5PGgqKHVIvLLEJjFwsE+yxUhqi6VnPajxQdqgRdu9ja\nqcRfw4WTg3zjhXXhV0i5vi76r+p6qpqC6Dsvos+w3l8IXgefHag2OFYI/pOx\n6eOSoNYkqzk4M2VXJlD4hD6qus49xkOISKsxMbK9YdCmw6GCi0TLmNdONbiw\nPRMt3mmitJCQB4rbfcpHVmV2qknTpgjMmyWnHMF/NiFkVCWTden6hmsKrpiT\nYJwAFDXhh/swz8UQlzZd4sficzkg4CCwJYT+CN37QoKkkIAmMwg9pZMGEyvF\nhZoI7U3H2j6UUBd1mwTkcXyYc/NVZnfAkioRuFEUxPYEqxQhBEl+6tcELGIN\nkrGQYuAy85SNcEjfceXStfperrwQZBrfi8ZQf8TtvL0aw8VX2w3kIuGE5t1u\nCeQWvN8v5CzouVXM40OkhifOWDzt0Gz0L+tEBrgL54AP7/d6f2lJoAi0GaNQ\n4c5rt0HFrR30QpUm/y0i4fEd3kQFrR7Eaa27EKzpao25ZgyLdu1WQhKrNE3F\nbqpSa4kgWOZG5EjZimF8F6ilNs4+WDxNFTmEXjk/e/3Fafjk7gKttFw3ZsWY\nJSZp6u+WtEyiwM5wmBITRgFXDJ9qkkQ7TAEs7zE1AO4Px0PthPMnU41yCmcK\npKb+\r\n=vTYy\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":false,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","gitHead":"9f3d9bfcda6161ba071735087ec3f7fd0dac361b","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"8.1.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ramda":"0.28.0","@raytio/types":"6.0.0","@raytio/maxcryptor":"3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.4.7","ts-jest":"27.1.3","@types/ramda":"0.27.64","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_9.0.1_1644357629569_0.09375174601131553","host":"s3://npm-registry-packages"}},"9.0.2":{"name":"@raytio/core","version":"9.0.2","license":"MIT","_id":"@raytio/core@9.0.2","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"8f52d8afe8c8971f5c770ce0a824c5b31be5c0d8","tarball":"https://registry.npmjs.org/@raytio/core/-/core-9.0.2.tgz","fileCount":106,"integrity":"sha512-tztH7HPho6pa+yQ/xJMNbXWaMluFLJemMp3xLp2i43Y7Cb1ib63iQLW1WikuKpdkYRILwIom5iLFOyIc+zX8iA==","signatures":[{"sig":"MEYCIQDLJtnsN1n8p50o06c2T2gIbIi4B7+bgQlHsxQZ80sESQIhAKKCuUt7GJMy3sMmYC8oaEygNplbi2gdwV28MdgeKc/l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiC7rQCRA9TVsSAnZWagAAGpoP/3cvHjcwWmpjMFOBA8ed\nslxe8srm/xGMKO7f8YzrRIfC0k3+mOWjvu+FoWDnkm2Oxcwxm7XXn6D6VrzP\nSIuZghdjic4GwlBu86L/KvxGHp9hpu9BgiN8ejPQlgYUifd2nunLEoU4vHxC\n5wBjEA7Sr5KdLI4fQ3q6kTT141/aTVqtnPDTLEU2rjYs9sO2/Kh56hFfIAyR\nEqoZNYbZb4EQravqLj9gOwLXH0mmmlVZsrf1U+4JQiy78b41rLR4G7IAUYIy\n63YqG1AEyBqqw7t4Mc0C3NAI2gbk5Vl8PAmheWulNPI9M+8GgJzwxMs525lY\nzVsLklCXABcCe2n621TWi7Q7acptWYzFvetpBbWTJl3rWRLz28J8mBv8r+xk\n6ms+tFY+ATR9ZKTL2w923awyFIheMp9wutC8Axrd8hcpEH8YzZm8nxQQrcHD\nyQ2A8/lqCVw0Q5XdQtzkdHs7sNacdQkx5LmeOTzSfyvHuFN4Bok2aBkc7W4m\nwmvcIM39cBPzVMqGu3SVugefM7WIkUtiSx+HdI8Zc14NdBkkE53+4xFwTOd6\n4qNXTT3oQWSd3MTIw5IymKJxr4ZixfuKr9jNgWXM9kBekAb9peCEgYou+PUQ\n3ELuanrND8gCr9fwHWXDxwBKD1YHaXmWy4LMUyHIizA+VNw5uDOTefrc9v96\nkN63\r\n=NwgE\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":false,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","gitHead":"5dcea0ee1367b41beadf2e98394e3f44ec15987d","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"8.1.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ramda":"0.28.0","@raytio/types":"6.0.0","@raytio/maxcryptor":"3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.5.1","ts-jest":"27.1.3","@types/ramda":"0.27.64","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_9.0.2_1644935888047_0.8537701523106394","host":"s3://npm-registry-packages"}},"9.0.3":{"name":"@raytio/core","version":"9.0.3","license":"MIT","_id":"@raytio/core@9.0.3","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"f8009c9172fd1dbfb44ffaf3531cb9c205deeef6","tarball":"https://registry.npmjs.org/@raytio/core/-/core-9.0.3.tgz","fileCount":106,"integrity":"sha512-OgkyM7zMjJ1+gKUk4riexKEHtiKJwRR3fKFGWa8wuvKeBAQF3t9230TuV3Vwh2K4BUbj1nsgB9qNsEBWoQ9/2w==","signatures":[{"sig":"MEUCIQDC2B6KJQ3WWiNrTsF6gK2G6tQktZM6wHkZiILn/JqUsQIgLQaWbCSbdGV/i2IKKu5QKYxuxYJ6cJHl7fH/DfQEtJA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFF+HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrxug//faeNAaZQ/o0YtLRXGyNlivCjSIMJAsWxI68HmsJPlJM2v6VT\r\nBWP/kaYYIjsRIAAHCjrSnTMbi8LR9WYew6oUisnGN5G+gj1Ioa0jlMF2H9HL\r\nGIOQyLEhgudv4hDF98gAuw9luhmJhkkfFaOJR92fVp2kVZMOqiLRPusvuHCn\r\ngOm0aBt/6Vqt5folTXEy9G4f/dy98EMD5y9MIsXNRZb0fZ1DJBNPjR8DxFpz\r\nZylTs3o83VIX8Cbnwgw2tnADhWlDITFWhexytWNm5x1/Hf/7CFYXGH4zJ4JH\r\nDFEWOUXCXqe+xfsg36ikGP0rR6J68ZRoJi65mN8xFf5+VElk+1ApHQwdZKX6\r\nyhFCRLxJvBRR4K06VhayDDtl5EAy3grG6PiTrAJgq2yVQUR+pLjC8+bHyXsU\r\noBLncQWgD9WUUAF/P1jbAN/rfPxGJpOHqIXbln3DC9exL/byr+5ZLDBi74jb\r\nfSw+LZo85BKL1kdmLf/DqcM9jUiFeiZg87rYnCaECBh76iwz2cpw6gQJkVje\r\n/yHWExVHUQzglv6IsG8LSI3x/q+cjpdZRr7l0m6fBgRVFDjGbUf41r+aODFJ\r\njN0MdMs0KpOKILTd/RVQE+JSlO0bZZLUbThvpAYUFJ0ljLpBD+WsqynqF7yd\r\n8AQ65uIl7eRq32B2zox50VNQvbs9/2NX3Lg=\r\n=/4rc\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":false,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","gitHead":"bd4e12e0c1ad365cbbfd1153b3d9ce1d9e05d11c","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"8.1.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ramda":"0.28.0","@raytio/types":"6.0.0","@raytio/maxcryptor":"3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.5.1","ts-jest":"27.1.3","@types/ramda":"0.27.64","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_9.0.3_1645502343334_0.4509572760786993","host":"s3://npm-registry-packages"}},"10.0.0":{"name":"@raytio/core","version":"10.0.0","license":"MIT","_id":"@raytio/core@10.0.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"6c54f38e8e7c74d785c1be9fa2bb10c42b210946","tarball":"https://registry.npmjs.org/@raytio/core/-/core-10.0.0.tgz","fileCount":107,"integrity":"sha512-NRHCBFWL/MqxfRZ4chfBeh89I8d3kP0hRQ+4JKgNXWxWkZ3plgJucdgPSVQ6d+6lguctWq1P73DvcQNARtSzsg==","signatures":[{"sig":"MEUCIQDZbr810uqmHJjvvgwk7VROKHT1dM8F2AQiC+zqY8ekkQIgZaHKA1BxLoYRQPM2zD7MYajKj9rnT4k7kQ5NXk/nNQ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112558,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYN6mACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBew/5AWkXIV4lhdcrGwQfQYWlU6/gFrU+e+ZyqOjYSzRScTi/AJdc\r\n/DdP0L0UQV1ThFch3Xir8G+m53q4+BHt8LLcdgTTqTeqIIi11yHWhsvEQFMj\r\nVdjTBdNT0wYg4bMbVn0fnpelB8bg5cgV77qQcXxkp1n0ri2BA+Zxpkg8duEQ\r\n6NPh3/qjyYCkDvNONzAjyyYYix5tOkdeC6ddlM29LyPY4DSMQSgjbURU/VSI\r\nl2ROJUKUcM18DgGNZE8idnWPtpIO1QEvyRX5Gzns4WeJQ+if19s2pL0G8UTa\r\n4EfUY9mVTW4scdzNhJqWVA9wUzX62SRXX6hTbbeVUSYB8yfxGcDfmz4YoWmU\r\nTIT5NxNH7HY0+N5zRPJQdpPo+8c7Tz/X6f50xYtV69hpKB70lhfKMTIuON5P\r\nQJM5vfG72sJb3lqV6+qJSxCZmpQ77nWZWoSG64i04WI206z14HTV4GbT61Ek\r\noix7teDUKks+44swOXumxI+HK16eUlbQnrbNe2cAu8NsNs6x6u0TIXPFdddX\r\nUIn88sc6qAjT9KX3/IssVLbDkL5wtosyl47bFADXXokCPWEk4NzKd1Sc4hjg\r\n3byqIDuG0GDwWZmcFnPOQ8etIqvhXAlJe3J9hXQsr+r2/9b3Tb01EcMLcWvQ\r\nD5L0Zd+/LU15LSrvVdUjxdEwO8MWW+mIvHE=\r\n=mFk/\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":false,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","gitHead":"3e7e2258914b8dd1ec0a7c4a4d58cdff2cace1e7","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"8.1.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ramda":"0.28.0","@raytio/types":"6.0.1","@raytio/maxcryptor":"3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"27.5.1","ts-jest":"27.1.4","@types/ramda":"0.28.11","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_10.0.0_1650515621839_0.6444936810258073","host":"s3://npm-registry-packages"}},"10.0.1":{"name":"@raytio/core","version":"10.0.1","license":"MIT","_id":"@raytio/core@10.0.1","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"4a30df08231465421ca4e8bd963540b70e4adae9","tarball":"https://registry.npmjs.org/@raytio/core/-/core-10.0.1.tgz","fileCount":111,"integrity":"sha512-mG4zHanA/KBaOwkxH/U7G/skTS9LAeFMa0nxpkN48XnxGISCzXxBO0UhAUHGz/hcWmbHKEDH685dtm/LmOz24g==","signatures":[{"sig":"MEYCIQD/g4qqlrYEcC847GntvNYR67YGPxc7dleAYFtfEvarZQIhALeMHOW2WGoMZ+0LxRH/iuX4/jbT8F69+LL4c3H02L33","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixjsLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqT0A/9EuyA/iAu+19pBtHL2RjQnpjSav0j0i4HvS7jSaXHZCitQYvF\r\n0/okTfGu0OY7HNsi29Cb0HGf1Y7EQm2DfFFbmPlFLi7qTU/O8zm7GnrjAMvG\r\nW2ul2SxFjo8wyjZEzM4GYRCa9iNDPMfLZta72HGsP+beuH+fPnZ5H8ZbPwZi\r\nKIUuORw1BoAGKWpjtgGzLv8oCKqPeUy39wjgzzZoA2Ew9qn7qgMS+2fm2fnF\r\nUlIN/89YLGCyh3+KjWT/U6SgIIku61pNjUH1DKCid4Lmyh+1h587c1Vql+sp\r\n8AQe0SZJBtu7XoM5WiROsikAr1SPNl3Qr4Qt+JzPSpPx1akglOC8IVdWjDds\r\nhurBcYW4odCt3Wv97YySPP/pdYvePKrP47/3J7WHzw3aAhjbEoQ90/5H6dna\r\nJk0NdDpPRPAcfWGuvAvkWz8CNgY/0GUkz5A/FSwde5YdeEEnNYtWvvg9hAs/\r\nd0OAwXdiWqHO0u0EbUYvauAC+R5+6pxmZ57CCFLFtFUyUCmGcNfpLbt3P57r\r\nTzohyj7/oA14pAxfONmwxtYJJXwDFzqKL/C+Y03fJW1IBW++F/8JmdBSxutN\r\nsMFqbZNtBQ6RpIZpCEUUCGv1Ia3l0LCUaoxqkUVHYzXt0/x8mMgkjrWBZ33I\r\nQFAnaeNzO3lY84eHtLXVe3wBGZC9ugeiuc0=\r\n=QCkg\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":false,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","gitHead":"6450d0a2d85d8c549ab0608a6615fcdbdd50e910","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"8.1.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.13.0","dependencies":{"ramda":"0.28.0","@raytio/types":"6.0.2","@raytio/maxcryptor":"3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.2","ts-jest":"28.0.5","@types/ramda":"0.28.14","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_10.0.1_1657158410838_0.5111233087959186","host":"s3://npm-registry-packages"}},"10.1.0":{"name":"@raytio/core","version":"10.1.0","license":"MIT","_id":"@raytio/core@10.1.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"80065a0efae56c30895979d6bfd32b635158a1d0","tarball":"https://registry.npmjs.org/@raytio/core/-/core-10.1.0.tgz","fileCount":147,"integrity":"sha512-R2y5C6dBfYscbCnQD508e3RaPaSQRdaCL7TZAH5qI6H8BbpOhl+tz8HWdI735rd6MYniWMcmjXHFq3UBNMZs+g==","signatures":[{"sig":"MEQCIA5F7mraSRJ8TrxxYuzBmWFFn+aaojSzd+YOu0FBm4NMAiBEkJswD1JwkI5FUkCQTYmcv7Afn4u7QtwHhh8ET9R0TQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":146120,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9zYSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrIjBAAk34wN6LtmW3thF79VI5ze/Pbi6AZZ8EJ/k4wiFxcEw+OJR/x\r\nLPBWtlLU1d43PmIYgiEQ9HlsxXtU0bDIngIvtuHOOHUpXJewqwqUhPNyEQtT\r\nRjQvR+hKM73NU6gNZl9qT1ajxaF5fNdrLKIFFNUPn3lS5GSHLMPywcx/9xQp\r\nK84sRiZSYgBwfd1MaXGSWzr8X3Dso/wEaTwsPjY8P/C4HJR5PbW9KEQx3tR+\r\nmdgYP79i7O9bWJT6DdQ9wG6jxzR+EXWpk1H/ms0Mvb3hpWDt8Y8SZeHz6FsG\r\n18k0Y8PdFsUReUpxnl8hZDtAMUTMBXD5BtKD5/lqGiUEb3GOQiIH9p2Ock9A\r\npzkJZjfJfTbtAI15Y/YsexxnYA6Ji2+w/9zefP8LZDqRM7qL0Dx1vrA/dSmR\r\nnJN/Un9sPBED9DFUp4xBuKHMwsYWSIvDHsSUweQm8cwtXCk/08UboJJMBopg\r\nw8z2LIYVRMSKwRO43GWUO1UVqGOhqL13HlrKg77/HNLMmTE2Eb2zu9xT1bkN\r\nrNqCRrNFpE9Lk2iCWrBsLDHpQaGpEzs42KPcrl6kKnyyFjCT7IB1VwqXpbb6\r\n7HZA0z79nZyKoCphqbLgwHhek3FgQS8Zx+jkWcC29lwyGkWjqbyKbBeCuMyj\r\nBR3SpVOCvTeShfkFFWsSFW6SSaE1HHSelK4=\r\n=g4Ag\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":false,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/setupTests.js"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","gitHead":"9a73c35c3efe8d0756d4be1fd0c7dad882f06ba3","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest","build":"tsc && find dist -path \"*/__tests__*\" -delete && rm -rf dist/setupTests*"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"8.1.2","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"16.13.2","dependencies":{"ramda":"0.28.0","@raytio/types":"6.0.2","@raytio/maxcryptor":"3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","ts-jest":"28.0.7","@types/ramda":"0.28.15","localstorage-polyfill":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/core_10.1.0_1660368402236_0.15742063170746246","host":"s3://npm-registry-packages"}},"11.0.0":{"name":"@raytio/core","version":"11.0.0","license":"MIT","_id":"@raytio/core@11.0.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"c752e0976d16c32b84275f72b69d8344ca705191","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.0.0.tgz","fileCount":144,"integrity":"sha512-lagILyLmPzWsfkTLhDpTuKuw2mncZ2LguG5dEUowENWUILEiY4wmcVjgkckZx3edZvOyCpG5ZDsQJmecBtYttA==","signatures":[{"sig":"MEUCIQDIk/3p3wCjnKNo5UJ6C2vVRJQPWCFud+tGiPtNSurI8QIgJ7Bt7KzyYO7o7RbiiTEYjI0WZOFTg9DX9WwnRWF+fCs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":167854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQJabACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrCw/9E50gnMikYjNmUyaB+FR6OOWi4lrwPfeI8jmtOqop81vhItDG\r\nSO8vL57S48LBEjgM4mpa+GJhY+baGKWAHS1bjfPwIcf1oR3Eq1BnK0DjfWaS\r\nvdfLTlnxzw/Pn9xUDghGph+mirk/fsAME1FgDlxCcpTWov4N0QW37jasVKg7\r\nh+kkVYAHBlvKZZ5oh+h6Z9S3nKe2zDOSPu4968kjt4Gfgy8CbeugZAt8qwdJ\r\nxqNGCUEGPztmlhy/QQvNSzyAARFf+/m5L95PNRu9RN0u9w//pDI4jfCxkFL9\r\nIsIhDM2CYqdBZRESjT5k+p/4f1XtXaMlFBpKnbPYcowSjcYDxKiIKZ56QOoR\r\nFdJ9MGbM7eGIdWV+3U3rYGLYT0Cf7hDEm4/NpL5ZZTOdW2+dMNzeT8b5NZFA\r\ngS+BwzMLTCxnu8BIzGt66NTJA2dGKnZLa4z8L4cSDY5jFnWvkomQ+z+u1ILb\r\nauHKqVM+bh0cMqHVb17eloeKP3L9fclvSBJYzqWXwFHEpFhxw1eyjLassRbD\r\nZFTyqOwg49eYZvFVAP1G0R4rX2j3lIae7S3Ix7rHMi5TEhYDmpZLxDromKPw\r\nUA+wSJ0gawdWYd7OrFgQUentkNOvaTh4FHeyA9pwAgwK3mAA//bGjGvTxGRX\r\nfuV8l2YYrusAsS5L8E+sj2Umu3OQK9AO4lk=\r\n=4WDT\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":false,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/jest.setup.ts"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"4480ec19ebd367d4c7209551e30e0aa6819c586c","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest && yarn docs","build":"tsc && rimraf dist/jest.setup.* dist/**/__tests__"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"9.5.1","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"18.16.0","dependencies":{"ramda":"0.29.0","@raytio/types":"7.1.0","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","ts-jest":"29.1.0","@types/ramda":"0.28.24"},"_npmOperationalInternal":{"tmp":"tmp/core_11.0.0_1681954459291_0.4817279525361169","host":"s3://npm-registry-packages"}},"11.1.0":{"name":"@raytio/core","version":"11.1.0","license":"MIT","_id":"@raytio/core@11.1.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"84be060885e513377cc130a179f7a57229552331","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.1.0.tgz","fileCount":180,"integrity":"sha512-UOeUKpHf4Gy4mCvZ1Dr+OBjPo/UcuntF7xgtM8Jab/HNUYOYVq1FLEX7DA6fnMJ2/XciyW/AWyQ0fgrw3xim3A==","signatures":[{"sig":"MEUCIBrA9wW15b700ogbFowH6wDn8DyQLf/8jAHee/GvvHT2AiEAkhdFvc9q8Nqe3UC6bgXZArciXKo8586rr5Clt2y6mWs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":221188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQNTFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEkg/9H/UlCkiuG1WOq5B0GL39vuGhjPTXANVMm/wIcHbuNBsyE0jF\r\nVd5eWQ4Zx3G5TJmQadcOGX4pWkH6bN3AcAdNpzZ694i4Xp7YiNfqoDkjKrPX\r\noxpDsxWfjBdi9drXE5LVeOVUsAASnQmU2X+7SYmfR8cpblXfa3S4NEmso1iC\r\n5pvuLdFYNtqj08Gga6t4SOVl71cRrGIHyWrNSUKarKja1QpY7XtY5+j84mXw\r\n2oueLpFtlWkasyMjLYac43gtVDset6DWJNS+MxZ181GW10nW5LbXWwNjVA43\r\nDeIBBnbTWnilMQ2rW0qNPeSn35DqW0yIEoFAB6MD1P6cuPcqga9SLjQEGvNz\r\nUMR+RXyvARW9t1r5tJoED3CO+7ZlQJkEdVc3D4A7075jUH3ZCystexVjClcq\r\ny3givqACuxwSgTCsr6F+iJ4pYp8c5aU8gyfxQ4iUm8hq369XfQ7jUnPAZqDL\r\npCuS9P6nTKPa09Ks2aQe0+gATaav/JV1vJ1TT7zM7eB60EmR6hWGBs7MPqNW\r\ncGZCQZLjpeWEMFH4Zxv+bYaa3bmBMOs/V+11SLvbWtME+uU67ys6buASVRVo\r\nzCibYo0TRa0Nrck3jLiZ0ZKIxLzKAzWBZVoNULo4veoRatXJBOzDW4LguqZ8\r\nmL5SdhVd1eJQErUUWTzXztBSWxwGBxBu2gA=\r\n=hlnQ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":false,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/jest.setup.ts"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"fb4aaef85ea7772fe552e7a87aaee8e5bf4db3de","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest && yarn docs","build":"tsc && rimraf dist/jest.setup.* dist/**/__tests__"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"9.5.1","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"18.16.0","dependencies":{"ramda":"0.29.0","@raytio/types":"7.1.0","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","ts-jest":"29.1.0","@types/ramda":"0.29.0"},"_npmOperationalInternal":{"tmp":"tmp/core_11.1.0_1681970373232_0.8362450604398632","host":"s3://npm-registry-packages"}},"11.2.0":{"name":"@raytio/core","version":"11.2.0","license":"MIT","_id":"@raytio/core@11.2.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"c2acff5777309b95ad1abe8069b260c012c5dbd1","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.2.0.tgz","fileCount":182,"integrity":"sha512-x5NUJ7W+iPTXKF1o+za5pl7sb0p/itna41VQSZYVfxWpMvLhK/TT6g+Cu/LqODY+351dwXeggQLxpRU3Sv6jBA==","signatures":[{"sig":"MEUCIEqDeUa+QLDVloaWP8HenKYXmSDDciGNtvgJGOUbD3deAiEAjjPxPXkrd9SGFbqUQBRZTTiE58qUfNZ5aukdm39qzMM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":229036},"jest":{"reporters":["default","jest-junit"],"transform":{"^.+\\.(t|j)sx?$":"ts-jest"},"collectCoverage":false,"testEnvironment":"node","coverageThreshold":{"global":{"statements":100}},"setupFilesAfterEnv":["./src/jest.setup.ts"],"collectCoverageFrom":["**/*.js","**/*.ts","**/*.tsx"],"modulePathIgnorePatterns":["/dist/"],"coveragePathIgnorePatterns":["/dist/","/coverage/"]},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"3aa1f9e2a281d141259eb53784e6c0f1daffe093","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"jest && yarn docs","build":"tsc && rimraf dist/jest.setup.* dist/**/__tests__"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"jest-junit":{"outputDirectory":"../../tmp"},"_npmVersion":"9.5.1","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"18.16.1","dependencies":{"ramda":"0.29.0","@raytio/types":"7.2.0","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"jest":"29.6.1","ts-jest":"29.1.1","@types/ramda":"0.29.2"},"_npmOperationalInternal":{"tmp":"tmp/core_11.2.0_1689197182712_0.8669820551007712","host":"s3://npm-registry-packages"}},"11.3.0":{"name":"@raytio/core","version":"11.3.0","license":"MIT","_id":"@raytio/core@11.3.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"cea47110f29aa781feb7b4f62ae409a3443c269e","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.3.0.tgz","fileCount":206,"integrity":"sha512-bxwMPgtGCmKdoieNJ1QNc4c3jSs2nG5mVRgdWfSDgnEeh3WqrvftAWYI+LjcKZjCAbJkV63WBMRwYqtuUIoZIQ==","signatures":[{"sig":"MEUCIQDzKR0XXK2Yi0Zm2BjfpPjBD0U7If5f3Fc7qVXdDuZr3gIgY6cVRONp6GoEHs2AfbWrjqZGB84EIVMlE5W1sWhDOPs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":247611},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"3d54cad8f91d224a254200015801b13387c6a6b4","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"vitest && yarn docs","build":"tsc && rimraf dist/**/__tests__"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"_npmVersion":"10.2.3","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"20.10.0","dependencies":{"ramda":"0.29.1","@raytio/types":"7.3.0","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.3.0_1701832976576_0.27505741523543636","host":"s3://npm-registry-packages"}},"11.4.0":{"name":"@raytio/core","version":"11.4.0","license":"MIT","_id":"@raytio/core@11.4.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"8f57a971f316489fa9f64d3d7cb31dc6f0b36c3f","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.4.0.tgz","fileCount":206,"integrity":"sha512-BHVzicUF2Lv/2u3JIWJxOq4O2HrYUtdbGEm3UIGVGPHIr62VL0gorVlYDICUoIigf/x9+YVjGbDhX7Jdkvq1tA==","signatures":[{"sig":"MEQCIFyKZXm0yKyqIgiWy+zcagjrGh9jnyp1ZUBQ4zaEBwuNAiAMs6WgbGnH9Rl+843/FRXbKaDExjga2yWJzil3MHy1zA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":248645},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"2b8cd38ed323f357407b147e5322eabadc9fb7ac","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"vitest && yarn docs","build":"tsc && rm -rf dist/**/__tests__"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"_npmVersion":"10.8.2","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ramda":"0.30.1","@raytio/types":"7.3.0","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.4.0_1734494580664_0.6174704589267554","host":"s3://npm-registry-packages-npm-production"}},"11.4.1":{"name":"@raytio/core","version":"11.4.1","license":"MIT","_id":"@raytio/core@11.4.1","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"253b79a5fb6825a214ae0d29c75f883a85b1c576","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.4.1.tgz","fileCount":206,"integrity":"sha512-g+UMTrkHlLKqRx52OOQWNWtFPsBToqo8+KIYg8pOSFMirgnTPUIPTBE1jc3vefc84y6p4vAlg3csx5C9hpXBuA==","signatures":[{"sig":"MEYCIQDV0OJrOj6rQ1ruW7SzVLlOY6FSRBf7mZ/gKQUv9qVQ1AIhAL+EwEhvZmKPav2NMHJp5SdriqsxJxYmW/TpqAOp0ToE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":248778},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"fa2b7e19ffc1573bd03267612883c5e2208b1943","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"vitest && yarn docs","build":"tsc && rm -rf dist/**/__tests__"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"_npmVersion":"10.8.2","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ramda":"0.30.1","@raytio/types":"7.3.0","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.4.1_1734553737176_0.19226642381645265","host":"s3://npm-registry-packages-npm-production"}},"11.5.0":{"name":"@raytio/core","version":"11.5.0","license":"MIT","_id":"@raytio/core@11.5.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"},{"name":"borigthedwarf","email":"tate.robertson@rayt.io"},{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},{"name":"kalda341","email":"kalda341@gmail.com"}],"dist":{"shasum":"c3405f19836aef980362f0c85137101b6270e602","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.5.0.tgz","fileCount":206,"integrity":"sha512-cDytauUccpoUeDzVxAbFJbrGFxAQIpXgLVXzYDCIuOjf8Yw0fXXd2fqLwTfHVaBpnWOQ7P1ZpjlFXl5EoYgrFA==","signatures":[{"sig":"MEQCIFTfMlCBhYQzmVVXeozQJTio106DrTlxz/jR/gJdGrU4AiAdXDTZgWzsU8sbOgLULQn3IYJ4EXy/FzDhaxq/nVahtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250100},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"2729bcaf08892e8820f949991f4b1f3fb15b880d","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"vitest && yarn docs","build":"tsc && rm -rf dist/**/__tests__"},"_npmUser":{"name":"kyle.h","email":"thisiskyle@outlook.co.nz"},"_npmVersion":"10.8.2","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"20.19.0","dependencies":{"ramda":"0.30.1","@raytio/types":"8.0.0","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.5.0_1743390743213_0.06316530975129897","host":"s3://npm-registry-packages-npm-production"}},"11.6.0":{"name":"@raytio/core","version":"11.6.0","license":"MIT","_id":"@raytio/core@11.6.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"cb8bfc5d38bccf7362228b7de7cff0971caaba43","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.6.0.tgz","fileCount":191,"integrity":"sha512-A259pwsbQzxGqlxOv7zUquKLJycNNjkenYRqpKYoaCtUhHL7PMZflOQ+AYNdBZhzjEkglPddmyzTVGcZHnd1Sg==","signatures":[{"sig":"MEYCIQD207tqrWN7S5ycvlhjgCD2aJKhNjo39t12HJEYpZZzvwIhAL04YwL5NC71bUNk1cWOu86zLPxwE9ZmVcH80HkMz0A8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":322818},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"61c06b59cf55e362a229e6fdc76a1b174c6ece58","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"yarn run -T vitest && yarn docs","build":"yarn run -T tsc && rm -rf dist/**/__tests__","test-ci":"yarn run -T vitest run && yarn docs"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:c29aa883-e85f-4b56-9abf-4ad2fa1b7f07"}},"_npmVersion":"11.12.1","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ramda":"0.30.1","openpgp":"^6.1.0","@raytio/types":"8.1.0","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.6.0_1777606009250_0.5999842421973214","host":"s3://npm-registry-packages-npm-production"}},"11.7.0":{"name":"@raytio/core","version":"11.7.0","license":"MIT","_id":"@raytio/core@11.7.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"e488500139a3f59084c8b5e3d4184d47130ab078","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.7.0.tgz","fileCount":191,"integrity":"sha512-fQtSWbDEh7Iy+EHqfY9dP9raeeqmV4o6ph3ZuLSkYWSyP1DCKuf/shSlMLvp9x6qlQP/5u6Et14o/E8KnaI1Fg==","signatures":[{"sig":"MEUCIQCglDYJ5XO7x/uWWxe+MeQaj/dN96cLlv8nvD7YZZtAbAIgbA27mvDOlFV0e2xvjL448Y2MujUMfJcbXrbgvWzeodI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":322818},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"14dfb771178b682455e78ab993250a008894550e","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"yarn run -T vitest && yarn docs","build":"yarn run -T tsc && rm -rf dist/**/__tests__","test-ci":"yarn run -T vitest run && yarn docs"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:c29aa883-e85f-4b56-9abf-4ad2fa1b7f07"}},"_npmVersion":"11.13.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ramda":"0.30.1","openpgp":"^6.1.0","@raytio/types":"8.2.0","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.7.0_1779417564765_0.11604993673457753","host":"s3://npm-registry-packages-npm-production"}},"11.8.0":{"name":"@raytio/core","version":"11.8.0","license":"MIT","_id":"@raytio/core@11.8.0","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"1bdc6273e858f0efae213bc1dd43e064f58d9b16","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.8.0.tgz","fileCount":193,"integrity":"sha512-6zaciJDfNB6iZihqQC7QFMDRTW3L8XgwtDeNDpDaT6WTgK0qIbdS6G41OAx3Z5Knpbf7gwh15QMhWm8gYYa5Cg==","signatures":[{"sig":"MEQCICHwQWXx1Ea6GqrGRzjABV24pMmDpH+LDfPqxuNjFYLPAiAV4rM8qWGYp3Qs3qbVnj1N4O+yKNpzDAV+TBk+8wyDbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327933},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"e18e1d1701f5812f879d839cce4ad0deef2e4d59","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"yarn run -T vitest && yarn docs","build":"yarn run -T tsc && rm -rf dist/**/__tests__","test-ci":"yarn run -T vitest run && yarn docs"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:c29aa883-e85f-4b56-9abf-4ad2fa1b7f07"}},"_npmVersion":"11.13.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ramda":"0.30.1","openpgp":"^6.1.0","@raytio/types":"8.3.0","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.8.0_1780028139320_0.468917591124292","host":"s3://npm-registry-packages-npm-production"}},"11.8.1":{"name":"@raytio/core","version":"11.8.1","license":"MIT","_id":"@raytio/core@11.8.1","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"3e0c366d2d514cbc6061f46fdbfb6ae01323769c","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.8.1.tgz","fileCount":193,"integrity":"sha512-HTY1eChhFPa5uBNt/atL0qhdXEo1jEr3h1Lkl0113VeKkFcxxn66eEFwg1uM1cYo7r8YGtS5NPl6ff5yxVfwyA==","signatures":[{"sig":"MEUCIFLTXuuxwL82rJGS1idxzJWykbsTUn9S+wHcogqXk9j7AiEAhRDtqv0Aa2qyMr+GeSBL1e3IvE1VnKyctWVASwOeq1A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328722},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"b7dcaccc6e54e2b1e4cf11cfd39306edb358488b","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"yarn run -T vitest && yarn docs","build":"yarn run -T tsc && rm -rf dist/**/__tests__","test-ci":"yarn run -T vitest run && yarn docs"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:c29aa883-e85f-4b56-9abf-4ad2fa1b7f07"}},"_npmVersion":"11.13.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ramda":"0.30.1","openpgp":"^6.1.0","@raytio/types":"8.3.1","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.8.1_1780220968749_0.17085600976740878","host":"s3://npm-registry-packages-npm-production"}},"11.8.2":{"name":"@raytio/core","version":"11.8.2","license":"MIT","_id":"@raytio/core@11.8.2","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"25b4fdcdc0453b5ff2a0367c6e9ef9071f482a8c","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.8.2.tgz","fileCount":193,"integrity":"sha512-FSDgEtDzKCxJZFGD1RwPjYUdu3Wyf2FwVDcizpX7M08Sj96UWWM9g8I8YeO7TEWA/04eQ6OwggKYeqPoClDvWQ==","signatures":[{"sig":"MEYCIQDQ2qYxkrfVzvlrqbvGQS79nH9DqOuWfmyKhyzSj0HUFgIhAPsg13/C64YxmtUzMywCHsy3KyTrqWsh5ay2Z4PpsueR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328784},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"d1d8291b26548b9d3ae7db88af4f54972e8fe483","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"yarn run -T vitest && yarn docs","build":"yarn run -T tsc && rm -rf dist/**/__tests__","test-ci":"yarn run -T vitest run && yarn docs"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:c29aa883-e85f-4b56-9abf-4ad2fa1b7f07"}},"_npmVersion":"11.13.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ramda":"0.30.1","openpgp":"^6.1.0","@raytio/types":"workspace:^","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.8.2_1782252133641_0.6180327885446464","host":"s3://npm-registry-packages-npm-production"}},"11.8.3":{"name":"@raytio/core","version":"11.8.3","license":"MIT","_id":"@raytio/core@11.8.3","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"505b80fa60e2187f30aca863bb296032073b420f","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.8.3.tgz","fileCount":193,"integrity":"sha512-NbpYg/zJwe+3nT2GQdFgTfcwBKgZnPsd8u5L4HMuw9wmGg5Y1b12HOysOyYXInA4naMbgyWEf75HJbZPwJOh9A==","signatures":[{"sig":"MEQCICPKdka2HYZ0gafdsPFj/IMoF91EzaV7Pee8WKIn8n1jAiBPwa574mi1LKyyYp8B/zkFmZycI3Um3MnVv5MKQAcOOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328784},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"92a78057f0c251489d58b5eca3d4ce9e47cd0a66","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"yarn run -T vitest && yarn docs","build":"yarn run -T tsc && rm -rf dist/**/__tests__","test-ci":"yarn run -T vitest run && yarn docs"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:c29aa883-e85f-4b56-9abf-4ad2fa1b7f07"}},"_npmVersion":"11.16.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ramda":"0.30.1","openpgp":"^6.1.0","@raytio/types":"workspace:^","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.8.3_1783886272286_0.8723298055876187","host":"s3://npm-registry-packages-npm-production"}},"11.8.4":{"name":"@raytio/core","version":"11.8.4","license":"MIT","_id":"@raytio/core@11.8.4","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"}],"dist":{"shasum":"0d0c943d1fe759151fd6de916b7e13e4b457ff97","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.8.4.tgz","fileCount":193,"integrity":"sha512-RPfl8aN65PS5OiBB9hHRVZ30oWfT79WAgWGt3sqX0CePDsSfIuFOHCm4sw5FTsZlpyoqo63cOoHTrYALnHW7Ig==","signatures":[{"sig":"MEYCIQDlpuMbTwTmuNXzqsM0nxwPNXI9rrd/xRT6QYlT+YIfTAIhANtoYBl/v2Nx0OxGTc6Ryg8fxTYPz6c9/0y7A+jMOA+c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327497},"main":"index","types":"index","engines":{"node":">=18"},"gitHead":"2daf59ca3a1b1029b3a4998e68d01336a1104358","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"yarn run -T vitest && yarn docs","build":"yarn run -T tsc && rm -rf dist/**/__tests__","test-ci":"yarn run -T vitest run && yarn docs"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:c29aa883-e85f-4b56-9abf-4ad2fa1b7f07"}},"_npmVersion":"11.19.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ramda":"0.30.1","openpgp":"^6.1.0","@raytio/types":"workspace:^","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"tmp":"tmp/core_11.8.4_1788112569542_0.23236607896555106","host":"s3://npm-registry-packages-npm-production"}},"11.9.0":{"_id":"@raytio/core@11.9.0","dist":{"shasum":"67b8b66287e13518908eea0be20bfc6c33bda167","tarball":"https://registry.npmjs.org/@raytio/core/-/core-11.9.0.tgz","fileCount":197,"integrity":"sha512-pV+jPKauvhV65aDexAbrDS/1mSqkBY5h6aEmmywJUZypVwnIZ75rEqHL7ig+2Ei9ZKxQJkWLllwze18wQkzL/w==","signatures":[{"sig":"MEUCIQDeXfDx2sjOKF0Qo505EyFh5ew0vd8tARK/TQdR+MvMlAIgdEfDcTu/6NvdwYOqmmnmrbhNtJ8D07TF7j7Cm6R9WFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDmdMjrcvAKM68nw5bjHL6YW+lxtrkawA11sxcEKR5YQAiEApJvdhcukx3PiJ22kc7HGo6S/QDP2rhiFHoMR/bAQdAk="}],"unpackedSize":330364},"main":"index","name":"@raytio/core","types":"index","engines":{"node":">=18"},"gitHead":"a1cd9e0bb8d34e3cf7dc535bf3e312a69633e538","license":"MIT","scripts":{"docs":"sh ../../scripts/generate-docs.sh","test":"yarn run -T vitest && yarn docs","build":"yarn run -T tsc && rm -rf dist/**/__tests__","test-ci":"yarn run -T vitest run && yarn docs"},"version":"11.9.0","_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:c29aa883-e85f-4b56-9abf-4ad2fa1b7f07"}},"_npmVersion":"11.19.0","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","directories":{},"maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"}],"_nodeVersion":"24.21.0","dependencies":{"ramda":"0.30.1","openpgp":"^6.1.0","@raytio/types":"workspace:^","@raytio/maxcryptor":"3.1.0"},"engineStrict":true,"_hasShrinkwrap":false,"devDependencies":{"@types/ramda":"0.29.7"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_11.9.0_1790544455019_0.7258017439164157"}}},"time":{"created":"2020-09-16T06:02:05.587Z","modified":"2026-09-27T21:27:35.242Z","0.0.1":"2020-09-16T06:02:05.969Z","0.3.0":"2020-09-16T07:59:39.937Z","0.3.1":"2020-09-16T20:55:11.259Z","0.3.2":"2020-10-27T18:19:20.044Z","1.0.0":"2020-11-12T07:27:19.491Z","1.0.1":"2020-11-19T08:13:13.700Z","1.0.2":"2020-11-20T03:28:24.625Z","1.0.3":"2020-11-24T07:14:46.756Z","1.0.4":"2020-12-09T08:54:38.528Z","2.0.0":"2020-12-09T09:43:32.424Z","2.1.0":"2020-12-15T20:45:05.630Z","2.2.0":"2020-12-16T06:54:06.191Z","3.0.0":"2020-12-18T23:00:11.320Z","3.1.0":"2020-12-19T03:33:17.016Z","3.2.0":"2021-01-07T03:51:15.755Z","3.2.1":"2021-01-18T22:55:34.264Z","3.2.2":"2021-01-19T22:41:48.484Z","4.0.0":"2021-02-04T20:16:43.633Z","4.0.1":"2021-02-08T22:06:24.990Z","5.0.0":"2021-03-03T19:07:21.350Z","6.0.0":"2021-03-05T23:20:11.393Z","6.0.1":"2021-04-06T06:22:03.852Z","7.0.0":"2021-04-07T23:55:58.841Z","8.0.0":"2021-08-07T19:44:40.007Z","8.1.0":"2021-08-31T22:47:13.433Z","8.1.1":"2021-09-15T04:56:09.339Z","8.1.2":"2021-09-24T05:11:24.300Z","8.1.3":"2021-10-18T19:21:21.074Z","9.0.0":"2022-02-01T05:11:57.395Z","9.0.1":"2022-02-08T22:00:29.700Z","9.0.2":"2022-02-15T14:38:08.206Z","9.0.3":"2022-02-22T03:59:03.515Z","10.0.0":"2022-04-21T04:33:42.060Z","10.0.1":"2022-07-07T01:46:50.985Z","10.1.0":"2022-08-13T05:26:42.444Z","11.0.0":"2023-04-20T01:34:19.549Z","11.1.0":"2023-04-20T05:59:33.440Z","11.2.0":"2023-07-12T21:26:22.909Z","11.3.0":"2023-12-06T03:22:56.798Z","11.4.0":"2024-12-18T04:03:00.870Z","11.4.1":"2024-12-18T20:28:57.376Z","11.5.0":"2025-03-31T03:12:23.470Z","11.6.0":"2026-05-01T03:26:49.408Z","11.7.0":"2026-05-22T02:39:24.918Z","11.8.0":"2026-05-29T04:15:39.475Z","11.8.1":"2026-05-31T09:49:28.875Z","11.8.2":"2026-06-23T22:02:13.818Z","11.8.3":"2026-07-12T19:57:52.424Z","11.8.4":"2026-08-30T17:56:09.708Z","11.9.0":"2026-09-27T21:27:35.092Z"},"license":"MIT","description":"`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).","maintainers":[{"name":"cameron.beattie","email":"hello@rayt.io"}],"readme":"# @raytio/core\n\n`@raytio/core` is a collection of low-level functions for using the Raytio API. It works in both the browser and a nodejs environment, although nodejs requires several polyfills (see below).\n\nFor a high-level and easy-to-use API, consider using [`@raytio/decrypt-helper`](https://npm.im/@raytio/decrypt-helper).\n\n## Usage in nodejs\n\nNodejs does not support [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch), [WebCrypto](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API), or [atob](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/atob)/[btoa](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/atob), so these will need to be polyfilled. Older versions of nodejs (`<14.0.0`) also do not support [TextEncoder](https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder) or [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat).\n\nIf you use the high-level [`@raytio/decrypt-helper`](https://npm.im/@raytio/decrypt-helper) module, you don't need to worry about this.\n\nIf you wish to use `@raytio/core` directly, an example of configuring polyfills for nodejs is availble [here](https://gitlab.com/raytio/tools/decrypt-helper/-/blob/main/src/configureEnv.ts)\n\n# API\n\n## Table of contents\n\n### Classes\n\n- [LocalSecretRequiredError](classes/LocalSecretRequiredError.md)\n- [PGPKeyExportError](classes/PGPKeyExportError.md)\n- [PGPKeyImportError](classes/PGPKeyImportError.md)\n- [UnknownKdfAlgorithmError](classes/UnknownKdfAlgorithmError.md)\n\n### Interfaces\n\n- [Argon2idConfig](interfaces/Argon2idConfig.md)\n- [EncryptedPrivateKey](interfaces/EncryptedPrivateKey.md)\n- [ExportPGPKeyOptions](interfaces/ExportPGPKeyOptions.md)\n- [ExportedPGPKey](interfaces/ExportedPGPKey.md)\n- [FormattedLocalSecret](interfaces/FormattedLocalSecret.md)\n- [KdfResult](interfaces/KdfResult.md)\n- [KeyValidationResult](interfaces/KeyValidationResult.md)\n- [LocalSecretStorage](interfaces/LocalSecretStorage.md)\n- [PGPKeyPair](interfaces/PGPKeyPair.md)\n- [PGPKeyStorage](interfaces/PGPKeyStorage.md)\n- [PGPPublicKeyProperties](interfaces/PGPPublicKeyProperties.md)\n- [ParsedPGPKey](interfaces/ParsedPGPKey.md)\n- [Pbkdf2Config](interfaces/Pbkdf2Config.md)\n- [StoredLocalSecret](interfaces/StoredLocalSecret.md)\n- [StoredPGPPrivateKey](interfaces/StoredPGPPrivateKey.md)\n\n### Type Aliases\n\n- [BadgeDefinition](#badgedefinition)\n- [BadgeResult](#badgeresult)\n- [BadgeState](#badgestate)\n- [BadgeStateDisplay](#badgestatedisplay)\n- [KdfConfig](#kdfconfig)\n- [PGPKeyAlgorithm](#pgpkeyalgorithm)\n- [SafeHarbourObj](#safeharbourobj)\n- [SafeHarbourResult](#safeharbourresult)\n- [ServerAA](#serveraa)\n- [ServerRelationship](#serverrelationship)\n- [VerDetails](#verdetails)\n\n### Variables\n\n- [AES\\_GCM\\_IV\\_SIZE](#aes_gcm_iv_size)\n- [DEFAULT\\_ARGON2ID\\_PARAMS](#default_argon2id_params)\n- [KEY\\_FINGERPRINT\\_LENGTH](#key_fingerprint_length)\n- [LOCAL\\_SECRET\\_CHARSET](#local_secret_charset)\n- [LOCAL\\_SECRET\\_DB\\_CONFIG](#local_secret_db_config)\n- [LOCAL\\_SECRET\\_GROUP\\_SIZE](#local_secret_group_size)\n- [LOCAL\\_SECRET\\_SIZE](#local_secret_size)\n- [PGP\\_KEY\\_DB\\_CONFIG](#pgp_key_db_config)\n- [TAG\\_DENYLIST](#tag_denylist)\n\n### Functions\n\n- [base64ToUint8Array](#base64touint8array)\n- [buildPrefixes](#buildprefixes)\n- [bytesToPem](#bytestopem)\n- [calcSafeHarbourScore](#calcsafeharbourscore)\n- [calculateScore](#calculatescore)\n- [canonicalJsonify](#canonicaljsonify)\n- [checkJsonSignature](#checkjsonsignature)\n- [computeKeyFingerprint](#computekeyfingerprint)\n- [constantTimeEqual](#constanttimeequal)\n- [convertInstanceToRuleInput](#convertinstancetoruleinput)\n- [convertServerRelationship](#convertserverrelationship)\n- [createAA](#createaa)\n- [createArgon2idConfig](#createargon2idconfig)\n- [createHashedNId](#createhashednid)\n- [createIndexedDBPGPKeyStorage](#createindexeddbpgpkeystorage)\n- [createIndexedDBStorage](#createindexeddbstorage)\n- [decryptPrivateKey](#decryptprivatekey)\n- [decryptSharedData](#decryptshareddata)\n- [deleteLocalSecret](#deletelocalsecret)\n- [deletePGPPrivateKey](#deletepgpprivatekey)\n- [deriveArgon2id](#deriveargon2id)\n- [deriveKey](#derivekey)\n- [derivePbkdf2](#derivepbkdf2)\n- [deriveTwoSecretKdf](#derivetwosecretkdf)\n- [encryptPrivateKey](#encryptprivatekey)\n- [evaluateBadge](#evaluatebadge)\n- [evaluateRule](#evaluaterule)\n- [evaluateUserBadges](#evaluateuserbadges)\n- [expandSchema](#expandschema)\n- [exportPGPKeyToArmored](#exportpgpkeytoarmored)\n- [extractPemType](#extractpemtype)\n- [findMostSpecificTenant](#findmostspecifictenant)\n- [findSchemaLabel](#findschemalabel)\n- [findSuitableLocale](#findsuitablelocale)\n- [formatFingerprint](#formatfingerprint)\n- [formatLocalSecret](#formatlocalsecret)\n- [fromCognitoAttributes](#fromcognitoattributes)\n- [generateDeviceId](#generatedeviceid)\n- [generateLocalSecret](#generatelocalsecret)\n- [generatePGPKeyPair](#generatepgpkeypair)\n- [generateRandomBytes](#generaterandombytes)\n- [generateSalt](#generatesalt)\n- [getAADecryptor](#getaadecryptor)\n- [getAAPublicKey](#getaapublickey)\n- [getKdfVersion](#getkdfversion)\n- [getLocalSecret](#getlocalsecret)\n- [getLocalSecretRecord](#getlocalsecretrecord)\n- [getMissingDataForInstance](#getmissingdataforinstance)\n- [getNidFromUrn](#getnidfromurn)\n- [getOrCreateDeviceId](#getorcreatedeviceid)\n- [getOwnRealVerifications](#getownrealverifications)\n- [getPGPPrivateKey](#getpgpprivatekey)\n- [getPOVerification](#getpoverification)\n- [getSomeoneElsesRealVerifications](#getsomeoneelsesrealverifications)\n- [hasLocalSecret](#haslocalsecret)\n- [hasPGPPrivateKey](#haspgpprivatekey)\n- [hashPassword](#hashpassword)\n- [importPrivateKey](#importprivatekey)\n- [importPublicKey](#importpublickey)\n- [isArgon2Available](#isargon2available)\n- [isArgon2idConfig](#isargon2idconfig)\n- [isArmoredPGPKey](#isarmoredpgpkey)\n- [isConditionMet](#isconditionmet)\n- [isEncrypted](#isencrypted)\n- [isEncryptedFile](#isencryptedfile)\n- [isPbkdf2Config](#ispbkdf2config)\n- [isPemFormat](#ispemformat)\n- [isScoreConfigValid](#isscoreconfigvalid)\n- [isScoreResultValid](#isscoreresultvalid)\n- [isValidFormattedLocalSecret](#isvalidformattedlocalsecret)\n- [isValidLocalSecret](#isvalidlocalsecret)\n- [maskLocalSecret](#masklocalsecret)\n- [normalizePassword](#normalizepassword)\n- [parseArmoredPGPKey](#parsearmoredpgpkey)\n- [parseLocalSecret](#parselocalsecret)\n- [pemToBytes](#pemtobytes)\n- [repairDate](#repairdate)\n- [requiresLocalSecret](#requireslocalsecret)\n- [resolveSchemaExtensions](#resolveschemaextensions)\n- [setArgon2Module](#setargon2module)\n- [signData](#signdata)\n- [signText](#signtext)\n- [someEncrypted](#someencrypted)\n- [sortSchemaProperties](#sortschemaproperties)\n- [storeLocalSecret](#storelocalsecret)\n- [storePGPPrivateKey](#storepgpprivatekey)\n- [tenantPrefixFilter](#tenantprefixfilter)\n- [toCognitoAttributes](#tocognitoattributes)\n- [uint8ArrayToBase64](#uint8arraytobase64)\n- [validateImportedKey](#validateimportedkey)\n- [verifySignature](#verifysignature)\n- [verifyTextSignature](#verifytextsignature)\n- [xorBytes](#xorbytes)\n\n## Type Aliases\n\n### BadgeDefinition\n\nƬ **BadgeDefinition**: `CommonFields`<`BId`\\> & { `display`: { `states`: `Record`<[`BadgeState`](#badgestate), [`BadgeStateDisplay`](#badgestatedisplay)\\>  } ; `name`: `string` ; `ruleset`: `ScoreConfig`  }\n\nBadge definition as stored in dsm_schema_badges\n\n___\n\n### BadgeResult\n\nƬ **BadgeResult**: `Object`\n\nResult of evaluating a badge for a user\n\n#### Type declaration\n\n| Name | Type |\n| :------ | :------ |\n| `badgeId` | `string` |\n| `badgeName` | `string` |\n| `diagnostics` | `ScoreResult`[``\"diagnostics\"``] |\n| `display` | [`BadgeStateDisplay`](#badgestatedisplay) |\n| `state` | [`BadgeState`](#badgestate) |\n\n___\n\n### BadgeState\n\nƬ **BadgeState**: ``\"not_met\"`` \\| ``\"partially_met\"`` \\| ``\"fully_met\"``\n\nStandard badge states - consistent across all badges\n\n___\n\n### BadgeStateDisplay\n\nƬ **BadgeStateDisplay**: `Object`\n\nDisplay configuration for a single badge state\n\n#### Type declaration\n\n| Name | Type |\n| :------ | :------ |\n| `color` | `string` |\n| `icon` | `string` |\n| `label` | `string` |\n\n___\n\n### KdfConfig\n\nƬ **KdfConfig**: [`Pbkdf2Config`](interfaces/Pbkdf2Config.md) \\| [`Argon2idConfig`](interfaces/Argon2idConfig.md)\n\nUnion type for all KDF configurations\n\n___\n\n### PGPKeyAlgorithm\n\nƬ **PGPKeyAlgorithm**: ``\"RSA-4096\"`` \\| ``\"RSA-2048\"``\n\nSupported PGP key algorithms\n\n___\n\n### SafeHarbourObj\n\nƬ **SafeHarbourObj**: `Partial`<`Record`<`SafeHarbourCode`, `string`[]\\>\\>\n\nan object listing the `xId`s for each SafeHarbourCode\n\n___\n\n### SafeHarbourResult\n\nƬ **SafeHarbourResult**: `Object`\n\nthe response from [calcSafeHarbourScore](#calcsafeharbourscore)\n\n#### Type declaration\n\n| Name | Type |\n| :------ | :------ |\n| `flags` | [`SafeHarbourObj`](#safeharbourobj) |\n| `isSafe` | `boolean` |\n\n___\n\n### ServerAA\n\nƬ **ServerAA**: `Omit`<`AA`, ``\"a_id\"``\\> & { `id`: `AId`  }\n\n___\n\n### ServerRelationship\n\nƬ **ServerRelationship**: `Omit`<`Relationship`, ``\"p_id\"`` \\| ``\"start\"`` \\| ``\"end\"``\\> & { `from_id`: `NId` ; `id`: `PId` ; `to_i_id?`: `IId` \\| ``null`` ; `to_id?`: `NId` \\| ``null``  }\n\nThis type represents the relationship format returned by the Postgres API\n\n___\n\n### VerDetails\n\nƬ **VerDetails**: `Object`\n\n#### Type declaration\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `expiryDate?` | `Date` | field only present for expired verifications |\n| `sourceNId?` | `NId` | - |\n| `verifiers` | `VerificationProvider`[] | - |\n\n## Variables\n\n### AES\\_GCM\\_IV\\_SIZE\n\n• `Const` **AES\\_GCM\\_IV\\_SIZE**: ``12``\n\nAES-GCM IV size in bytes\n\n___\n\n### DEFAULT\\_ARGON2ID\\_PARAMS\n\n• `Const` **DEFAULT\\_ARGON2ID\\_PARAMS**: `Object`\n\nDefault Argon2id parameters (matching Bitwarden recommendations)\n\n#### Type declaration\n\n| Name | Type |\n| :------ | :------ |\n| `iterations` | ``3`` |\n| `memory` | ``65536`` |\n| `parallelism` | ``4`` |\n\n___\n\n### KEY\\_FINGERPRINT\\_LENGTH\n\n• `Const` **KEY\\_FINGERPRINT\\_LENGTH**: ``40``\n\nKey fingerprint length (hex characters)\n\n___\n\n### LOCAL\\_SECRET\\_CHARSET\n\n• `Const` **LOCAL\\_SECRET\\_CHARSET**: ``\"23456789ABCDEFGHJKLMNPQRSTUVWXYZ\"``\n\nCharacter set for LocalSecret display format\n\nExcludes ambiguous characters: 0, 1, I, O\n\n___\n\n### LOCAL\\_SECRET\\_DB\\_CONFIG\n\n• `Const` **LOCAL\\_SECRET\\_DB\\_CONFIG**: `Object`\n\nIndexedDB configuration for LocalSecret storage\n\n#### Type declaration\n\n| Name | Type |\n| :------ | :------ |\n| `name` | ``\"raytio-secrets\"`` |\n| `storeName` | ``\"local-secrets\"`` |\n| `version` | ``1`` |\n\n___\n\n### LOCAL\\_SECRET\\_GROUP\\_SIZE\n\n• `Const` **LOCAL\\_SECRET\\_GROUP\\_SIZE**: ``6``\n\nNumber of characters per group in formatted display\n\n___\n\n### LOCAL\\_SECRET\\_SIZE\n\n• `Const` **LOCAL\\_SECRET\\_SIZE**: ``32``\n\nLocalSecret size in bytes (256 bits)\n\n___\n\n### PGP\\_KEY\\_DB\\_CONFIG\n\n• `Const` **PGP\\_KEY\\_DB\\_CONFIG**: `Object`\n\nIndexedDB configuration for PGP key storage\n\n#### Type declaration\n\n| Name | Type |\n| :------ | :------ |\n| `name` | ``\"raytio-pgp-keys\"`` |\n| `storeName` | ``\"private-keys\"`` |\n| `version` | ``1`` |\n\n___\n\n### TAG\\_DENYLIST\n\n• `Const` **TAG\\_DENYLIST**: `SchemaTag`[]\n\n## Functions\n\n### base64ToUint8Array\n\n▸ **base64ToUint8Array**(`base64`): `Uint8Array`\n\nConvert a base64 string to Uint8Array\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `base64` | `string` |\n\n#### Returns\n\n`Uint8Array`\n\n___\n\n### buildPrefixes\n\n▸ **buildPrefixes**(`hostname`): `string`[]\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `hostname` | `string` |\n\n#### Returns\n\n`string`[]\n\n___\n\n### bytesToPem\n\n▸ **bytesToPem**(`bytes`, `type`): `string`\n\nConvert raw bytes to PEM format\n\nEncodes the bytes as base64 and wraps with PEM headers.\nBase64 content is wrapped at 64 characters per line per RFC 7468.\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `bytes` | `Uint8Array`<`ArrayBufferLike`\\> | Raw bytes to encode |\n| `type` | `string` | PEM type (e.g., \"PUBLIC KEY\", \"PRIVATE KEY\") |\n\n#### Returns\n\n`string`\n\nPEM-formatted string\n\n___\n\n### calcSafeHarbourScore\n\n▸ **calcSafeHarbourScore**(`data`): `Promise`<[`SafeHarbourResult`](#safeharbourresult)\\>\n\nThe Safe Harbour Score indidicates whether a person's identity has been verified\nto the extent requried for Safe Harbour Compliance. This requires multiple verifications\nfrom different sources. For information, refer to the\n[Raytio Documentation](https://dev-docs.rayt.io/docs/features/pep-checks).\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `data` | `Object` |\n| `data.person` | `ProfileObject` |\n| `data.profileObjects` | `ProfileObject`[] |\n| `data.realVers` | `RealVer`[] |\n| `data.getSchema` | (`schemaName`: `SchemaName`) => `Promise`<`Schema`\\> |\n\n#### Returns\n\n`Promise`<[`SafeHarbourResult`](#safeharbourresult)\\>\n\n___\n\n### calculateScore\n\n▸ **calculateScore**(`ruleConfig`, `ruleInput`): `Promise`<`ScoreResult`\\>\n\nthe main function to calculate a score and category.\nMight throw an error.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `ruleConfig` | `ScoreConfig` |\n| `ruleInput` | `RuleData` |\n\n#### Returns\n\n`Promise`<`ScoreResult`\\>\n\n___\n\n### canonicalJsonify\n\n▸ **canonicalJsonify**(`object`): `string`\n\nCreates a canonical JSON string representation of an object.\n\nSpec compliant, and matches\nhttps://gitlab.com/raytio/mono/-/blob/devo/common/signing/signing/canonical_json.py\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `object` | `unknown` |\n\n#### Returns\n\n`string`\n\n___\n\n### checkJsonSignature\n\n▸ **checkJsonSignature**(`data`, `signature`, `keyId`): `Promise`<`boolean`\\>\n\nchecks that a json object was signed by the provided signature. Unless you're\ndealing with bundled verifications, you should use `getOwnRealVerifications`\nor `getSomeoneElsesRealVerifications` instead.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `data` | `unknown` |\n| `signature` | `string` |\n| `keyId` | `undefined` \\| `string` |\n\n#### Returns\n\n`Promise`<`boolean`\\>\n\n___\n\n### computeKeyFingerprint\n\n▸ **computeKeyFingerprint**(`publicKeyBytes`): `Promise`<`string`\\>\n\nCompute SHA-256 fingerprint of public key bytes\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `publicKeyBytes` | `Uint8Array`<`ArrayBufferLike`\\> | Raw public key bytes (SPKI format) |\n\n#### Returns\n\n`Promise`<`string`\\>\n\nFirst 40 hex characters of SHA-256 hash\n\n___\n\n### constantTimeEqual\n\n▸ **constantTimeEqual**(`a`, `b`): `boolean`\n\nConstant-time comparison of two byte arrays\n\nPrevents timing attacks when comparing secrets.\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `a` | `Uint8Array`<`ArrayBufferLike`\\> | First byte array |\n| `b` | `Uint8Array`<`ArrayBufferLike`\\> | Second byte array |\n\n#### Returns\n\n`boolean`\n\ntrue if arrays are equal\n\n___\n\n### convertInstanceToRuleInput\n\n▸ **convertInstanceToRuleInput**(`POs`, `realVers`, `getSchema`): `Promise`<`RuleData`\\>\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `POs` | `ProfileObject`[] |\n| `realVers` | `RealVer`[] |\n| `getSchema` | (`schemaName`: `SchemaName`) => `Promise`<`Schema`\\> |\n\n#### Returns\n\n`Promise`<`RuleData`\\>\n\n___\n\n### convertServerRelationship\n\n▸ **convertServerRelationship**(`serverRelationship`): `Relationship`\n\nConverts relationship type used by the server into the (Urn format) type used by the client\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `serverRelationship` | [`ServerRelationship`](#serverrelationship) | relationship type used in the server |\n\n#### Returns\n\n`Relationship`\n\na Relationship (client-side type) that is equivalent to the inputted serverRelationship value\n\n___\n\n### createAA\n\n▸ **createAA**(`«destructured»`): `Promise`<`AA`\\>\n\nCreates an Access Application and associated public+private keys.\n\nThe user must be part of an organization, and you need to include the `orgId`.\n\nYou must also supply an apiToken and an instance of the maxcryptor for that user,\nas well as the `userDoc` data which is stored in the user's cognito attributes.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `«destructured»` | `Object` |\n| › `apiToken` | `string` |\n| › `apiUrl` | `string` |\n| › `application` | `Omit`<`AA`, ``\"a_id\"``\\> |\n| › `maxcryptor` | `DataEncryptorI` |\n| › `userDoc` | `UserDoc` |\n\n#### Returns\n\n`Promise`<`AA`\\>\n\n___\n\n### createArgon2idConfig\n\n▸ **createArgon2idConfig**(`salt`, `params?`): [`Argon2idConfig`](interfaces/Argon2idConfig.md)\n\nCreate a new Argon2id configuration\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `salt` | `string` | Base64 encoded salt (optional, will generate if not provided) |\n| `params?` | `Partial`<`Pick`<[`Argon2idConfig`](interfaces/Argon2idConfig.md), ``\"iterations\"`` \\| ``\"memory\"`` \\| ``\"parallelism\"``\\>\\> | Optional custom parameters |\n\n#### Returns\n\n[`Argon2idConfig`](interfaces/Argon2idConfig.md)\n\nArgon2idConfig ready for storage\n\n___\n\n### createHashedNId\n\n▸ **createHashedNId**(`nId`, `aId`): `NId`\n\nthe API returns hashed NIds in a separate field,\nwhich breaks the whole app. So, we move the hashed ID into\nthe normal `n_id` field, and use a different format.\n\nThis was first introduced in #1048\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `nId` | `NId` |\n| `aId` | `AId` |\n\n#### Returns\n\n`NId`\n\n___\n\n### createIndexedDBPGPKeyStorage\n\n▸ **createIndexedDBPGPKeyStorage**(): [`PGPKeyStorage`](interfaces/PGPKeyStorage.md)\n\nCreate a PGPKeyStorage implementation using IndexedDB\n\n#### Returns\n\n[`PGPKeyStorage`](interfaces/PGPKeyStorage.md)\n\n___\n\n### createIndexedDBStorage\n\n▸ **createIndexedDBStorage**(): [`LocalSecretStorage`](interfaces/LocalSecretStorage.md)\n\nCreate a LocalSecretStorage implementation using IndexedDB\n\n#### Returns\n\n[`LocalSecretStorage`](interfaces/LocalSecretStorage.md)\n\n___\n\n### decryptPrivateKey\n\n▸ **decryptPrivateKey**(`encryptedPrivateKey`, `iv`, `kek`): `Promise`<`Uint8Array`\\>\n\nDecrypt private key bytes with the user's KEK using AES-GCM\n\n**`Throws`**\n\nError if decryption fails (wrong key or tampered data)\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `encryptedPrivateKey` | `Uint8Array`<`ArrayBufferLike`\\> | AES-GCM encrypted private key bytes |\n| `iv` | `Uint8Array`<`ArrayBufferLike`\\> | 12-byte initialization vector used during encryption |\n| `kek` | `Uint8Array`<`ArrayBufferLike`\\> | 32-byte Key Encryption Key from 2SKD |\n\n#### Returns\n\n`Promise`<`Uint8Array`\\>\n\nDecrypted private key bytes (PKCS8 format)\n\n___\n\n### decryptSharedData\n\n▸ **decryptSharedData**(`«destructured»`): `Promise`<{ `applicationDecryptor`: `ApplicationDataEncryptorI` ; `instance`: `Instance`  }\\>\n\nDecrypts any encrypted properties included in the supplied `instanceData`.\nIf nothing is encrypted the supplied `instanceData` is returned.\n\nIt will reject if there are keys missing for any encrypted properties, or\nif the encrypted data is invalid. If you don't want it to reject, you can\nsupply a `onCorruptedData` function which returns a value to use instead.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `«destructured»` | `Object` |\n| › `apiToken` | `string` |\n| › `apiUrl` | `string` |\n| › `instanceData` | `Instance` |\n| › `maxcryptor` | `DataEncryptorI` |\n| › `onCorruptedData?` | (`fieldName`: `string`, `fieldValue`: `Encrypted`, `error`: `Error`) => `any` |\n\n#### Returns\n\n`Promise`<{ `applicationDecryptor`: `ApplicationDataEncryptorI` ; `instance`: `Instance`  }\\>\n\na copy of `instanceData` with all properties decrypted.\n\n___\n\n### deleteLocalSecret\n\n▸ **deleteLocalSecret**(`userId`): `Promise`<`void`\\>\n\nDelete a LocalSecret from IndexedDB\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `userId` | `string` | User's Cognito sub |\n\n#### Returns\n\n`Promise`<`void`\\>\n\n___\n\n### deletePGPPrivateKey\n\n▸ **deletePGPPrivateKey**(`userId`): `Promise`<`void`\\>\n\nDelete an encrypted PGP private key from IndexedDB\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `userId` | `string` | User's Cognito sub |\n\n#### Returns\n\n`Promise`<`void`\\>\n\n___\n\n### deriveArgon2id\n\n▸ **deriveArgon2id**(`password`, `config`): `Promise`<[`KdfResult`](interfaces/KdfResult.md)\\>\n\nDerive a key using Argon2id\n\n**`Throws`**\n\nError if argon2 module is not available\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `password` | `string` | User's password (will be normalized) |\n| `config` | [`Argon2idConfig`](interfaces/Argon2idConfig.md) | Argon2id configuration from Cognito attributes |\n\n#### Returns\n\n`Promise`<[`KdfResult`](interfaces/KdfResult.md)\\>\n\nKdfResult containing the derived 32-byte key\n\n___\n\n### deriveKey\n\n▸ **deriveKey**(`password`, `config`, `localSecret?`): `Promise`<[`KdfResult`](interfaces/KdfResult.md)\\>\n\nDerive a key using the appropriate KDF based on configuration\n\nThis is the main entry point for key derivation. It automatically\nselects the correct algorithm based on the config.\n\n**`Throws`**\n\nLocalSecretRequiredError if LocalSecret is required but not provided\n\n**`Throws`**\n\nUnknownKdfAlgorithmError if the algorithm is not recognized\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `password` | `string` | User's password |\n| `config` | [`KdfConfig`](#kdfconfig) | KDF configuration from Cognito attributes |\n| `localSecret?` | ``null`` \\| `Uint8Array`<`ArrayBufferLike`\\> | Optional LocalSecret for 2SKD (required for Argon2id with requires_local_secret) |\n\n#### Returns\n\n`Promise`<[`KdfResult`](interfaces/KdfResult.md)\\>\n\nKdfResult containing the derived key\n\n___\n\n### derivePbkdf2\n\n▸ **derivePbkdf2**(`password`, `config`): `Promise`<[`KdfResult`](interfaces/KdfResult.md)\\>\n\nDerive a key using PBKDF2\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `password` | `string` | User's password |\n| `config` | [`Pbkdf2Config`](interfaces/Pbkdf2Config.md) | PBKDF2 configuration from Cognito attributes |\n\n#### Returns\n\n`Promise`<[`KdfResult`](interfaces/KdfResult.md)\\>\n\nKdfResult containing the derived 32-byte key\n\n___\n\n### deriveTwoSecretKdf\n\n▸ **deriveTwoSecretKdf**(`password`, `config`, `localSecret`): `Promise`<[`KdfResult`](interfaces/KdfResult.md)\\>\n\nDerive KEK using Two-Secret Key Derivation\n\nCombines:\n1. Password → Argon2id → 32 bytes\n2. LocalSecret → 32 bytes\n3. XOR(1, 2) → KEK\n\n**`Throws`**\n\nLocalSecretRequiredError if localSecret is not provided but required\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `password` | `string` | User's password |\n| `config` | [`Argon2idConfig`](interfaces/Argon2idConfig.md) | Argon2id configuration |\n| `localSecret` | `undefined` \\| ``null`` \\| `Uint8Array`<`ArrayBufferLike`\\> | Device-bound LocalSecret (32 bytes) |\n\n#### Returns\n\n`Promise`<[`KdfResult`](interfaces/KdfResult.md)\\>\n\nKdfResult containing the derived KEK\n\n___\n\n### encryptPrivateKey\n\n▸ **encryptPrivateKey**(`privateKeyBytes`, `kek`): `Promise`<[`EncryptedPrivateKey`](interfaces/EncryptedPrivateKey.md)\\>\n\nEncrypt private key bytes with the user's KEK using AES-GCM\n\nUses a random 12-byte IV for each encryption operation.\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `privateKeyBytes` | `Uint8Array`<`ArrayBufferLike`\\> | Raw private key bytes (PKCS8 format) |\n| `kek` | `Uint8Array`<`ArrayBufferLike`\\> | 32-byte Key Encryption Key from 2SKD |\n\n#### Returns\n\n`Promise`<[`EncryptedPrivateKey`](interfaces/EncryptedPrivateKey.md)\\>\n\nEncrypted private key and IV\n\n___\n\n### evaluateBadge\n\n▸ **evaluateBadge**(`badge`, `ruleData`): `Promise`<[`BadgeResult`](#badgeresult)\\>\n\nEvaluate a single badge definition against user data.\nThin wrapper around calculateScore() -- threshold names map to badge states.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `badge` | [`BadgeDefinition`](#badgedefinition) |\n| `ruleData` | `RuleData` |\n\n#### Returns\n\n`Promise`<[`BadgeResult`](#badgeresult)\\>\n\n___\n\n### evaluateRule\n\n▸ **evaluateRule**(`rule`, `data`): `Object`\n\nevaluates an individual rule, normally you should use [calculateScore](#calculatescore)\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `rule` | `ScoreRule` |\n| `data` | `RuleData` |\n\n#### Returns\n\n`Object`\n\n| Name | Type |\n| :------ | :------ |\n| `passed` | `boolean` |\n| `score` | `number` |\n\n___\n\n### evaluateUserBadges\n\n▸ **evaluateUserBadges**(`badges`, `ruleData`): `Promise`<[`BadgeResult`](#badgeresult)[]\\>\n\nEvaluate all active badge definitions against user data.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `badges` | [`BadgeDefinition`](#badgedefinition)[] |\n| `ruleData` | `RuleData` |\n\n#### Returns\n\n`Promise`<[`BadgeResult`](#badgeresult)[]\\>\n\n___\n\n### expandSchema\n\n▸ **expandSchema**(`wrappedSchema`, `allUnexpandedSchemas`, `userLocales`, `fndI18nEntries?`): `Schema`\n\nThis is the main function to transform a schema from\nthe JSON that the API returns, into a `Schema` object that's useful\nto the client.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `wrappedSchema` | `WrappedSchema` |\n| `allUnexpandedSchemas` | `WrappedSchema`[] |\n| `userLocales` | readonly `string`[] |\n| `fndI18nEntries?` | `FndI18nEntry`[] |\n\n#### Returns\n\n`Schema`\n\n___\n\n### exportPGPKeyToArmored\n\n▸ **exportPGPKeyToArmored**(`privateKeyBytes`, `options?`): `Promise`<[`ExportedPGPKey`](interfaces/ExportedPGPKey.md)\\>\n\nExport a PKCS8 private key to OpenPGP armored format\n\nThis function converts existing PKCS8 RSA key material to OpenPGP format,\npreserving the original cryptographic material. The exported key can be\nused with GPG, GitHub, and other OpenPGP-compatible tools.\n\n**`Throws`**\n\nPGPKeyExportError if export fails\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `privateKeyBytes` | `Uint8Array`<`ArrayBufferLike`\\> | PKCS8 encoded private key bytes |\n| `options` | [`ExportPGPKeyOptions`](interfaces/ExportPGPKeyOptions.md) | Export options (passphrase, userIds, date) |\n\n#### Returns\n\n`Promise`<[`ExportedPGPKey`](interfaces/ExportedPGPKey.md)\\>\n\nArmored private and public keys with fingerprint\n\n___\n\n### extractPemType\n\n▸ **extractPemType**(`pem`): `string` \\| ``null``\n\nExtract the type from a PEM-formatted string\n\nFor example, extracts \"PUBLIC KEY\" from:\n-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `pem` | `string` | PEM-formatted string |\n\n#### Returns\n\n`string` \\| ``null``\n\nThe type string (e.g., \"PUBLIC KEY\", \"PRIVATE KEY\"), or null if not valid PEM\n\n___\n\n### findMostSpecificTenant\n\n▸ **findMostSpecificTenant**(`tenants`, `prefixes`): `Tenant` \\| `undefined`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `tenants` | `Tenant`[] |\n| `prefixes` | `string`[] |\n\n#### Returns\n\n`Tenant` \\| `undefined`\n\n___\n\n### findSchemaLabel\n\n▸ **findSchemaLabel**(`labels`): `undefined` \\| `SchemaName`\n\nFinds the label (on a profile object) which is the schema name\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `labels` | `undefined` \\| `string`[] |\n\n#### Returns\n\n`undefined` \\| `SchemaName`\n\n___\n\n### findSuitableLocale\n\n▸ **findSuitableLocale**(`options`, `langs`): `undefined` \\| `string`\n\nSelects the most suitable locale to use from a list of options.\nReturns undefined if there is no language that the user speaks.\n\nPriority order:\n1. Exact full locale match (e.g., user has en-NZ, schema has en-NZ)\n2. Base language match (e.g., user has en-US, schema has en)\n3. Any locale with matching base language (e.g., user has de-DE, schema has de-AT)\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `options` | `string`[] |\n| `langs` | readonly `string`[] |\n\n#### Returns\n\n`undefined` \\| `string`\n\n___\n\n### formatFingerprint\n\n▸ **formatFingerprint**(`fingerprint`): `string`\n\nFormat a key fingerprint for display\n\nConverts to uppercase and groups into 4-character blocks separated by spaces.\nFor example: \"abcd1234efgh5678\" becomes \"ABCD 1234 EFGH 5678\"\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `fingerprint` | `string` | Raw fingerprint string (typically 40 hex characters) |\n\n#### Returns\n\n`string`\n\nFormatted fingerprint string\n\n___\n\n### formatLocalSecret\n\n▸ **formatLocalSecret**(`secret`): [`FormattedLocalSecret`](interfaces/FormattedLocalSecret.md)\n\nFormat a LocalSecret for human-readable display\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `secret` | `Uint8Array`<`ArrayBufferLike`\\> | The 32-byte LocalSecret |\n\n#### Returns\n\n[`FormattedLocalSecret`](interfaces/FormattedLocalSecret.md)\n\nFormatted LocalSecret with grouped characters\n\n___\n\n### fromCognitoAttributes\n\n▸ **fromCognitoAttributes**(`attributes`): `UserDoc`\n\nThis function converts Cognito's userAttributes into a maxcryptor UserDoc.\nThe userAttributes come from `const attributes = await Auth.userAttributes(user)`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `attributes` | `ICognitoUserAttributeData`[] |\n\n#### Returns\n\n`UserDoc`\n\n___\n\n### generateDeviceId\n\n▸ **generateDeviceId**(): `string`\n\nGenerate a unique device ID\n\nUsed to identify devices for LocalSecret management.\n\n#### Returns\n\n`string`\n\nUUID v4 string\n\n___\n\n### generateLocalSecret\n\n▸ **generateLocalSecret**(): `Uint8Array`\n\nGenerate a new LocalSecret\n\nUses the Web Crypto API's getRandomValues for cryptographically\nsecure random number generation.\n\n#### Returns\n\n`Uint8Array`\n\n32-byte (256-bit) random LocalSecret\n\n___\n\n### generatePGPKeyPair\n\n▸ **generatePGPKeyPair**(): `Promise`<[`PGPKeyPair`](interfaces/PGPKeyPair.md)\\>\n\nGenerate an RSA 4096-bit key pair for digital signatures\n\n#### Returns\n\n`Promise`<[`PGPKeyPair`](interfaces/PGPKeyPair.md)\\>\n\nGenerated key pair with PEM public key and raw private key bytes\n\n___\n\n### generateRandomBytes\n\n▸ **generateRandomBytes**(`length`): `Uint8Array`\n\nGenerate cryptographically secure random bytes\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `length` | `number` | Number of bytes to generate |\n\n#### Returns\n\n`Uint8Array`\n\nRandom bytes\n\n___\n\n### generateSalt\n\n▸ **generateSalt**(): `string`\n\nGenerate a random salt for key derivation\n\n#### Returns\n\n`string`\n\n16-byte random salt as base64 string\n\n___\n\n### getAADecryptor\n\n▸ **getAADecryptor**(`«destructured»`): `Promise`<{ `decryptor`: `ApplicationEncryptor` ; `publicKeyId`: `KId`  }\\>\n\nFetchs the public and private keys for an Access Application, then initializes\nthe [https://npm.im/@raytio/maxcryptor|Maxcryptor](https://npm.im/@raytio/maxcryptor|Maxcryptor)'s `ApplicationEncryptor`.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `«destructured»` | `Object` |\n| › `aId` | `AId` |\n| › `apiToken` | `string` |\n| › `apiUrl` | `string` |\n| › `maxcryptor` | `DataEncryptorI` |\n\n#### Returns\n\n`Promise`<{ `decryptor`: `ApplicationEncryptor` ; `publicKeyId`: `KId`  }\\>\n\nan `ApplicationEncryptor` and the public key of the Access Application\n\n___\n\n### getAAPublicKey\n\n▸ **getAAPublicKey**(`«destructured»`): `Promise`<`PublicKeyNode`\\>\n\nFetches the Public Key Information for an Access Application\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `«destructured»` | `Object` |\n| › `aId` | `AId` |\n| › `apiToken?` | `string` |\n| › `apiUrl` | `string` |\n\n#### Returns\n\n`Promise`<`PublicKeyNode`\\>\n\nthe id and Key information of the Applications Public Key\n\n___\n\n### getKdfVersion\n\n▸ **getKdfVersion**(`config`): `number`\n\nGet the KDF version from configuration\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `config` | [`KdfConfig`](#kdfconfig) | KDF configuration |\n\n#### Returns\n\n`number`\n\nVersion number (1 for PBKDF2, 2 for Argon2id with 2SKD)\n\n___\n\n### getLocalSecret\n\n▸ **getLocalSecret**(`userId`): `Promise`<`Uint8Array` \\| ``null``\\>\n\nRetrieve a LocalSecret from IndexedDB\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `userId` | `string` | User's Cognito sub |\n\n#### Returns\n\n`Promise`<`Uint8Array` \\| ``null``\\>\n\nThe LocalSecret or null if not found\n\n___\n\n### getLocalSecretRecord\n\n▸ **getLocalSecretRecord**(`userId`): `Promise`<[`StoredLocalSecret`](interfaces/StoredLocalSecret.md) \\| ``null``\\>\n\nGet the stored LocalSecret record (including metadata)\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `userId` | `string` | User's Cognito sub |\n\n#### Returns\n\n`Promise`<[`StoredLocalSecret`](interfaces/StoredLocalSecret.md) \\| ``null``\\>\n\nThe full storage record or null\n\n___\n\n### getMissingDataForInstance\n\n▸ **getMissingDataForInstance**(`«destructured»`): `Promise`<`Instance`\\>\n\nthe new API doesn't return the whole instance at once,\nso we have to make several additional API requests.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `«destructured»` | `Object` |\n| › `apiToken` | `string` |\n| › `apiUrl` | `string` |\n| › `instanceWithoutData` | `InstanceWithoutData` |\n\n#### Returns\n\n`Promise`<`Instance`\\>\n\n___\n\n### getNidFromUrn\n\n▸ **getNidFromUrn**<`IDType`\\>(`urn`): `IDType`\n\ntwo overloads - if you provide undefined, you might get undefined back\n\n#### Type parameters\n\n| Name | Type |\n| :------ | :------ |\n| `IDType` | `NId` |\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `urn` | `Urn` |\n\n#### Returns\n\n`IDType`\n\n▸ **getNidFromUrn**<`IDType`\\>(`urn`): `undefined` \\| `IDType`\n\ntwo overloads - if you provide undefined, you might get undefined back\n\n#### Type parameters\n\n| Name | Type |\n| :------ | :------ |\n| `IDType` | `NId` |\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `urn` | `undefined` \\| `Urn` |\n\n#### Returns\n\n`undefined` \\| `IDType`\n\n___\n\n### getOrCreateDeviceId\n\n▸ **getOrCreateDeviceId**(): `Promise`<`string`\\>\n\nGet or create a unique device ID\n\nThe device ID is stored in localStorage for persistence.\n\n#### Returns\n\n`Promise`<`string`\\>\n\n___\n\n### getOwnRealVerifications\n\n▸ **getOwnRealVerifications**(`«destructured»`): `Promise`<`RealVer`[]\\>\n\nGiven a list of verifications and decrypted profile objects, this function\nlocally verifies the credibility of the signatures in the verifications.\n\nThis function does NOT call the API, except to fetch the public key.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `«destructured»` | `Object` |\n| › `profileObjects` | `ProfileObject`[] |\n| › `userId` | `UId` |\n| › `verifications` | `Verification`[] |\n\n#### Returns\n\n`Promise`<`RealVer`[]\\>\n\na list of authentic RealVer\n\n___\n\n### getPGPPrivateKey\n\n▸ **getPGPPrivateKey**(`userId`): `Promise`<[`StoredPGPPrivateKey`](interfaces/StoredPGPPrivateKey.md) \\| ``null``\\>\n\nRetrieve an encrypted PGP private key from IndexedDB\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `userId` | `string` | User's Cognito sub |\n\n#### Returns\n\n`Promise`<[`StoredPGPPrivateKey`](interfaces/StoredPGPPrivateKey.md) \\| ``null``\\>\n\nThe encrypted private key record or null if not found\n\n___\n\n### getPOVerification\n\n▸ **getPOVerification**(`«destructured»`): `Object`\n\nDetermines the verification status of a profile object, and its individual fields.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `«destructured»` | `Object` |\n| › `PO` | `ProfileObject` \\| `ProfileObjectForUpload` |\n| › `realVers` | `RealVer`[] |\n| › `schema` | `Schema` |\n\n#### Returns\n\n`Object`\n\n| Name | Type |\n| :------ | :------ |\n| `details` | [`VerDetails`](#verdetails) |\n| `fieldVerifications` | `Record`<`string`, `FieldVerification`\\> |\n| `status` | `POVerification` |\n\n___\n\n### getSomeoneElsesRealVerifications\n\n▸ **getSomeoneElsesRealVerifications**(`«destructured»`): `Promise`<`RealVer`[]\\>\n\nGiven a list of verifications and decrypted profile objects, this function calls\nthe Raytio API to verify the credibility of these verifications, returning only valid\nverifications.\n\n❗ prefer `getOwnRealVerifications` if the data to be verified belongs to the current user.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `«destructured»` | `Props` |\n\n#### Returns\n\n`Promise`<`RealVer`[]\\>\n\na list of fileNames/values that are verified.\n\n___\n\n### hasLocalSecret\n\n▸ **hasLocalSecret**(`userId`): `Promise`<`boolean`\\>\n\nCheck if a LocalSecret exists for a user\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `userId` | `string` | User's Cognito sub |\n\n#### Returns\n\n`Promise`<`boolean`\\>\n\ntrue if a LocalSecret exists\n\n___\n\n### hasPGPPrivateKey\n\n▸ **hasPGPPrivateKey**(`userId`): `Promise`<`boolean`\\>\n\nCheck if an encrypted PGP private key exists for a user\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `userId` | `string` | User's Cognito sub |\n\n#### Returns\n\n`Promise`<`boolean`\\>\n\ntrue if a key exists\n\n___\n\n### hashPassword\n\n▸ **hashPassword**(`password`): `Promise`<`string`\\>\n\n**`Deprecated`**\n\nlegacy feature, see #1252\n\nAWS Cognito never gets the raw password. We send them\na hashed verison using PBKDF2 with SHA-256 and 10,000\niterations.\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `password` | `string` | The raw password |\n\n#### Returns\n\n`Promise`<`string`\\>\n\nPromise resolving to the hashed password\n\n___\n\n### importPrivateKey\n\n▸ **importPrivateKey**(`privateKeyBytes`): `Promise`<`CryptoKey`\\>\n\nImport private key bytes as a CryptoKey for RSA-PSS signing\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `privateKeyBytes` | `Uint8Array`<`ArrayBufferLike`\\> | Private key in PKCS8 format |\n\n#### Returns\n\n`Promise`<`CryptoKey`\\>\n\nCryptoKey configured for RSA-PSS signing with SHA-256\n\n___\n\n### importPublicKey\n\n▸ **importPublicKey**(`publicKeyPem`): `Promise`<`CryptoKey`\\>\n\nImport a PEM-encoded public key as a CryptoKey for RSA-PSS verification\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `publicKeyPem` | `string` | Public key in PEM format (SPKI) |\n\n#### Returns\n\n`Promise`<`CryptoKey`\\>\n\nCryptoKey configured for RSA-PSS verification with SHA-256\n\n___\n\n### isArgon2Available\n\n▸ **isArgon2Available**(): `boolean`\n\nCheck if Argon2 module is available\n\n#### Returns\n\n`boolean`\n\n___\n\n### isArgon2idConfig\n\n▸ **isArgon2idConfig**(`config`): config is Argon2idConfig\n\nType guard for Argon2id config\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `config` | [`KdfConfig`](#kdfconfig) |\n\n#### Returns\n\nconfig is Argon2idConfig\n\n___\n\n### isArmoredPGPKey\n\n▸ **isArmoredPGPKey**(`input`): `boolean`\n\nCheck if a string looks like an armored PGP key\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `input` | `string` | String to check |\n\n#### Returns\n\n`boolean`\n\ntrue if it appears to be armored PGP format\n\n___\n\n### isConditionMet\n\n▸ **isConditionMet**(`condition`, `formValues`): `boolean`\n\nChecks all other form values in case any have a\ntrigger value that makes this field required.\n\n**`Example`**\n\n```json\n[\n  { \"if\": { \"age\": [17, 18], \"city\": [\"Taupō\"] } },\n  { \"if\": { \"age\": [19, 20] } }\n]\n```\n\nThis means `[(age=17 OR age=18) AND (city=Taupō)] OR [(age=19 OR age=20)]`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `condition` | `Record`<`string`, `ConditionValue`[]\\> |\n| `formValues` | `Record`<`string`, `unknown`\\> |\n\n#### Returns\n\n`boolean`\n\n___\n\n### isEncrypted\n\n▸ **isEncrypted**(`value`): value is Encrypted\n\nDetermines where the input is an encrypted Raytio object\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `value` | `unknown` | anything |\n\n#### Returns\n\nvalue is Encrypted\n\ntrue or false depending on whether the input is an encrypted Raytio object\n\n___\n\n### isEncryptedFile\n\n▸ **isEncryptedFile**(`value`): value is Encrypted\n\nDetermines where the input is an encrypted Raytio file\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `value` | `unknown` | anything |\n\n#### Returns\n\nvalue is Encrypted\n\ntrue or false depending on whether the input is an encrypted Raytio file\n\n___\n\n### isPbkdf2Config\n\n▸ **isPbkdf2Config**(`config`): config is Pbkdf2Config\n\nType guard for PBKDF2 config\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `config` | [`KdfConfig`](#kdfconfig) |\n\n#### Returns\n\nconfig is Pbkdf2Config\n\n___\n\n### isPemFormat\n\n▸ **isPemFormat**(`input`): `boolean`\n\nCheck if a string is in valid PEM format\n\nPEM format requires:\n- A BEGIN header with a type (e.g., \"-----BEGIN PUBLIC KEY-----\")\n- Base64-encoded content\n- An END footer with matching type (e.g., \"-----END PUBLIC KEY-----\")\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `input` | `string` | String to check |\n\n#### Returns\n\n`boolean`\n\ntrue if the string is valid PEM format, false otherwise\n\n___\n\n### isScoreConfigValid\n\n▸ **isScoreConfigValid**(`x`): x is ScoreConfig\n\ndetermines whether a `ScoreConfig` object is valid\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `x` | `unknown` |\n\n#### Returns\n\nx is ScoreConfig\n\n___\n\n### isScoreResultValid\n\n▸ **isScoreResultValid**(`x`): x is ScoreResult\n\ndetermines whether a `ScoreResult` object is valid\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `x` | `unknown` |\n\n#### Returns\n\nx is ScoreResult\n\n___\n\n### isValidFormattedLocalSecret\n\n▸ **isValidFormattedLocalSecret**(`formatted`): `boolean`\n\nValidate a formatted LocalSecret string\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `formatted` | `string` | The formatted LocalSecret string |\n\n#### Returns\n\n`boolean`\n\ntrue if valid, false otherwise\n\n___\n\n### isValidLocalSecret\n\n▸ **isValidLocalSecret**(`localSecret`): localSecret is Uint8Array<ArrayBufferLike\\>\n\nVerify that a LocalSecret is valid\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `localSecret` | `undefined` \\| ``null`` \\| `Uint8Array`<`ArrayBufferLike`\\> | The LocalSecret to verify |\n\n#### Returns\n\nlocalSecret is Uint8Array<ArrayBufferLike\\>\n\ntrue if valid\n\n___\n\n### maskLocalSecret\n\n▸ **maskLocalSecret**(`formatted`): `string`\n\nMask a LocalSecret for partial display\n\nShows only the first and last groups, masking the middle.\nExample: A7K2M9-******-******-******-******-V6Z4C1\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `formatted` | `string` | The formatted LocalSecret |\n\n#### Returns\n\n`string`\n\nMasked version for display\n\n___\n\n### normalizePassword\n\n▸ **normalizePassword**(`password`): `string`\n\nNormalize password for key derivation\n\nApplies NFKD normalization and trims whitespace.\nThis ensures consistent key derivation across platforms.\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `password` | `string` | Raw password input |\n\n#### Returns\n\n`string`\n\nNormalized password string\n\n___\n\n### parseArmoredPGPKey\n\n▸ **parseArmoredPGPKey**(`armoredKey`, `passphrase?`): `Promise`<[`ParsedPGPKey`](interfaces/ParsedPGPKey.md)\\>\n\nParse an armored PGP private key\n\n**`Throws`**\n\nPGPKeyImportError if parsing fails\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `armoredKey` | `string` | Armored PGP private key string |\n| `passphrase?` | `string` | Optional passphrase if key is encrypted |\n\n#### Returns\n\n`Promise`<[`ParsedPGPKey`](interfaces/ParsedPGPKey.md)\\>\n\nParsed key data\n\n___\n\n### parseLocalSecret\n\n▸ **parseLocalSecret**(`formatted`): `Uint8Array`\n\nParse a formatted LocalSecret back to bytes\n\nHandles various input formats:\n- With dashes: A7K2M9-X4P8N3-...\n- Without dashes: A7K2M9X4P8N3...\n- With spaces: A7K2M9 X4P8N3 ...\n- Lowercase: a7k2m9-x4p8n3-...\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `formatted` | `string` | The formatted LocalSecret string |\n\n#### Returns\n\n`Uint8Array`\n\nThe 32-byte LocalSecret\n\n___\n\n### pemToBytes\n\n▸ **pemToBytes**(`pem`): `Uint8Array`\n\nConvert PEM-formatted string to raw bytes\n\nExtracts the base64 content from between the PEM headers and decodes it.\n\n**`Throws`**\n\nError if the input is not valid PEM format\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `pem` | `string` | PEM-formatted string |\n\n#### Returns\n\n`Uint8Array`\n\nRaw bytes as Uint8Array\n\n___\n\n### repairDate\n\n▸ **repairDate**(`date`): `Date`\n\nrepairs broken ISO dates into valid JS date objects\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `date` | `string` \\| `Date` |\n\n#### Returns\n\n`Date`\n\n___\n\n### requiresLocalSecret\n\n▸ **requiresLocalSecret**(`config`): `boolean`\n\nCheck if a KDF configuration requires LocalSecret\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `config` | [`KdfConfig`](#kdfconfig) | KDF configuration |\n\n#### Returns\n\n`boolean`\n\ntrue if LocalSecret is required\n\n___\n\n### resolveSchemaExtensions\n\n▸ **resolveSchemaExtensions**(`schemas`): `WrappedSchema`[]\n\nResolves schema extensions by deep-merging base schemas into extension schemas.\n\nWhen a schema has `extends_schema_name` set, the base schema is looked up\nfrom the already-fetched schemas and deep-merged with the extension.\nThe extension wins on conflict.\n\nDesign constraints:\n- Single-level only: a base schema must not itself be an extension\n- Same tenant only: enforced at DB level\n- `extends_schema_version`: if set, matches against `schema_version`;\n  if null, the base's `version_current` entry is used (already in the list)\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `schemas` | `WrappedSchema`[] |\n\n#### Returns\n\n`WrappedSchema`[]\n\n___\n\n### setArgon2Module\n\n▸ **setArgon2Module**(`module`): `void`\n\nSet the Argon2 module reference\n\nThis must be called before using deriveArgon2id.\nThe module is passed in from packages/client where argon2-browser is imported.\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `module` | `Argon2Module` | The argon2-browser module |\n\n#### Returns\n\n`void`\n\n___\n\n### signData\n\n▸ **signData**(`data`, `privateKey`): `Promise`<`Uint8Array`\\>\n\nSign raw bytes with an RSA-PSS private key\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `data` | `Uint8Array`<`ArrayBufferLike`\\> | Data to sign as Uint8Array |\n| `privateKey` | `CryptoKey` | CryptoKey configured for RSA-PSS signing |\n\n#### Returns\n\n`Promise`<`Uint8Array`\\>\n\nSignature bytes (512 bytes for RSA-4096)\n\n___\n\n### signText\n\n▸ **signText**(`text`, `privateKey`): `Promise`<`string`\\>\n\nSign text and return base64-encoded signature\n\nConvenience wrapper that encodes text to UTF-8 bytes before signing.\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `text` | `string` | Text to sign |\n| `privateKey` | `CryptoKey` | CryptoKey configured for RSA-PSS signing |\n\n#### Returns\n\n`Promise`<`string`\\>\n\nBase64-encoded signature string\n\n___\n\n### someEncrypted\n\n▸ **someEncrypted**<`T`\\>(`...args`): `number`\n\nGiven a profile object's properties, returns the number\nof properties that are encryted.\n\n#### Type parameters\n\n| Name | Type |\n| :------ | :------ |\n| `T` | extends `object` |\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `...args` | [obj: T] |\n\n#### Returns\n\n`number`\n\n___\n\n### sortSchemaProperties\n\n▸ **sortSchemaProperties**(`properties`, `groupOrder?`): `Section`[]\n\nSchema properties are an object, so they need to be converted into an\narray, grouped by the group tag, and then sorted based on the `priority`\nattribute within their group.\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `properties` | `Record`<`string`, `SchemaField`\\> | The schema properties to sort |\n| `groupOrder?` | `string`[] | Optional array specifying the order of groups. Groups not in this array will appear after ordered groups. |\n\n#### Returns\n\n`Section`[]\n\n___\n\n### storeLocalSecret\n\n▸ **storeLocalSecret**(`userId`, `secret`): `Promise`<`void`\\>\n\nStore a LocalSecret in IndexedDB\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `userId` | `string` | User's Cognito sub |\n| `secret` | `Uint8Array`<`ArrayBufferLike`\\> | The 32-byte LocalSecret |\n\n#### Returns\n\n`Promise`<`void`\\>\n\n___\n\n### storePGPPrivateKey\n\n▸ **storePGPPrivateKey**(`record`): `Promise`<`void`\\>\n\nStore an encrypted PGP private key in IndexedDB\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `record` | [`StoredPGPPrivateKey`](interfaces/StoredPGPPrivateKey.md) | The encrypted private key record to store |\n\n#### Returns\n\n`Promise`<`void`\\>\n\n___\n\n### tenantPrefixFilter\n\n▸ **tenantPrefixFilter**(`prefixes`): `string`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `prefixes` | `string`[] |\n\n#### Returns\n\n`string`\n\n___\n\n### toCognitoAttributes\n\n▸ **toCognitoAttributes**(`userDoc`): `Object`\n\nGiven a `UserDoc` from the maxcryptor, this returns an object\nwhich you can provide to `Auth.updateUserAttributes()`. It is\nan object of stringified Json.\n\nNote: Only includes attributes that exist in userDoc. Missing attributes\nare filtered out to avoid Cognito \"Attribute value must not be null\" errors.\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `userDoc` | `UserDoc` |\n\n#### Returns\n\n`Object`\n\n___\n\n### uint8ArrayToBase64\n\n▸ **uint8ArrayToBase64**(`bytes`): `string`\n\nConvert Uint8Array to base64 string\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `bytes` | `Uint8Array`<`ArrayBufferLike`\\> |\n\n#### Returns\n\n`string`\n\n___\n\n### validateImportedKey\n\n▸ **validateImportedKey**(`parsedKey`): [`KeyValidationResult`](interfaces/KeyValidationResult.md)\n\nValidate an imported key\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `parsedKey` | [`ParsedPGPKey`](interfaces/ParsedPGPKey.md) | Parsed key to validate |\n\n#### Returns\n\n[`KeyValidationResult`](interfaces/KeyValidationResult.md)\n\nValidation result with any warnings\n\n___\n\n### verifySignature\n\n▸ **verifySignature**(`data`, `signature`, `publicKey`): `Promise`<`boolean`\\>\n\nVerify an RSA-PSS signature\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `data` | `Uint8Array`<`ArrayBufferLike`\\> | Original data that was signed |\n| `signature` | `Uint8Array`<`ArrayBufferLike`\\> | Signature bytes to verify |\n| `publicKey` | `CryptoKey` | CryptoKey configured for RSA-PSS verification |\n\n#### Returns\n\n`Promise`<`boolean`\\>\n\nTrue if signature is valid, false otherwise\n\n___\n\n### verifyTextSignature\n\n▸ **verifyTextSignature**(`text`, `signatureBase64`, `publicKey`): `Promise`<`boolean`\\>\n\nVerify a base64-encoded signature for text\n\nConvenience wrapper that decodes base64 signature and encodes text to UTF-8.\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `text` | `string` | Original text that was signed |\n| `signatureBase64` | `string` | Base64-encoded signature to verify |\n| `publicKey` | `CryptoKey` | CryptoKey configured for RSA-PSS verification |\n\n#### Returns\n\n`Promise`<`boolean`\\>\n\nTrue if signature is valid, false otherwise\n\n___\n\n### xorBytes\n\n▸ **xorBytes**(`a`, `b`): `Uint8Array`\n\nXOR two byte arrays of equal length\n\nUsed for combining password-derived key with LocalSecret in 2SKD.\nThis follows the 1Password approach of XOR combination.\n\n**`Throws`**\n\nError if arrays are not the same length\n\n#### Parameters\n\n| Name | Type | Description |\n| :------ | :------ | :------ |\n| `a` | `Uint8Array`<`ArrayBufferLike`\\> | First byte array |\n| `b` | `Uint8Array`<`ArrayBufferLike`\\> | Second byte array |\n\n#### Returns\n\n`Uint8Array`\n\nXOR result\n","readmeFilename":"README.md"}