{"_id":"@pvermeer/dexie-immutable-addon","_rev":"26-aa0c982684f727b42ae1fa6787302e2e","name":"@pvermeer/dexie-immutable-addon","dist-tags":{"latest":"1.1.4","beta":"2.0.0-beta.0"},"versions":{"1.0.0-beta.1":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.1","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.1","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-immutable-addon#readme","bugs":{"url":"https://github.com/PVermeer/dexie-immutable-addon/issues"},"dist":{"shasum":"b8c6002493a85c1d5eac63e312295d17537aeb2b","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.1.tgz","fileCount":13,"integrity":"sha512-Ctdy3/yBngFWKJYEp6j1r5JJNKLha77PDPA409Te3EQ6MvX15STXHK7K0GHAAwFw34rbM3CQJC8mOCu9eosV4A==","signatures":[{"sig":"MEUCIGcz8OLiRwjTaIuAstqDr6GavxJq2LHCQnvLtH68zJNIAiEAlW432RzvCVDrecIopsJbHson99wsATukcuQFUxVI6Ag=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":173090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJxByCRA9TVsSAnZWagAAsQYP/2HHnY34mHUQqyJvKs6A\nCZBdmpq288txkWbcwbk6/jqrypaiVQDpZimnh3WvGOSz2fywXdJkOizZR76t\nONBp1oJRjNV28JSyI4FObaLxgjZj4mPhIadxV1d740Y40Sbfxf0CLLZpl98Z\n1yi6vjEwr9Vl/0SCOe9ZT2azMbUKBXK7rL/SyZ/e4aH3KH5eHPvMjy4wqTcd\nCcjGJBPfnMt7ox36Ghp1WuVb2zzeuZKOPWxV0Wcql2qNd7h0Bc3ovtIrtFbG\n1r64cMViG+3N/xyyyL5v5XH2Qu83svGmcLRbkgxuuFo1WWIzQShLxdiG6jpk\neKXuQFq47bB+KT5ydaftezq6WurYV8EQEJy2+CtqialiQSpdyQNfkEsLduqP\n7krlKNf6/2aN4AflGDShL0DOZUc91DPsuUZGbKhQ6ejHlsiog6WfYzxrQti4\n5z+NpIwc5yEhA/y6TYMoLVoyTxllsyp04Pq4UfvxemOxB8ybTgtxe4ojg9HS\nmJ0SYaEUc2YhuFnZdg9a5l+mvBNf/dpuqvMNUYkL7J1d9M43IzjdV4x77ZpW\n8LnWxlhenwwSptZ3gaXXl8tsjmoTspM4YFpIxfbgDePzLoSQ2wXBzVtepo9l\nRfcaW4X4qwMzVJySkEXJeABmZm+NUl8eHtK+7ey0Qt3p0TpXgNniMmKG1ODu\nMqWC\r\n=RD+/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-push":"if git-branch-is -i -q -r \"master|next|next-major|beta|alpha|^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$\"; then npm run test; fi","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"module":"dist/es6/index.js","gitHead":"e2f5f45499a11d13ebcb7b6622f0f82058005900","scripts":{"lint":"tslint --project test/tsconfig.json","test":"npm run build && npm run lint && npm run test:jasmine && npm run test:karma","build":"npm run clean && npm run build:bundles && npm run build:es6 && npm run build:declaration","clean":"rimraf -rf coverage/ && rimraf -rf dist/ && rimraf -rf reports/","build:es6":"tsc -p src/tsconfig.json -m es6 -t es6 --outDir dist/es6","test:karma":"karma start test/karma.conf.js","test:jasmine":"cd test && jasmine --require=ts-node/register --config=jasmine.conf.json","build:bundles":"webpack --config webpack.config.js","semantic-release":"semantic-release","test:karma:debug":"npm run build && karma start test/karma.debug.conf.js","build:declaration":"dts-bundle-generator --config dts-bundler.config.js","test:jasmine:debug":"npm run build && cd test && nodemon --ext ts --exec jasmine --require=ts-node/register --config=jasmine.conf.json --reporter=jasmine-console-reporter"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-immutable-addon.git","type":"git"},"_npmVersion":"6.13.6","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"12.14.1","dependencies":{"lodash":"^4.17.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dexie":"^2.0.4","faker":"^4.1.0","husky":"^4.0.7","karma":"~4.4.1","rimraf":"^3.0.0","tslint":"^5.20.1","jasmine":"^3.5.0","nodemon":"^2.0.2","ts-node":"^8.6.2","webpack":"^4.41.5","lodash-es":"^4.17.15","ts-loader":"^6.2.1","typescript":"~3.5.3","webpack-cli":"^3.3.10","@types/faker":"^4.1.8","@types/karma":"^3.0.5","jasmine-core":"^3.5.0","@angular/core":"^8.2.14","@types/lodash":"^4.14.149","git-branch-is":"^3.1.0","karma-jasmine":"^2.0.1","karma-webpack":"^4.0.2","@types/jasmine":"^3.5.0","@types/webpack":"^4.41.2","@commitlint/cli":"^8.3.4","@ngtools/webpack":"^8.3.21","@types/lodash-es":"^4.17.3","karma-typescript":"^4.1.1","semantic-release":"^16.0.1","@angular/compiler":"^8.2.14","karma-ie-launcher":"^1.0.0","karma-edge-launcher":"^0.4.2","dts-bundle-generator":"^3.3.1","karma-mocha-reporter":"^2.2.5","karma-opera-launcher":"^1.0.0","@angular/compiler-cli":"^8.2.14","@semantic-release/git":"^8.0.0","jasmine-spec-reporter":"^4.2.1","karma-chrome-launcher":"^3.1.0","karma-detect-browsers":"^2.3.3","karma-safari-launcher":"^1.0.0","@commitlint/travis-cli":"^8.3.4","karma-firefox-launcher":"^1.3.0","license-webpack-plugin":"^2.1.3","webpack-node-externals":"^1.7.2","webpack-bundle-analyzer":"^3.6.0","jasmine-console-reporter":"^3.1.0","karma-phantomjs-launcher":"^1.0.4","@semantic-release/changelog":"^3.0.6","karma-jasmine-html-reporter":"^1.5.1","karma-typescript-es6-transform":"^4.1.1","@commitlint/config-conventional":"^8.3.4","karma-safaritechpreview-launcher":"^2.0.2"},"peerDependencies":{"dexie":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.1_1579618417564_0.9786328667460342","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-beta.2":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.2","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.2","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-immutable-addon#readme","bugs":{"url":"https://github.com/PVermeer/dexie-immutable-addon/issues"},"dist":{"shasum":"45238cef0df8f2dad7dc7e088eed2447c38b6336","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.2.tgz","fileCount":14,"integrity":"sha512-1NsHbBxm+WdmSTLbhSz9F9gfSCUmgkPzexqF8dAwywW4uTDERuKsvk56Jv44UIfLIkZ4ZSh+zHl+8u+Vezb7RQ==","signatures":[{"sig":"MEUCIQCvT7OE4bMhG9LBSdPgyRX2zSNCRizyKE1Uf2+HWeE9wwIgbP6Sh3EUvCuCy7rKOa6yRHs2ZegDZ0wWWrfeCytzupU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":173457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZmB0CRA9TVsSAnZWagAA72sP/ijKG8UXzUUGwCxndDOK\n+lh0M613F1JuflBVIJ3JamDe5lpkwwXE7V/6vyh/YCja6dV1abuRqWNvzP1r\n7u0HUgTgQP/HMRbwbFdaQu97O11yT8DYNIAK0WnBq+vtDhtxxXJJ/C4xgxT/\nyLa+IkRJT/2NBpxqDeI/2OvvPh4y9nBP4qrNS2xGcpRP2BCE3uEtM8Mku+uW\nlP7bgzLRT9vmBV041S7ONFCS79bjkge7o6opST9EvkNY9Kb7b5B7eLa/O/gQ\nrgPTkj4tLbpVZ71F2kOY5EfJnACtyN/OJUYml8YKA2Sqtv5YO2N1xR9BRGj+\nEVusREBOzf6cVSZRHK/OIIj/QI6CeadZtYsIGxftCZcqHLbtO1839xowd6lD\nyclOFvjMICBp/4vRwqVi87I2cz4DxUCExhApwvXhuOUSlwXa9IpIdFzR2p2l\nc2+kGIwZ8dhfN5clsuPB9qwUIffVyP+hXemYiptxMeIHwmBkpR2um5FOqqRI\nWzBccJnb+qucvpoTd2rxp7tvrTz2qm6yJnC0jQF5C83rMtComwm6Uymrgc/8\nDPcK0bCQt0aPiDqhYHINjnTc2oYkSqVqfSRC3Azq+0Q623bWzoL7bIwzmPhH\nLOS02U+ZhWhL+fF6oNLwWLR9pxtQSTvpRANbTs8iC/xcCJImumXo07NGaclV\nofqm\r\n=9sVx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-push":"if git-branch-is -i -q -r \"master|next|next-major|beta|alpha|^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$\"; then npm run test; fi","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"module":"dist/es6/index.js","readme":"ERROR: No README data found!","gitHead":"e62811513fa7795499e0533661ae00a1a69b624c","scripts":{"init":"semantic-release-cli setup","lint":"tslint --project test/tsconfig.json","test":"npm run build && npm run lint && npm run test:jasmine && npm run test:karma","build":"npm run clean && npm run build:bundles && npm run build:es6","clean":"rimraf -rf dist/ && rimraf -rf reports/","build:es6":"tsc -p src/tsconfig.es6.json","test:karma":"karma start test/karma.conf.js","test:jasmine":"cd test && jasmine --require=ts-node/register --config=jasmine.conf.json --reporter=jasmine-console-reporter","build:bundles":"webpack --config webpack.config.js","test:coverage":"karma start test/karma.conf.js --browsers ChromeHeadless --reporters dots,coverage-istanbul","semantic-release":"semantic-release","test:karma:debug":"npm run build && karma start test/karma.debug.conf.js","test:jasmine:debug":"cd test && nodemon --ext ts --exec jasmine --require=ts-node/register --config=jasmine.conf.json --reporter=jasmine-console-reporter"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-immutable-addon.git","type":"git"},"_npmVersion":"6.14.2","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"12.16.1","dependencies":{"lodash":"^4.17.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dexie":"^3.0.0-rc.5","faker":"^4.1.0","husky":"^4.2.3","is-ci":"^2.0.0","karma":"~4.4.1","rimraf":"^3.0.2","tslint":"^5.20.1","jasmine":"^3.5.0","nodemon":"^2.0.2","ts-node":"^8.6.2","webpack":"^4.42.0","lodash-es":"^4.17.15","ts-loader":"^6.2.1","typescript":"~3.5.3","webpack-cli":"^3.3.11","@types/faker":"^4.1.10","@types/karma":"^3.0.8","jasmine-core":"^3.5.0","@angular/core":"^8.2.14","@types/lodash":"^4.14.149","git-branch-is":"^3.1.0","karma-jasmine":"^2.0.1","karma-webpack":"^4.0.2","@types/jasmine":"^3.5.8","@commitlint/cli":"^8.3.4","@ngtools/webpack":"^8.3.25","@types/lodash-es":"^4.17.3","semantic-release":"^17.0.1","@angular/compiler":"^8.2.14","karma-mocha-reporter":"^2.2.5","semantic-release-cli":"^5.2.3","@angular/compiler-cli":"^8.2.14","@semantic-release/git":"^8.0.0","karma-chrome-launcher":"^3.1.0","karma-edgium-launcher":"github:PVermeer/karma-edgium-launcher#master","@commitlint/travis-cli":"^8.3.4","karma-firefox-launcher":"^1.3.0","license-webpack-plugin":"^2.1.3","webpack-node-externals":"^1.7.2","webpack-bundle-analyzer":"^3.6.0","jasmine-console-reporter":"^3.1.0","@semantic-release/changelog":"^3.0.6","karma-jasmine-html-reporter":"^1.5.2","istanbul-instrumenter-loader":"^3.0.1","@commitlint/config-conventional":"^8.3.4","karma-coverage-istanbul-reporter":"^2.1.1"},"peerDependencies":{"dexie":"^3.0.0-rc.5"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.2_1583767668373_0.517730436761423","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-beta.3":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.3","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.3","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-immutable-addon#readme","bugs":{"url":"https://github.com/PVermeer/dexie-immutable-addon/issues"},"dist":{"shasum":"a3fbf8a3c0be97f547ed745636aed960121972f4","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.3.tgz","fileCount":19,"integrity":"sha512-vbUmLx24bZGN3I1gbg4Wy/j1X0j2XY+hVNobFUR+zQRnHOphWqh8br5KEAlrtqSdZSxu9X54BfLtic1bfwa04g==","signatures":[{"sig":"MEUCIDb93McNZfPs63lJniRg6nxr2wa1a4QSGNNz+7aVcT/dAiEAlXqtRRC4JOqQE22/+BS+rBeGwvgNFhDIvBjOKxrdQNA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeb1zbCRA9TVsSAnZWagAAaqwP+wdpsJ+sJxhruBenEYwy\nGzAtEhvKfBtC6iY5EwS1+SxsYuRYEjzOrguWVLh8pJzK/fixgqBUlkH/zNTl\n9VaEi7CjXi/4Yymv7ZMzoLkAP6AdWZne7T8BlBtX3//5qMMAj4qiOKxPONVS\nAheWlUlWgq5PWShmMT2Trp3+au3OrkC+dMKXfYSDzVPkl7RZsA+lIRh8oHxF\nEfIoF6F+gmpa5OgRRE88D5ld387gd2/pIizP/cD/EG3T0YN83jJKeP5Rw0kv\nvPZvykuJT1mpTFoW9e/CHhpjl5n/u3hp+lKvdVVEEdD2l5WCtrwOi6To3U+t\nWGSoo9PhmL5yrC+xVKsVqHVW0ECIn8OtPNT9JdJMZDBDjR0J8V6uYv8Qjl8z\nRDCD5BwrGMT/B4FlZqtfQg6Qd8DP5hiYnTvQYsQs+IHZY8FJX7Ifd+DFGPdL\nH3nVfnX4NC9ExxBmRGHlxWAKrAAPy8gLV/Nc4fdC3g3+BP1YPO4EJbwS8pkR\nKI9AtE4DjAZtFiJ50aiJpLWpYCoYD68vof4FZBIHHdf+LEbjGitoOSH8mtEt\nqCSQ55GjnonuUzeQRD95bv45EygY40ENOueAALgRqcWpS2joCNIP7Sgczwjt\nLpW98DbxOVmGJ56Qc/iR3/Vso/JASEP3XX5VHpGE9BTgMqxXBpiIjiiq319Z\nT3Ey\r\n=lUTx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-push":"if git-branch-is -i -q -r \"master|next|next-major|beta|alpha|^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$\"; then npm run test; fi","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"module":"dist/esm-es5/index.js","readme":"ERROR: No README data found!","gitHead":"48e91090144a0dbede0af9d104599b1ded1044c3","scripts":{"init":"semantic-release-cli setup","lint":"tslint --project tsconfig.json","test":"npm run build && npm run lint && npm run test:jasmine && npm run test:karma","build":"npm run clean && npm run build:bundles && npm run build:es6 && npm run build:esm-es5 && npm run build:declaration","clean":"rimraf -rf dist/ && rimraf -rf reports/","build:es6":"tsc -p tsconfig.es6.json","test:karma":"karma start test/karma.conf.js","test:jasmine":"cd test && jasmine --require=ts-node/register --config=jasmine.conf.json --reporter=jasmine-console-reporter","build:bundles":"webpack --config webpack.config.js","build:esm-es5":"tsc -p tsconfig.esm-es5.json","test:coverage":"karma start test/karma.conf.js --browsers ChromeHeadless --reporters dots,coverage-istanbul","semantic-release":"semantic-release","test:karma:debug":"npm run build && karma start test/karma.debug.conf.js","build:declaration":"dts-bundle-generator --config dts-bundler.config.js","test:jasmine:debug":"cd test && nodemon --ext ts --exec jasmine --require=ts-node/register --config=jasmine.conf.json --reporter=jasmine-console-reporter"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-immutable-addon.git","type":"git"},"_npmVersion":"6.14.2","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"12.16.1","dependencies":{"tslib":"^1.11.1","lodash":"^4.17.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dexie":"^3.0.0-rc.5","faker":"^4.1.0","husky":"^4.2.3","is-ci":"^2.0.0","karma":"~4.4.1","rimraf":"^3.0.2","tslint":"^5.20.1","jasmine":"^3.5.0","nodemon":"^2.0.2","ts-node":"^8.6.2","webpack":"^4.42.0","lodash-es":"^4.17.15","ts-loader":"^6.2.1","typescript":"^3.8.3","@babel/core":"^7.8.7","webpack-cli":"^3.3.11","@types/faker":"^4.1.10","@types/is-ci":"^2.0.0","@types/karma":"^3.0.8","babel-loader":"^8.0.6","jasmine-core":"^3.5.0","@types/lodash":"^4.14.149","git-branch-is":"^3.1.0","karma-jasmine":"^2.0.1","karma-webpack":"^4.0.2","@babel/runtime":"^7.8.7","@types/jasmine":"^3.5.9","@commitlint/cli":"^8.3.4","@types/lodash-es":"^4.17.3","semantic-release":"^17.0.1","@babel/preset-env":"^7.8.7","dts-bundle-generator":"^3.3.1","karma-mocha-reporter":"^2.2.5","semantic-release-cli":"^5.2.3","@semantic-release/git":"^8.0.0","karma-chrome-launcher":"^3.1.0","karma-edgium-launcher":"github:PVermeer/karma-edgium-launcher#master","@commitlint/travis-cli":"^8.3.4","karma-firefox-launcher":"^1.3.0","license-webpack-plugin":"^2.1.4","webpack-node-externals":"^1.7.2","webpack-bundle-analyzer":"^3.6.1","jasmine-console-reporter":"^3.1.0","@semantic-release/changelog":"^3.0.6","karma-jasmine-html-reporter":"^1.5.2","istanbul-instrumenter-loader":"^3.0.1","@babel/plugin-transform-runtime":"^7.8.3","@commitlint/config-conventional":"^8.3.4","karma-coverage-istanbul-reporter":"^2.1.1"},"peerDependencies":{"dexie":"^3.0.0-rc.5"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.3_1584356571459_0.5137664191035103","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-beta.4":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.4","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.4","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-immutable-addon#readme","bugs":{"url":"https://github.com/PVermeer/dexie-immutable-addon/issues"},"dist":{"shasum":"d7b19f8c1406247d8db21404486b65114b5a23f2","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.4.tgz","fileCount":20,"integrity":"sha512-lYSXHMNlDQlLt7sYI4OuiJSjFDWxaOuNsT5p/JIULJZz+GnJtvpzNeQbZL5Bi8qD9LU4mwFeGfMO/LGkVaM61Q==","signatures":[{"sig":"MEYCIQCcqcv8PDgZ0V37IXshIt5TS9KrWxS+VLis87jcMITXAAIhAPtowYl4T3RaYQdtbpfWt5g7TB8Rk2ahfvDcxy49sSet","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJec2L1CRA9TVsSAnZWagAAceYP/0z/Tkut2bIJLi1GdayX\nRVUEAxpvHRQX/SfKogwcgiLVbU5LuvOoIZSXUjfbFlJ6pdHfEEirc6IVOYQQ\nPMSDWVUu17M+r152Caqq3Sp6QYmpEyJTFchAaYz9uSHdo+IOtey+KeroeRMj\nJrAhLT6dLsFtp221fqYtuQJTgWlDOAsb5G0dY+yMOmEclEajJ+47/fSPZXn9\nu344oIRJmiXH72w7UALHs2pMZbZhpGZS3dXuhadpytvnnN/EiJ9AYXDBni3z\n8WXAwmD3/6HJ25VqcpT+meyNmppm2tfIQ7hSnT5VRg1bkn8+oheU5/H6dUYj\npQJbVOSIUEe2TFasCrm1v4bHEnvfKqNzi8K3WZabk9mqg+RnxWXnFm9q5ahy\nVPi7hil6QVqKTMOAKpz20D8qXqRWv1yowLtZGrFFYdJrVb4wBKZg8bMm9fZL\nRQ3P04vGpj99dmJYp6jTdwGAnUsy/Pz1ErbrpWaRTDtt3d/2yewVJGxH17iP\nY2FwA83jJaVxmL5xpTtjIqZQ/WunF4qVmymdD7OGT1YV/J1qcF5J5xszAN1w\nIIhcpA9MS/BUqtZdr8mgAHG1T/saGpZ9kivRKFTWUxuL+IKzg6IFABe2vKzY\nbbNqYiSbw+k4ihuP/0Y8GdfU5A2hlSBHKisf84lRtk1Bqmk/d2bJ1yRIZj6U\nhF/Y\r\n=BsXU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-push":"if git-branch-is -i -q -r \"master|next|next-major|beta|alpha|^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$\"; then npm run test; fi","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"module":"dist/esm-es5/index.js","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![Build Status](https://travis-ci.org/PVermeer/dexie-immutable-addon.svg?branch=master)](https://travis-ci.org/PVermeer/dexie-immutable-addon)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. \n```\nnpm install dexie\n```\nAt the time of writing Dexie v3 is in the RC stage. To install this version you have to use the @next npm version. Current version of Dexie.js: [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie@next\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the Lodash cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie. For example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ES6\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"f7890a3355c79211595465c5b91724e777189744","scripts":{"init":"semantic-release-cli setup","lint":"tslint --project tsconfig.json","test":"npm run build && npm run lint && npm run test:jasmine && npm run test:karma","build":"npm run clean && npm run build:bundles && npm run build:es6 && npm run build:esm-es5 && npm run build:declaration","clean":"rimraf -rf dist/ && rimraf -rf reports/","build:es6":"tsc -p tsconfig.es6.json","test:karma":"karma start test/karma.conf.js","test:jasmine":"cd test && jasmine --require=ts-node/register --config=jasmine.conf.json --reporter=jasmine-console-reporter","build:bundles":"webpack --config webpack.config.js","build:esm-es5":"tsc -p tsconfig.esm-es5.json","test:coverage":"karma start test/karma.conf.js --browsers ChromeHeadless --reporters dots,coverage-istanbul","semantic-release":"semantic-release","test:karma:debug":"npm run build && karma start test/karma.debug.conf.js","build:declaration":"dts-bundle-generator --config dts-bundler.config.js","test:jasmine:debug":"cd test && nodemon --ext ts --exec jasmine --require=ts-node/register --config=jasmine.conf.json --reporter=jasmine-console-reporter"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-immutable-addon.git","type":"git"},"_npmVersion":"6.14.2","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"12.16.1","dependencies":{"tslib":"^1.11.1","lodash":"^4.17.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dexie":"^3.0.0-rc.5","faker":"^4.1.0","husky":"^4.2.3","is-ci":"^2.0.0","karma":"~4.4.1","rimraf":"^3.0.2","tslint":"^5.20.1","jasmine":"^3.5.0","nodemon":"^2.0.2","ts-node":"^8.6.2","webpack":"^4.42.0","lodash-es":"^4.17.15","ts-loader":"^6.2.1","typescript":"^3.8.3","@babel/core":"^7.8.7","webpack-cli":"^3.3.11","@types/faker":"^4.1.10","@types/is-ci":"^2.0.0","@types/karma":"^3.0.8","babel-loader":"^8.0.6","jasmine-core":"^3.5.0","@types/lodash":"^4.14.149","git-branch-is":"^3.1.0","karma-jasmine":"^2.0.1","karma-webpack":"^4.0.2","@babel/runtime":"^7.8.7","@types/jasmine":"^3.5.9","@commitlint/cli":"^8.3.4","@types/lodash-es":"^4.17.3","semantic-release":"^17.0.1","@babel/preset-env":"^7.8.7","dts-bundle-generator":"^3.3.1","karma-mocha-reporter":"^2.2.5","semantic-release-cli":"^5.2.3","@semantic-release/git":"^8.0.0","karma-chrome-launcher":"^3.1.0","karma-edgium-launcher":"github:PVermeer/karma-edgium-launcher#master","@commitlint/travis-cli":"^8.3.4","karma-firefox-launcher":"^1.3.0","license-webpack-plugin":"^2.1.4","webpack-node-externals":"^1.7.2","webpack-bundle-analyzer":"^3.6.1","jasmine-console-reporter":"^3.1.0","@semantic-release/changelog":"^3.0.6","karma-jasmine-html-reporter":"^1.5.2","istanbul-instrumenter-loader":"^3.0.1","fork-ts-checker-webpack-plugin":"^4.1.0","@babel/plugin-transform-runtime":"^7.8.3","@commitlint/config-conventional":"^8.3.4","karma-coverage-istanbul-reporter":"^2.1.1"},"peerDependencies":{"dexie":"^3.0.0-rc.5"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.4_1584620276905_0.7988749497346002","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-beta.5":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.5","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.5","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-immutable-addon#readme","bugs":{"url":"https://github.com/PVermeer/dexie-immutable-addon/issues"},"dist":{"shasum":"63e32ad46946153d0c2dd3f24996ca0570eb3cf9","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.5.tgz","fileCount":27,"integrity":"sha512-LLCKsBnVK1dw8LLrkhZ/ent/flJMImmZjNv0RJx6uGVD5ffhlvrBPpq/vLJORMg9J0EuhqzrB255aCZL12R7NQ==","signatures":[{"sig":"MEQCIFA8gFikXTITb0SYjQerxp79rNDPNkLVYQV7OUonc5y2AiAfZJtJJxtXvN4m/b3cNXNykI0Wzs7IBymExHQMlX02eQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeLUwCRA9TVsSAnZWagAAfpQQAKN2CQcOecM8I4sNBPgo\nw5lwFThkpvPpPm3kjTs9uD1oe/oEcmpH2lLErnKSrjOgnDYj2RPieyitGvLw\n6lsY9n5ZmBhbjiOmWv/yBJzychW8NGNAYzWClt3ONzzKulwQ9+TQIqDa/ofG\n8fx47TUpI9zu3K3lddakr8qpYiLUSQNdu6JAimbf8zebYWXe+5PzfTxN1J6N\nAuD7vklHQDMWGnDgHWrr1Ow4sG5dUcXk58eTgUl7AOBoEFDmSh98h3XCmASI\n4VotDTpBo0web2qGxqdI19IzfqbJI6oO8jQbUrZ6yCOtnLhFILrZvtoEO5pG\nbfp0w55uBbBSI95u3Ee5sx6CsSFrkNW5J4KvknDjOhVri6ZJZw14HC38wK/2\nbMV7brt+SB2QcXPK1UbEIUvUgVHJUkjJlFspeDrI6W7Q1ugNKBiEmuocR7Q/\nH3kkZY1FGWM7rb6tZb8iRcENMyY/g/viOgKV4Owo/uob+p/k32KlwRtgjnv+\nHboYAdLhKnqyFfp+0WKn2Sqv8Sin9NaDaPRWMFc+EMYsLi8QFcduxZhnxzqZ\nfyu2TfHDxqUtCVpSPZxOsYoiWebZT+pD/HRNRgaC18xhcsDoj7O2VwSB3Hp7\nN0z73T3RXtzs+1CZF/sSxNvzwId+fUh23nu/xMIOfzOEgzyBQKIgCXAoMzvo\n403d\r\n=eGIR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-push":"if git-branch-is -i -q -r \"master|next|next-major|beta|alpha|^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$\"; then npm run test; fi","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"types":"./dist/index.d.ts","module":"dist/esm-es5/index.js","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![Build Status](https://travis-ci.com/PVermeer/dexie-immutable-addon.svg?branch=master)](https://travis-ci.com/PVermeer/dexie-immutable-addon)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. \n```\nnpm install dexie\n```\nAt the time of writing Dexie v3 is in the RC stage. To install this version you have to use the @next npm version. Current version of Dexie.js: [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie@next\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the Lodash cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie. For example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ES6\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"3a8ca1d0d5e0024a36aa8bf9016661c83a633989","scripts":{"init":"semantic-release-cli setup","lint":"tslint --project tsconfig.json","test":"npm run build && npm run lint && npm run test:jasmine && npm run test:karma","build":"npm run clean && npm run build:bundles && npm run build:es6 && npm run build:esm-es5 && npm run build:declaration && npm run build:dl-dts","clean":"rimraf -rf dist/ && rimraf -rf reports/","build:es6":"tsc -p tsconfig.es6.json","test:karma":"karma start test/karma.conf.js","build:dl-dts":"rimraf -rf dist/ts3.4 && downlevel-dts ./dist ./dist/ts3.4","test:jasmine":"cd test && jasmine --require=ts-node/register --config=jasmine.conf.json --reporter=jasmine-console-reporter","build:bundles":"webpack --config webpack.config.js","build:esm-es5":"tsc -p tsconfig.esm-es5.json","test:coverage":"rimraf -rf reports/coverage/ && karma start test/karma.conf.js --browsers ChromeHeadless --reporters dots,coverage-istanbul","semantic-release":"semantic-release","test:karma:debug":"npm run build && karma start test/karma.debug.conf.js","build:declaration":"dts-bundle-generator --config dts-bundler.config.js","test:jasmine:debug":"cd test && nodemon --ext ts --exec jasmine --require=ts-node/register --config=jasmine.conf.json --reporter=jasmine-console-reporter"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-immutable-addon.git","type":"git"},"_npmVersion":"6.14.2","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"12.16.1","dependencies":{"tslib":"^1.11.1","lodash":"^4.17.15"},"publishConfig":{"access":"public"},"typesVersions":{"<3.8":{"*":["./dist/ts3.4/index.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dexie":"^3.0.0-rc.5","faker":"^4.1.0","husky":"^4.2.3","is-ci":"^2.0.0","karma":"~4.4.1","rimraf":"^3.0.2","tslint":"^5.20.1","jasmine":"^3.5.0","nodemon":"^2.0.2","ts-node":"^8.6.2","webpack":"^4.42.0","lodash-es":"^4.17.15","ts-loader":"^6.2.1","typescript":"^3.8.3","@babel/core":"^7.8.7","webpack-cli":"^3.3.11","@types/faker":"^4.1.10","@types/is-ci":"^2.0.0","@types/karma":"^3.0.8","babel-loader":"^8.0.6","jasmine-core":"^3.5.0","@types/lodash":"^4.14.149","downlevel-dts":"^0.4.0","git-branch-is":"^3.1.0","karma-jasmine":"^2.0.1","karma-webpack":"^4.0.2","@babel/runtime":"^7.8.7","@types/jasmine":"^3.5.9","@commitlint/cli":"^8.3.4","@types/lodash-es":"^4.17.3","semantic-release":"^17.0.1","@babel/preset-env":"^7.8.7","dts-bundle-generator":"^3.3.1","karma-mocha-reporter":"^2.2.5","semantic-release-cli":"^5.2.3","@semantic-release/git":"^8.0.0","karma-chrome-launcher":"^3.1.0","karma-edgium-launcher":"github:PVermeer/karma-edgium-launcher#master","@commitlint/travis-cli":"^8.3.4","karma-firefox-launcher":"^1.3.0","license-webpack-plugin":"^2.1.4","webpack-node-externals":"^1.7.2","webpack-bundle-analyzer":"^3.6.1","jasmine-console-reporter":"^3.1.0","@semantic-release/changelog":"^3.0.6","karma-jasmine-html-reporter":"^1.5.2","istanbul-instrumenter-loader":"^3.0.1","fork-ts-checker-webpack-plugin":"^4.1.0","@babel/plugin-transform-runtime":"^7.8.3","@commitlint/config-conventional":"^8.3.4","karma-coverage-istanbul-reporter":"^2.1.1"},"peerDependencies":{"dexie":"^3.0.0-rc.5"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.5_1584969008206_0.42422812269275334","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-beta.6":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.6","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.6","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-immutable-addon#readme","bugs":{"url":"https://github.com/PVermeer/dexie-immutable-addon/issues"},"dist":{"shasum":"26504fcc45f3658e71fed16001de1d7f9d898143","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.6.tgz","fileCount":27,"integrity":"sha512-GkI6WMHB6K1mJjBVpWTfEki04l17JMNjFkG/aEGVGlRaAoCWOZsPIRKHPhc7KbLrf479qwiaDUMAlzAJ0C/w0w==","signatures":[{"sig":"MEQCIFfa0Vm8XQw7g2Z9w7IOFT8BmWhogQIlcsA6BHhJxhVrAiBVAQx9BinwBlfwF2UBhC30q3UYvk4tWhWspNxVfudWbg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjDYCCRA9TVsSAnZWagAA1QwQAJhivE1tLXU0Zg+Y055X\n9QDCIhbUFDFf9+1E2eBvYcZt9oEpt4pMe8GxnI8M+vOris0PIS57bLOrEWey\njiBJxGamefDu0VyVTOcZEFJygAnJ9/x+MC95zn9EZzJRztrhRkT7YbG8ZkRS\nH9da5C67TzzPwq4iIqpFPfRIB8qYBZ2lZXnJn5IIql0qjUlJ/zx9xWd/Kj0y\n8vFWI3RdQv81PK4hA/pEFf7wyFx06cdrE4vbh8S4DPBDQosFy8jpMYo9KwnK\ndeHrxelKgZ0fnLx8ymt1lNmMeif08YVcacbMNoZ3jHjFK0BTUye3HVy2L2dD\n3ocZTDlIPjbkDrzow58D2LHNLt4YVxQutT0qCdIeABWQH7aUTOS4iVVwsmkv\ntcUTqqdtVPizzJssvq9cpRwuOFflqrAhzcs1x2yiKSpY9mIGEVnaPI/I/zeX\n3OymqByc7O6zFnMHEv6H04BXraDlwj5N/w2teMLS34EyBlbqA9osmhrl+KTN\nxfd7I4/MiKWYwLA0K8/lY013W5uUusVlu6xTV0hwnLg30bvuFMGJsYgmPn0f\nEgYA/SbYF1k4cjo5E5z6Hh4QdUAX0KpC/V+cjOThnWwgY7UzKXiTHtk3N3vT\nHGoQe37FzJElC15oN32/nlhprgddFc/344oX4GpSYnxSFeAOVl+dkhADlVTP\nfZo9\r\n=SATa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-push":"if git-branch-is -i -q -r \"master|next|next-major|beta|alpha|^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$\"; then npm run docker:test; fi","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"types":"./dist/index.d.ts","module":"dist/esm-es5/index.js","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![Build Status](https://travis-ci.com/PVermeer/dexie-immutable-addon.svg?branch=master)](https://travis-ci.com/PVermeer/dexie-immutable-addon)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. \n```\nnpm install dexie\n```\nAt the time of writing Dexie v3 is in the RC stage. To install this version you have to use the @next npm version. Current version of Dexie.js: [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie@next\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the Lodash cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie. For example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ES6\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"46aa86f2cde42c775a98c2be1432b30254b4a1b3","scripts":{"init":"semantic-release-cli setup","lint":"tslint --project tsconfig.json","test":"npm run clean:test && npm run lint && npm run build && npm run test:jasmine && npm run test:karma","build":"npm run clean && npm run build:bundles && npm run build:es6 && npm run build:esm-es5 && npm run build:declaration && npm run build:dl-dts","clean":"rimraf -rf dist/*","build:es6":"tsc -p tsconfig.es6.json","clean:test":"rimraf -rf reports/*","docker:dev":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev up --build --abort-on-container-exit","test:karma":"karma start test/karma.conf.js","docker:test":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.test.yml -p test build && docker-compose -f deployments/docker/docker-compose.test.yml -p test run test; docker-compose -f deployments/docker/docker-compose.test.yml -p test down","postinstall":"patch-package","build:dl-dts":"rimraf -rf dist/ts3.4 && downlevel-dts ./dist ./dist/ts3.4","docker:build":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.yml -p build build && docker-compose -f deployments/docker/docker-compose.yml -p build run build; docker-compose -f deployments/docker/docker-compose.test.yml -p build down","test:jasmine":"cross-env TS_NODE_PROJECT='./test/tsconfig.test.json' ts-node --require=tsconfig-paths/register node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","build:bundles":"webpack --config webpack.config.js","build:esm-es5":"tsc -p tsconfig.esm-es5.json","test:coverage":"rimraf -rf reports/coverage/ && karma start test/karma.conf.js --browsers ChromeHeadless --reporters dots,coverage-istanbul","docker:test:ci":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.test.yml -p test build && docker-compose -f deployments/docker/docker-compose.test.yml -p test run test","build:es6:watch":"tsc -p tsconfig.es6.json --watch","docker:build:ci":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.yml -p build build && docker-compose -f deployments/docker/docker-compose.yml -p build run build","docker:dev:down":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev down","docker:dev:karma":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-karma build && docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-karma run -p 9339:9229 test-karma; docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-karma down","semantic-release":"semantic-release","test:karma:debug":"karma start test/karma.debug.conf.js","build:declaration":"dts-bundle-generator --config dts-bundler.config.js","docker:test:karma":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.test.karma.yml -p test-karma up --build --abort-on-container-exit","docker:dev:jasmine":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-jasmine build && docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-jasmine run -p 9229:9229 test-jasmine; docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-jasmine down","test:jasmine:debug":"cross-env TS_NODE_PROJECT='./test/tsconfig.test.json' ts-node-dev --inspect=0.0.0.0:9229 --transpile-only --clear --respawn --rs --require=tsconfig-paths/register node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","build:bundles:watch":"webpack --config webpack.config.js --watch","build:esm-es5:watch":"tsc -p tsconfig.esm-es5.json --watch","docker:test:jasmine":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.test.jasmine.yml -p test-jasmine up --build --abort-on-container-exit"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-immutable-addon.git","type":"git"},"_npmVersion":"6.14.8","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"12.19.0","dependencies":{"tslib":"^1.14.1","lodash":"^4.17.20"},"publishConfig":{"access":"public"},"typesVersions":{"<3.8":{"*":["./dist/ts3.4/index.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dexie":"^3.0.0","faker":"^4.1.0","husky":"^4.3.0","is-ci":"^2.0.0","karma":"~4.4.1","is-wsl":"^2.2.0","rimraf":"^3.0.2","tslint":"^5.20.1","jasmine":"^3.6.1","nodemon":"^2.0.4","ts-node":"^8.10.2","webpack":"^4.44.2","cross-env":"^7.0.2","is-docker":"^2.1.1","lodash-es":"^4.17.15","ts-loader":"^6.2.2","is-windows":"^1.0.2","typescript":"^3.9.7","@babel/core":"^7.11.6","ts-node-dev":"^1.0.0-pre.63","webpack-cli":"^3.3.12","@types/faker":"^4.1.12","@types/is-ci":"^2.0.0","@types/karma":"^3.0.9","babel-loader":"^8.1.0","jasmine-core":"^3.6.0","@types/lodash":"^4.14.162","downlevel-dts":"^0.4.0","git-branch-is":"^3.1.0","karma-jasmine":"^2.0.1","karma-webpack":"^4.0.2","patch-package":"^6.2.2","@babel/runtime":"^7.11.2","@types/jasmine":"^3.5.14","tsconfig-paths":"^3.9.0","@commitlint/cli":"^8.3.4","@types/lodash-es":"^4.17.3","semantic-release":"^17.1.2","@babel/preset-env":"^7.11.5","dts-bundle-generator":"^3.3.1","karma-mocha-reporter":"^2.2.5","semantic-release-cli":"^5.4.0","@semantic-release/git":"^8.0.0","karma-chrome-launcher":"^3.1.0","karma-edgium-launcher":"^4.0.0-0","@commitlint/travis-cli":"^8.3.4","karma-firefox-launcher":"^1.3.0","license-webpack-plugin":"^2.3.0","webpack-node-externals":"^1.7.2","webpack-bundle-analyzer":"^3.9.0","jasmine-console-reporter":"^3.1.0","@semantic-release/changelog":"^3.0.6","karma-jasmine-html-reporter":"^1.5.4","istanbul-instrumenter-loader":"^3.0.1","fork-ts-checker-webpack-plugin":"^4.1.6","@babel/plugin-transform-runtime":"^7.11.5","@commitlint/config-conventional":"^8.3.4","karma-coverage-istanbul-reporter":"^2.1.1"},"peerDependencies":{"dexie":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.6_1603024386031_0.06524330800412192","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-beta.7":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.7","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.7","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-immutable-addon#readme","bugs":{"url":"https://github.com/PVermeer/dexie-immutable-addon/issues"},"dist":{"shasum":"52056afbee28aa912f5b84641e5e670ff7dc30de","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.7.tgz","fileCount":27,"integrity":"sha512-64hL7u0SLR6s54jBCecwGn2UOlbRixId5g/Pc5NIqq7aQZKBo12UIKwFykGGUHnCssx+GUvLewaYsJ51flW8zA==","signatures":[{"sig":"MEUCIEGOz2PLm0scObuoDTQPiKk0sm4JhCc9PWzjySC3pDNsAiEA9uciWhGP9VW8WavA/zDwXBTARFsEey4J2pnY5EPerKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkChoCRA9TVsSAnZWagAAz0UQAJQjE5dOs6wtWPYyiFNs\nbv3veNNqOi2DVY5eS2X2rfyc3Xdde4V1h3PE6/harPcNX0saaKGfeUJZioym\nhhdMmf4RVSrg6Avh5uxeC+f0ZKY+3BsRaIjNRwR7e9QjsK7RCrv/Y2unPBNE\na7qewK75um1Udfo+VMQhGnKFKZAT6kMVyHu65AyiZ/eXjb9/RlLSnII1unon\nReBBTd6lgTS5wBKJz5lufjmddR3qA9dmB/AcTAg5nMO7qEzxpP1NjMOJAu7A\n48bEAZVrhZWdrbdzZJtZsZJUkDE0EpVnjs29wEU9UXIQ3NOJJYep6R/ZfUHn\nL34Ar7vCFkn6k8KcLocttI8FgnFaFiKsqYVHmxqboqt1c0MOAyhJ3V21catN\noLLVzrkgoyGgmsdgsPRKX25Haxy30mED4smSnuEKkN3JF/oaNn81iyj9NACx\ntKjat6OsLy4YwdMvOX0kHcc+Eb7LRbqMxFhB51CWkrres0ErlgnPxUSwQDer\nN3lBesAto98ydS3s9qFJmz+MzYn8Yq57p1m8tTC7mZOaBJG///hzeXd3baSi\nrNTQCgOscz6pPDxQgFTdLV3nBNY+UT/SVfzuv7wIcTSy3dE1HA3snQWO9Ulc\nQ5ZFfVmOT939OXDATtEynfDevdmuFmJGKVu6kEsOMfBWfNWLon7JjnrTIe5b\nuM9s\r\n=XaQi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-push":"if git-branch-is -i -q -r \"master|next|next-major|beta|alpha|^v\\d+\\.\\d+(\\.\\d+)?(-\\S*)?$\"; then npm run docker:test; fi","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"types":"./dist/index.d.ts","module":"dist/esm-es5/index.js","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![Build Status](https://travis-ci.com/PVermeer/dexie-immutable-addon.svg?branch=master)](https://travis-ci.com/PVermeer/dexie-immutable-addon)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. \n```\nnpm install dexie\n```\nAt the time of writing Dexie v3 is in the RC stage. To install this version you have to use the @next npm version. Current version of Dexie.js: [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie@next\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the Lodash cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie. For example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ES6\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"85aca9ccfc4433ff45143fe8a78a01043d0581f1","scripts":{"init":"semantic-release-cli setup","lint":"tslint --project tsconfig.json","test":"npm run clean:test && npm run lint && npm run build && npm run test:jasmine && npm run test:karma","build":"npm run clean && npm run build:bundles && npm run build:es6 && npm run build:esm-es5 && npm run build:declaration && npm run build:dl-dts","clean":"rimraf -rf dist/*","prepare":"patch-package","build:es6":"tsc -p tsconfig.es6.json","clean:test":"rimraf -rf reports/*","docker:dev":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev up --build --abort-on-container-exit","test:karma":"karma start test/karma.conf.js","docker:test":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.test.yml -p test build && docker-compose -f deployments/docker/docker-compose.test.yml -p test run test; docker-compose -f deployments/docker/docker-compose.test.yml -p test down","build:dl-dts":"rimraf -rf dist/ts3.4 && downlevel-dts ./dist ./dist/ts3.4","docker:build":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.yml -p build build && docker-compose -f deployments/docker/docker-compose.yml -p build run build; docker-compose -f deployments/docker/docker-compose.test.yml -p build down","test:jasmine":"cross-env TS_NODE_PROJECT='./test/tsconfig.test.json' ts-node --require=tsconfig-paths/register node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","build:bundles":"webpack --config webpack.config.js","build:esm-es5":"tsc -p tsconfig.esm-es5.json","test:coverage":"rimraf -rf reports/coverage/ && karma start test/karma.conf.js --browsers ChromeHeadless --reporters dots,coverage-istanbul","docker:test:ci":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.test.yml -p test build && docker-compose -f deployments/docker/docker-compose.test.yml -p test run test","build:es6:watch":"tsc -p tsconfig.es6.json --watch","docker:build:ci":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.yml -p build build && docker-compose -f deployments/docker/docker-compose.yml -p build run build","docker:dev:down":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev down","docker:dev:karma":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-karma build && docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-karma run -p 9339:9229 test-karma; docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-karma down","semantic-release":"semantic-release","test:karma:debug":"karma start test/karma.debug.conf.js","build:declaration":"dts-bundle-generator --config dts-bundler.config.js","docker:test:karma":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.test.karma.yml -p test-karma up --build --abort-on-container-exit","docker:dev:jasmine":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-jasmine build && docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-jasmine run -p 9229:9229 test-jasmine; docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-jasmine down","test:jasmine:debug":"cross-env TS_NODE_PROJECT='./test/tsconfig.test.json' ts-node-dev --inspect=0.0.0.0:9229 --transpile-only --clear --respawn --rs --require=tsconfig-paths/register node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","build:bundles:watch":"webpack --config webpack.config.js --watch","build:esm-es5:watch":"tsc -p tsconfig.esm-es5.json --watch","docker:test:jasmine":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.test.jasmine.yml -p test-jasmine up --build --abort-on-container-exit"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-immutable-addon.git","type":"git"},"_npmVersion":"6.14.8","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"12.19.0","dependencies":{"tslib":"^1.14.1","lodash":"^4.17.20"},"publishConfig":{"access":"public"},"typesVersions":{"<3.8":{"*":["./dist/ts3.4/index.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dexie":"^3.0.0","faker":"^4.1.0","husky":"^4.3.0","is-ci":"^2.0.0","karma":"~4.4.1","is-wsl":"^2.2.0","rimraf":"^3.0.2","tslint":"^5.20.1","jasmine":"^3.6.1","nodemon":"^2.0.4","ts-node":"^8.10.2","webpack":"^4.44.2","cross-env":"^7.0.2","is-docker":"^2.1.1","lodash-es":"^4.17.15","ts-loader":"^6.2.2","is-windows":"^1.0.2","typescript":"^3.9.7","@babel/core":"^7.11.6","ts-node-dev":"^1.0.0-pre.63","webpack-cli":"^3.3.12","@types/faker":"^4.1.12","@types/is-ci":"^2.0.0","@types/karma":"^3.0.9","babel-loader":"^8.1.0","jasmine-core":"^3.6.0","@types/lodash":"^4.14.162","downlevel-dts":"^0.4.0","git-branch-is":"^3.1.0","karma-jasmine":"^2.0.1","karma-webpack":"^4.0.2","patch-package":"^6.2.2","@babel/runtime":"^7.11.2","@types/jasmine":"^3.5.14","tsconfig-paths":"^3.9.0","@commitlint/cli":"^8.3.4","@types/lodash-es":"^4.17.3","semantic-release":"^17.1.2","@babel/preset-env":"^7.11.5","dts-bundle-generator":"^3.3.1","karma-mocha-reporter":"^2.2.5","semantic-release-cli":"^5.4.0","@semantic-release/git":"^8.0.0","karma-chrome-launcher":"^3.1.0","karma-edgium-launcher":"^4.0.0-0","@commitlint/travis-cli":"^8.3.4","karma-firefox-launcher":"^1.3.0","license-webpack-plugin":"^2.3.0","webpack-node-externals":"^1.7.2","webpack-bundle-analyzer":"^3.9.0","jasmine-console-reporter":"^3.1.0","@semantic-release/changelog":"^3.0.6","karma-jasmine-html-reporter":"^1.5.4","istanbul-instrumenter-loader":"^3.0.1","fork-ts-checker-webpack-plugin":"^4.1.6","@babel/plugin-transform-runtime":"^7.11.5","@commitlint/config-conventional":"^8.3.4","karma-coverage-istanbul-reporter":"^2.1.1"},"peerDependencies":{"dexie":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.7_1603283047882_0.7109947389763074","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-beta.8":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.8","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.8","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-immutable-addon#readme","bugs":{"url":"https://github.com/PVermeer/dexie-immutable-addon/issues"},"dist":{"shasum":"58f3bd7a787d12fcb66bb68dacd3b325cf84e335","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.8.tgz","fileCount":27,"integrity":"sha512-QA9xu+LOkzs1HAJHY+OTQELB3Rd/rXqwyPRMUXQG+6UfZuwirerMFZy5kMdLRxfM6RGYk9hDGfXfFbUZ8XP0Iw==","signatures":[{"sig":"MEUCIAVMNky/UJwhM3IGYHnYd5hLmGVABblqp8gx9Eo7DDk1AiEAisyhsf87A1fXeG+ZL0S/FCHficy8ZhvQHjpFRcvT3GQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuSkpCRA9TVsSAnZWagAAFy4P/2bLz0iBfO8feF9GX8DX\nzx5Axk+0avqaglbUdRHq/WSlCUDXHs46w0o6y6YdyndfyJci3RxEAH2LKOqn\n5mWXRoTaBxmTUQjGpDHjrL9AiNnCPOJpuL5/ajMAm6USsW/SCq6KsbYio4j4\n1ITTySdQlVlGRZfhKMSLa9z+cNxKREDwdsA2QpqtnK9xAW8rwhvIC+DiJ46k\np8pw6zlgnMGp39eU7S7Rr0b1xnesJetmj0pqexotGpsl8mm8iz6nToTpH0K1\nAAD4mtl6R4OtpOJK+dR+mrbpaVFCSUXCkzkxX3OzcP2gfctQSaSsVT+sEaLR\neddciDlh8mHkEwCxUbtoyxVv3Z6aDjudI/HvGybCyFBiI4tr9qQ5ITlt4q9q\nHqkd7YFVSB105bAE956LWIZTqtN+E6L1hOyB8ck24e4kboLzOU4tJ0inDRzh\n8m8XFZ5CQ+wlmt/YqJMDaVPAneJXMzGoyUfqaZraoL/eL/SVWRLUATiNDQUi\nlDT6Zy0tXj4J+XfrEvnqKtrwUhW+sT+bMYGyNz/QK4YcwOjWCs7Tl6v30QrL\nHRBR3xAGQCkc3+HWfeDFW9B6UmLd+krMLt1dG+j06qBglGmo8wZPHb/YFqob\nd+KdGLsfL+CwRTkjtcGnqOlERULYi72XfTFBktfk+Q1DW6jluwqtoH3KQ4CD\nUevR\r\n=O1nE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"types":"./dist/index.d.ts","module":"dist/esm-es5/index.js","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![Build Status](https://travis-ci.com/PVermeer/dexie-immutable-addon.svg?branch=master)](https://travis-ci.com/PVermeer/dexie-immutable-addon)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. \n```\nnpm install dexie\n```\nAt the time of writing Dexie v3 is in the RC stage. To install this version you have to use the @next npm version. Current version of Dexie.js: [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie@next\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the Lodash cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie. For example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ES6\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"881711cce08442adbe89bca3d13231a8c13a45bb","scripts":{"init":"semantic-release-cli setup","lint":"tslint --project tsconfig.json","test":"npm run clean:test && npm run lint && npm run build && npm run test:jasmine && npm run test:karma","build":"npm run clean && npm run build:bundles && npm run build:es6 && npm run build:esm-es5 && npm run build:declaration && npm run build:dl-dts","clean":"rimraf -rf dist/*","prepare":"patch-package","build:es6":"tsc -p tsconfig.es6.json","clean:test":"rimraf -rf reports/*","docker:dev":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev up --build --abort-on-container-exit","test:karma":"karma start test/karma.conf.js","docker:test":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.test.yml -p test build && docker-compose -f deployments/docker/docker-compose.test.yml -p test run test; docker-compose -f deployments/docker/docker-compose.test.yml -p test down","build:dl-dts":"rimraf -rf dist/ts3.4 && downlevel-dts ./dist ./dist/ts3.4","docker:build":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.yml -p build build && docker-compose -f deployments/docker/docker-compose.yml -p build run build; docker-compose -f deployments/docker/docker-compose.test.yml -p build down","test:jasmine":"cross-env TS_NODE_PROJECT='./test/tsconfig.test.json' ts-node --require=tsconfig-paths/register node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","build:bundles":"webpack --config webpack.config.js","build:esm-es5":"tsc -p tsconfig.esm-es5.json","test:coverage":"rimraf -rf reports/coverage/ && karma start test/karma.conf.js --browsers ChromeHeadless --reporters dots,coverage-istanbul","docker:test:ci":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.test.yml -p test build && docker-compose -f deployments/docker/docker-compose.test.yml -p test run test","build:es6:watch":"tsc -p tsconfig.es6.json --watch","docker:build:ci":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.yml -p build build && docker-compose -f deployments/docker/docker-compose.yml -p build run build","docker:dev:down":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev down","docker:dev:karma":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-karma build && docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-karma run -p 9339:9229 test-karma; docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-karma down","semantic-release":"semantic-release","test:karma:debug":"karma start test/karma.debug.conf.js","build:declaration":"dts-bundle-generator --config dts-bundler.config.js","docker:dev:jasmine":"COMPOSE_DOCKER_CLI_BUILD=1 docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-jasmine build && docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-jasmine run -p 9229:9229 test-jasmine; docker-compose -f deployments/docker/docker-compose.dev.yml -p dev-jasmine down","test:jasmine:debug":"cross-env TS_NODE_PROJECT='./test/tsconfig.test.json' ts-node-dev --inspect=0.0.0.0:9229 --transpile-only --clear --respawn --rs --require=tsconfig-paths/register node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","build:bundles:watch":"webpack --config webpack.config.js --watch","build:esm-es5:watch":"tsc -p tsconfig.esm-es5.json --watch"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-immutable-addon.git","type":"git"},"_npmVersion":"6.14.8","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"14.15.1","dependencies":{"tslib":"^1.14.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"typesVersions":{"<3.8":{"*":["./dist/ts3.4/index.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dexie":"^3.0.0","faker":"^4.1.0","husky":"^4.3.0","is-ci":"^2.0.0","karma":"~4.4.1","is-wsl":"^2.2.0","rimraf":"^3.0.2","tslint":"^5.20.1","jasmine":"^3.6.1","nodemon":"^2.0.4","ts-node":"^8.10.2","webpack":"^4.44.2","cross-env":"^7.0.2","is-docker":"^2.1.1","ts-loader":"^6.2.2","is-windows":"^1.0.2","typescript":"^3.9.7","@babel/core":"^7.11.6","ts-node-dev":"^1.0.0-pre.63","webpack-cli":"^3.3.12","@types/faker":"^4.1.12","@types/is-ci":"^2.0.0","@types/karma":"^3.0.9","babel-loader":"^8.1.0","jasmine-core":"^3.6.0","downlevel-dts":"^0.4.0","git-branch-is":"^3.1.0","karma-jasmine":"^2.0.1","karma-webpack":"^4.0.2","patch-package":"^6.2.2","@babel/runtime":"^7.11.2","@types/jasmine":"^3.5.14","tsconfig-paths":"^3.9.0","@commitlint/cli":"^8.3.4","semantic-release":"^17.1.2","@babel/preset-env":"^7.11.5","dts-bundle-generator":"^3.3.1","karma-mocha-reporter":"^2.2.5","semantic-release-cli":"^5.4.0","@semantic-release/git":"^8.0.0","karma-chrome-launcher":"^3.1.0","karma-edgium-launcher":"^4.0.0-0","@commitlint/travis-cli":"^8.3.4","karma-firefox-launcher":"^2.0.0","license-webpack-plugin":"^2.3.0","webpack-node-externals":"^1.7.2","@types/lodash.clonedeep":"^4.5.6","webpack-bundle-analyzer":"^3.9.0","jasmine-console-reporter":"^3.1.0","@semantic-release/changelog":"^3.0.6","karma-jasmine-html-reporter":"^1.5.4","istanbul-instrumenter-loader":"^3.0.1","fork-ts-checker-webpack-plugin":"^4.1.6","@babel/plugin-transform-runtime":"^7.11.5","@commitlint/config-conventional":"^8.3.4","karma-coverage-istanbul-reporter":"^2.1.1"},"peerDependencies":{"dexie":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.8_1605970216859_0.6426211422396433","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-beta.9":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.9","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.9","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"ffdd532b33d5e6b214383bb07d71399ea784754d","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.9.tgz","fileCount":16,"integrity":"sha512-5RVGZX1tZCWW3gBYj/tnE2f7iVuUAV8oM89Ty97+lSrweBkV5YDVgfFk+PVrulc0w/UhZKThkqQNMQhKNQ5Quw==","signatures":[{"sig":"MEUCIQDX8sGmu6A5VfDGF8bOui5wMuGFFao/zQE8+qJatxukrwIgRm0WDLS3AKMFBCDO6pSE0GBQWZHRmxdR4FBIMrmfofE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":192704,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmotjCRA9TVsSAnZWagAAm3sP/A5jQXDWZQj3fP2yYaP0\nazp8/pgyC1lHLgmBWvYhDlVEfFZtnUP91choZkBaVk/8KL/Z23GLTp6hzXCO\n+hKomv3fijbRNX12Z0pgE5zlgIBnKeCaMLVANhRZL3S0x6PGO9Zr+KBOwzDx\nhEO7zuSb8VTwvmwcEeJkunwZRw1G+g8jQ3rxYq6scyXhUjWam3trlweI7f7O\nhNkUHgZXfK+7p2Js6Z0+6rX7Qugyp311W0ntdNOU8SH2m26sCck356t6rs9g\nHtBZ1s/SPSTHajvaBncrd2ALmsM1l1vI0qk60ZybjccQ1i+oLZeaTui90gHt\nI18jbqyvJFipkaBcxI44w7Q1O8FmQCx1ClTv1f3kb77YFJsHAvVLd7Mo88gN\n5W+8mdgvlPI/e2vSLObtYSmdP0xsPKIAiPDpql278ugPOycnoRTdZT0fDp1D\n3l2WqDnWTad7lCbTMJrzWN452bvuceDX9671WxZeCGKtjaCMDJI4JGgJq70j\nWgwS+UeoYlRhSQg/MXDRa6vfO1uKgrJh0+kjjaMAnVX3naXGgnx1JWfVrMbC\nnyQCRculMOmv8+SDMHTEV70vI85Maw0OOJ7VJZlg2Nm/oBJnT9dO8rBrgQyl\nd7Fdz3oVN6VaJBtvCFes7vQfjBa8YiaSG/Ou8asSaRuE/nBk9SSAZqo9Dwf2\nPoRV\r\n=rut7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/test.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ESM\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"3025a056e027ca1d53c30f8c5ba2d2df8337c17c","scripts":{"lint":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './tsconfig.json'\"} ./src && npm run lint:test","test":"npm run lint && npm run build && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","lint:test":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './test/tsconfig.json'\"} ./test","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.3.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.9_1637518179058_0.5357969868656962","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-beta.10":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.10","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.10","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"7134ba6e5eaf49917ec30bd2deec5ad60217717a","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.10.tgz","fileCount":6,"integrity":"sha512-fVKDdgsIMUVn0o+WELVmONMfKFL9yGfa+hNiY6veUaA740hWKKlueG2yIUxahwJHcse/KUMp5yvhzfZHD/dShQ==","signatures":[{"sig":"MEYCIQD+s+CKANtGZdDd2W8NDm2nGRAcAe/pFNo1IAmZ4qG9HAIhAPGJxCYsW2Yhrd9KpDqaxSeNfJ3zj8/swFZMdzjZrOBQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+BJ4CRA9TVsSAnZWagAAW+MP/1FuLuy0nwFLfLjtUa5B\nsMDVLDeTtH+TWlYWKd8XKDrXGmm9rwnlwVsZQDU/ZQBoC0n28MVOUrvDzIT+\nCCPCF3VCIlh2C66IRwCuMSSM57Re5KcnkwbWZwZ702IiVZ6lWVGZ6yUhA/ue\nuFQh+tHxgAPy2CA8JIufhq/Y7L8GigxYcrvZdFYFp4k8EzzkHnQQcEy2hKJp\nNQ+admufQduSTF7ZVavSeBIKjxWniaY+temU1iOQRRrAM+khmROdJchXfYzm\njU2Q3dtcGuEa4AElNys0lvDeEpBwV8jUjXetiog9oIYlMwN1OgPQRN5idjAD\nFQk/cERD81LNgqavzGHDeAC63kT8VxuXlvrSYMLpA6xeJ2HVAOThhEOBJELh\nKSEAIgG4uxMlrXKeY5O9Vwg9FfqeXJVgYu2pMzlIocNtI/2uNU981JTJCHy7\n97cwyLaWJfUhgHP3mtZB2h97UuJp6jVMS5PtsjgwIfXa4nQCrOnfCqxuDolG\nNQ9QAXKTRRWDZQbP1eU6lHNdcEVeDv921nWSRi6DHmkyTV9ZgBUyKfwADxv7\nws8c8vz5bgo6mn8nOccEceu9dg7isvm7r800yZJSBf6s8uFg7TULtYM0/DCq\nGhVBnwKklk1+S7nyTNIdMK9teddht5fP/f3rNiZ5QZv/Kdq/vHG+wwnFZ4uT\nl/TU\r\n=lrUW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/test.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ESM\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"c1bc1930d1b59b86a4f059fda625e787b19f14ef","scripts":{"lint":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './tsconfig.json'\"} ./src && npm run lint:test","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","lint:test":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './test/tsconfig.json'\"} ./test","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"16.13.2","dependencies":{"tslib":"^2.3.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.10_1643647608811_0.1607563852264673","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-beta.11":{"name":"@pvermeer/dexie-immutable-addon","version":"1.0.0-beta.11","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.0.0-beta.11","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"1abf564f666892101bae3df7aeab09b5fff139d1","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.0.0-beta.11.tgz","fileCount":16,"integrity":"sha512-8chjqZYdOQAp8/tahMijwehTJhZs0kdn99SbxjMRsP264I0fNYrsHIN8qEmxNHyewFGlGRHl0VNxVFhjHT33eQ==","signatures":[{"sig":"MEYCIQCWirtg3GsH1RAW08kzaMZy4AzRpoeTYQ8VVJtPG/sRFwIhANrXDzOaqZnSeTWsSX38XnZUFH5Vqd9cUjycqrzfMNLd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":193221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+CJOCRA9TVsSAnZWagAA7iQQAIvldn9Rs6mNayAj/O9n\nDYCycyLEaoCVoSUD1g1dVyEQZQ8lle2SnVeKNb9Pn4JraEOeV9+Bz5ePj5Uh\n+QrxRW6+LaRIJjares036Llnq/Sm/T3SNs4cG1Q9AhkSK8J1Hm+zAcEs5CLa\ndGBM4ZA2BhQBanhL740H0MuSwAtOjk1k+Z21Ajs9cv8uN3EwHfPWqA6JlOe3\nw53Z8+JoWXrFGF+usNzAweVNUcUdNihdCormxBVBZnIkRPgLOp5o2MawGFUm\nVySpTe6fH7bpnEAP0uVxcTk/ze0capKucG2DeZL9se6Fi+SDJ0Rmj6habvE/\nHV39JYkDTt0EYTjyk3qplMoWyLtDom8Nnyk2ccngUE/Y7chBIBs2d2OzzbrC\nBexcvvoxaM21YR7QF4ky1u+me9Vf9oVmH67N8l9L4blVFazej/gLXE8nH3/c\nCopoRNL+1q3dtpuXFuOtPbiShLFc6hm5mzYKvYxK2hGjPBvOeHJiGECzSnE+\ncmt9jfj0o/LnKjvhtKKAXzzMtOkoB9nBVbhLsIS3Lr8Y03s6vwUXWDuD8w/F\nqco6xKgHY3wpA0ZkKyzgJGI/7npNp+oT9Wuiu+YARxApH0UgL4e5xZQy4BTt\nS6p1Ngsx0LOlk5fLcN5T+RMuV8YbRJ72vqg5LsDVmUTY/QNor3XOimNMeMTq\nfXM0\r\n=1C6q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/test.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ESM\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"39fdadfbc48a62478b29653e6ec8aa561110bc57","scripts":{"lint":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './tsconfig.json'\"} ./src && npm run lint:test","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","lint:test":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './test/tsconfig.json'\"} ./test","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"16.13.0","dependencies":{"tslib":"^2.3.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.0.0-beta.11_1643651661887_0.9456009175759215","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.0":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.0","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.0","maintainers":[{"name":"pvermeer","email":"pim.vermeer@outlook.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"f2631fe37b623a8e15a4c9c11c6cd5340714a9bb","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.0.tgz","fileCount":16,"integrity":"sha512-md2xQGTudk/b+SZ9fEV0pbiLb36Rdg8/8+s6VVtXAgIFrFvs8s4I/VSFjGkEnaldrF8GPSPzNdpE4goA2+YKcQ==","signatures":[{"sig":"MEYCIQDt/5PvofZ4tBs5JIedvtJbHm8qfSyDwqu+xuqaN35WKAIhAJeQCnM1U4g+2jcRH4UFmXqz1Hp1DGg6yijgqbmTob7x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":193941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2uGiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrb3xAAiqUP5VTK4cW1nOOWqDs7IbEQveJ7xeuG4Ny/lQrICTEshbd8\r\niKfOkXO1SD3pZrgRr2ZZu52zmjrJ62gEIQrBZfPOhYOMJeARZrY0SqqhJjn6\r\n60NjSXBiRsFjr6yp61i5WKvFoaAvdt28g6k4Aw8nOz+FmcFjeF3P89JoMlKR\r\nsMU/ktt5eIgbjX29FzL0ygy0i7zkJCMHEU1SIalshPJSgXNMZl0PufGjU2e3\r\nPGgBXiLRDxGIKgxhLCFJduXb4/FHUpEmyJt9OvUBY7igxhpXB65ZYMNblNcI\r\n4sJ+vbStpfG/Z0EodGHM+nCow3QeLzh/nqjwEeH52b1mqp+0KeLSWwxoffuL\r\nYAPhoOkPmGEZH06T9Z4GdjA39ja5fZ7a0iwmrBPOKOppiwDAMAkIPL+fYbbH\r\nKE0yzpfHh6q6oSvKe5L9xUgUI9h15OZRBJWzBPrYoqlfKV38Jo0qBEwwxniJ\r\nQt4yy7mJdgzH98Cc6qpqOn/QFs6377tmje7CCM0f7ojGIwWeqD+KZ3KGt7h7\r\nKv5BUZpXeG41nmSC2yqmUXDW9JlxpOQSkwigPAH2d6lGyN+w9Fy390qXgKzv\r\nBEJGIn6x6De7YwWasn8t9DvdnuEdh2oy+sr6iE+EKmeyUXSnkRrJ6v1vvMPg\r\nDpekvedjNetoENuifc7jLrqayI+yViusj0k=\r\n=zvV8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"e85919b74e555361b7ec6dba3ac7c33f65a56e1d","scripts":{"lint":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './tsconfig.json'\"} ./src && npm run lint:test","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","lint:test":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './test/tsconfig.json'\"} ./test","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@outlook.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.16.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"16.16.0","dependencies":{"tslib":"^2.3.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"dexie":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.0_1658511778591_0.5597691051342562","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.1":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.1","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.1","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"2ab59d41b62e4d8989b51fada228861954dd0fd4","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.1.tgz","fileCount":16,"integrity":"sha512-lwNsR/43ol2HdLiehX2sWYxZTea0LAbqZdURFv653osQ2e/7hC7kuyTYU86CboSyJYgLuk1yOpoerTWr2spWcA==","signatures":[{"sig":"MEUCIQCj0MiMtU+TgoDeL3iiaDdLcCcIaXWur2p1o7EWFqOpagIgVW2SfCK58nijlnMs8Al8jr4U0GJCC+XLBbNmuKD+HAA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":194183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2ulKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr13w//VT2Go6zj0S/B9ndnq7M2vZG9NwnZzg7M3MAO8QmmY9mQaTtO\r\nBcZRMVLBajilobHnH6wqrncNbFQfg9fLvKf3bW3M1/Ob1rpR1rgv7oUxuspq\r\nkB0ls2rUwwB8eZpqDUPkm4bSTb8EI5AEDSGBeSM7sOfIFX94sRYjzatciHPQ\r\noaGj4pJzCQzjrwhkBTWhwdfKgpf+feWx88nVdq4yUgvNTh7u2vIIlTsFxXMK\r\nnoyAf8BDzlQ+gh1Uv6MnJhQNzKYUR3frICqZ13DpgrtqzkdCRCCILcehL1I4\r\nYqfpMVSCXWaZ23TUpd154/7ZcF+fef4Z9atj9iGC0aXPYm+7EBkXQ5iFWL4p\r\nFGf+PN4N9jEbSYo3QJqJ8acf7ME9moaMSTujWbUs6iq04//bsYV6dYpkIsUJ\r\nLYO4/heCa6laiNt2L2NBOCgnoXp4omI0OBPOckqbttfuCMO2W2bmqgMdhDoA\r\nNlfWPmjjOARSbji9urIqJxNHh3F2Dy43Bl37pQcXIJIZNQocc9x0PFmNP1zI\r\n+Lc/YN1MQLMtLYXk/ik7fFFsuSZxdZUSu7TRQrGElumCGhNXcS1YYOlEYRGi\r\n+jdBlfwQXGz1jLeRhEGN7lhBclyuCiQOw9KSkpejABhzUB8XV6CLt8T+xsto\r\nRjYrXdkdCF0XMUJQRMgcC9bVr/ftsyKZdfM=\r\n=6Wwz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"2436153946c9c4caa88b5e80d00a3b0edbf7f82d","scripts":{"lint":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './tsconfig.json'\"} ./src && npm run lint:test","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","lint:test":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './test/tsconfig.json'\"} ./test","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.16.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"16.16.0","dependencies":{"tslib":"^2.3.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"dexie":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.1_1658513737863_0.6719030881163532","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.2-beta.0":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.2-beta.0","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.2-beta.0","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"b039a28d20cfe11e0dab7333047f2d2b697bb28b","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.2-beta.0.tgz","fileCount":16,"integrity":"sha512-li79EnHeBuu224VZ8RPGZtsl4K1IKDchVO+JF8NWB1eP/PJnAAQ+cGR/vnqKFO9r0mRZPSnyyjzDTZrxZ0TW9A==","signatures":[{"sig":"MEUCIQCj6i9Ox+f4rDnrN4wSpwhmoiCdOe6rWwzsC1shyrBuaQIgZ6UBsE3tPsA/YJhO5YwTU8FnBBd2Z2Km/EY3ptGnD0Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":194448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaVCFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqIZg//a71jQBHIQY+mRtEDOk+Y9YnDD5Bg4AwxO44p89qpH1TOWIMO\r\nB53l7Y8IOcgfcUGa+fGfRj8HumCyPBSxMXXSuTt5cQdLzhoEd1pun7fN04nm\r\nZ58YwygTRfqIEeyiHb3OiMe/tK5hujTMAVJdKaMLXj+MtV/kyqEK7EpDKgpO\r\n59kGbFY9yUsIT5yaFwyujcTRc76MZvBM56BfBc9FsJCo0hxKflpgCcmCpazb\r\nI3x6dF/+g5sdcb7bexK3R8/5Ma2+no6EN7SSkYZppyrPrJngAlVaNXNFcVan\r\nJe5AIFWkxCESWkfQj3p9ef3mpbdgQdiYo3LHKCnFQ7F58K13gMHc5D905nsH\r\n4PusUM7v2RrwYgPQUlttz6AZ4c0B/ZJkwKyNJkRY1I+4Oq3b9DJEHA+caFO4\r\nbDF2jXW0mZtjLW7z7qkplMF+GFuxNtRmu44VRrFn03qO7rCTcidMYEyi0mBX\r\ne4X9eISmfoPM0Ea9huFgCORF6DJfuvl/QeEmM/wPxEsNXqU26zw7recPcJdq\r\nuFyEwf/gDykLCOLC0loQaOU5QKE2IdCe4r19PhyJUWAeqgQve29Sms8V5L2n\r\nBxanu9yJ4IAIcd6HlafjGoWuMKc7jOcIIXkmPjzWiGgjXvar6fm83zmh98is\r\nOklASljUw4eET8/khDH0DqaAzIg5Y3+C2gk=\r\n=LzeQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/ci.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ESM\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"ef7e7b21cfb0d3aea3712ad9f4b3879e73cfd99d","scripts":{"lint":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './tsconfig.json'\"} ./src && npm run lint:test","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","lint:test":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './test/tsconfig.json'\"} ./test","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v18.12.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"18.12.0","dependencies":{"tslib":"^2.3.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.2-beta.0_1667846277201_0.531387757794699","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.2-beta.1":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.2-beta.1","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.2-beta.1","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"31b01805aeb379866a5438502cac00e1415f3b49","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.2-beta.1.tgz","fileCount":16,"integrity":"sha512-oHiYXrZrrv+CQNKFiwjvPg7wzJBLliA5z8ESR9YDPzVkcFDzx91+fhm0EbKXvZyRGZTnTvDkgeSDGKFiVn/29g==","signatures":[{"sig":"MEUCIHvQhP6JnZgXp/EG1MpOZN7hDmbUtW9Wkr85esgINH0wAiEAwGR0+WpJsLN19MziK1pOGtzb2ANwH8PUiAyBODnNPAA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":194542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja/H4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6nw//bfz49VjG4YHuSHr6V+JsFWsSDpMOoGneiIpsbq9LZfFfDUKs\r\nWSyNKE+wT5H6tACkuvXELic36W9Qh6ezgsYAvkbr0KexbHtAKFX4Rngrr6GW\r\nSdKor2XnLLxG/wZSeAOgHhHgsqHNgcSGOgmesgJQLh9EqQOoVo1Byz69VohK\r\nMO+dc5iG7IIGj6P2vF2ewAiQ1sMGPpXuaBrNlPlx0G86H6HMIL4r0ATuJ4Mb\r\nqtsxf5OTOjncWlyEpCSXowAI1sK1qz+Qpg790q5UopPfft+JKR4gAup49Rh4\r\nx0bauNTCyfXckt0LISt+IMXv01Ev7MDEn6DUtVjoQBcQKEzRn/Dh+M9srnSf\r\nts/1PGJzrHw8Tx5C6mMCQxCzRWJRN67hyq1JVNDnK/B66eLvaXAv8MZNRhHu\r\nySy4yFDJEtROezBAD4W3URqSjTp7c/M4AoC5S36UK5tbBw8WkB9LIBaPL+xe\r\njdKpMgT9+Plm7fShfIZlPWOi/xlOxacD8QFfWtIxb+xlJ2dTyOuWWiBJbHGk\r\ncAZ+FJRascTG7IAul+fgHLr7Go4Lp1gpP3C69+yDb5OdxK0eFXz9yZggFVxH\r\nmjAT0x7xnyZ5xodOLu24ZEKAbOBqX6aoOYqWh1zJ1phfgnNRY65stdz5M9u6\r\nTD0mTdjUUQnwhM3j6eAsXQq5F1Q7milmPzg=\r\n=+ork\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/ci.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ESM\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"bb51cb35be3f49e34e6dca67bac8ce6d312f0cf4","scripts":{"lint":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './tsconfig.json'\"} ./src && npm run lint:test","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","lint:test":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './test/tsconfig.json'\"} ./test","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/4.0.0/node@v18.12.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"18.12.0","dependencies":{"tslib":"^2.3.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.2-beta.1_1668018680069_0.22693178169471273","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.2-beta.2":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.2-beta.2","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.2-beta.2","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"794d78a2326030b56c8d3b83e4276a0d75ee3e04","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.2-beta.2.tgz","fileCount":16,"integrity":"sha512-amr8hMrWhWKJhTCqJCA+JAuFJWiuC0uMM1pYwnfVYrzkrC2jBUljDh1LN6OQZ1rWmf3GiT8NBYg6B6sQg/1wkw==","signatures":[{"sig":"MEUCIGwW4nMYWjSBgoGYBnPxp4fYXKXtd0JRESQfwVxILhJmAiEA72NWN93Meisb0r2PeUx1JUjlKMnyRcd3YA4IMa2P74M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":204223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbtcSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqeIA/9EbHZLTIpW24aTysjbQD6mYpZvwBwCcKSdevtefq8Dscsjd/n\r\nrt/dBmTB1MUri7GnVN3NhY0P1Hny21QJbBmkKOaRb+/ZlkmsprMsATgxs7xV\r\niLYwIlGK3zdb3Z4HbkQjNf3XFs64TCM0i9AcHst9TdC37RoFKqVFwC/GLe+X\r\nACzgYnWiUu23FXTHhS25SLtJL7rI+FhS8T5F9Jxk40KsnNT+1dIjpaYwNX3I\r\nptvfmDvXXjq6paFBsySJSD2UKTLNVSI0yBCJHfOW7l2V1CcF5qzJe94XLwMv\r\nUlPooPrIzmVjrqAT0HkFRNhDBe0+fz8sCXdo7iTuZdr5941Gxj8cSuGm2+C0\r\nFabiFwnFZLi+th1/FghWlEpsGl3t4rUtNqRu+hfj+QiirMVu1Pd1RRQq4sMu\r\nizIiQ1pqrm6mD3EV4Z6z+41eYsmDe+4aHQCpMarHW76coo8B/3Y5NAjutP92\r\n3W09hHDcPpIC4+yu2tIaqLgpDwJjNnHFM1Byhx2/ZCjPxdvjq2a366unrEDB\r\nmj8QDglTEU9scOhS4KRMkBfsAAdBZtrzQB4bPs6VltuiMsSwWRMQdIGKtum+\r\nZffmhN8Qn6/RtFjsVB1NULv6TGLX2gU3wBs0Xf6IDc0aR4hVYhufgM2Y4789\r\nX3em8iaIp7dVbJ2gRssoI1UGaU9HL2f7zpU=\r\n=BrES\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/ci.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ESM\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"9f07ebc92a654d468b14a5eaf32043ddf4a3f6a9","scripts":{"lint":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './tsconfig.json'\"} ./src && npm run lint:test","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","lint:test":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './test/tsconfig.json'\"} ./test","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/6.0.3/node@v18.12.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"18.12.0","dependencies":{"tslib":"^2.4.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^3.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.2-beta.2_1668208402354_0.9635627021807336","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.2-beta.3":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.2-beta.3","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.2-beta.3","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"e16d57b5873ab736f5dd93331bbf0b9365d6cc74","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.2-beta.3.tgz","fileCount":16,"integrity":"sha512-4mVDKLeKhdoTeA2dSlixy6b+m40GOMW20hJJbWZdCdVEzOCfmnP1FackRuhu0PPo9r3Ztz1ggM+YtUXs0GBFnw==","signatures":[{"sig":"MEYCIQDJkMhgn3ykv18ymS0yuGpYiN69WI95AhTSdbAp08/eMgIhAPGkFmBxhgJUWGgSLLwP1Eq4UTwkvm8nNHn/4SXABLUj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":204584,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjb7FEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokaxAAjnpnorE2ij0V5kNrfpWa0Up2bgpI0YzRj262maCnMQOEL69e\r\npAp7OPYjD9wRWTrlG/0VBNNjfysHb4j+B3SF03vflI2ofRcHFKk1p8toeznZ\r\ncCN7s5vFAugXPbv1TX0gFBXVwZ7lXIN0rdjlqOWl6jK5omqZ7k//sxlBMB21\r\nYjueQ/YLhyIu5UVR/ZIsdvQuZjlJVP5QUvj4pmOa9EUVYtvBqUfRPSmfwI1m\r\n26z//8Bf7nH1Lmx8I7UpyUNhSTbls4mZds5r3O/o5dtt1GZc+n7EfB62fkca\r\nx/X+nQj2XSZGqXGtLvnOfx/XgRbRYQ9+bvF6HMyHLpfooJxGcIV9YbVmh0FL\r\n2ajQo5hlGE9V9AVgjQJDGeiYtdcDwRz9work+sUc9P7qNfScoykKL1hnBL9M\r\nUKHjoRO00iLF+ul+y0Zbty4NAr89H8umjE90YfRdddlbUH8JspEXmsnR3dyr\r\nG4Wfwitw2KopqrD0crHXH+jLHNX4Tddv9YEHegy2ZJuDwR68zkwh2lSdzXWz\r\nkGI4bhnU2CaGbNtk79BBoKbTfxczba1Gc8LXOqy6EtF+xOwbtg6r9uVFt1lE\r\n/5GH8uCZarjEHP55tUGApz9/5F4wNCzm8m372YuO70csg6J9owCKqDqvixTU\r\n9vrbkedhN5BeianLfTarSQcTe7ChKSvFAGo=\r\n=aiYx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"Dexie Immutable Addon\n======\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/ci.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\n that combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\nInstall over npm\n----------------\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n```\nnpm install dexie\n```\n\nDocumentation\n----------------\n\n### How to use\n#### Addon\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n#### ESM\n```js\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n    addons: [immutable]\n});\ndb.version(1).stores({\n    friends: '++id, firstName, lastName, shoeSize, age'\n});\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### Typescript\n```ts\nimport Dexie from 'dexie';\nimport { immutable } from '@pvermeer/dexie-immutable-addon';\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n\n    public friends: Dexie.Table<Friend, number>;\n\n    constructor(name: string) {\n        super(name);\n\n        immutable(this);\n\n        this.version(1).stores({\n            friends: '++id, firstName, lastName, shoeSize, age'\n        });\n    }\n}\n\nconst db = new FriendDatabase('FriendsDatabase');\n\n// Open the database\ndb.open()\n    .then(() => {\n        console.log('DB loaded! :D')\n        // Use Dexie\n    });\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!doctype html>\n<html>\n    <head>\n        <!-- Include Dexie (@next if v3 is still in RC) -->\n        <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script> \n\n        <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n        <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n        <script>\n            // Define your database\n            const db = new Dexie(\"FriendDatabase\", {\n                addons: [DexieImmutableAddon.immutable]\n            });\n            db.version(1).stores({\n                friends: '++id, firstName, lastName, shoeSize, age'\n            });\n\n            // Open the database\n            db.open()\n                .then(() => {\n                    console.log('DB loaded! :D')\n                    // Do Dexie stuff\n                });\n        </script>\n    </head>\n</html>\n```\n\n\n\nAPI\n---\nThe packet exposes one export:\n\n#### immutable - addon function\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---------------------------------------------------\n\nDexie.js\n========\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"691289cc25c05870a56675e26c63eeee7df3d0cb","scripts":{"lint":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './tsconfig.json'\"} ./src && npm run lint:test","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","lint:test":"eslint -c ../../.eslintrc.json --parser-options \"{'project': './test/tsconfig.json'\"} ./test","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/6.0.3/node@v18.12.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"18.12.0","dependencies":{"tslib":"^2.4.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.2-beta.3_1668264259966_0.21671055606273182","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.2-beta.4":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.2-beta.4","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.2-beta.4","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"cbd839a1a4439b2f4c88cd94629b7f8c6087c1ed","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.2-beta.4.tgz","fileCount":16,"integrity":"sha512-b1TLDGQLQ2jssLTVa6LYTn4mFIxElR9Be9lNgjbukr/jlQrD2vpC1KBmTWvOCRihqDQYc67Mg5KijtMdcuNKfg==","signatures":[{"sig":"MEQCIB2FRBDPDuduHmtys6tOQIZT8NuAEKa2ZQNSs7/XncRVAiAGkLvY4QtTbwyihKbULXAuBPJd4AIU6OPg/w3No78vqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":203342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoNPnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmry2g/8CG8DJdTYQ/1ZLIrMNnRkEiIfQGKT85S9vT8P0n2CWlNuOTo2\r\nDmz51JcGXTX9nqqEjaxnRH9udNNEh/4vrxCmiGR3Yc5KnDEyWwFJVy3RxMv1\r\n4FKxa+DKU8y4jHZIphaiwbaa9YD6GJg853iSk2XJO6NwqyjloohtFfO77TH1\r\nWkoyFirOiW58jViEUmD0O657qxcoW5J9scrT45HJvySXVKu6XJESs3OecZS4\r\niftxnY5P30Br7NteLUa3wAPoNHM4dWQjCcuCwvRKBJtBERv0e0+cU/gVVm/X\r\nqph47qn+yBo36NzHu1wh6o3gtgrkBftEfSFZRMoIt/nWDgbfArOu++eXhhkK\r\n17D6HNk2nZHXELA2gkjatbQUWB2tnUHxZ2/MUURsjI2OQEFgpbee1ToenD1M\r\nml0IMzbsqR8cn8Ly1QjVZ2mPaKOMrvERV+S1j+8zodkdjbwyFWsH2VdZ5LYr\r\nV5gQNgQUmJK1GR3H7HKcAF6wapYPS4qS8DBCxtHBrExbWjofJmzusYvbIHAN\r\n6oRtjNIEO4w7xDCnz0d1RaGGXsVWfK+S2/1mONctfSUsKEnUfivnWcKkeEfU\r\nSp15roU6ApvMx2wieR8IPoENLYyhy6ZHHYHvnwyepFuz65DnU2oOvy1LsiD1\r\nFgsJMvaZgqYYUW5Ys4YqGLjf68zPbCIogWg=\r\n=3m4/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Dexie Immutable Addon\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/ci.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\nthat combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\n## Install over npm\n\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\n\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n\n```\nnpm install dexie\n```\n\n## Documentation\n\n### How to use\n\n#### Addon\n\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n\n#### ESM\n\n```js\nimport Dexie from \"dexie\";\nimport { immutable } from \"@pvermeer/dexie-immutable-addon\";\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n  addons: [immutable],\n});\ndb.version(1).stores({\n  friends: \"++id, firstName, lastName, shoeSize, age\",\n});\n\n// Open the database\ndb.open().then(() => {\n  console.log(\"DB loaded! :D\");\n  // Use Dexie\n});\n```\n\n#### Typescript\n\n```ts\nimport Dexie from \"dexie\";\nimport { immutable } from \"@pvermeer/dexie-immutable-addon\";\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n  public friends: Dexie.Table<Friend, number>;\n\n  constructor(name: string) {\n    super(name);\n\n    immutable(this);\n\n    this.version(1).stores({\n      friends: \"++id, firstName, lastName, shoeSize, age\",\n    });\n  }\n}\n\nconst db = new FriendDatabase(\"FriendsDatabase\");\n\n// Open the database\ndb.open().then(() => {\n  console.log(\"DB loaded! :D\");\n  // Use Dexie\n});\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <!-- Include Dexie (@next if v3 is still in RC) -->\n    <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script>\n\n    <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n    <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n    <script>\n      // Define your database\n      const db = new Dexie(\"FriendDatabase\", {\n        addons: [DexieImmutableAddon.immutable],\n      });\n      db.version(1).stores({\n        friends: \"++id, firstName, lastName, shoeSize, age\",\n      });\n\n      // Open the database\n      db.open().then(() => {\n        console.log(\"DB loaded! :D\");\n        // Do Dexie stuff\n      });\n    </script>\n  </head>\n</html>\n```\n\n## API\n\nThe packet exposes one export:\n\n#### immutable - addon function\n\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---\n\n# Dexie.js\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"e553f7f8912323c4c020cfdd6e34110be2b26469","scripts":{"lint":"npm run eslint .","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","eslint":"eslint --max-warnings=0 --config ../../.eslintrc.json --ignore-path ../../.gitignore --parser-options project:../../tsconfig.base.json","lint:fix":"npm run eslint:fix .","eslint:fix":"npm run eslint -- --fix","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/6.1.0/node@v18.12.1+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.4.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.2-beta.4_1671484391686_0.9816135539992774","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.2":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.2","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.2","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"0bebc7301adcc570200e2370ff77d13728bba9cd","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.2.tgz","fileCount":16,"integrity":"sha512-cSFifNASGCpkFbAW+h059QRaGgTJnZoUTLxc2Ot5JlZsMqxUvwQhZcteuPbbGAqblUilfotIBuwBFrbQeXph1g==","signatures":[{"sig":"MEUCICjLJmYKx1Xe6QUuH0kwnwLuLBs+42SlNFDqqTTQz+FWAiEA/a16gbKr3Baipht01341G78bahZxfcihGTl0vD/BaHw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":203582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrHU0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5exAAhx2Y1gGjXi4uDRE7ulE/N4U7mO7EdygiklEY9kcw9udClEP2\r\nnoCfa1YiBAeGxRwR3TYiA+Ao1xxxnWGoy/HzeDOU9tZ92yeBQpcVWLCKV8HW\r\nSiKYiUT6TypXqtkRAIO5x2NuyyWLtQ/TXO7IGCekB7V7tTQ782Oc1qjyhA3v\r\nxURboO/BDCDxQIoLnThK7cDahu78Z3Rq0mDwj/aLecurkYeQ0jWoBs5g1glO\r\n1JhUDcOZev9huZbl8BI0ooJmsTJ4tkug7FBzRPu76ofh5Qj8rLwKFVVhQlyk\r\nSBy+W/GpR+Ez319+CCJHmBFpxaLyBc0TWyh1RSi0QUJDjVG6BUZsIcgX0jRc\r\nVazH/oHs5NfONVs2s2zVGHpKUrbD0UemLUpf1quTdtQsbOobMKLGhmvMz5I8\r\n+fX3xGo7NQhiPDHxcJ5VVHG4PixQoVFqLK9dd5Cf5+yzQ75OgnCD50a2+d4y\r\nWXd9Rkd5tQEerEczWTGDTWyRiCunJZCblbHctfL9XCic7HQSOUYlMychEC80\r\n0Bi4Mck96lIQ5lSgI8jHfGZExNZQwjQANGz/sEK81fWCnRebicZrzr+Hlw+Z\r\nAaJJTJ3AmmEo9Ij3He3zQ8wa3EArbW6FLKoAqN+52FCQjTjOKNJ1jOs+/q70\r\nMUKrORIucm0u4eiFdZH3Zx3QBBg9lF8EqWE=\r\n=2jzT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"1a396be5b7eba70c9ad2020f74d8de8953859954","scripts":{"lint":"npm run eslint .","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","eslint":"eslint --max-warnings=0 --config ../../.eslintrc.json --ignore-path ../../.gitignore --parser-options project:../../tsconfig.base.json","lint:fix":"npm run eslint:fix .","eslint:fix":"npm run eslint -- --fix","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/6.1.0/node@v18.12.1+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.4.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"dexie":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.2_1672246580255_0.21729443591794628","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.3-beta.0":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.3-beta.0","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.3-beta.0","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"bedc375f205489f4525d1b2a616e9ae0767c6b34","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.3-beta.0.tgz","fileCount":16,"integrity":"sha512-yZmAKHzg8bpJvVOtnRy6ZLR/D6KVx1BX3AF57bNOzGgXjNi2vaBXTZEaIiEmjjWEHq+7YR58GmFDLNCfYiwgvA==","signatures":[{"sig":"MEYCIQC+JCZ2+6cfbaIb5OPQDFgMCux0FAIyk469W6+2TLiadQIhAOMUlbbi9XpMxaMeNhU4R3wE4mRsHmJgSRY2+jJ+/YUJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":203843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyurRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmphFA/+MKIQHsdumPMarxBlyiFsx/wtYCt4cJbf+zK95aFAzzTOMs1q\r\nciSUCCk/ohBalqngTqIbyDrnkkh/BFtET4kGCg20/sqrS/9hh4TI5NSxgouz\r\nH4zoHJlvJhKSYtS+yyWkcSxM0rNQ0+d8LanX6QjIXnyV4hWAx9mqMsOGzGI5\r\n34p04EMCpDvatBXDH60PebojrM9PfAxKVAMSOhZ1Uo9BPphliXifrtAswGtw\r\nsirLxye1SOxrQREabq5jWM6UGaLYtDPA17YDr6MCOBve+wQ0jGxRVFHscxV1\r\nhiW7vlfqXvwNFLfgdXxOpZO7CNjKxw4yaZoMD/XSpV+OUM2r8lJ3NU9VVKv/\r\nlFTgX6YdimEqjzdwC5tM//pQ2f+or1YK/QFlNkiqb3a6VpeSxwI8yaOfFq/n\r\npwOj6IcphqznIVDTeLG1XJSMrwUJtw4zhs03QSH1gsNBBjgrmiO2F4gWLUn6\r\nVvClX5S6cZv1yGXirwTvGCL/brFcTsHTwqG8+ApVQjq9vV09UO1UiqUDQEVX\r\n5R/UbRfvDoUfuzskB+fXh573leS+tANY9bWvJVFa/e39wQKsBUvatvMwR7vH\r\n6TXsLTj0+l4cnya+aevOMXwKuaV05n3dzKcoDPuaZ52O00XaAGjUCnZIm4Me\r\nz6xb/lhMr/MNMRcbno69YXL9ArFFT/vPjAc=\r\n=KV7e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Dexie Immutable Addon\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/ci.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\nthat combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\n## Install over npm\n\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\n\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n\n```\nnpm install dexie\n```\n\n## Documentation\n\n### How to use\n\n#### Addon\n\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n\n#### ESM\n\n```js\nimport Dexie from \"dexie\";\nimport { immutable } from \"@pvermeer/dexie-immutable-addon\";\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n  addons: [immutable],\n});\ndb.version(1).stores({\n  friends: \"++id, firstName, lastName, shoeSize, age\",\n});\n\n// Open the database\ndb.open().then(() => {\n  console.log(\"DB loaded! :D\");\n  // Use Dexie\n});\n```\n\n#### Typescript\n\n```ts\nimport Dexie from \"dexie\";\nimport { immutable } from \"@pvermeer/dexie-immutable-addon\";\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n  public friends: Dexie.Table<Friend, number>;\n\n  constructor(name: string) {\n    super(name);\n\n    immutable(this);\n\n    this.version(1).stores({\n      friends: \"++id, firstName, lastName, shoeSize, age\",\n    });\n  }\n}\n\nconst db = new FriendDatabase(\"FriendsDatabase\");\n\n// Open the database\ndb.open().then(() => {\n  console.log(\"DB loaded! :D\");\n  // Use Dexie\n});\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <!-- Include Dexie (@next if v3 is still in RC) -->\n    <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script>\n\n    <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n    <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n    <script>\n      // Define your database\n      const db = new Dexie(\"FriendDatabase\", {\n        addons: [DexieImmutableAddon.immutable],\n      });\n      db.version(1).stores({\n        friends: \"++id, firstName, lastName, shoeSize, age\",\n      });\n\n      // Open the database\n      db.open().then(() => {\n        console.log(\"DB loaded! :D\");\n        // Do Dexie stuff\n      });\n    </script>\n  </head>\n</html>\n```\n\n## API\n\nThe packet exposes one export:\n\n#### immutable - addon function\n\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---\n\n# Dexie.js\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"90a49c461df32f0bc5360f5e77c8a218689c7a74","scripts":{"lint":"npm run eslint .","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","eslint":"eslint --max-warnings=0 --config ../../.eslintrc.json --ignore-path ../../.gitignore --parser-options project:../../tsconfig.base.json","lint:fix":"npm run eslint:fix .","eslint:fix":"npm run eslint -- --fix","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/6.1.0/node@v18.13.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tslib":"^2.4.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.3-beta.0_1674242769009_0.14525918358436263","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.3":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.3","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.3","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"854d9fc40a12db1f11252a258e571fc5af9c87d6","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.3.tgz","fileCount":16,"integrity":"sha512-BAZvB5tfxepzqC+qAhygkfQemrGDmmxTwI0EE/3sLWoY4NXdrzKODaI9lIznA2COaoISBRB80vSKtHsnBUsbTA==","signatures":[{"sig":"MEUCIQCRfQbBzAA7CPr2qCe72/9sTpJh9PCyqBYMLfWvv40rRwIgD3UPALHvvLqnb5sNeivjlMcKUSoDMzpn2iJbTJJIVKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":204083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3n4gACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpH1A/+Jzyl8O1cnOydwwcEeZ4vzxQaTZ6pKIlZxpvJFnbWirXLGbFc\r\nJBi9XFpDIW0F76yv8iD0aXdA7tFYjIoeRVQb+uBklk8UnajDSkdRTRPjE3dr\r\nE7szo+CStfcd1YnidFqYmIhh4fAKFrF9IVNp8BAMYHytLh0gUrGiYDVH1T92\r\n1rDb7y5k7ARlmOZTeEGkGUnZlQF5h1bNEtismJ0D7AvGH9k347cs1MEn8/xu\r\n1e0zAvdiBPe0zXWtx3YsmOWdKbSYjDSRx52AKHn1nT/GJUzKH1TE4fhb2eYK\r\nB7DEMCrhR1MJeOSu+RuZei/CUzPjvEU/shl7GyGjDwMt0L80VNNXaKVcU/Os\r\nmc5wyoMP+Brkcz8wmcFExq3mHmCVHtjiRZ1tfS/01u9ifYrGZzIiEv3VXH3o\r\niY3iEFRLNuHsIuYqcG98H3U6HItGjzq/RSjV/1BzEnktYsQfqPJ9ARzlm/PJ\r\n5i2bm1LFt/3Mo2Mej4ugDMWbMONKuFU95NyCPfD7QVmJTCGKxyJpsiopNPWj\r\nTAH2wyw9iuLgnfLwx6wz5DPNHwxK6IMGHgzS41+bh+0dbZT5BuiOzYjSB0lp\r\nmJs6fDiIrF8vG5QfxnRpiNLDH7Xn+pQt5qUveON1hhw4v8N7aFQ1wsA+EhFp\r\nZz9hcHlxcRtraAdWJbHdM5g78rFJy4M/1ng=\r\n=vNvv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"802ec1261061e4f9517d8460512989e98506585e","scripts":{"lint":"npm run eslint .","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","eslint":"eslint --max-warnings=0 --config ../../.eslintrc.json --ignore-path ../../.gitignore --parser-options project:../../tsconfig.base.json","lint:fix":"npm run eslint:fix .","eslint:fix":"npm run eslint -- --fix","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/6.1.0/node@v18.13.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tslib":"^2.4.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"dexie":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.3_1675525664486_0.5509851376560015","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.4-beta.0":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.4-beta.0","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.4-beta.0","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"58cc5560b726180af9b5184d2081ec2481266102","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.4-beta.0.tgz","fileCount":16,"integrity":"sha512-rnZxwQDhGdZVU3rUytuckmEpMkLlGPJxIFsvOtqv0kipJKDusbmI/lbDY2CJ5mD9WxLqxgQNFvCQY/Ym3lHmWg==","signatures":[{"sig":"MEYCIQDAUNvuFS1QFgyc/QTZHCRJBpm+93BHDlVgiGCxIhzrAAIhAIjh/3NMhwIxRqh2SD+XFZO+/Q+k7D8NeVQJKo5p0fCq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":204344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5+IoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQQw/+NQwHQO/rphEeW7Iz2FVIIcO6DsqxmC/Lzj2d8lwnfrTRji9D\r\nYuGYAYgMNYSVS8+vOglwAe6dgF4uQVsYjNY9Tzf1WNrBeHoY9S+VFgfZaWAH\r\nNTG8bEQrJJDQ2CUav+vLGv3VB/Z8qxEJKZkIcmon3T1HmDyaKOf58i9jOv2q\r\nVGWZkqKLY2SSN/DDKRU0WxxNUNmxx/2yWXT2O9+Wzcq77ihEOlDKXQCGk62U\r\nwUYbKNAaGBzuAFJvmDPUhq/nBbHuCn6A8qXCh8bVvf3pPYsZa6NH/UxOWFGT\r\nHxRRDnYSpJo7VokpLOkRQOTMB+1wn9+VxcaIvYND307lSMJvBBYw9TgYPDOQ\r\nFzgI1OCBbdVew+5aqEQckcWZoXuc/Xj5JRzrl7NiiU774S1Z4c587VI9GG7u\r\ng9HXqiyOKoJTat/dT2bXFbZkZdm1t5pe9Xy6d3jmbwc0qqVumaCOHyXpY8bH\r\n33KJveXsFXv6cdktBvS29tS9LRVpyGJthyT4427BCy5i0oFF8iqSxVPva/tZ\r\n/Auo9i5NehDUVeIX2cOmP1UYmhmFCuiJe37ebBX0/xDGEd5K3SEwt0bjD9Ih\r\n/rckYsAnzvZKdkNkpnJTbaUxc+17SjiHm6HE2Q7Pq7bM3Jj5qenBKE1ry7+4\r\nA+/CoONaWXkquk700LTRnzzudvY3RCb/F3A=\r\n=DYGB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Dexie Immutable Addon\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/ci.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\nthat combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\n## Install over npm\n\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\n\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n\n```\nnpm install dexie\n```\n\n## Documentation\n\n### How to use\n\n#### Addon\n\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n\n#### ESM\n\n```js\nimport Dexie from \"dexie\";\nimport { immutable } from \"@pvermeer/dexie-immutable-addon\";\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n  addons: [immutable],\n});\ndb.version(1).stores({\n  friends: \"++id, firstName, lastName, shoeSize, age\",\n});\n\n// Open the database\ndb.open().then(() => {\n  console.log(\"DB loaded! :D\");\n  // Use Dexie\n});\n```\n\n#### Typescript\n\n```ts\nimport Dexie from \"dexie\";\nimport { immutable } from \"@pvermeer/dexie-immutable-addon\";\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n  public friends: Dexie.Table<Friend, number>;\n\n  constructor(name: string) {\n    super(name);\n\n    immutable(this);\n\n    this.version(1).stores({\n      friends: \"++id, firstName, lastName, shoeSize, age\",\n    });\n  }\n}\n\nconst db = new FriendDatabase(\"FriendsDatabase\");\n\n// Open the database\ndb.open().then(() => {\n  console.log(\"DB loaded! :D\");\n  // Use Dexie\n});\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <!-- Include Dexie (@next if v3 is still in RC) -->\n    <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script>\n\n    <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n    <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n    <script>\n      // Define your database\n      const db = new Dexie(\"FriendDatabase\", {\n        addons: [DexieImmutableAddon.immutable],\n      });\n      db.version(1).stores({\n        friends: \"++id, firstName, lastName, shoeSize, age\",\n      });\n\n      // Open the database\n      db.open().then(() => {\n        console.log(\"DB loaded! :D\");\n        // Do Dexie stuff\n      });\n    </script>\n  </head>\n</html>\n```\n\n## API\n\nThe packet exposes one export:\n\n#### immutable - addon function\n\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---\n\n# Dexie.js\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"6513bccedaba5af491f52aa2e9ad3de895bd3a01","scripts":{"lint":"npm run eslint .","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","eslint":"eslint --max-warnings=0 --config ../../.eslintrc.json --ignore-path ../../.gitignore --parser-options project:../../tsconfig.base.json","lint:fix":"npm run eslint:fix .","eslint:fix":"npm run eslint -- --fix","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/6.1.0/node@v18.14.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"18.14.0","dependencies":{"tslib":"^2.4.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.4-beta.0_1676141096042_0.8230088831264206","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.4":{"name":"@pvermeer/dexie-immutable-addon","version":"1.1.4","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.1.4","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"4e0f6e2af52b09092b8fe0af5b3c1156a9763484","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.1.4.tgz","fileCount":16,"integrity":"sha512-wWf8ULFMptomkFFvHRRdUAMvWooAciMI7njhdsPHzF2fMQH5pLnLeGhEBSQ8L59aeYkpgNsP8hzW+gY8FD073g==","signatures":[{"sig":"MEUCIFPbuy6hh9bDKCc6hGZEXdVHrnbAzWlZ2GESnsi1lR8SAiEAp2nknQxWL2osuP/byArYdnMSCswd7YaxTBOe6PHIzds=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":204931},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"2d91ce711d3d8f6cc2f63692fc5c88a6046c42c1","scripts":{"lint":"npm run eslint .","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","eslint":"eslint --max-warnings=0 --config ../../.eslintrc.json --ignore-path ../../.gitignore --parser-options project:../../tsconfig.base.json","lint:fix":"npm run eslint:fix .","eslint:fix":"npm run eslint -- --fix","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/6.6.2/node@v18.16.0+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"18.16.0","dependencies":{"tslib":"^2.4.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"dexie":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.1.4_1685013682088_0.2471020440041991","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.0-beta.0":{"name":"@pvermeer/dexie-immutable-addon","version":"1.2.0-beta.0","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@1.2.0-beta.0","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"a4a5915d932edde7ae0632c4921323e2e636204e","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-1.2.0-beta.0.tgz","fileCount":16,"integrity":"sha512-5hBl5+ZHJ/miGgL1eou4sebT1eXA7DWkJhWI9bKMOP38BFVIM7HkMPKG223+LbfDSLm88x5CmdegRQ2gVul7gg==","signatures":[{"sig":"MEYCIQCVP/LYXhavcDyAkXbzvC47mYr3TBp56oUenFQHkh/bPAIhANQundXQcHWf+VT2Q5sdZ1N1C/mh9d2eAUg9WI/gHT+w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":210001},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Dexie Immutable Addon\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/ci.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\nthat combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\n## Install over npm\n\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\n\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n\n```\nnpm install dexie\n```\n\n## Documentation\n\n### How to use\n\n#### Addon\n\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n\n#### ESM\n\n```js\nimport Dexie from \"dexie\";\nimport { immutable } from \"@pvermeer/dexie-immutable-addon\";\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n  addons: [immutable],\n});\ndb.version(1).stores({\n  friends: \"++id, firstName, lastName, shoeSize, age\",\n});\n\n// Open the database\ndb.open().then(() => {\n  console.log(\"DB loaded! :D\");\n  // Use Dexie\n});\n```\n\n#### Typescript\n\n```ts\nimport Dexie from \"dexie\";\nimport { immutable } from \"@pvermeer/dexie-immutable-addon\";\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n  public friends: Dexie.Table<Friend, number>;\n\n  constructor(name: string) {\n    super(name);\n\n    immutable(this);\n\n    this.version(1).stores({\n      friends: \"++id, firstName, lastName, shoeSize, age\",\n    });\n  }\n}\n\nconst db = new FriendDatabase(\"FriendsDatabase\");\n\n// Open the database\ndb.open().then(() => {\n  console.log(\"DB loaded! :D\");\n  // Use Dexie\n});\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <!-- Include Dexie (@next if v3 is still in RC) -->\n    <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script>\n\n    <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n    <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n    <script>\n      // Define your database\n      const db = new Dexie(\"FriendDatabase\", {\n        addons: [DexieImmutableAddon.immutable],\n      });\n      db.version(1).stores({\n        friends: \"++id, firstName, lastName, shoeSize, age\",\n      });\n\n      // Open the database\n      db.open().then(() => {\n        console.log(\"DB loaded! :D\");\n        // Do Dexie stuff\n      });\n    </script>\n  </head>\n</html>\n```\n\n## API\n\nThe packet exposes one export:\n\n#### immutable - addon function\n\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---\n\n# Dexie.js\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"bd8be8ffe3c0f38734770351dff7deafe944145b","scripts":{"lint":"npm run eslint .","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","eslint":"eslint --max-warnings=0 --config ../../.eslintrc.json --ignore-path ../../.gitignore --parser-options project:../../tsconfig.base.json","lint:fix":"npm run eslint:fix .","eslint:fix":"npm run eslint -- --fix","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/6.6.2/node@v20.12.2+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"20.12.2","dependencies":{"tslib":"^2.4.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_1.2.0-beta.0_1714381972602_0.5177903400838548","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.0-beta.0":{"name":"@pvermeer/dexie-immutable-addon","version":"2.0.0-beta.0","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"author":{"name":"PVermeer"},"license":"MIT","_id":"@pvermeer/dexie-immutable-addon@2.0.0-beta.0","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"dist":{"shasum":"1bd644f76ad6f4fc2ddb45a2a2b5ac76b136bf14","tarball":"https://registry.npmjs.org/@pvermeer/dexie-immutable-addon/-/dexie-immutable-addon-2.0.0-beta.0.tgz","fileCount":16,"integrity":"sha512-7xA7CW7QXrQUlNWqGNOpG/1q0Mlms28ZgxO8JrNkJglo8s3RO3X63Q/HzTBmQFjyiEVMOBa1pnnZpdYtW7axDg==","signatures":[{"sig":"MEYCIQDFBXMzPlUB+5XskfLxO8U9ieDaq7nIMwqW23rPInsVqwIhANNm8jWoZSISUFrV/Adv04a7OExP86zgQCMQDgW6Om5x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":210598},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Dexie Immutable Addon\n\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n[![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-immutable-addon/beta.svg)](https://www.npmjs.com/package/@pvermeer/dexie-immutable-addon)\n![master](https://github.com/pvermeer/dexie-addon-suite-monorepo/actions/workflows/ci.yml/badge.svg?branch=master)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nThis addon can be used as a stand-alone addon for Dexie.js, yet is also part of dexie-addon-suite [![NPM Version](https://img.shields.io/npm/v/@pvermeer/dexie-addon-suite/latest.svg)](https://www.npmjs.com/package/@pvermeer/dexie-addon-suite)\nthat combines a number of addons for Dexie. It contains code to combine some addons like populated rxjs observables.\n\n## Install over npm\n\n```\nnpm install @pvermeer/dexie-immutable-addon\n```\n\n#### Dexie.js\n\nDexie Immutable Addon depends on Dexie.js v3. [![NPM Version](https://img.shields.io/npm/v/dexie/latest.svg)](https://www.npmjs.com/package/dexie)\n\n```\nnpm install dexie\n```\n\n## Documentation\n\n### How to use\n\n#### Addon\n\nAdd immutable() to your Dexie database. See below examples and https://dexie.org for more info.\n\nThis addon just overwrites the save methods of Dexie.js and uses the `lodash` cloneDeep method before saving records to IndexedDb. This prevents the original input object to be modified by Dexie.\n\nFor example: an `++id` in your Table schema and using `add()` mutates the input object to `{ id: <some number>, ...originalObject }`, while `bulkAdd()` does not mutate the input objects. In combination with other addons, that mutate input (e.g.: encryption), this could lead to some weird and unexpected behavior.\n\n### Create Dexie database\n\n#### ESM\n\n```js\nimport Dexie from \"dexie\";\nimport { immutable } from \"@pvermeer/dexie-immutable-addon\";\n\n// Declare Database\nconst db = new Dexie(\"FriendDatabase\", {\n  addons: [immutable],\n});\ndb.version(1).stores({\n  friends: \"++id, firstName, lastName, shoeSize, age\",\n});\n\n// Open the database\ndb.open().then(() => {\n  console.log(\"DB loaded! :D\");\n  // Use Dexie\n});\n```\n\n#### Typescript\n\n```ts\nimport Dexie from \"dexie\";\nimport { immutable } from \"@pvermeer/dexie-immutable-addon\";\n\n// Declare Database\nclass FriendsDatabase extends Dexie {\n  public friends: Dexie.Table<Friend, number>;\n\n  constructor(name: string) {\n    super(name);\n\n    immutable(this);\n\n    this.version(1).stores({\n      friends: \"++id, firstName, lastName, shoeSize, age\",\n    });\n  }\n}\n\nconst db = new FriendDatabase(\"FriendsDatabase\");\n\n// Open the database\ndb.open().then(() => {\n  console.log(\"DB loaded! :D\");\n  // Use Dexie\n});\n```\n\n#### HTML import\n\nBundled & minified package: <https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js>.\n\nAddon is export as namespace DexieImmutableAddon\n\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n    <!-- Include Dexie (@next if v3 is still in RC) -->\n    <script src=\"https://unpkg.com/dexie@latest/dist/dexie.js\"></script>\n\n    <!-- Include DexieImmutableAddon (always after Dexie, it's a dependency) -->\n    <script src=\"https://unpkg.com/@pvermeer/dexie-immutable-addon@latest/dist/dexie-immutable-addon.min.js\"></script>\n\n    <script>\n      // Define your database\n      const db = new Dexie(\"FriendDatabase\", {\n        addons: [DexieImmutableAddon.immutable],\n      });\n      db.version(1).stores({\n        friends: \"++id, firstName, lastName, shoeSize, age\",\n      });\n\n      // Open the database\n      db.open().then(() => {\n        console.log(\"DB loaded! :D\");\n        // Do Dexie stuff\n      });\n    </script>\n  </head>\n</html>\n```\n\n## API\n\nThe packet exposes one export:\n\n#### immutable - addon function\n\n```ts\nfunction immutable(db: Dexie): void;\n```\n\n---\n\n# Dexie.js\n\nDexie.js is a wrapper library for indexedDB - the standard database in the browser. https://dexie.org\n","gitHead":"c319825809c3ece9f5e1083564b84b0cf9a1bcf4","scripts":{"lint":"npm run eslint .","test":"npm run lint && npm run test:jasmine && npm run test:karma","build":"bash ../../scripts/build-package.sh","eslint":"eslint --max-warnings=0 --config ../../.eslintrc.json --ignore-path ../../.gitignore --parser-options project:../../tsconfig.base.json","lint:fix":"npm run eslint:fix .","eslint:fix":"npm run eslint -- --fix","test:karma":"karma start ../../karma.conf.js  --context=$PWD","test:jasmine":"ts-node ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'","test:karma:debug":"karma start ../../karma.conf.js --context=$PWD --debug","test:jasmine:debug":"nodemon --inspect-brk=127.0.0.1:9334 -r ts-node/register ../../node_modules/jasmine/bin/jasmine --reporter=jasmine-console-reporter 'test/unit-tests/jasmine/**/*.spec.ts'"},"_npmUser":{"name":"pvermeer","email":"pim.vermeer@gmail.com"},"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"_npmVersion":"lerna/6.6.2/node@v20.12.2+x64 (linux)","description":"Addon for Dexie.js database to add immutability","directories":{},"_nodeVersion":"20.12.2","dependencies":{"tslib":"^2.4.1","lodash.clonedeep":"^4.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"dexie":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dexie-immutable-addon_2.0.0-beta.0_1714411338391_0.3682064270838441","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2020-01-21T14:53:37.532Z","modified":"2024-12-14T10:46:22.731Z","1.0.0-beta.1":"2020-01-21T14:53:37.704Z","1.0.0-beta.2":"2020-03-09T15:27:48.512Z","1.0.0-beta.3":"2020-03-16T11:02:51.704Z","1.0.0-beta.4":"2020-03-19T12:17:57.000Z","1.0.0-beta.5":"2020-03-23T13:10:08.383Z","1.0.0-beta.6":"2020-10-18T12:33:06.265Z","1.0.0-beta.7":"2020-10-21T12:24:07.977Z","1.0.0-beta.8":"2020-11-21T14:50:16.983Z","1.0.0-beta.9":"2021-11-21T18:09:39.253Z","1.0.0-beta.10":"2022-01-31T16:46:48.957Z","1.0.0-beta.11":"2022-01-31T17:54:22.047Z","1.1.0":"2022-07-22T17:42:58.850Z","1.1.1":"2022-07-22T18:15:38.234Z","1.1.2-beta.0":"2022-11-07T18:37:57.425Z","1.1.2-beta.1":"2022-11-09T18:31:20.268Z","1.1.2-beta.2":"2022-11-11T23:13:22.565Z","1.1.2-beta.3":"2022-11-12T14:44:20.172Z","1.1.2-beta.4":"2022-12-19T21:13:11.889Z","1.1.2":"2022-12-28T16:56:20.445Z","1.1.3-beta.0":"2023-01-20T19:26:09.211Z","1.1.3":"2023-02-04T15:47:44.626Z","1.1.4-beta.0":"2023-02-11T18:44:56.295Z","1.1.4":"2023-05-25T11:21:22.282Z","1.2.0-beta.0":"2024-04-29T09:12:52.731Z","2.0.0-beta.0":"2024-04-29T17:22:18.549Z"},"bugs":{"url":"https://github.com/PVermeer/dexie-addon-suite-monorepo/issues"},"author":{"name":"PVermeer"},"license":"MIT","homepage":"https://github.com/PVermeer/dexie-addon-suite-monorepo#readme","keywords":["dexie","dexie.js","indexeddb","database","immutable","immutability"],"repository":{"url":"git+https://github.com/PVermeer/dexie-addon-suite-monorepo.git","type":"git"},"description":"Addon for Dexie.js database to add immutability","maintainers":[{"name":"pvermeer","email":"pim.vermeer@gmail.com"}],"readme":"","readmeFilename":""}