{"_id":"@arswarog/idb-fns","_rev":"1-d9a678c5aed6f2c4b87be4cf202318b2","name":"@arswarog/idb-fns","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.2":{"name":"@arswarog/idb-fns","version":"0.0.2","description":"Powerful IndexedDB adapter","main":"dist/index.main.js","typings":"dist/index.d.ts","module":"dist/index.module.js","repository":{"type":"git","url":"https://github.com/arswarog/idb-fns"},"author":{"name":"Arswarog"},"license":"MIT","scripts":{"clean":"rimraf dist","start":"run-s clean test:build start:dev-server","start:dev-server":"webpack-dev-server --config './webpack-dev.config.js'","prebuild":"yarn clean","build":"run-s clean build:ts build:d.ts","build:ts":"rollup -c","build:d.ts":"tsc --emitDeclarationOnly","build:watch":"rollup --config rollup.config.js -w","fix":"run-s fix:*","fix:prettier":"prettier \"src/**/*.ts\" --write","fix:lint":"eslint src --ext .ts --fix","test":"run-s build test:*","test:lint":"eslint src --ext .ts","test:prettier":"prettier \"src/**/*.ts\" --list-different","test:spelling":"cspell \"{README.md,.github/*.md,src/**/*.ts}\"","test:unit":"nyc --silent ava","test:watch":"rollup --config rollup-test.config.js -w","test:build":"webpack --config './webpack-dev.config.js'","check-cli":"run-s test diff-integration-tests check-integration-tests","check-integration-tests":"run-s check-integration-test:*","check-integration-test:1":"cd test/test-1 && npm i && npm run build && npm run test","check-integration-test:2":"cd test/test-2 && yarn && yarn build && yarn test","check-integration-test:3":"cd test/test-3 && yarn && yarn build && yarn test","check-integration-test:4":"cd test/test-4 && npm i && npm run build && npm run test","check-integration-test:5":"cd test/test-5 && npm i && npm run build && npm run test","check-integration-test:6":"cd test/test-6 && yarn && yarn build && yarn test","diff-integration-tests":"mkdir -p diff && rm -rf diff/test && cp -r test diff/test && rm -rf diff/test/test-*/.git && cd diff && git init --quiet && git add -A && git commit --quiet --no-verify --allow-empty -m 'WIP' && echo '\\n\\nCommitted most recent integration test output in the \"diff\" directory. Review the changes with \"cd diff && git diff HEAD\" or your preferred git diff viewer.'","watch:build":"tsc -p tsconfig.json -w","watch:test":"nyc --silent ava --watch","cov":"run-s build test:unit cov:html cov:lcov && open-cli coverage/index.html","cov:html":"nyc report --reporter=html","cov:lcov":"nyc report --reporter=lcov","cov:send":"run-s cov:lcov && codecov","cov:check":"nyc report && nyc check-coverage --lines 100 --functions 100 --branches 100","doc":"run-s doc:html && open-cli build/docs/index.html","doc:html":"typedoc src/ --exclude **/*.spec.ts --target ES6 --mode file --out build/docs","doc:json":"typedoc src/ --exclude **/*.spec.ts --target ES6 --mode file --json build/docs/typedoc.json","doc:publish":"gh-pages -m \"[ci skip] Updates\" -d build/docs","reset-hard":"git clean -dfx && git reset --hard && npm i","prepare-release":"run-s reset-hard test cov:check doc:html version doc:publish"},"devDependencies":{"@rollup/plugin-commonjs":"^22.0.2","@rollup/plugin-node-resolve":"^14.0.1","@rollup/plugin-typescript":"^8.5.0","@types/chai":"^4.3.3","@types/mocha":"^10.0.0","@types/node":"^18.7.16","@typescript-eslint/eslint-plugin":"^5.36.2","@typescript-eslint/parser":"^5.36.2","assert":"^2.0.0","chai":"^4.3.6","copy-webpack-plugin":"^11.0.0","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","mocha":"^10.0.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","rollup":"^2.79.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.1","rollup-plugin-typescript2":"^0.33.0","ts-loader":"^9.4.1","ts-node":"^10.9.1","typescript":"^4.8.3","webpack":"^5.74.0","webpack-cli":"^4.10.0","webpack-dev-server":"^4.11.1"},"_id":"@arswarog/idb-fns@0.0.2","dist":{"shasum":"003fe70dafc2bf2c57ece7e6f34415151d7cb016","integrity":"sha512-yq/oZRjb0JKnV0FvMYgTmR+fNZztvZe1CdUszVRcM1dgvRYIhNExROQv43s2xoY52Mbn8cqfnKbktQXWPvMM1A==","tarball":"https://registry.npmjs.org/@arswarog/idb-fns/-/idb-fns-0.0.2.tgz","fileCount":31,"unpackedSize":57450,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqiMI2uGsZe6Yp41O0GD05AbL9fCsFWX9jqsZXWz7oEAiBC3T+UPAyLPqbsvXcnJreLsiTLY81DZsGeHwhPfVBPXQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCCs4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTTQ/+LH8EnIzHHYBFqRVbXd/CoeQcOtS4mAFyG9n3oiRiT04f2FhU\r\n7rV3gRaNS3B96a7j5jAdvGmIGgDQYbSVKLhGdE4ocZ9VWNOkoD+AZI9AoXCC\r\nJhi+nFpxa4jN60Kbzd13OFfZfoJsGl733mNS1ufqetoVTd97Yce48gUJ+9Ef\r\no362InDXf1i6SibGRtl/QVgR5+W9RlI6ll5+kCFDBriqhSy39yW8lnZsIvwj\r\nbHL+CwhetnsrWxUW0anVDau9zDkIIb0gx8bxI1XGN5UqAKdEc8AiEl4f5HVj\r\nvYOCcV/W5Ou1HZnSBsTXr2PXZWvC+6FLIjnGIw4FhwF3fpiNo+9EjjxUBKGn\r\nB8g2jMS62Ck9NwDtDtiDpqjjmKHEOFakpuCUOBNMOjdLqaga8rS+vSjxpE8+\r\nbYl6u42QaS5gB9otQi/UQ2L6IgSrKfA5tpJsfx+YMoULTXcM3hHKWYUsEjmo\r\nBq0poH8+bYCImvFykp/9qhZD6dqgj6ciXfkVKqzGwYgHUOOzHc4VutuGLsGv\r\nX6xem+jl9rw5fKnGm9dwjkxI5Oqp2ETEOw2Bs8gtXP1xtMCvLYdFcGCQihLh\r\nJy7rj+0Orp4y7Sfy1ZD/ELAVqpDBmWplWQCESF10B/MIukqLe5DKa96ugZEQ\r\nxJtuCYIsYZpKwGWfU0PmCnKzH4mN+6V8jsw=\r\n=xPS6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arswarog","email":"arswarog@yandex.ru"},"directories":{},"maintainers":[{"name":"arswarog","email":"arswarog@yandex.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idb-fns_0.0.2_1678256951835_0.6302279398378898"},"_hasShrinkwrap":false},"0.0.4":{"name":"@arswarog/idb-fns","version":"0.0.4","description":"Powerful IndexedDB adapter","main":"dist/index.main.js","typings":"dist/index.d.ts","module":"dist/index.module.js","repository":{"type":"git","url":"https://github.com/arswarog/idb-fns"},"author":{"name":"Arswarog"},"license":"MIT","scripts":{"clean":"rimraf dist","start":"run-s clean test:build start:dev-server","start:dev-server":"webpack-dev-server --config './webpack-dev.config.js'","prebuild":"yarn clean","build":"run-s clean build:ts build:d.ts","build:ts":"rollup -c","build:d.ts":"tsc --emitDeclarationOnly","build:watch":"rollup --config rollup.config.js -w","fix":"run-s fix:*","fix:prettier":"prettier \"src/**/*.ts\" --write","fix:lint":"eslint src --ext .ts --fix","test":"run-s build test:*","test:lint":"eslint src --ext .ts","test:prettier":"prettier \"src/**/*.ts\" --list-different","test:spelling":"cspell \"{README.md,.github/*.md,src/**/*.ts}\"","test:unit":"nyc --silent ava","test:watch":"rollup --config rollup-test.config.js -w","test:build":"webpack --config './webpack-dev.config.js'","check-cli":"run-s test diff-integration-tests check-integration-tests","check-integration-tests":"run-s check-integration-test:*","check-integration-test:1":"cd test/test-1 && npm i && npm run build && npm run test","check-integration-test:2":"cd test/test-2 && yarn && yarn build && yarn test","check-integration-test:3":"cd test/test-3 && yarn && yarn build && yarn test","check-integration-test:4":"cd test/test-4 && npm i && npm run build && npm run test","check-integration-test:5":"cd test/test-5 && npm i && npm run build && npm run test","check-integration-test:6":"cd test/test-6 && yarn && yarn build && yarn test","diff-integration-tests":"mkdir -p diff && rm -rf diff/test && cp -r test diff/test && rm -rf diff/test/test-*/.git && cd diff && git init --quiet && git add -A && git commit --quiet --no-verify --allow-empty -m 'WIP' && echo '\\n\\nCommitted most recent integration test output in the \"diff\" directory. Review the changes with \"cd diff && git diff HEAD\" or your preferred git diff viewer.'","watch:build":"tsc -p tsconfig.json -w","watch:test":"nyc --silent ava --watch","cov":"run-s build test:unit cov:html cov:lcov && open-cli coverage/index.html","cov:html":"nyc report --reporter=html","cov:lcov":"nyc report --reporter=lcov","cov:send":"run-s cov:lcov && codecov","cov:check":"nyc report && nyc check-coverage --lines 100 --functions 100 --branches 100","doc":"run-s doc:html && open-cli build/docs/index.html","doc:html":"typedoc src/ --exclude **/*.spec.ts --target ES6 --mode file --out build/docs","doc:json":"typedoc src/ --exclude **/*.spec.ts --target ES6 --mode file --json build/docs/typedoc.json","doc:publish":"gh-pages -m \"[ci skip] Updates\" -d build/docs","reset-hard":"git clean -dfx && git reset --hard && npm i","prepare-release":"run-s reset-hard test cov:check doc:html version doc:publish"},"devDependencies":{"@rollup/plugin-commonjs":"^22.0.2","@rollup/plugin-node-resolve":"^14.0.1","@rollup/plugin-typescript":"^8.5.0","@types/chai":"^4.3.3","@types/mocha":"^10.0.0","@types/node":"^18.7.16","@typescript-eslint/eslint-plugin":"^5.36.2","@typescript-eslint/parser":"^5.36.2","assert":"^2.0.0","chai":"^4.3.6","copy-webpack-plugin":"^11.0.0","eslint":"^8.23.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","mocha":"^10.0.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","rollup":"^2.79.0","rollup-plugin-dts":"^4.2.2","rollup-plugin-livereload":"^2.0.5","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-serve":"^2.0.1","rollup-plugin-typescript2":"^0.33.0","ts-loader":"^9.4.1","ts-node":"^10.9.1","typescript":"^4.8.3","webpack":"^5.74.0","webpack-cli":"^4.10.0","webpack-dev-server":"^4.11.1"},"_id":"@arswarog/idb-fns@0.0.4","dist":{"shasum":"8d4a467c95ffe39da22f881e4b1815a93c1343fc","integrity":"sha512-ykCD3jzK4rpQuFmDoDe52ARtoH707fYE75deleOwM/DPKyNiWDagRcjk5ZNzh5BH9GpGQB76uNFmCJUdJoSINw==","tarball":"https://registry.npmjs.org/@arswarog/idb-fns/-/idb-fns-0.0.4.tgz","fileCount":31,"unpackedSize":57450,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCx5uyD6JbwYleBIknNnlYkD9AzQxc8W7KgViz68dJ66gIhAPeOFhC7lRl0cHcOEhXBXtFFTO19KvObsxifFvaNFDgr"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCCyzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtHhAAkkmEKr2w6XPxXI9IIYHS2cd2bKYqs9ZKtd9rsnGacDLVn6vz\r\nUDCjh7pZQDAMEo2qKY3SsqniumvEmyXzbjdNjDmO94JuNMcXVw6gPbFBnZVl\r\nhdYUNgkBcaDbrNW3zph84kDL4dCqsBJKtPd+67/6CzD5pPjP7Y2tTK+vYN67\r\nNi/iVH3HOqLaDbxD5y+S9ud958aF5ZPullIdNc7RU9/bLj5BBna6cPpbxdRS\r\nyJe3XZLg+xyQcVGf6kUAMpzUA2Os1FDdmC0Z9fYzS/npSMy45pMr+gdbeWri\r\nGAWjrXmhbfRUImNE4nl0BQje6kH1wn9O0gg+49QNOGbKde2ijeoVpRc1Jjnv\r\nBCNQkgkMSHJ4frdgTR0hrxq+gY0JwXwNBrKQ//sOfAjP/hyQMaJjghCG2vlr\r\nWJVg6l1x2NxJfrYuiFG74qzZZXkwir7D2ck/u4iIPoz7QfHdtRMxKhziA2xI\r\nibLFi+FEBmNYI2uUhQWxNkyvZT7MDi2CBPFuI5W1K8ez5FXAe5DR78gXst3E\r\nE4JR5jjbDbkAOCnw8zhLvbkOBEmw6LQXOIqPfmp0Clrv04XtW0u1LGo3ftYB\r\nWJANMazUSsJw3jvwM41x1MTWnc0Da2xmxc6chF2zbRCYluAGlGe0tZq0f3BG\r\njF9bptl/ZYR4ONIHRy5NLl2l+5I9j+aiPG8=\r\n=86LC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arswarog","email":"arswarog@yandex.ru"},"directories":{},"maintainers":[{"name":"arswarog","email":"arswarog@yandex.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/idb-fns_0.0.4_1678257330887_0.8724356783629519"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-08T06:29:11.729Z","0.0.2":"2023-03-08T06:29:12.032Z","modified":"2023-03-08T06:35:31.143Z","0.0.4":"2023-03-08T06:35:31.053Z"},"maintainers":[{"name":"arswarog","email":"arswarog@yandex.ru"}],"description":"Powerful IndexedDB adapter","repository":{"type":"git","url":"https://github.com/arswarog/idb-fns"},"author":{"name":"Arswarog"},"license":"MIT","readme":"# Что хочу\n\n- Полноценные запросы а не key-value\n- АПИ как у нативного, только на промисах\n- Наличие хуков для отлавливания добавления/изменения/удаления записей\n- Наличие софтварной блокировки работы с базой - для бекапа, обновления и т.п.\n- Наличие миграций\n- Наличие полноценного бекапа и рестора\n- Малый размер\n\n# Что имеется\n\n## [indexeddb-export-import](https://www.npmjs.com/package/indexeddb-export-import)\n\nбазовый бекап и рестор\n\n## [idb](https://www.npmjs.com/package/idb)\n\nлегкая промис обвеска над нативным АПИ, выглядит очень удобно\n\n## [dexie](https://www.npmjs.com/package/dexie)\n\nвыглядит как довольно сложная обертка, добавляющая новый АПИ\n\n## [@n1md7/indexeddb-promise](https://www.npmjs.com/package/@n1md7/indexeddb-promise)\n\nORM на декораторах\n\n## [synceddb](https://github.com/paldepind/synceddb)\n\nMakes it easy to write offline-first applications with realtime syncing and server side persistence.\n\n## [idb-wrapper](https://www.npmjs.com/package/idb-wrapper)\n\n# Другое\n\n## navigator.storage\n\nhttps://caniuse.com/mdn-api_storagemanager\n\n## [Общие сведенья и сравнение различных стораджей](https://habr.com/ru/post/500834/)\n\nНачиная с iOS и iPad 13.4, Safari 13.1 на macOS, существует семидневный срок хранения данных. Это означает, что если\nпользователь в течение семи дней не обращается к данным, они будут удалены. Данная политика не применяется в отношении\nприложений, добавленных на главный экран.\n\n## [Как использовать IndexDB для управления состоянием в JavaScript](https://habr.com/ru/post/569376/)\n","readmeFilename":"README.md"}