{"_id":"layered-loader","_rev":"93-81cc0e8b9def19064d712a7a6a4533aa","name":"layered-loader","dist-tags":{"next":"12.4.1-RC1","latest":"17.0.0"},"versions":{"1.0.0":{"name":"layered-loader","version":"1.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@1.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"59027bd80dd5ae9449b8eca82f8dfd34913fc9e9","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-1.0.0.tgz","fileCount":17,"integrity":"sha512-RnRR6OcD6vMoAKUhe03i5hYPZfsOGgtKAc7tWSSpG8YOFFImhrv9ALd37rWJ6W0R1zpPP0UgB+J067vgzHfhRw==","signatures":[{"sig":"MEUCIQCzFe6sg7xMrnyq2Sz26dc6Svq4y5lxz0JiZWhvLKGAIgIgSzY9cWnp8yrC97usm9k3xyjK5jg230ixjT5b8S9ZPzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmDorCRA9TVsSAnZWagAAEe0QAI1sHYnkb+wV0lZgGUL2\nNmJZorJkx7WxCHxwDjp99uQf+B5eIjyrKR8LTDVfAPZxWb5y/vID7f6EmiDV\nWD/6EPBBsw1XHq0a1hHrwbZY7LEzx5mQtt49NaepECdjs8nPjGkwwecK8dfV\nj12K4O/fkH/uN0+AUINp+01L/b3PrVOArMp749Eg0WjYKlFNkBEEeI9OJWvd\neB5GIqrAjS3C2mXQjETmWv3+6lciaqI/PeqKRlJJtV9DfuGqvQFULjhHzIiD\naUhZqF7r1cKebL+KwGdQHzrWVCqPJkf1V+VcuHjcWgC0ku3EFXnAzavL1GFh\n2bpN2gbrSwLIDHhn0jTBDMBEoSNKHF/2AMnzgny2l7q7rWqAzusiykU0jD8J\netRCSj2GZYgA5LoS94Zo/okx1vyXWS7PYZ0F91Gge4XENR9eb1nmbIU8TdCv\nJgcxO1g6zhPEvIVyNpWeC8enuZxPoet2CNAxiScWGP4ASOsEIDQvkkuaImHx\nf04H1qOpUrDxiiWNAcb5MntE/DMCM/bRs6r1YGpegpLiPLo2YdGfyrIs0WP7\nknjKfxbAZOopHG9uqQcYSPDtYMNF3INvuYWiLYwP2XJ5Z7pE8909cAmsr0ew\nS987oPQC1MfZ+JymIsidocNEM6njeBJ82c4g3nQeGtyIeIrhqOyerH0wtwnC\nlU7e\r\n=VvJJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"08248932ee1ee5bdde76e13dd225472b9bcab18a","scripts":{"lint":"eslint --format codeframe \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --config=jest.config.json","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --config=jest.config.json --coverage","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"6.14.12","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"14.16.1","dependencies":{"tiny-lru":"^7.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"26.6.3","eslint":"^7.26.0","ioredis":"^4.27.2","ts-jest":"26.5.6","prettier":"^2.2.1","typescript":"4.2.4","@types/jest":"26.0.23","@types/node":"^15.0.2","@types/ioredis":"^4.26.1","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","@typescript-eslint/parser":"^4.22.1","@typescript-eslint/eslint-plugin":"^4.22.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_1.0.0_1620589098425_0.06196647288387447","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"layered-loader","version":"1.0.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@1.0.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"9185fd1f362f26d557ece9ddafa5c0c3843d0616","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-1.0.1.tgz","fileCount":17,"integrity":"sha512-o2WLfl5iGW6vyYAtkV1NaqqrL5CfUKjnol9AqBWDVMOE9ZmMUGAMqdXMA4+J84TjDAGr9TjB3p60K1QyWF7LAg==","signatures":[{"sig":"MEUCIQCh4NAfQ6fQX6NF9S8flkDZbP1NaPBu8l+sXCrX4GDhJAIgJXLUf7v+eU3clXyuJiDrKHybkBQAN96+j2CrPIBzJu8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmVPPCRA9TVsSAnZWagAA8QkP+wRgS3P5I3Fkb3/1RL6Y\nLlIgrwtfH0QWvMFrMlY5GEXEzm4lmDDC0MPjr8Miz5Fg7xN7pvbIUHn2em49\niWVm/0XUT8cv1C5gQvwkQKV1DtT3EVFGBJEGZcMg8e3JuhPz1dvT8sdth24t\nGdmGQr+lQqdBtXm9OJ22CqEhk7ncVuAwEUVjHXvOOiL1vQc+fofLxnt1F8RX\nj9muSgBJe03FqfW4IDTuRxs2kMbNl+0DjYYf0X6lGEVmTwh+rx57eK3RAik0\needHzhjKDfHEaU13rrnlt9v9ojL2FNBlS2CFN8uoKUkoeRQX8FiDAJA0YkHg\nRp/HHfzf0hGqpYFKsP/5nOLFuS28IWTa9uQPPk9E0BH+6oOfq+3Sxda4WEh3\nCWXOGi58xmAZKV8tgW68jpvGwNUJwbDaQBGwY8xNFHKR1ucQa5wSQLD6iYcw\n1vbORqluE6cqjrBXeLHZbheaYrHlu0t8ihw/zctlIYW6ObwlYk+qHZXlNpfK\n45wB+TQKGYzg++XREFFWZq9fN21M0pFr89UnBdlkMpNn7l7bvzdlo/07/9wx\nNxCifgLcohTJB4yFleoujtyhb6GKRbUXP9K+z62/sRLHl2TE7ibmSjdi03UI\nVHiHr0Ii8x5jLeLB+oWnf4RS0Z6rwTHn4xST3a+1YIvqxh1fjovuGkVGov8a\nJ0Ze\r\n=ridG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5b7afcf1380181330cd8d92b4839c460c05b7886","scripts":{"lint":"eslint --format codeframe \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --config=jest.config.json","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --config=jest.config.json --coverage","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"7.11.2","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"16.1.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"26.6.3","eslint":"^7.26.0","ioredis":"^4.27.2","ts-jest":"26.5.6","prettier":"^2.3.0","tiny-lru":"^7.0.6","typescript":"4.2.4","@types/jest":"26.0.23","@types/node":"^15.0.2","@types/ioredis":"^4.26.1","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","@typescript-eslint/parser":"^4.22.1","@typescript-eslint/eslint-plugin":"^4.22.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_1.0.1_1620661198913_0.6882448240654182","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"layered-loader","version":"2.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@2.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"a957e0f5e74e00fb73e017391280fc49032b5439","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-2.0.0.tgz","fileCount":24,"integrity":"sha512-ifCVacleVF9akmUmFW+KrSYQE/jVAboe5OkKOTj4xFpqjj+iNkj1LXESw87pPm8RSUfWztKORcId1aAL19+eQA==","signatures":[{"sig":"MEUCIQC3X1m869+ZBreoEbUrolcrMAqJi+8jSFWQ/0taKAFFwAIgXFBmO9zT7ljP61976tajRmdgvoI3Zxeg+0u9VM4pllY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrkd5CRA9TVsSAnZWagAAl/IP+QB3SzXCswTarso+EBKq\nyqjmu8LrxzIdb0+rxmlX0vrsUBfXGG/Wpvwj3GaU5tkKMhEhEdtDu7HwJBRk\nh9ckNRjTdS7XklRGWM/IJiFuRko1VxLORXVuo5T8ONpn7cEc62GqYAXbNCZC\npPMrpwqQoiubtdfy+8/9lG+J71WIcqel/1p402vWtcpZmyW1B0+ALJ2aXjr8\nJbBkViRtDi6/y0ISiX1ox+VX3rXqSI2qJnWLuKjaiChG7YwGms+FGC0DwSq8\nmOTW8tNXvzAsrRqEh1he6OBD1j7Oql74F4e/bcW11xIxPfFXE9ywJDtW5Y8g\nmuCeInaTvOBsCkuOsstZwh21oFEmUutJr+SzQHMWyP/HdPmknJ9SUl1raNSY\n4Xixc0ACzjhMzRBw+/Se/k1VXbIbnToxK2cF5eokGg3k8KbJALAy6QznBTPS\n49RtQmag5iSbWPlmlveD3MqfjatXn3PozlYwXaYd7cgtx5LfsDu1cKuIwcPK\nbu94lVTY5OqCszUoSHrGIxWMknhqloyNTo7DVLfIZw1hV1PwkMD4OHHnlwjd\n5rqCYRB+A1YATP3sC7NdYBxI6xnBSM6j1NF2oLnKepWCP9GnO4Tzkgnh+cDk\ndWb4JaQIGMofdVm+Ka7SIGnfwmipKNl0B9Gvonic0R/CN21pJpPCgwCZQf6E\nQjdh\r\n=yvqx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4d1cd6725e602fd4a9982d4e9a597fd2e356d61e","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --config=jest.config.json","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --config=jest.config.json --coverage","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.1.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"16.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"27.4.3","eslint":"^8.4.0","ioredis":"^4.28.2","ts-jest":"27.1.0","prettier":"^2.5.1","tiny-lru":"^7.0.6","typescript":"4.5.2","@types/jest":"^27.0.3","@types/node":"^16.11.11","@types/ioredis":"^4.28.2","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.5.0","@typescript-eslint/eslint-plugin":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_2.0.0_1638811513482_0.6318683740496891","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"layered-loader","version":"3.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@3.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"e5c357987e179d9ef7a4a7556a30525b4310c226","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-3.0.0.tgz","fileCount":24,"integrity":"sha512-yaUUR22PvP+QWa4jsATRMWB13GQQCCGx56Cyub3dwcMX4MVA7bE0ypy8OXRZ6Kzk4ev2gTpHCoNiq/FEy2WkoQ==","signatures":[{"sig":"MEUCIQD1kCbu1l/h633HrXpEwKIy5Z30Cd5PpY05SHHK3pUI9AIgFQ855BOAoi6/Re6B2OdDgWHK/abdViPx9GvI6baASOA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26908,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQKpbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr0eQ//UBurVKPSAeEeExG23RcM1jpVytPDXrecmCwDQI9a9gpDd0WY\r\nD+D/XOviwyXfXz5e2VSS3yJ/gaATOc+/4syKHfhPTkPAS3fJfqeaFN00pc83\r\njMSGVM1tzCoQeuoEtPtIxaymVT2pZSay6utuxu9qGkIBLr9URNF2wJ2IAW5B\r\nAnpY8hiextoqBDSXXYfM0KvG1Dcj0TyUd6BcxtSfYAqWOBeNhpuKUxFru+ox\r\nEV9CMsCsY+meKam6zF5c6Co1CuOq6r9albVfm1S10clXYb3SbM1aGatNEApK\r\nalS/l0Kv0AzXFMI9y6pB0hkzLp+i43nGdE18ED/2E5hDMIb5cspNRDA/qRlc\r\nc/PK5FsMNyT72D+elNTYb7MCRhxPsoQQidZClOQvWyPRj9td4fUXHuHwtr+7\r\nPzMALPCdeX20eyPXPh7S/QqWURX60qKen8idRm//L6uYWY6mTb39O8bYk490\r\nmKGgSX8n/Vk+uePx2WFvZZlyF25+WDbdnewplUXzDseoVSqGJzK/UsyijQfd\r\n5iJQgHquf/8uYfUfdMu5JQU1OVspkz7BsigvxPQtP6Zy7/LSODnfp8djWuAr\r\nvhRAMlZZZR7QeeEd/MaS3ZtrZDYWnofoHf9RT9RqUErEA1NH7E2rZZqzwF5o\r\n0T8VwrAqemxSdvY2JDDMgoDG6JfeQiLhCFg=\r\n=s0Su\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4f8ba8a4588c73d46ad9f38534dba5eaa34431fc","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --config=jest.config.json","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --config=jest.config.json --coverage","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.15.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.7.0","_hasShrinkwrap":false,"devDependencies":{"jest":"29.1.2","eslint":"^8.24.0","ioredis":"^5.2.3","ts-jest":"29.0.3","prettier":"^2.7.1","tiny-lru":"^9.0.3","typescript":"4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.3","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.39.0","@typescript-eslint/eslint-plugin":"^5.39.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_3.0.0_1665182299606_0.5718326091018036","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"layered-loader","version":"4.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@4.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"4fed4f197ca877b481aba1afadab478c420d88fc","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-4.0.0.tgz","fileCount":24,"integrity":"sha512-8x0d7h4eoU6Xkcmx2vnkVS3eRXMPENbQVlz/aveyx3RdD0h2HIwB8vlIIKcV+Ut1O7DUMUQPEZDimTysZLfI/Q==","signatures":[{"sig":"MEUCIQD7EmFTBXRJ77aim5CHYvFsXQdC9PuhH/mPjQlUK7V5AQIgJIl38k7IpzHR8hp2EpqIrCaFiyMyXdUw/5U8rgp8Diw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRSyJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpihQ/+MUaQfiVN2pHbjlVTFiozEsqL4JZ/uzk1tagDJUy2PCAU6TKK\r\nSve5c1aoSG29LP2aBUymKx61biMz+dnUGbvmOu3BMwQK7dchj6U0GwB78lzH\r\nbse3XabCYuKE9djHrf+MyOD5mbA508JW07+FCUDTC7AUNziP/ScnUEx7GAPJ\r\nMgfj4wbyXw0VQR+/3ni0vEX3Nzu427J6vmkmYpsP9gsS4uFsJAyy0UxPL/kG\r\nosKYPM5qfxGBDC/qQopJQQAU6avv4QdT7HKPYs0KRowJQ+upMPiN61amOKVH\r\nKegOT+LsHx0v3BudmyC1pg3uGcumS9I6khkx/UvwDcjaHmeUuQtQiSWNLXAo\r\nHpqxiwIWQh9ytRo9sANti2wBIwORqS0tEgXJmWNN9HU2QHbzfuC1Xnvb/Qrz\r\nun4EMoy5kj6Hc/PjprAhY0P0TfzvrPDl6yjv5DKYFX7mmXm89dC9Z2wQdBH1\r\nyHhH692Kcp8ZLlR8ylvTVZdhFBkYTbwcF0AYinetWKinMsDHN/E/inHm3HAN\r\nntKWhedTi8itkQKVYnwWopyVqI85tipW21XCdWtTxwcFAuC1rgWQEyK0pahs\r\nYWHD2NZbO3acI7Ygrd2FpakTs7xJsla/yBOOqWk7BaYPVNlNnml7sMcHZo9E\r\nNZnZAwytJ1E0Sbegi5T/pw3aukiMdBwqI6g=\r\n=phKG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"61120945f6d6d80f0c24af259fc81b69f33e51a7","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --config=jest.config.json","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --config=jest.config.json --coverage","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.15.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.7.0","_hasShrinkwrap":false,"devDependencies":{"jest":"29.1.2","eslint":"^8.24.0","ioredis":"^5.2.3","ts-jest":"29.0.3","prettier":"^2.7.1","tiny-lru":"^9.0.3","typescript":"4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.3","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.39.0","@typescript-eslint/eslint-plugin":"^5.39.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_4.0.0_1665477769392_0.9746608334323079","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"layered-loader","version":"4.1.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@4.1.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"7c9c4fef0e756a685829dad165d112b478d011e5","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-4.1.0.tgz","fileCount":30,"integrity":"sha512-aWYo58bTH4PmjXDCTG45JP+93JbDHppsqm+Te8BiEhe2Nho/o/PKtAfReyVflV62d71QGCfKVMGIxrGV2FVofw==","signatures":[{"sig":"MEUCIQDMFLzT6ITwpLvIX+gtPxOOpAKq60t0Rtvgv5IBsVh+6QIgMMm8vwk2GqVVq5ltnvGFsQ1NQBb+qCDedNUg40vCB7k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRe4HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoeXRAAjRSry2Wt7GGTMgMtcHQQ3nWZBpXzVIqMVDT3CATuCz4DoqKY\r\nUI/WxigO2X9qX9NaihWOhPnCVaSC5Vdh1aQKTnKkVx9w8P8duO4V1l5jlJYg\r\n3KLdxSJHFLjkvKYkhjUVWm8WkBt+rI8wp58gKXAujprsqneoTSN2LnDkZgC0\r\ndjUuN/KN+PSRT3nv33urKld+nqQtHj55mYNpqeWtc+W0fk3FW/R0+9RXbjmK\r\n7uAln6LJTGICyL6t1DmUt59a5uvv0HQkpnaUHm866kfOo1iPfOKsMzm8yTuF\r\n80MAvMVI0SZXIGn47RK4T4o0tQjIYAVHuObDddO5LzARpKj2RveaWBxsJMyY\r\n3iJsvog+xlXYPNOT5G/VJ4Ulo8tdWMfSqunvMnjuJPSVPrZc2XMw6OzZG/y5\r\nE7nVbyu2TxIsAMOECBmyztQLCjaPGNpO//l1iN3ThfxrKVgAVt6T4aPm3kiy\r\nF8BjqAGdmT0eRT9Sa+sL8N9gDUnZlk+EDPC9G2hQ03gE5ZSSmNVS+GVf9IEH\r\nsMxkfOxfWKcKCU+RDP33qI7ns6jeOKW7Trlo2zMmY9ae3FwEDttoomV20BTi\r\nQ6Radh1SVCjBJ69urchW+uIpA7wkyndW0LDlH85PMBRKyEhlMoCBan1AB+lj\r\ntc9ulT3dA6fg7Vn5t/ivnHjosDz4YPTMvGc=\r\n=kxOP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"42bcc3f117a877dc159be532cecc7c6818b2bcaf","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --config=jest.config.json","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --config=jest.config.json --coverage","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.15.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.7.0","_hasShrinkwrap":false,"devDependencies":{"jest":"29.1.2","eslint":"^8.24.0","ioredis":"^5.2.3","ts-jest":"29.0.3","prettier":"^2.7.1","tiny-lru":"^9.0.3","typescript":"4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.3","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.39.0","@typescript-eslint/eslint-plugin":"^5.39.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_4.1.0_1665527303567_0.24776262334698096","host":"s3://npm-registry-packages"}},"4.1.1":{"name":"layered-loader","version":"4.1.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@4.1.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"a58eab41835738065cfe4297e0278fd00abde027","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-4.1.1.tgz","fileCount":30,"integrity":"sha512-EaPDU6S3ETy54inaAxXh+TEKbA6wyZde/GoFjyFGanSoTPN43jP9kLjBnpeeCxudQ1AOvjohcDn+AW/YSedlzg==","signatures":[{"sig":"MEYCIQCLyBZd2GZFqAaXCUXw3mLFSBlO1oGxPBVnK/gdrQdziAIhAMXvQQaxx86GsP0B1hNm502221BTya12qPBr5F0pTh0G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRe96ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbFA//Xht4+Cf7OL7HG6Q3kRJFo4f1gn1Bd1DRtJpfvRX2YjaQ2N2r\r\ngkBAnkmtyoSBoEh3DeYW6tLGPjMtO1NW2alZ50wUdvGDha8ENZ65e/W2BDht\r\na9xUUES2KXqPqmk9psd1gkRdRmJgP06lhExnCArStpxX4EQy7FplHY6v/Rja\r\nrm4Vq0ie5HezSirhfIhfXkIsiDg3WRJ5Ka+Ra6VN09omccLzsNO3wLeiZWHQ\r\nVEBYKtv1Xv0c3SXlXh1+k/XHLpMtVCi2J+H4eyNzLr8fQqauJgjl9Y7KO6Kv\r\nkQTs1htmM6UWhl94elfdEBFclw26cnjWh5kuaonui2D/+0iXfUWkaCWSnc+o\r\n597ygLqPGMmDjpr0kjENX15bajmIhW6aPNjB1bWcjZbHP9iOJ8OLs8s6lEGy\r\n7qpXzNOUxhfg1sBUs8iHb0lpXwMvCfYz3lEz5iDPP/DtULCXKCtz7DAkvTcW\r\nxmnMjAc1arii0QkkTLOM7RF4CQ+7Adc0g2a09id9093KLCqJ4KLJOEq8vd1R\r\nbHIsNjR6dHwli0y8sYJKEVan8Atd7m+cYdOhbtYdiBW6oCNLIdbHS3YWGmq+\r\n3eDbLLtM6ylM+uIUo0/DGSOUQOvtIFmIrvIBbBxJOw/We/dj/1KZjlhb15tQ\r\nHVhXfapFQlN6D82M28iyPf/pQ+JaEeBTI5A=\r\n=kJ/k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"40f5a2def21cc8d040bc7a491473fcd5380b17d8","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --config=jest.config.json","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --config=jest.config.json --coverage","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.15.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.7.0","_hasShrinkwrap":false,"devDependencies":{"jest":"29.1.2","eslint":"^8.24.0","ioredis":"^5.2.3","ts-jest":"29.0.3","prettier":"^2.7.1","tiny-lru":"^9.0.3","typescript":"4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.3","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.39.0","@typescript-eslint/eslint-plugin":"^5.39.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_4.1.1_1665527674395_0.7162084271276454","host":"s3://npm-registry-packages"}},"4.1.2":{"name":"layered-loader","version":"4.1.2","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@4.1.2","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"2617bc5f031ede9d494f5228e6f60cbf145d6b8d","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-4.1.2.tgz","fileCount":30,"integrity":"sha512-53k29K6R/x0k/7T1qFEQuGo7JDOylU8kI6UglEJ23pw3q+5TSTKBodFMqWXLdOHKr0INbutCOXt7nMKazeHpJQ==","signatures":[{"sig":"MEYCIQDKIcI+jTiQ+G6pKdvyu4eCsdwxidvl1w+b2T1mrnOmRAIhAJ/1Kps5ROjFcpAUiew4zbScZ/75UFsCSNgbcc0aojZE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRfd8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrauBAAnMySG5/ULhE1rcha6Cv3W0le5VJgMd/wlsx7olqd2ITm2UPN\r\nW+xb+JCeoh6OpezXIU4fT3qFQJRaNDwoBMAGdK4VZmcg7ntQppCWqa3tKDoI\r\nPUgHVc+btkPmCvJelghIa852JqANnOw1gIrHj0GVXNhdgcFpnkQRAqOGPcvO\r\nmNgq9DotVQvKDXDaWB1rJWmMynNJbH2wONagjF2t2VqLXkk05TsAuqipEVyX\r\nlDfUZC8YIlpaAoMT2lMm5lA9Uj+ZFXr2S4V6DQ67ZverdEyMoQE1OohoAW71\r\ntx5xR0siE/mUuZm3m+hQWScGRXasI6pI7brisMMNE5uT8oH2UVaCp9C0zXzF\r\nnt/omSw8V673yIGeBTyyEdD+a+7RSJa6SsVV5aPUWRbwgrDC8X76ahDTD65E\r\nB86CyLPBzYarFm5iEk7ipOaJVHc8tkLty80cNyB9pdJ6aTY437k+o+0efpiK\r\n+kz7p44XhBmjHvt149Xsz/ES+f78ee6TAM6w6Il3+ra6BqdBc3xH7RPJ7bls\r\nvpsmdxl3CmC78hiF96DO+Yd592jtMJPaNOGrJOmYFg6qqNeAcNiIjtV4bimD\r\nnQapF9WmZHu5sUa+e/ez27Kan/UrTVsC0yZF97uqIZIdkR3vfiDsK4qdA8WD\r\n4JMvRWn0uSooahpvUfY2OrITwODxSNmKaTY=\r\n=In9y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"dd16cc840b74c1c04889db1b11547fc7922e5502","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --config=jest.config.json","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --config=jest.config.json --coverage","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.15.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.7.0","dependencies":{"tiny-lru":"^9.0.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.1.2","eslint":"^8.24.0","ioredis":"^5.2.3","ts-jest":"29.0.3","prettier":"^2.7.1","typescript":"4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.3","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.39.0","@typescript-eslint/eslint-plugin":"^5.39.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_4.1.2_1665529724574_0.46063380004721766","host":"s3://npm-registry-packages"}},"4.2.0":{"name":"layered-loader","version":"4.2.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@4.2.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"e05b8d0c215baea479ecde5a860c182fdcef6133","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-4.2.0.tgz","fileCount":30,"integrity":"sha512-F22qGVlOdVPFO/i1N7u6gIeoMdDleMWpGMLC0gk/Yyn326U7Yn6qd0vlnlS1gD/0Inyh0LaXS57ecLRzvx253w==","signatures":[{"sig":"MEUCIQDGjCi6pxaQ1btD+zf+rr4MvxBza0mWdXZ6DFdgodw8vwIgU/l8gymdY+qDcTDUnoqtLTcvThavERF2YQ0Xs/+ADGA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRpy7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRdBAAmp2vvA9GeskhpuNdrw00zpJ4KaOr4UXZR8x7EY25Yqp/50tc\r\nPFVP3plEWowzn5+bpq/5mSvpN7fw3duHFdvb5TCcgdh9JRNL9/RAt/EOiYzd\r\nIvdDQWMTL3F09E9FCnIqZ7xldHi+e7Xc2RqdBZdL0lprmv0/4xsdl0h2+PJX\r\nkuwr8fmJDxWVzw0MvnWCoNSEjaztksxfE5Ntjqc4iYBXB0jOlNQFtSCXDbWJ\r\nMW3D8lDMxVmdQlvvgFgitVhVLS+fBZRtq1wyR3BFWpqW1VOo+TT7tetB27IK\r\nKAB+LtrMAQg97e6YKv1h1sS7NlebZ9Qi31rdXEJIgl0LhIWJbVqvKpEt/NBw\r\nMXH3MLpWZguuRxTSBItDAq1hyRqGeOHKFtWUfvbJMkor8kbiABe3gRRpa1dW\r\ncU9sL5RnqqjOx1oxBevgOHHsmDZ52TuDld7n37tdMomx4sYsNir6DUr7TCqS\r\n0BVXm7WvRYWIYORFTt2hp3Xsj5ECqzgY6SJ/8Zi0fcIFjb45UrxfItq1vKEQ\r\nnb8sF/0+HQhrkVa3MV1A01xEOQy/zrj1SPZ7D/ssbjGMcVCqjd2T2ILnfzI2\r\n9ys72HH+xeyuwFYGoFG26elF1i+xABLb4w27GNkneNwj3AqdHomXFXEIy1cR\r\ncEKPmZH+VTNdpcIfETZPAZkJX93axy+UhqU=\r\n=KNPR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"ef4fe69ceed4490972dd0647ff97a5779b74176f","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --config=jest.config.json","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --config=jest.config.json --coverage","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.15.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.7.0","dependencies":{"tiny-lru":"^9.0.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.1.2","eslint":"^8.24.0","ioredis":"^5.2.3","ts-jest":"29.0.3","prettier":"^2.7.1","typescript":"4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.3","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.39.0","@typescript-eslint/eslint-plugin":"^5.39.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_4.2.0_1665572027314_0.016735127355975044","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"layered-loader","version":"5.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@5.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"32fdff1691bb4dbbf31a61fa34a3c2b31849d73a","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-5.0.0.tgz","fileCount":36,"integrity":"sha512-B07u3++AS8fCw585HGO+GctDvToiMyLY8Ct7IuFQZhMs3F+4o4dhQmbkwqmWZ0f75qPf/3ZbX4aZGuHrrI8Rvw==","signatures":[{"sig":"MEUCIQDnjNoviZ5d840pvZMbPw1VnKYUn9TOJx1t9CIskpaO6QIgKU0XjZXoReWYXMIAh8THckp2na8e7JHlbI7+RPz/t6Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjcjznACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLew//YK8TtKwXtQd9jEMcXoU/bsMEv2gcsBDJ+LZ0weFMwDtUvMf8\r\neHY4YXjxr3BDZOK6OxiFGU27bjhf/KZ+p1j8iA4cASkn3BZ2jzCxCASUUzj+\r\nuey9HR6W6poC4W+NXxp4xG1RqZRc6hDsNB7m2lUrNQCSvLFy1szdJuTIvwxh\r\nHS9hKTqGl400dF0e85wi5TiMumckM1eEznANr+n6Z6oUrGEHZv7tnwrchsHh\r\nwzfMtPZhl4yIDeoknHtMQ+3F7XviDu+kZMXPIDTMbrWwQK5PXn7l/ypyypAc\r\nON+40TY5hxqAsdgT1jXUfmuVAaUq72NeRsu2sh6qX7atPMvWFhSS6OLn49o3\r\nF2+W6fGSus/ZuDjb07fEdmGt2fejl+0EB04KWNkF7+RRGIdZFt41HFZAFqXQ\r\njX2XnTCDGK3nNQen4k1cR/exKJSfndH5DSEGoOm2LJXIst1ZV7eFY035t6D6\r\nZJ4aD0JwP8D3YH7IPRi99MXVBCet4NpoH0gbziKxbZEEY/gEilBF2MaPFWVv\r\nUbnmi64YOymM8bSWzYg4tNBZrzd3QBLzRdgntvMSL3E+nZdu+NkREkoYf3/J\r\nR40fX7SZs3fd4tRTlYcqh0HQ/Do5eHuk+PtTTakhMEFxrcOHX04Unf3qH9HN\r\nvK5hcNFSB2QlCaLgopNfi1Fb1GA5H+SzDqE=\r\n=iiQ1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"2e8fe7d7e39edc785ed036e856ae26237b8fa0f2","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.15.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.7.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.3.1","rfdc":"^1.3.0","eslint":"^8.27.0","ioredis":"^5.2.4","ts-jest":"29.0.3","prettier":"^2.7.1","typescript":"4.8.4","@types/jest":"^29.2.2","@types/node":"^18.11.9","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.42.1","@typescript-eslint/eslint-plugin":"^5.42.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_5.0.0_1668431079112_0.2104983932273392","host":"s3://npm-registry-packages"}},"5.1.0":{"name":"layered-loader","version":"5.1.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@5.1.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"a5d7f6ebee996db7de4ce60ed88730705a08e52e","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-5.1.0.tgz","fileCount":39,"integrity":"sha512-dbna+rUeLrxDW7VWoydjEWt828+w2Ar/QiScMn9H0TMnwTxP7sN8JMEhg1Yua6RupZvL1FR25DuoqIzGi7N/eQ==","signatures":[{"sig":"MEYCIQClSj2S7Kzfzj930xNq1uPS5B+xXK2xx1hnzHmGRbDLBgIhANAveztHxLQriaq+9SCVLJY+5X1PXud4m5F51lhGBZLp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc7NpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpsZg/9GTbCUEHd9d7hROFc8Y9sbHoiYDTVDMELA1AKdZLegXcjubrz\r\nG97d6hbIW2Arb3RmNVv1n/yq+wEt4irtWnQlPehDkzqGUSDua6Gu1IOrzKCY\r\nxlL9OnldO3NMA/hDSuW3MxwgYJHk6m3v7fZAdlMxHOuUVQz337zMSWobNmVx\r\nR6jVYshYkWpQNuR4bDVSh2lALEZ43TcWY8xxBU1KthaENnUGqIbfXXSLcKUH\r\nUldFMyArCUYJ1VNmearbMAT/RfOu/9hT0g3FQ1FLN7cJHkGDYlKVMV2djMQr\r\nMLfBj9EuhRNcHrirVt1UOoWEV4McpGxZTbNk+6l3gnkxb7pJmbVX4+70Nt9p\r\nHJ2GZ65yi1NyX53vHGEkO4YXs+czlWGeFu8O/WeYoOnsbVWZJyUn41HHBB/M\r\nuKdAqtfDIi4QHPFfIy+r1/fHti9E8lWCiAvnZOZ/9eOOyQXqXM/DnfxxizzY\r\n57i1WGyoFNF2IXaU6IAI3IV5G+fIfsG1n4jLqBjJDhL+4AUWUn1AZ3WhLOl2\r\nNRPvSe0aJfjP+rYAwGPjtvV+ioKs1kqeRCNC7Ob1LzeiWjtNOcDpajzhlRu6\r\nqiXycAem5gBQKyQp69rrnfgexa8o2Bj6TEOPn+ydoUbfXL4w7Qh/piNQznNy\r\nRnqlUKYyAnqozJEgEHbNEe+dO+gShxWt4Nw=\r\n=50s1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"b8017ab4d4dee51def7c05020583d64e7d424cb3","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.15.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.7.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.3.1","rfdc":"^1.3.0","eslint":"^8.27.0","ioredis":"^5.2.4","ts-jest":"29.0.3","prettier":"^2.7.1","typescript":"4.8.4","@types/jest":"^29.2.3","@types/node":"^18.11.9","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.43.0","@typescript-eslint/eslint-plugin":"^5.43.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_5.1.0_1668526953551_0.6171151357679396","host":"s3://npm-registry-packages"}},"5.1.1":{"name":"layered-loader","version":"5.1.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@5.1.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"1502204791104e0000964de306472c2d1db86a21","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-5.1.1.tgz","fileCount":39,"integrity":"sha512-/q7BwxQdg8IyyLv1s8QPA4rJAq2+nI0ryHcKifYBWEX/vzj2u7HwcfZzOvgnVzllLOy1UTtvrZs3rWgMMgAuLQ==","signatures":[{"sig":"MEYCIQDYTkz3da4RiisDSp8OWtsFCSi0Ppuh3cWfLgXLW+wm9wIhALuwnWfLqVhUuzEKtnRp3VsFlybogw86ffqpJk0X7RIR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjf0sDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpY0Q/+KKiPBHHl3a+14DmlIDK+fOibJrP/2F8/rMTUE01qvsLlmuAn\r\nbI5NnNIKDdmiDI5z3IuZ1Y39pGS/lvWLyTtx7aYJDcqmV0p+0tf3w9ZF/1Ia\r\nkwE4rHBqjkcRffY547TvW39Gh4LmKDJjubckBfIIn9uJ0xEMwbD1bepzVh1H\r\nHaY/x+DO9chewvmsqBQfVpiAyQoIfC3BsttdjKEs3ctJwJmkssQQrGEiHm6R\r\nnHnIVzC8azvm0fLE29wJxs0T3JU2ALBAqebrryoVHndNqlhrGheQD5l+P24k\r\nDbtV8QmEnP37c5Jhzbuhqc/AEHXB+6b6HGjYayKI1DnzHFqgrxwmHH3IUvCz\r\nJsXjRNWJ7SZX9EPPoShuiGBhRiXDqzirxrnTwfjaaiCW/iidlnfq6kCXprK6\r\n1GkLtc0huae++rBgyaLBZCjI2QXaZZvm4ryB9zbc+9RCR7cAUdgOnOcJkk54\r\nvLmTlow+4mBfBZvJOZS4D8nmGxv9I5hjDpBPp95KbI8LAs81Xn3WsgL97i2r\r\n2l/PTSHf4iZVIA1pJbiZRUYaRwM7UU31f9ZyVD7UqEIE7nuzCj98P8V2vacf\r\nqH/9Iu/d1/M12k5gQ9TkxDCqPNZdUVQ4wq2SqZCtFBP6EThqWSLbww+GQRJR\r\nXoFWgp2hWQ9Ew12vAHt89rlIa/5abb1TWu8=\r\n=yYzL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"be9822189ad300123efde3874fcdb3964389cd5f","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.15.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.7.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.3.1","rfdc":"^1.3.0","eslint":"^8.28.0","ioredis":"^5.2.4","ts-jest":"29.0.3","prettier":"^2.8.0","typescript":"4.9.3","@types/jest":"^29.2.3","@types/node":"^18.11.9","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.44.0","@typescript-eslint/eslint-plugin":"^5.44.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_5.1.1_1669286659356_0.24850283634386705","host":"s3://npm-registry-packages"}},"5.1.2":{"name":"layered-loader","version":"5.1.2","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@5.1.2","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"9105a0c58f6217c64b00dad2f55383259d3d5b91","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-5.1.2.tgz","fileCount":39,"integrity":"sha512-Db3o5ByvuF8zNC7+x0Wa6ZtAscvlcb1B1A8we8+zsuH8o9ivDk7DML0KDC9zPdc6rH1W6PHzAU1V0QExQB/DuA==","signatures":[{"sig":"MEYCIQChSqFKRyRi4pS2FwSqc81oUUhNKaOI1VzNdGCHgr3U+AIhANGWbX6n8rCwGmSHvgr1jseuRLa7LkoZeFPGuNpjfd/m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63207,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjgKBiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZ5g//dDwTfkEw+qY+5h6YW32GHqy0J7Wapyb5cNqs8cvotFH/mRXL\r\nstysz/ryEGadifR82Uynkl50Qk2kPo5x4oBdQe0rcrBe4QvYDG+ua0+RZRwT\r\nYp4ci9WuMiubs7CNFJLmihqzWzXrwghgYnvLSW3pcsv7DCrFed1koJqgZFb4\r\n/+oq51ie+dkC7HfCgcInlTr/aGnd816YVsgPkZWxtOqXNGAnQQaNUxgEQhHz\r\n/vQ8PnC4KsQhPSLqYP9DkFz/XvMejyLYWmHoTdafYHwqT2eB5XzySvTWMtaB\r\nabyCakhkU9ShV3KgubSAY3OKEd/8INAFAZNjopIDbK6Ab9ZnhDcHjwx8SHrH\r\ni/gC2soh0ER1yXYjDQsi1wCJ42PZqB2447ranhM+qrSE6zGZIig9hXQV9EAr\r\nsdNH1zvr2CAgKwMT5CiKSWU5T90iOJmcYkZcqI5D72cPK9qfeG0zEOB2TUMU\r\nbgnPt/6aWoTK6LzNsjw7yKPfX/GaJMHHwJUijjderDFltZUU1tV2iOuHPFFL\r\nM+DHlXqarHGYt+WA0nspPI9y4q0z8L+vm1mG1k8ghYU7X2IGrRAa/k8mhwd3\r\nR1YXY6eabZz/Jo5G1xYoGlfYudyEO2FMJpZVAIFR3dXWwhUnPzopKoE4KdTQ\r\nNTAaHZtaxd3UaIxK4UY8A+PLoRnALZB5aRM=\r\n=uRol\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"16b586c6c76408b06fcae0c40a7d63a0a070c1e3","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"7.6.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"16.8.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.3.1","rfdc":"^1.3.0","eslint":"^8.28.0","ioredis":"^5.2.4","ts-jest":"29.0.3","prettier":"^2.8.0","typescript":"4.9.3","@types/jest":"^29.2.3","@types/node":"^18.11.9","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.44.0","@typescript-eslint/eslint-plugin":"^5.44.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_5.1.2_1669374049858_0.32929355685431094","host":"s3://npm-registry-packages"}},"5.1.3":{"name":"layered-loader","version":"5.1.3","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@5.1.3","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"8df5fe2b6fdcd3d23104962dc23c80a5628eaf8c","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-5.1.3.tgz","fileCount":39,"integrity":"sha512-KUxMk0JtCpPPKb9cy5JB9I3dPrJeNB5nh7CLz72pYdnKmmVwO5SeqBvb0AtPMwW1nqt/h/lwaKm1DHeKbBooyQ==","signatures":[{"sig":"MEUCIQDpvZAvK7Q2TsGGkasFDNIGeLUi2Q6ULaUZnLc4Yrw4tgIgBh1m6scVuMolRVHwiStScHysY/EAOb5k762BZYRegWU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjmBQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpa9w/9H83z0P1HffXA6t/tDzsvqsrsRn7TBpAO+MSL1AmMFD1kNCPz\r\n1jNhoKzduodEUpf7un23Mm3al5DqFQ4vT/vWWIUlgJp5XtJLVKMz2RACVNx0\r\nngy6GElTguADnCq8kCMQM4fS9vq+yiptZJjFI2MmyYJfE0IGiERoHybyMZhb\r\naOtRJv6EOA7JEqLVxQYWDgwitVsw1oSbMAWkpXa2YnIdMW7DNCTKQm225b2x\r\noHvrEUTcdVBN37x30JnPKXsdd2q9/fGT+DGMDAKkX2pwG/5gfhlthQerCYjA\r\nSm7ZrksjCZ9hVWV5Xd/t8DnajmqyN4J3NYfjj86Z7grp3CtYLfzkpz1828Rq\r\nqSYlKkHyZUvel075+03+dLbgwwKhPWclB8soOLvVmBxEfSEyMhYUFuVnoM01\r\nSl2RmHSqsi7mHzUDXKRMDujqoGUYDwNjpTSJ85eLYMLiOt69o45ECyq06BUp\r\nI0fJSnGC1jG0r2xrO2+VUUSW55OjfxQs07h+xEWm8sDIy4bRjWEaplxpunNC\r\nQwXDd3gh5K2zr6+WumI8QDObJ744+tCSp78teesdSbRLrC4gFMCshE00qKIC\r\n7E49xlPY1yazbP2YDXHoQAIMWFoLBeFwF2Umvx0WbCWrXsBxBWksWzVNusgk\r\nTVLpu76y86KeUraStgQ+Rvpt3Ena9bSUZcA=\r\n=hHhM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"36c8780b36b4cf5046e75b292a0bc7939501a24b","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.15.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.7.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.3.1","rfdc":"^1.3.0","eslint":"^8.29.0","ioredis":"^5.2.4","ts-jest":"29.0.3","prettier":"^2.8.0","typescript":"4.9.3","@types/jest":"^29.2.4","@types/node":"^18.11.11","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.45.1","@typescript-eslint/eslint-plugin":"^5.45.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_5.1.3_1670275152661_0.7811367351582574","host":"s3://npm-registry-packages"}},"5.1.4":{"name":"layered-loader","version":"5.1.4","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@5.1.4","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"f22b3b7213364ca9649af97a624df1db7bdded71","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-5.1.4.tgz","fileCount":36,"integrity":"sha512-fhlZXneixJ7YPMTVJdmwtaMIueg9KlUXedvGPSM8SyJX+VikYrP8Xxqi9BcAjnuLRcriF+OPPAc2anTIoiByMw==","signatures":[{"sig":"MEYCIQDI42ZvJK5LTQGxaPdfqTxGQgQ6uGRG3IRTEEq54gkfoAIhAJC9/MbY9+voZ679a1/nrvkfkG/DjBuu4pgYTkEv6PDD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/fdBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrtpA/+LNjrKzop4j2PqjDPiVeacRJwoDlfjrlDwrdkcegD5uLJuZld\r\nCVmaVn+/hltm6XYRoIlSoBWO0Q22k80JdzpoLb9t/iz9bNPElI2YubFa+aMx\r\n3iLYxhTOmPVE7czuxHX/NI9DfAgoIxGiZVko6q7NiYfzCqGTZvbLS46FXI3r\r\ndFK+gXzWTw9tsOIwcQl47WnQL6QltPAmgttumHi/BdtF7J2A5uWvS8lTT6KX\r\nfamHkL+yme2l4BYy8ZFjRw2dWHqIez1k2167VaGsO7BvUdGksNWkDb6HdHXt\r\nrIkytaBZYPXOArsOL/F/X7SZ1PUVw5iOcJBho2TfzSLxobX2qfbDAa0+B9PZ\r\ny9sstdM9rGlluS79au4/ahPy0qVeC+1UqPMUYCgxiGNfBR66ulPMVRZGoCx2\r\n/VzTv/tA+S6ER0pT62HGacOFVbprTVcRwN7s0PckPVMYJ+83hRGR3T0URAGt\r\neV+i7Y1HTrHR5IhTft5tlNKsJ0zHfdx3sMnBYdH2wQWqKc/GkfKP1di/xhP6\r\nAn7GTnESW8n6Iv76gQwJq2kEG8Yz01N8YyoetxmIN4dHuPRIXPtcyvLIhJvW\r\n1vwdR9DfR/5OxNfGfs6wmGJ79lyNe13xHG0QeuJMuKuN4LlI+8lMnGZyFL/R\r\n32UxAgqOZwTczNSe/mjWy7yUpDaU9XfOAt4=\r\n=pxBA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"b2ac69a975064f8ef6aba0f7b292af7eec0cf13a","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.2","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_5.1.4_1677588289012_0.2476104100794605","host":"s3://npm-registry-packages"}},"5.1.5":{"name":"layered-loader","version":"5.1.5","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@5.1.5","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"306b0cdf6e854ceef4b19eee138aa354256e70ce","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-5.1.5.tgz","fileCount":39,"integrity":"sha512-LSpmzKhrP2ec2NRKC42TpUI+MsExaKKP6DJmRQfXMUSR5yjHWesaXLRpK6AXhkD1VJD3MCO8afmMdMvbzHRrDg==","signatures":[{"sig":"MEUCIQCDK5lB80Ggo4AZ6IxmxvIlyekLlDvSGnxNxx4E8q/5dAIgOOxJLHkpfvyoeFcoJ4D/QdMPipogaryykJlgirQUPkY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/iC8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpttw//RJkqlQd03k1VhEAiLdTBcyS6+e96oistw51JJWDoSLEwyf4/\r\nZJsLecS1iEf1FpIv13eqSf5FR9cHO4Zh+1Y2D8lu6rbQwYUCjK2l5d0cD6Sl\r\n/Fu/DMfkMk4gAbLqAxlC5HPV0vOu8tcMXOFUcQU9/PoOav2AUuS5aSWiuZKR\r\nNnW5HlLbaLEoRoGwX852kcsnDT5iKpVSZqCgZJXbptWjMqcqoamNAAwZlWgw\r\nRlDQWOOIol6HQlnO5zK1/AM7EKfs/RGFWWo9rfV4oTMdu01szfeaxZ9fWfGD\r\nSAS7czVWZDwebMg6Q6bSd58PHvjC5LoaPsU1sPB+1+p3EexA5Dxif74nyX+5\r\nK6LX9hfW8/a6Ql2f4EBlRgNqbU8KXXLWu7uY1Y+1OxrbkttBTHWWgdsA3Q/4\r\n1mvU9vg1VL4X94o6Lc1g26n5wZ+EyzqXMUDFu1H12vXVwfgPze+NrRZDWICg\r\nN14b4SwvAWAVzBLqro0etUAPcmKX7G7vIAmZxE+hP1vnNXOEhKB0IKnpMQ0T\r\n5fsanoeJsK6AttSOXRl10pJkY2moZU7whTBRyKG/dgBFNDLzQfAY83sy27Es\r\nNC7n+/JXy7kZvrqK7YvT97w+ckcy32pZ6T9K6RJ4Cj2KDNfJD9mLho+yM+gi\r\nNCoBfzBh4MUCDdoxyN7A/d/27eoIRkSeAD8=\r\n=So6T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"b3b853490e981f38dbee969989be1375f1d610c4","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.2","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_5.1.5_1677598907829_0.12845801829525327","host":"s3://npm-registry-packages"}},"6.0.0-next1":{"name":"layered-loader","version":"6.0.0-next1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@6.0.0-next1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"e46faf8423e67958972a1157f9f6e2f4b3a49099","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-6.0.0-next1.tgz","fileCount":39,"integrity":"sha512-vENmvL6FDm7MljmRXrB9zI6jdQfBUxJVSdaZ3s8c7Ldwtqm+c/eRDmOpd3O++zwPw0nEiHI5FeBUxQbXe6r6fQ==","signatures":[{"sig":"MEYCIQCad8mxXw54WWpO4HEEV9wyV9KCC7qcamnytVR22YhaRAIhAKAj8nuABytN76nmy3AYvpoc2aEY3L57V5YkV0bHAXTV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAKTKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGxA//X8IVALdddhwPkzxPCbQkzaXfMOHSTpoi6oiZ6o5mkATUXh6S\r\n9MhgWmhjcgTYbLjRZAK/a3n0FL9F866EMwRKPm6QkS+BtbbXV2qM7tqcCrtX\r\nmaZwBO1di+ACgm01T5ggL+5/BnFkaea/uGAtUQW/w6l12yfAQO1rWqwryaiy\r\n68O+p4wOcKQJN9Zrd3ZpejsooiAzvYcphjLe9WItNREIwtPeqZDPUaW9db09\r\nekxhdQ+kYnB1JzH6RJRaUM8bztH/qc46CABPRWrBX71hK7No4bv/ufXECoYL\r\nSDIG267OVOaICa1b961gNUYFmxD4ycYHEmN8DMPa9f1Bjoimqo/YO92OZkLF\r\n2wQPDEoubcktUOIJLZ2A7aYT/GuJQ8RCM2DIb9aG4uP00nnJnliPWd0BClyQ\r\n9ffMkQ2LQXSx+3gL/hbDPnvlssP0U/PhM1yLBy5PdWhR8+oc+7F0wx479kdC\r\ngRICHtmQe6fqFUXKg1EekoyRcdsugvFwCr5PS1DyZhSTo3bgcQsXtD/s6y/I\r\nBPrJETpSaf+szQ4E9qL0+IDraV6VwW7ZrStj8FLSLcoIlQk4yl+RgCF+JLB0\r\nGGfvHKCsyxK6eKmcqoZsRBm9h9pT+SYLrwcuG/LRKoAcjeI6+FIynszNFtTn\r\nk2mZr8Tvg/9vUX3DbUWlALKIyvFtY+ekEkE=\r\n=3ct0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"4a291c1e15954e563d9ebaa8a271effceaa23eff","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.4","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_6.0.0-next1_1677763786602_0.7262077633226609","host":"s3://npm-registry-packages"}},"6.0.0-next2":{"name":"layered-loader","version":"6.0.0-next2","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@6.0.0-next2","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"fa878b03e20bfaf4f53e26671c5bf8575922a50b","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-6.0.0-next2.tgz","fileCount":39,"integrity":"sha512-VYqgl3riLlvV/EgIGuoK0ME39TY8WDSkFdBsoS+U1e3fLNu/i9VDnvWCLUYTO3Tr21Ib0KpOnm8Ubd7qj+FVVw==","signatures":[{"sig":"MEUCIQCVgf2olVOHtoF9Rhw6NhDXtoQRVef3fj8uGuVHtK422AIgXllVuTax4goHqe/Zo4nMQSOGXUU7NQjOS3ZuaPPSqEM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63980,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkANeLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTwA//RmgYdQJYOpWyc8m6o+1lOZS/lyAQRagF2A2u3doocUfkanFg\r\nQwdyvUKTJoCFX1b5V56qSf5znW55D9ijsbq/TFkZTsvaAfNuDcZXmvvtRhkx\r\nLfYARiBaePVLNKDWGnK39jhg7an69qjDaejpWRmYZaadLRXC/3HJfRbB8ALN\r\n2ZGBP20pF1EOjoIklWQLbtq5DZGKNwtBUWq8zH44eiExZvMF5f3w7brIsKey\r\n2BNMw4e8nA9yFR1L9Ynsnear6NjkoRjqklom/MSG3nllzXmbT64pj0RC++EK\r\nBAa3A9kGiFgZlXoWiUCfkgoTHwvJiOvbi7FD2uFv2JbY/Wcmbi/R229bK0j2\r\nKfEz5FHBxyZ2q7JZeALeAeti5hh/RPffJsvDXx9No/ka4NJYo6GT1EADFmci\r\n22D9kaf1ua1rA8n826GCKR2Q1iSygs6ZxfVr0nVbYW6r+XePRXsvh71d45GO\r\np9Eqtg7sghd9eYEQjyOwuOm9Y+X/elrhT+s1SnTkS0ENx7lBAM5pOfXg4oLt\r\nffqLIxDHutYeWRsxO+84keZxlkO8Fe3DwiKyvRKmIYTfIyzJibRwjumhEz9u\r\nd4q5abj2JslNw2KM54Y4IH3/gI76lJIVTeA9Gevw6Murqc4ZMSfmPvItHxcz\r\nMgO39idwFffP5/q1FzRtJL9Y+s3DzajbRPk=\r\n=Lhy9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"e2ae2413cf5fb4406daef7f01824bc38162c3a90","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.4","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_6.0.0-next2_1677776779779_0.7616789089999625","host":"s3://npm-registry-packages"}},"6.0.0":{"name":"layered-loader","version":"6.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@6.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"299cd59fd7e401b9a2796e2baffcb9a180e11075","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-6.0.0.tgz","fileCount":39,"integrity":"sha512-XBQGj7YTVeof6RUvBeyW4sa2DQth04DPaegGZStePI2c2EqxKoumpuQeN3hkhRxy19qaq7ei5wuywKOY3D2NSQ==","signatures":[{"sig":"MEUCIAmI9fRixaEH2wJRc6FNTHu7iu21V9DcV6LB5aXPe7E1AiEAl8GkftmYVJqYK/Hm6XE7o68USN1XVNGE2HJwtGWGclI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63974,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAbMYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrt/Q//Yw3GX32xQUhvzesVslmjvIlSDsKENSuwe4J9qaLSK4aAsYLD\r\niMUE7NHpgNN1Jfrn++CTs5JTD7O7pd1qK8lMkMejb5EHAmTE5rGe3//M5c9H\r\nVnUz5tBMBLaYQJncNzBTBq9YZd3DXKtywWyTMCW+lnTP5h87U08zCKVx1KDp\r\nP0KpWyv8B+8BNOA3EbqApDf3ArHibbrVsCZ55NNt7WJAG2JJoCg1ZXPOI1mR\r\nX03yGbva2GW6lZzzM1NaNONvpWAh2dTAhioec8i6dbbW9DeGPUwG4GzMfpKY\r\nQhp1i6xeM4abQF9rt0I7lVxEFCXmKI9oa1mHAI3surSXh1QKeJOvgBbfuZkn\r\npqcjE/sRZmVtfGnQAi8BTls2qrwVS/926e3KE0E+FWBVvh+U+Ok7REkX37v6\r\n+porP+pY8PAntkpR6PdOLcXkeYgBBVJbPt2NMY+S61YaFB45kNGJ6xqBGAtn\r\nxgZTAp79yLRXzzaIauFmarM03sSSGKgpOL0TPU+B0Tr0aIIyTZjLqaTcljF1\r\nSQ6BRsFd8qa/V2zvRphh5VGe1aEYQ2O2V7eVMDcKJSqRwCrhM4ZfczjotWvo\r\n2d2WZKXgil3hHfmbo+YfZKmtJzo+CZjYSu6BPD0xAXt/8qO4dEJaW0l3gqBc\r\n/zGnUOBhaCwiQr3BBSJrvMjIpwwkfZogq88=\r\n=xzxH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"d150004efa592414994b00297b08ee4e4bce63af","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.4","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_6.0.0_1677832984602_0.5153546770691164","host":"s3://npm-registry-packages"}},"7.0.0-next1":{"name":"layered-loader","version":"7.0.0-next1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@7.0.0-next1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"7767f2343fa0120d686fd018d87488463402b5e9","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-7.0.0-next1.tgz","fileCount":39,"integrity":"sha512-WBeiCILVqxf1DafEL7hzgkRWOcd5IkY96NBqtQJNUU2dwrTwV6FIBX+PPdc9O4WVwa92GMO6uwcfO0sVZoThJA==","signatures":[{"sig":"MEYCIQCEiOUtlwhsOuD0BlVC7HgA/gy9U8TNl14G2rql1P7sJgIhAI4L1o89kdJY2bBgwK/kSBOEznDbgNCiWkw1/tzL94Z+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAciXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdvA//Zo+I7SYHyrTTt3ggIaiGNt538UCPDiYvrdl+hUNc51veJhsq\r\nMSDcGFovwXghW+H+Clq84whr0YXnVBIJUjFD2cCrHjkmt3nH3ldB6vO9ARjd\r\nO/1MisAIo7Daf2W2QUHkkuvfoWnjmdLd+j+3dSNb2y898A9uiM2CJZOsa3Ml\r\n4yUs8G+bbrHdv06TkWrNQjtHa9gwtDtQ2vVyGfE1CpX41kRI9dpVtF75lJ52\r\n9gdq3FnPl63dsMFOnNy0LAjcwSDxP7Ul/fqW7NAqiZbakGkFj8iFUydgtyYh\r\nbxKlq5BOLWzEflJ/qmuA6iTTFzUcWuCW49l9E2TjO5dD6gMOLFdD7Ymqunnx\r\n5GCY40HbrlbhWGm/1PtUljJa1cAd3pqV2VE8q5jSETjwWvn9Dew7eUyVdmcQ\r\nU9n2N+UxEi0VDf3SQo1vjMY21t6baLxWXfm8Cw+vZIwC8Cgz51v7AYNZHKX1\r\n6aX1gu1yBdrwYSWMI1SNweOX1pPrDa6WoIO7l6o30LuIX8W8NyEUl0N7H+H9\r\nC6cJ+KcJ4fQEw5y1vSwkrGd+KeAJ8iW+gLxfyVgJkdlY4931OvKkByCiwFe4\r\ngHxhNPIGdTAPkj60XmB3svDlJALwHzs83UFtacmsYQUCXiOvzJffaKlerdu3\r\n7fuIlpK+k6zJxSyuB3ajY3hzKjjwK7C52fQ=\r\n=yd/C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"a54089e2f332c1e6fc8c5ddcb451fd048f398190","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.4","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_7.0.0-next1_1677838487410_0.2007826542692741","host":"s3://npm-registry-packages"}},"7.0.0":{"name":"layered-loader","version":"7.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@7.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"2cc3373ce3dd906833d37b2ff36991ae4a93ef8b","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-7.0.0.tgz","fileCount":39,"integrity":"sha512-f8LSSHATigENuTAy1w9trLzz1GW82sCM3PlY0OF0ZemCCutsRQ8XPOpojcjAmcNkb+C6uvJ14DcDlOTb1r2e3w==","signatures":[{"sig":"MEQCIGm4oOd1jGTKPWH74UU9SMTA96dtHh/rZNfQ3WAd+M5mAiAovyBs0+9kZDKgLlcvldo/cxMOVH4oN1z+Ys9dNbDoMA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAyRkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrnQw//Z+9nKGdczZweipaNRgweYCR/n6PdXnSLGSpAR4MeUl41B/79\r\nhMGPE/BOg2t1I+Ym+fHGDhTU/8kWzHD/jq1VlOQuTAbMS2vZssLja8DAMNV+\r\nllhoo8xqox088XYbu1OoX6Sy8/iYPDpF4ipEbxI33VO9ocGOnxnYDMoktNId\r\noUBVEQ3umlg79hE/EgNuNobLOFLLCFT2y4GehxU08Q9LH5jsgL7OsYlDYJhA\r\n9V+UFyszYyaj+pQsRs/aVLPXSL/wWWJzbrFzLKANYm9HbCynZL519YDB8iIo\r\nSThaobnFrL/Tj1DaMEWFhqyWFXbJVM5oXQwTXDcVFrJ4ERq92MiSVtawrfdJ\r\nLrdRyVUS3LnzfBZMrHCNx9n/AHJ/CoZrocCLRneNm8MjwOo3M1W2PytBZKf3\r\noqRPx9T3xeNVhjy4QnjqWRVstO+/LSohjHOGBWZ6OySynmWp/mUr0fJn4D27\r\nt5opcEdd/Nt8CFBzCZZWVF/0uBkMEVKLHfpkYgr89zwTXXio1OCsuwOwxRms\r\n3XAQHyIO86Qwp7mnmitEivulyisXXLK9OkoXYtERjwyx+aUUf8H6xBu4l3Qc\r\nY6ChfD10N4orjGHKenBlLmUq3T8ikMFpZ0OLqs5mYtr0e6KLaMJOjQRZ0x7c\r\n9hYtY/zQzFNvm95RgmiGxP0zZoF+NW+O624=\r\n=wJdl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"4f410a1631b4417d6261cbae1ad3263b14b8e0db","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.4","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_7.0.0_1677927523777_0.612908155339563","host":"s3://npm-registry-packages"}},"7.0.1":{"name":"layered-loader","version":"7.0.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@7.0.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"e1f2c272a92745d931ae9ad9048ffa224faac631","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-7.0.1.tgz","fileCount":42,"integrity":"sha512-DUwc6gvK0neJYIwVHlHt6aR0gxDcWix9GYd7SZT2t31nmv9ZMvIiVLFeRHm9qh22FaiuJSGR+p5qwH9dEs3lzQ==","signatures":[{"sig":"MEYCIQDCJl9/1N7LtVjAAVzSsyvBtirf0amQq5scdDBfw2l1cgIhAPayky/0J0juqRGgviN4/YQmyjh46lUhq2M19zUL5Rfo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62032,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAygiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp45A//Yu/WliANf32yYiafKE/K96ENy+Qh67rXxUUs/nzcMbKa5ohd\r\nhYs+a8UBlmck6ypH8vnBRnDRkoPERfxG4mQzsJqqib3OqSmp/ACRVDkm15gj\r\npD+gvWSopaI28EHS3/YIjRo+IUrbmpwOHH2+VUamYehRpN5Aut4PRyxIyCbf\r\nyxdStQGonoVZunHGfte9YGcScJrQ8lfVo9QN+hP7Os5Sx9e3gYOBX2PEKYI+\r\n5mJIZ3EEtPfedAamPA8HblZjBnHPUqJlnf8EICeqTk7qS29AqN+m35zUherP\r\niUBUYBD1LkcuL12VpRjEAe7YTJORPHs7/M85lD2l/izreCdgwsEGbHGb9A0e\r\n1wyY8s+X1efKIq0BPbZ42OpmMyhVsm5A7o35WOiR27ifmWU8UMGkWxYOshTY\r\nB5qEWbLup5wQkzeiHvyWrWiVQ6FiAzZ/MOzc25/mGNhKKQbgZ20jdGrudkdN\r\ngunSR4C81b4VeK93A07bP45bQgxTz55p/bGeYf2jRxt8B34sjb5h6G12d1/g\r\n6rfYl+f/rL7O5ecRxSzaI7e2uD/Bf9agWh8qMG7M5FUig0lp2bzVPfhBDOzY\r\nGLwoC1EVvtHNF1EhqVvdtRBNNDcV8Kct31qOlu6KEr0DNz9JLd3fU7eYcbjc\r\npOwRl0WIU236EtchifXgSCP4kW9Nrqa1feI=\r\n=5rxB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"43ed5cbf5c0e45f6a446725cf2070234f78c6d76","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.4","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_7.0.1_1677928482621_0.9503096883966777","host":"s3://npm-registry-packages"}},"8.0.0-next1":{"name":"layered-loader","version":"8.0.0-next1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@8.0.0-next1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"a0010028461ccc0a4a033b651508be6a748f22af","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-8.0.0-next1.tgz","fileCount":54,"integrity":"sha512-d6aD8g52vgivBgMzgeym3UqoyQ3b8mo046C5zYhAMT72N8fX1INKdMdSF8q/gI1rxnIeaP77D7Fm5gUJ6XoYdA==","signatures":[{"sig":"MEUCIHxwhFjrFFNjHPeXSnu2dbV5QSxqGwffWwKTKXdjQMoAAiEAilytNOo+sgTIovizhWpVGjukiDUz2fd5WAvc03fK54Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkA3WOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp3UQ//fgo5nrBbF1xwnz5ggHcnmoGNW/sAjB9Zb3cJvCrhKKgFJtnN\r\nkeTkMilg0ECSWQLio5Pv//ulg0Wa3z4rnMcE4Na3sE9YvJMO8t6I0MRbaXuT\r\n6eYcNrWqe09dcS8cyI9IVxdXLLFcWASiCTA/e1v2j7FLpRbR3Ze8xNyNQpAp\r\nkXZT71yGeyel+wDIddiGnvJOKpCKVlSxWJ6W1A3iTD2BBgBvq7/Y1DfoG7CR\r\nTH8/MIpSQBh08hzg4o3EA5PZ1ZXx3AX2EGVZAF9WUJwCu1Dz6YHIWJlr37PD\r\n4L3DMvW5fSXLw64WCaJNkPOA5FvGE0ozJ7STjGsud3BtUN4+OPanruiG5PrL\r\nyh1SMIb1QX4/tVB2OKa+Id6+bgh+yryH09NnE5oOrHrJpTzaWKhGw0dQvH5i\r\nLS22yzWMycZ8lwnXu4dOCc1IoSZ3dFoT4MWfPQoGbxmT2jaq8g0jErhFO4Ti\r\nSvTWD61RsDA+0Q3i1C8PhfBZYo/RFiaauT1KkjgpqR5EYO4wUXNLdwH+khH6\r\ngeSgzXnhYyhz/NOfQiFqgDMhjkCE0Y6fkG5lrJhyZSOD9EgmOAdfAK6kgTQe\r\ngBjpQbUxhhbz9Q/n0VCB4tmhfQm5dLYD+hpfS/rhfNr1CE8HHsMvuGTZ+4au\r\ni/78g0COXcsdHDR5wfQawNH+D4Q+ky9Qp3E=\r\n=NfSN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"a346540bb41df9e631bf3c139a0d94958284f715","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.4","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_8.0.0-next1_1677948302472_0.327077360453613","host":"s3://npm-registry-packages"}},"8.0.0":{"name":"layered-loader","version":"8.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@8.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"17c93a0f0852ac67a1111b97b3ae035a50a9f2f8","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-8.0.0.tgz","fileCount":51,"integrity":"sha512-bru5N/WWNKCvDrMLbsDiXuztqYld4Rc+ZWWBLc/idOqYQUqhQWklUhN2qgU3TdIAL5oDvugIIcs+J3FVwxbt9g==","signatures":[{"sig":"MEYCIQCmoJy2/Q3O4c62Zx76FR5mbCQNZulT7P2rGNR6tC9ZIAIhAJYcPWkjAlZxmdTUPaadFLAvtYOuaX8DEuZmSlTxXPrf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkA5HNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQWQ/+JKBeT9VcGSwTLMIN/5wz/LuWGcRlY/oPdXnDpjeMD8pddf3+\r\nbC1cNLMJV9rQTsRzMGJe3RMCOhilRmIgyvKElhVoX2dRYQqvBDwF74TlK+r6\r\n65+QPRO4x4aGPIvK6+hauhUx7M2DOgxpOHCya1sJDs4Imk01HHr5vSgPTmHg\r\nlzOk+pHcpfgqDv15VA3+xxArG30YRIdrEZb+pFIUOiPSfCZH6SZRtx8iR2O4\r\nCPM8iac/FE8vAXXPav12IOim32eWJeAUGpVKl+Injh+z1KbC7n6S7yJA7b4q\r\nz3C6qGUAJ+TluOxkohkaLBpFNygF2rsjwJQPL9RcPFyc+DItxjrbOqsR4Key\r\n10m0PlsPjgVj7jlKYeNiCR3yLKaNmLEWy9Lf0T1jB5lv9joL9jZlWxcnNWll\r\ne3v2HvqOdcU6WRwACYgvI5kyj5HIKIXL1T0St4YEuPXjymmGR9b7EgJLlZEA\r\nNfPwlWsMxCRGcJ/RZRk8jiI2r4Vr1me/5n8Xn55+QhoCSj+KCAzk94MATB7H\r\nlDe7WoLfMHR+p+L7HL+KMG+V5WJbNEevGx5J2Fqg3WNlk3nh7iK4RKPNMdrN\r\nyC96I0kNWkmKh7a/Kjqk8PxiPN2U23OVVq9lhb/awkOSJ/I04Eha8dXylfZz\r\neoSXe9GH9ddhHfs1AoPuVdOdiyqmTyZD6r0=\r\n=j1Wb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"a346540bb41df9e631bf3c139a0d94958284f715","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.13.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.4","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_8.0.0_1677955533517_0.42136870745911326","host":"s3://npm-registry-packages"}},"8.0.1-next1":{"name":"layered-loader","version":"8.0.1-next1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@8.0.1-next1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"8111ede98dfcf9a056c24dcfe4105b6733c1ca63","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-8.0.1-next1.tgz","fileCount":51,"integrity":"sha512-FAsGh/CKUT1BGqjFRTQGiu53hlWohbSFhix28fHquliBaOvPHOfeguttNgxv7w898fE3EXtrTQkL5TAtAkwO/A==","signatures":[{"sig":"MEYCIQDQp9IITeAIu+brV978bLoAI8Q9ksI+TW/+raR9gGXjiQIhAJ2al5l+c6iYl1tg4v3zZcIeEEwNbb0oOK3yR/NMrXjJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkA+Y3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTxA//WkUzVP7H2E+Jho4d8yIL8AgkcVKJe0zIvRyPPPjMCffjFYed\r\nZ/+64IFEkVOjQoeJmitd5u2qCmyKVwrRN1nGawBp97WI8uZ6GKa8MFvrsMrS\r\n9Z7NANc4+gvp4eaBsbVv+Ns1R+6iOuqxjWLlt14R8JbWm/TYSZCLbCIrhJ/v\r\nN7PuvJS7BORnALVCjiVAJTWBQyipmAU9+QbwK17GLEZO8DF0uCRlVKUCXF65\r\nNk319QuK5YbyV5kp+bHRIUskyyM2i/P4ABRoBXjrj0TDxhMpbm9+EUaFQoQp\r\nSK9JCE+2j+i2VXFc2Z/62DlAwqI3xHK/Tq/RiaABqjxgPXPcVOl6fBpWyovc\r\nfKRYqt9y8nzWVNMS4it2IAx92iFdg7lbAjdnWt/zLiNElbnyz6Q2bnN1yH4f\r\ngRBrMPZc7NhHQTCim6FmEUp8CWrlGMt1DOS6T91P6YpSBRrhvVOK7GTHF30p\r\nx7NI6daKyIg6yGxM95oectMaQngz80aqcPfEceXcM55SIsLSTMEwnPxs0h36\r\npTTIhzB6EUvqCroxpcgua+NKyer4OMYknztl2Qd/hs5xpZeG748aPKPAob7J\r\ntJ0eIn8iWiaAfjJtkdUrKy0GL4kOaVdaRRc0PSBienpgRyLLnNa029qx0H8v\r\nMkBL4G8s2rvx2nGKMO59trZnMXCtI/kdYos=\r\n=xzHW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"9d015873b06d3370a0a8ade135a20f8e7515bb97","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.7.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.4.3","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.4","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_8.0.1-next1_1677977143708_0.9935116382772011","host":"s3://npm-registry-packages"}},"8.0.1":{"name":"layered-loader","version":"8.0.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@8.0.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"f46c598d657cc7c14b8202352ade32cb74dfbbec","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-8.0.1.tgz","fileCount":51,"integrity":"sha512-2qXyfOBVWH8WFG2ipWiAphYQHs0txelSphl0OrxvWAeP5nnnPpmJEkG0vnsrU1OgC4/vsqrtMVcqmjo6kjDsBw==","signatures":[{"sig":"MEUCIAnfpdhizdM9UB2zOCUT9jvZwapUz01VPsUEG4gNjY7+AiEA1wOOvnLFMU0sF5Ul/uBetvZUzS+HXyXQEXBNd8w0xAs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCcqwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppZhAAj7f4+QvPdEHUJaCCW3nbcaWghfWk73NvDc0LrwRAN6q+SYID\r\niUb6bVcQ8vwXJixsngNlz/zixuvbMBGLsTt5T35gP4igZtp/Bwqfgap3pRN9\r\nq5wXTxCxpeSDf1MRq4fLAsrv3THiwbH6X6+JicTYLirU41b76qzyYdw7x7By\r\naji+9WyZx2/jEm8MV/eVwHaFFwDCFU5AEIh/KPtMnA7ci9OV14wrg0+1t/Cj\r\nXe/3yA4NVq3KmwXFaUedeAL8m9jvPWb+ZErapfCMNTGReWDiZo5BPWfokz0Y\r\n949sHQ4voJZ8ZOm//UX+tmrrwu8BN1vXxb/4Dm/0R2ZUUGDMISHDoOagoJ7f\r\nHJQABjAcg9iJyo/KFJ9MzXt7wCEggMJFlA2LFAzqpPTc02B93OdxSfmMvl9L\r\n5coVvgfyHheAD9ccRnNKIcESvdjhfOu3as2Reg9DzjudgyFdIQC2OP4aRZi7\r\nC8orRQOJ7sPMs37Z8olnSD7kBvlQ+0CASq2Aa3lfs7C4YXL5WelWDVfiFk1q\r\nOPK2BIFleyg4jjD78otvrgD1K4mVlretNf+5QsEaVJTucbYoxMsIxBeocRVV\r\nTO1K37SA84EGLK2ggGZj+cdY5u8k0+3yoyJLnaUBGFGyC02jZHYcykhgDm9c\r\nhi6UPGfM4lRxGt4Iw/Tcgy9RVmLWRnZbPzU=\r\n=2FyC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"957af104df8dbcced16e0d30b02db0cdb6c45cc1","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.7.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.4","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.0","@typescript-eslint/eslint-plugin":"^5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_8.0.1_1678363312027_0.5144043016330875","host":"s3://npm-registry-packages"}},"9.0.0":{"name":"layered-loader","version":"9.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@9.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"d187cbd526f257e7d3c4e03159bb01c0b5ea3fd7","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.0.0.tgz","fileCount":57,"integrity":"sha512-StH3g2bImIeG8kpUBzR63f8THnnadKYVEsyeCzvW6g3eojYTH44DP2E2Z+5GJRzc7hEeksyBhhnvpEDAc+CWJQ==","signatures":[{"sig":"MEUCIFvNj1hEx0nogUEHk8DwpgdZJhGmISaI7AwkoR5d0d8eAiEAh8GYzgEQ/FVA8RVUu/vo9ErLR4PQGl8c5QA+6z0HQ3g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67664,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCwwHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkTQ/+MCxw9czKy9ygyHcUHJQ4z+c46gJDNY1UoNpbrTGgfFhGi0na\r\ncsDcTBvEwlW5OROQ+O65UETX5RmvheDjZ+z/sfZFNfSC8jA8i9McGKHm5G1a\r\nVCmTvZqn+G5EYNdPWBdXZH6lkOuTMwtBq3WYfr0Gj7Z38yqpF15BtX/CdETg\r\nrzPmsIiHzwCOePu2QXYTOSvVuztsRWqVFfrwgTjIVN8I4SP5D7xS7H9etiGM\r\nxP7v1BsHkvBBIqLRt+/LKdkPFfZGzTlzLhZtydX7oHXPkwhrJBdAVmE1Hy1c\r\nBKOfqE51T24xOZUVtDBrfrB5UGSfDLxiqrG8IM+a/WV+Z6FYSBS9CJK0DIru\r\nD0WWBnzyAZ+SOk08ekkynH6UDwAHuSN1VYK0lJmDBc8hmZOSHmOPLixMeMg+\r\nlw95263/x7kbafuXoZ+Z4bGJesbCduA/VcZtKQpIvJKvFVfoSFVN6r5+4Snx\r\nnhkrNRF7//BTRHrw4+KDDJ1YBQirn4DDVH9ysHhepT1YS0IkRBts7iDOcii/\r\nYpOGto3LNRlcKZDJVqvf8LdLr6+f/25cptY9lvZnoD5dl+94MuaQLrzg7iim\r\nF2D6nAR0G+5WElGpTdWOSOnHK3EXtk2Va0AqTUHtl2ikz7ryBn7+QR1u+fPq\r\nM8S3Zuf7fOXpwfYuI77OOMGLc/RZppuMXr4=\r\n=/Kvd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"cdf77f7ef341b463409e7191dd8281a01eb887ba","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.7.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.15.0","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.7.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.1","@typescript-eslint/eslint-plugin":"^5.54.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.0.0_1678445575293_0.8948855008073329","host":"s3://npm-registry-packages"}},"9.1.0":{"name":"layered-loader","version":"9.1.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@9.1.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"14608ff8727a9e4a37e01c55192b035a865ef99e","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.1.0.tgz","fileCount":57,"integrity":"sha512-bEdsYmrx7xObFgOmniamcxQs7h3NPkylgYSKOZKhrPGDKuD9c/FGI4i2TFiImNY59kvhHfAV59NqHAK84CUS9w==","signatures":[{"sig":"MEUCIQDOAY0rgBSoP6fiW8PPUeEzqT23IUQPa3fLkwabFAP2wAIgK32n7AmgfmFJJ/TM1g+Ak0KS5/DbRT4i3nhcMhbFPC0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC1InACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrKjBAAmgZOAeT5mKOn1PhtWDX5hT7hClGGyGbgp71OGH5l5Lo3MUAq\r\nEsYAzXNny7WtPiwKbLEvPDzAy7FVqSEmmOU/ZlvGhYbnqr3UWLnZPwB3fe0S\r\nfiWhwv+mUh75SckJ/9ChjrXuFSh2i9YFEc04BeL7UiYpEG5XmOYtxPo+VuO4\r\na0m3aqBTPKF745N1gAy9nf+BCQHDgzQnLJyWsTjDfyg/+ejrYx7lGkwdIb09\r\nkzpbVE36zdK9i5WImMlBtjkPoPVala2ewzLjkoK0lI2uBMeDpXYipfEL7wVw\r\nNzfG8AE9+WqwwheWhHHrE8TYDyK75Zv6V/opH8nj2VSujdpZ/ssAEhc/ff10\r\n0yjJb4AXK57VxHLK05NLwP6FCUmA7NYZjUfypkQOqMT5pDXyUNJpw0lRI1LG\r\nO4fRuccPhjE+XoR01Z1xhDzUhBoXKBxQSHFB4wKY9HIsJRvoeXpgE7glq/l7\r\nOSpM9j2JbBjVK2rv53EqLO+7Xsbsvuwp2q5te9nMZSArkGjfBOfP/8lAauAv\r\nMLpc2l8kUVbHHltzXTH7kGIa2RzTllnsJgqI9BWLthqfKtZBoi6edHcdlF1L\r\nH4GNDJ20KvrdrkMuu8MFsQP8TxoZlEI811OfhCzQtt8vRAxFadhO5bZTdyWD\r\nXlYS+OA3fWcfWhNH3RUry+0Y5d9+AYDkSJM=\r\n=REyN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"e4672dae3c3f0a00dd69d16e97b37d8745a11307","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.7.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.15.0","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.7.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.1","@typescript-eslint/eslint-plugin":"^5.54.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.1.0_1678463527475_0.5178914877739775","host":"s3://npm-registry-packages"}},"9.1.1":{"name":"layered-loader","version":"9.1.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@9.1.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"54e43e3cb121c0450e62245312dc3b1d5146a1ae","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.1.1.tgz","fileCount":57,"integrity":"sha512-viJokG5H4QgXW6xVRR+Qt3WryW34KRNHCqzmVNurGGqFWDm/+4oc9fKtkfit1Llc9FL6ilJMegeXaVBfKHCU8g==","signatures":[{"sig":"MEUCIAz2Jrs3eVM3fmfnkG6kDscIGG7Vtf/qhsOj8f0d/L8FAiEAjUOAdg4yl6st133TBR9GelwrIms76srPswtRXVynDww=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC1xOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrI8g//REcybUD5SVocFOKa+tS263KGbuZ3f374i09N9s9Gueo3Lb6+\r\nAdm6VfYfXp8Haf+IYHS+LRAT8lcMXba+Cjqq9IyyLKsVWbs5L8GtqWWV4ojH\r\nZTOz6vK8sJC3wHMotsHflkw4WdCLNOJVfu83JeNCQqnHHqaVEik3h77TJURA\r\nZleTkygaRgRK4e3g9B3BTWTsGdperVJqaBTPcSByuyi9q/wupniZmZqtlIY9\r\nU957W3fTjo+y1FiFC52dEhWEOU88vwvoai3CAOhDxOoYAzYiJ0B5KFdQD/sl\r\nz08AE0z2DvA13jel/100yvbmhfVtqghP4PjFXSeCXYP5F+SHas0W8IgG4dHt\r\ncWDIGPKs4nxW+yZTQfJ0tZf9wpiUQXSHtE/gBB8glme3cjDsakZTS/p44V3j\r\nrJru4k6AC60mm9lCOPrwOfHzx1udZgdOfAah9ALRygjrT7s6fH32P1BS1Zxc\r\ngdhJEjn8nIDshZvlSBlj0slwpswhxC8A+PJ2GvT/qnzIAVl0fEyyLpLpdaW6\r\n9jXgVxqTgBXXhZG5N2AWAEe/tj0CdlWVvPw7RgJtuDE5ZzU7wFwM7tE1EyJE\r\na//gf290PpXUVlCtA8vrKTVjMsC+EDDIKDlz0pTJs2vvegzvMsK9/gQKYpDK\r\nY+NliZB+rTAhxPEP/MTow9ZTln4ufQ5PaqE=\r\n=uO6c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"dfede58e589b0f46bc4ac26c9c13b80e804eb1ca","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.7.0","dependencies":{"tiny-lru":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.15.0","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.7.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.1","@typescript-eslint/eslint-plugin":"^5.54.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.1.1_1678466126537_0.08637985580117857","host":"s3://npm-registry-packages"}},"9.2.0":{"name":"layered-loader","version":"9.2.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@9.2.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"a5378a038542dbeca2997540f1e619d37d579762","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.2.0.tgz","fileCount":57,"integrity":"sha512-oMaFGHT6F2LmbcJifngL1uUbDkxjTVhrEAbqr+8JLbUyqIGUA8ZA8Fz0P0Qvywa28RQigd6ZU2DfbJ63+gUnkQ==","signatures":[{"sig":"MEYCIQDmx5S2ZqxVDvtGmLyLD2oVFEx/Q/tybKhCzh8DKXGlcAIhANVD00iVpWV+H3bX/YFRXJuKJgg7tDAXLxlBF7G+VFQz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEI/aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqt0BAAg005XfShhcmKo2BIqSVx1BM3BGHuY5u2nc+E6pxF1HckilW4\r\nBa3r+tlfb23i/Z/i7eHv15WLId82sKGe4jhFpCiKY5aYtrHEL1BgXrvbKmwe\r\nR+ZIznMaS+ij2s3JFCQC6iGuZ3rhHb91HhmUxx4NiaXvkBzX1HIZ1Ua/n40M\r\nJN7UC4SKRjdO1CJ8VR0Lv7dFMqfG3DST/mdVsEoU2FaZ+fYOkeyI49h3upCU\r\nd/dj+qOOpDCMk/ybn7BaIz4nQgTpAi+251/BqWduiefNXnENw0y2eZ+IdIJt\r\nu5fU1FOgzcEOa5dgtBM/KQXzncD9VZOhU0Ahq2sLjgIKybty0fufWkGqMoJh\r\nlfRl8yQQLrs00or26+pN46MdDw2SmMIeEVWDjEtlCEsL+9t/wNRfjhpib79h\r\nBNUPQuCezkvOnbq+zu/MVXteFqf2XAHJRWj4riGpw47x34IFqRC/07z+Jeh4\r\nGFubMuudmy4q/hl4mzgTN1P/AJr5NASnAfriDgpGYHGNU/FvnvhtoHJ1a6O5\r\nFhxnC0Qt9B8DqqJLh5s+wdG9RZZircrs/hbmEve65cJ9qCIseNka1j+Kbu/n\r\nvDxSQAX5Z0R3ziTa4+Iuir7L3atbX1KbVjdgCmvOgujKX1l/yW/ji1xY8CET\r\nSfAEODFNLpj7/WzZQNkVGxafXHkAaAEzzp4=\r\n=t5GV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"6f80551440d539bf87fc466ea31539226465d006","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.15.0","dependencies":{"tiny-lru":"^10.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.35.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.4","typescript":"4.9.5","@types/jest":"^29.4.0","@types/node":"^18.15.0","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.7.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.54.1","@typescript-eslint/eslint-plugin":"^5.54.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.2.0_1678807002767_0.7882679682872176","host":"s3://npm-registry-packages"}},"9.2.1":{"name":"layered-loader","version":"9.2.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@9.2.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"9001bfcf1d5df57b6a98e320eebba6b9c759170e","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.2.1.tgz","fileCount":57,"integrity":"sha512-TnIAJIeUmb7Yvt2RPr5jgA1RIDrKnutjeoUIrNdUgK0WrgyDriwtHc5cO43ssBPHlZV0nkPBBTVJYhhvCf2y/g==","signatures":[{"sig":"MEUCIQDkPFOt4TRcPUY0KbGhL6IHJ/Lhw+TTitlixgRn0oB8pgIgcsbjVCX+BwxFbQ7ZW9rDLAThMUWe+G7lLXKcHV7m0SI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIyHwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrqRA//ZHD9YTSunPCzAdbTu6+VjHFem7aU+BRG3OE8FIUpCTm4QQNG\r\nMQKaoScI5etJ1qIiEcw+jhlK/28rn4sona+1SuRDwtKChEgq+n8fscONHt5f\r\nrqPzylwfq6KHhj5TNX2z0YsOtMFwF5GJ7v61yMj1F9pwv9LqvIPSy5bNVISt\r\n18Vc1Kgeo7j5wgZHRAF1dgoYT18xlSSWj8hpoVisAMTsZEBtPO20fOe4OGGj\r\nSJudvVvPJQNhQBnd8StyalNwtGyHX5ix67j0zeePJE/CfX4EIgmHei9Y/Gnp\r\nS+DxcbNJQN9k86VvdX1CLBxTLP6WaxhF7AGMeJpJYOqupQWEUU2rX4jMAC9y\r\nAa9GVPB0O05i+t7ADq4XoAccfX8VFLVtmxkGzuIGMOFBaV89UL1J3v7WArwu\r\nMP2s4tH/uGFo6FcDPSHner17KOFGTxO5UadQIFGojFhbt942kZutfWUsNkqS\r\nMjTL0kfQ2B1/Re9pzmuXwzhziB9L+XucfEXXygbxSbEGpQkvapOnBqd8SD4t\r\n6x/kJHRWsQ5ABisdmlF/KL/UHmm9zJhgFbzOCfI9A8J71CPEEOL7RRRXZGsh\r\nfaHVxeYentRYtdhGWvYXWVie8HuIv8MpO01gkFXxuA8GENgfqNhdbtKypzz4\r\nIqV4RUivckBb3g/R7lnWnnPXITqxMTfRrNY=\r\n=y3Pw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"1c71bded9843c6ca806fda01ef78165fc464ccde","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.12.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.5.0","dependencies":{"tiny-lru":"^10.3.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.36.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.7","typescript":"5.0.2","@types/jest":"^29.5.0","@types/node":"^18.15.10","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.2.1_1680024048535_0.4082212136828327","host":"s3://npm-registry-packages"}},"9.3.0":{"name":"layered-loader","version":"9.3.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@9.3.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"707fce36c629cf5efbc59dbeba9b8f830f5c7ac2","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.3.0.tgz","fileCount":57,"integrity":"sha512-CiE9beVxJqkrsV5ryGM8OuZzcfP8ziiIEtjEs3W3JK/rnj/pLapD07frj4cPIrtsTmYs4s9mietlumqx3jzkGw==","signatures":[{"sig":"MEYCIQChd8agiv1BTjSUxzcItptXrEDq0ljH3ABS7pDUAgS5sAIhAIiU1ZmUG56WkcT6la4wnMrJRNVvHXypHSCDD9t+q0PC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJKKpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpzNA//em1fpDqyXWktzTaXxRrFkvszds9lNuysDpU3AnbKFhMwolzq\r\nzuLojl7yaVpjacMGbjFcP//gkiEnmTH0pzKj7G0q3wcGspa4J+3HQ2j/9W+5\r\nbp+wwJwNSFSV/D6VHZmxy1UV5U99ZSrS2QfqWb2/LB8Q69/y/a7XAgK8R0kL\r\n/SoypNiwyEbTJ/N5N5nfOig7SvGhbOIW75u5FkhnBFJ9j/45z6M1T3zbtmwd\r\nv8oMw6iNkj8lph5FjjqjDY+Qw0tgVYYFmntcws7vZwGDujasRtcf6DmwDPO3\r\nDaVmC3ckXk34t+YtMMEFEC79C7toep9xa51ld5K4TYGLhUkkWB6i6Ulg4bC7\r\nRkKlwC9VeXJrb3yibrdM+YnFSttzzRr7sOjxcisG8TOeUtmS+TJ1ZDhpUuX2\r\n1O7jxHmE3w9+rAriZtmRd/KzOeuIRW07d5P34BT92H7qO4K1BAeRTfw0PQZ/\r\n/TtUtRUCpjBqIXWS1b3lr/sq2I9PNLSuYWq/ExMlxIgry90KjnwO2dzQHBcD\r\nV5ID8E/NExzWSHFuwQH++kyj6Q2tOLvTDf7m+NVSniea+ZCnvyP2qZWETTkF\r\njtpTAEfg50Zp4l8wUTT7AookLg0OCqHNf0UaQP4zMyTbpn4ZLEisxjeTzStT\r\nRIyBvNQCnJXWrkiPfb4aXYqB4wXdWxshWlY=\r\n=drQ5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"a3caa10dcbecd8d18b0aa531f5e8c6ed444708eb","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.12.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.5.0","dependencies":{"tiny-lru":"^10.3.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.36.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.7","typescript":"5.0.2","@types/jest":"^29.5.0","@types/node":"^18.15.10","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.3.0_1680122537564_0.9733195277299698","host":"s3://npm-registry-packages"}},"9.3.1":{"name":"layered-loader","version":"9.3.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@9.3.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"ee1f9c6f2ae2383d033002e0aa260b78ea4220f5","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.3.1.tgz","fileCount":57,"integrity":"sha512-DzzNqVZf/wkiFLkKOzNsIM6qHh3ahR61XvRthNUYcG0e6owTWW3fwm/9Tq4d1gbpsKJm3fAUQiIN0qCBZtHMCw==","signatures":[{"sig":"MEQCIGcKkNdrDuVC7JrWKTzC8otxpqrp2M/zt5HLqUMgaoSXAiB26VsqV9okziBm0SiUHIE8dOaNasnKIorubl/LPBI/4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78706,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJLQKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmryGBAAkkFXJjQ1tJMAIBNsTUHdGf/vzNbD/fUYRLT/ikAXtb7MH4QT\r\nw3l8MwzU4y+1zNGg/RRgjCkDseTL5+CKY+Z6y7Zjr6r/k3K6btWyc+uKM3hD\r\n7bS3HwjPaPmmi1pHvii5WugCLuTgepdFGXydqwTUndnllB3FxCx5Wu9zzBGj\r\nzbkUb3hycIRlp4ycU6Ybr5xhz/1aYjcEFBY8bYL/lTwYBVnV+jkVbtmKpjz6\r\nqQotF1gYfcM7p8BguUkOepL9TigE9myTqIZMi1GZBROC5MKRJ+/mqymRDYoJ\r\nYrXf94aJa3QNp8ktmvTX3iE2UJH4Z4jKlh2/qLw5X38FP1ZKECVk+epsCYyD\r\njHKKqxghvDEpblQGEVV2+qGPhkm/+RDNYnoDnX0M47Io8EiKwYZJ1EPZd80X\r\nO3GLFdykZDs4hOZuxVspO8TGXriP8WyJLEXTES7ziOI2rhTV9juop99XQRMY\r\nPQOGzNTTzf7nCC3lZDOaz0dpDV64UECx3tZg2nARvtapL20vRw3cGy3Wgbbv\r\nVmu6DfaE40WfGc/RizopSfzVqshGU3T4FZ2Pfc4k8yzdHZ4pO017OK4N8seV\r\nWZR+SFLK1WpdOqJO684krSpZRV1qllVCc/tcSDpkKbQiZIk8IGY15Z8KnoFi\r\nMo8vOZGzsr9klBDfto7Fz5dSlTXL81ghiuA=\r\n=KWHF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"970d2c29e82c6975c17644bcf5134c4d59428292","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.12.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.5.0","dependencies":{"tiny-lru":"^10.3.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.36.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.7","typescript":"5.0.2","@types/jest":"^29.5.0","@types/node":"^18.15.10","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.3.1_1680126986680_0.0027906924601452943","host":"s3://npm-registry-packages"}},"9.3.2":{"name":"layered-loader","version":"9.3.2","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@9.3.2","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"f236d085face3c83fa68a14b4f14adc3739f6767","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.3.2.tgz","fileCount":57,"integrity":"sha512-I85CCia+en04/fgj0xjviPu/CeB1S9lDbGCoFx8ibvoDVXv0yd6RA8hfvkCZ7WJqmuFgI0gSjv9gATWpYKhT8g==","signatures":[{"sig":"MEQCIEGSnOdXEdhqG+8RVO81QpRgkWsdhhaJnPM8p+gmJqvlAiA64Kv8blBNlcCNcbQlpCQoX3+aYMMM9PFEgXGZxE3qAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJYuBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmphQBAAhICFCsD4A7+9IEYCPcs+UkA937XFOy75VvTriq0se5kS8LzN\r\nTSnxfj2wGiqeYM24D9y+s0RsVvfyzvl9/3L6ECC5bmyKPWVz1JGuCmkqqVmE\r\nu1SZ2E+cOw79A9rh4il9xj35MfPxjqaIVonNmEGyXELUXPUEXW129TC/uUU3\r\nB3aDcO5jmBATTIN2nSbV2GzqI2CnbDZTnClijXmJGE7l1cI3/eKIrzqS+NUa\r\nPac+CRhdsOA6XLXmUMgLaWTfiYkQ68/YOjK8fGPdoV9RJBcCSDlSg4p/oiTj\r\nwbvQrvIWQewduiXddb4o1hIc1Y1rHz+f2OoUpVlPZg4SjFcPCpZMJA7tJy2E\r\nplnIOTmmy7mredd9VkPkQ6fN9Dre6IQiObOQVSp49kMAA5Z4K+c1Xn9F5zla\r\nvvh2ou5Mwv/npvYdimMhTjU3ex5+vOs+v45GygiZJ+6MdyhjUSoWzUKD5LY+\r\naesD4rsF92mUT+Q6aXj4lS81aXUIraJHC0QjYOFgRll/sju2xk2LcsXM/uIx\r\nnRu9i+kKZxlaydXV6h1pg85I10dmDPjjQUHnUiAP40U6Lr/SIJgqXo4E6IBf\r\n2UGnd8NlixNzAtToy77OJzVWWrW8bpj82+9aBjuEHrtskqCByxFAXjBJoUuK\r\n4PqBp5RINVgsLD7KcQT6htU5wenl4C4nEPg=\r\n=sE4f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"5c2667caa81d557ae747653ba5b1583c1a7e7d73","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.12.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.5.0","dependencies":{"tiny-lru":"^10.3.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.36.0","ioredis":"^5.3.1","ts-jest":"29.0.5","prettier":"^2.8.7","typescript":"5.0.2","@types/jest":"^29.5.0","@types/node":"^18.15.10","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.3.2_1680182145461_0.27066472253565643","host":"s3://npm-registry-packages"}},"9.3.3-next1":{"name":"layered-loader","version":"9.3.3-next1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@9.3.3-next1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"0bf62e80e5e2c03e968edbd52985fc0b031162e8","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.3.3-next1.tgz","fileCount":57,"integrity":"sha512-aTBIPDuP/t1EOIPHR2oJ/hqodeEZ5YsAXaoaOhwoDZwhCOIKH3hz/eXBj+cpP5E2wI0DiS7irhzE5KcNDt5aDA==","signatures":[{"sig":"MEYCIQCFG9bTzR8vFEARoci8JfSiR97z4iM47fETxPOTIybRQAIhAPUKl4Srd1GcMdrIMg2ZZsb2rUS1tobITRmEsxEisZbA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMBrJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUkA/9F1qtN+Apcc9HQemticw9kXFPJkNoz9sgrVxKGrSRxZxjImD6\r\nAL91xFIt5e4cuVa6d0vt9R6cALipjxIg8ssdtuKsOx51jFuJ59NIu9/mnYUj\r\nHt49q82eeFariE5v+HAALOhKy1tlVBFxEXmDzX0vpRYv15BHWbYfpJ5QPuIi\r\nQ8sX76UQfeK0Sy7bLI36CRjog5n7DHJfiBzD78GbmG+GEohQGGKd/vncsc2+\r\n+7NmUNE3i2l4V6evZ+6KpuVl1Z5T2/Lg/hWml1VCVQ3a5Pc2ZW8bRjfdVvPw\r\n8okn71setS2O8fGYf75RHBFT7DFDRV9TrYVTAuZE+fclZcBSPhKWZG/BZwY7\r\nUs6c9weP3NxGJIqJRfwxMhTn/stAMjEy6aZCaH8lkEtiA1WDC1JaJs1GwZ7h\r\nSTGhNxe8j4VDyaCOLH6EYaIkJMPBgtLfgRgJgPLBF3bSE0njrkPVrL8Ptw9x\r\nSkNZuxz5yj9HSK9LRj/dbR2mK/La4lLuDGTl1ZoQNgLjJc0IoBYevDv2yIgl\r\nCjy1E/wyGqTAHFipmyWJH21b5FelFPgsgmsO7LnN5oYv+pXhO3XpsIl198xY\r\nQlkE6am9Zq9qYTnBkFPlWoiC+fXM4cdB6V+uYzMcyXq9V/YO7rXP8U9/NEJQ\r\nayCMGX8fA6IXtCKoFzKtg3PXzD1RTRBIbZs=\r\n=qQBW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"f769248afab6f7c3f33fb8b05717aaa62dfb7d3c","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.3.3-next1_1680874185529_0.6701533320852451","host":"s3://npm-registry-packages"}},"9.3.3-next2":{"name":"layered-loader","version":"9.3.3-next2","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory"],"license":"MIT","_id":"layered-loader@9.3.3-next2","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"dbcd5cc28dd60cff2defa84c07d753a5d5d02cf3","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.3.3-next2.tgz","fileCount":57,"integrity":"sha512-MMsfctxHbLLdXCITz93Zip1E5n6U7hfmdtQpLFjKJ7VM+4zMFt3HMzBVKG/HgYYncrDTXVRNPF1elGtWkU5C6A==","signatures":[{"sig":"MEUCIQCgqNo9iIOFDJlycTfwqPAvY/m3IOJqYVN6974aResYtQIgMVAhAekQUz6LA4tTgOal3MpW1wOXN9ffvYmaR07z9hc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMB3/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYFg//ae9wOM7yt8E22nGnCydG6n3t+S+uW5BT0Et92hqCxUO37fYo\r\nm3ZRnxGjHZbdyeQ4EKPrekMJIJj64ooRpbCqpmAk5mzrx/m6YaEmzwlqdCkV\r\najFsZRpjhXkBZhKq49pAcIgLzGWmjVJ+EjmwJAKAikdz9Qyj4G9tD2npD5R4\r\ncxEvIihaGtwxyxt+wVMCNscN69m00yzIC4+/FzpbeokYyB61+qMwbLSt6rDI\r\nDtpZuDVS2CZ2WFhTJ5BTTYHetvIYSz7XR11SdpNITkPtNNOiNR/edxohQ4/J\r\nt1ij599ismcJairgGpWrD52e5cvNnPDPq2nPaBwYkAcpJJqrV416hF8T+k9B\r\nGlj49Mb7udwRybtt/XGTGAeFTpgsw/18sU2Gpd242L9v0iB3JavGcBVWBcv3\r\nTOARrO7cLoQgbH6ZxvNXmgLKcMClyyrJ/A6DGW3VtYJEmQvb5pdTy26MX3f4\r\n2YjGyzuOn62SCpu6XtisQYMLTdJE+sa/hRDnH0CKetp7mRm9nuC//cK62qup\r\n/sPALppZaHvj22gkN5s8eNU2R/Z7ybMOpkkURYOJfb7kmPshfK7sJuxfqwxv\r\nt7kjGSOnEAfO0H9QKdJBMC5ccqJ5b9ISgGfuMDtrdMTDvMWPLgrUKj39A6df\r\nV/Pa9h+P1BBjbC+1Jrk5mJFI8gQJXynM5xo=\r\n=YRAT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"f769248afab6f7c3f33fb8b05717aaa62dfb7d3c","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.3.3-next2_1680875007237_0.933153106830436","host":"s3://npm-registry-packages"}},"9.4.0":{"name":"layered-loader","version":"9.4.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.4.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"8bdebc3fd29fec74723cadd8c7d332efeb6bd426","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.4.0.tgz","fileCount":57,"integrity":"sha512-ukMFqN9FeIPXQZvaO5w+n0tU56JUcwq0bt+pjLfxzW1mtD268hEtZrLZMvTsenQ/js9kQewAvARUJJBIiDrhKQ==","signatures":[{"sig":"MEUCICeXgo3hEpzNsYp2EMkoBp2QBG8sVkIX6+Pt9vg17coyAiEAvfUGGb8SRe6SjSxs8dph7tTQyHd33zOwhk6SESJA79E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMCPHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrkUQ/+P0407NbIPzwghfZKhBhcpBeWh/fiyF+QJZxmy17YB9GSVR2M\r\nQPobuABq2W3MmTUiufAStmlcaq9WQMZgwh7VwEq3TsKo/6scrHJ3O7QOQZIz\r\nbeKDMMJOLylMG3XDqQWaLx2lajFgpLVBYBcYxQa/KlcMJWRpofwa/iKfa4Pl\r\nslUooXztmO3RLnR7y0nGGhDQX2veHpp1vzgJMEtADbjYYGwObFW2CjhTJVqu\r\nnaSR1G2lNWOWYVaHMJovuti/GY79o7jN2+YtSh9ItHMVBLc+HNi7Y4cYlXCF\r\n7JmSWhhEpuFOAXPsG9JwX4eVgGTp8TfaYAceFRBAx++nyqgL9X+YI3NwFVyc\r\nWJr9lRA7V1F48kCKsrUsJkKpthhWVydBelCiIVIfdRTU4jlPv4+o0YaYS6tF\r\nOVmJrmkYpltyjpEOgBag2BFR+X413wZXShGuOd1wib73NAZPdQwYYbMSd91S\r\ntSQTH93MbHZqDZnF+zpzPJ02CpYSIGUgweXS35ZzqB8KSvhwzcQj+Bjix/v0\r\nHAKG+rqHGTGtRpGxLGTDvDMBRghyDlODN4PHr7ajirFzHFjMQBjU89+UyobD\r\n36mvxfBYNDlX+8t6SDFMYbSnzBptcxQA9BuCJOVCQSChUn5SjrMXzUF9ZbPh\r\n/iA9lOgiPF3YMloshiKc8lA7wSdrKenSiMo=\r\n=F1oj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"d2b85ee416038866fdce5ae01ab29178c2ad3e47","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.4.0_1680876487546_0.852602115345406","host":"s3://npm-registry-packages"}},"9.4.0-next1":{"name":"layered-loader","version":"9.4.0-next1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.4.0-next1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"4440e5a1173657c3982439dfa6dcae8c09340e7e","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.4.0-next1.tgz","fileCount":57,"integrity":"sha512-G/O2ugF/8jS+biJv/NFP3+28ZHzeDaJ/WVG608Oli966V0NG3EeOcmg2DQ6cGBkhNaugL6pH4XSoKtBOtYH0ng==","signatures":[{"sig":"MEQCIESQ3ruy3f3txUZpgQ4JyJTOvVwSJH6an8Z0N1PEzUHaAiBk1utXntaHCJzxfxQMp8Ku5R+1qJinf09cjvGXCAPizg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMVpeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpsehAAhnSs1g7i984uLmRiPlsHhECVtE2LKMpPMjP8x5GzJ2YbOSxn\r\nac9Eb9/5jw0InwkoCxLcAvHy2Gagj5JqQ+mQnwNOyaR5pAhdp5ay6SZ/8ySz\r\n6LmcJmKcMwMeik2pbcEiEDwR74iFCC/HRyqw45qyw4gJt6axkJWaLCXjsopi\r\nffZVvCQfwGASu6MvTqg93KryLMkxX1svmRXOG8aS7mPKJAfX2s5ydQs6qViE\r\np74J+iiPTkXn9ssQ2l2Nv7d2626AQPUGa1Z32nsAltpP2u02RYSqAjfJ32Xd\r\nklUcebUlmmdI+Y1JrT3Sqm3EkNvEkbjWK4Q+xPihDNUx+bdRwH3UKsjYX3KA\r\nFMGJLDiCL1te1Xf4rPp7eiKDCXjAcA9CNdBZ/jRUonqBMsToEfFkUXI3SOrJ\r\nFOOuieXYSQzhY3piz1gyIyTOyajZIBiV1295gECcPIYvmXSDfvjLyVZWGs8c\r\n1s6cha6vLHomj1/TlCc+ub31KUoj19Q1BmECwn/dfB2gJ0lV1mq/yu14aaUt\r\nMEDuk1nqIlT0JRUzgkr2i2ED5/4T/XeRwncWh8fUfyRr52mOHdjIKnHDGn1z\r\nbLMQdSRPQJJWj/Xen8ZqfkqupQLIFlzKzMhgdvnqsgXLglmTDGzDMkbutsWP\r\niPglpkAS+mmBIvAsrd7Kjun1A9sNdFzrH34=\r\n=ZDkR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"d2b85ee416038866fdce5ae01ab29178c2ad3e47","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"1.1.0-next1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.4.0-next1_1680955998547_0.04711680736094359","host":"s3://npm-registry-packages"}},"9.4.0-next2":{"name":"layered-loader","version":"9.4.0-next2","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.4.0-next2","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"5f36bb020deadd8d067e8d911266f2f44b4d5394","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.4.0-next2.tgz","fileCount":57,"integrity":"sha512-Mu+EED+JfWO8HkTyLOQO0u3W46+zF7ytkHhibWAiUWdHzJjwXFDd3hyUikStD1+qRkCldpJLWuapKJgMFj3FbQ==","signatures":[{"sig":"MEUCIFevVEfiyiqxuaPL3+2kE+hc53YPxKv7zdiVKyIsZRBAAiEA2IECU0VgJkrmCAsIA2p7UYkU5Q+W9hlZI/M1zYX0KvM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMVuXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmryww//VxL+GeBkHDnLrHchddWTAsFAuUCJkf0G5WO6kbQrLDnYtrYf\r\ndsFKQ0A7+9pJYpwB5U3knyjy0INquAZy4EAkzMNqXJsTo217lJDjVJgGrt0v\r\n2ORVm8x8p+jsqvrHNoT18eVz3JdVM7AOzsPKyetIRnVgCZsrvQZiNeZNDSNg\r\nrWiwESDGZj6GQyfJ8KJtr6OpmMxJk6DlqhlD4jrHi5LzSp6oWXzb1pMpJqo1\r\n8hsS/dMMcJejk2OjzfLWG8ZEppUQF6fr2ykvrWbDJ7wF8eoBcIWCZ3CmGYPS\r\nQmeRP4SUE3RsGX3RXKwXGq302CHw7hY/zwvDCz0ijr9Z0a9vEzGKUgw7o8lp\r\njmaQPPn0bqTjuOeORWn7fu6kfnyqRoVkeEAHhv0uQ8QMhNpgaIGlnaGKs7fI\r\nYb/OMi6QstJ+8AqYHpr7BIH+ysEBDhcIaG9JVRy6nVyTyQYZX+mtvjXF/b6l\r\nKN3hjceto5TuhkAXPxEB/vq19YEMpHxZx48S8+9R/+GZPLMl0AFlB+P1rn3t\r\n7r7pT7IjiOZ0kji8Zrs279mFtqUKXtpTKuakK0LRqTohrBJ8YqRePHTcw+wu\r\nHdxXghGZEnvwZBiaxpC/XX5JZLmM3z7PvNpdRjYXB7zy8Bv40QX30gfxl03y\r\nWtJNvLZqmoaYlqjtmI2AHVxrAjh+LG56FLQ=\r\n=GagT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"d2b85ee416038866fdce5ae01ab29178c2ad3e47","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"1.1.0-next1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.4.0-next2_1680956311160_0.10475620218407844","host":"s3://npm-registry-packages"}},"9.4.0-next3":{"name":"layered-loader","version":"9.4.0-next3","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.4.0-next3","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"24d7f874d0a64890d3a8d08e10dd381cb3dd7b7f","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.4.0-next3.tgz","fileCount":57,"integrity":"sha512-NqH+Ho8cCvVFuFTnCNQjIvqmvWpMhCZ+piD7BKgd31t4LWI6z3+HQ7Qb1XO8QB++g4fswF+eUGM2+qHgYZhHdg==","signatures":[{"sig":"MEUCID28Zv58aQ7TK+FJPMwz/eOEvvICUrm+68yyLEUWIJ6/AiEAwIMXbgDlbaSU9Vi8KFs2Ty5W+zL42mZqWYCNP+k4Tgk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMWzVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZghAAl3keiSVBDqHAsq2DYrCpjcu9zt7R0i2bpIGQhcO84gVqm2I9\r\nD/oea2L5Sd8A9KtTRUzsKX/2WkiKnHvsEUrOwk7zh9cjy9fwO+brHB6JxysT\r\nvAo5FTXYsTD6LS8BePtFhDNaZrGiwn86w4LFD69z1cceIKUcUNQLuQthDj4D\r\np/WWgXC+rUOoEd0KRS4vCsDWOaifxgQHcWfu1Gz3VInZWjMw2TUlU9eV2jUC\r\nHwYJz4hgLmA9ujPhLO+igWyibaP12X/31Bs7i20NE6pxA6ZSANuw9VLQnaOT\r\nNowehf0H/db7qwriIL9id/CH38VY3PEvr/uEuc/db50MEoa+/gE4gmWuI5sK\r\nlcT9CDtEaaKEvBCj7Qr6v0fOexHplsaqrtr+7JzWekepMUDpXaPVkyL6kbQM\r\nLokYJ9h9dMYGE0NB+dkxoRrMgTkzhEaL3kyAwem2utpWxzxkSEgFOpeciFqm\r\n9vyy6o1JgkvoJD8oqUcEvnIK8QHXSjDziLlo0DNEjO8pMslUHxfCFjX4LRIi\r\nNetD5RSf+Ag1DfmGfvhugjwZlmazxPnd2egODWOcCZiFCAR58ushmdFncJ80\r\nGRR9G1Mm9go19hSstLZdRKH/mpOVPkIr0/95AAh8B6qQEaAtIP2iL5mTWt9X\r\nJmLkfJZUu3aGZYU2Svc5dsxd9mPpsbGTZBQ=\r\n=jAlD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"a55ac7f9a40d60bed2d792868324f3f6b8525470","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.15.0","dependencies":{"toad-cache":"1.1.0-next1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.4.0-next3_1680960725209_0.7030128500990351","host":"s3://npm-registry-packages"}},"9.4.0-next4":{"name":"layered-loader","version":"9.4.0-next4","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.4.0-next4","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"640662357b2858f8d7ad8ff0695d0c5e205d01df","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.4.0-next4.tgz","fileCount":57,"integrity":"sha512-R+QxlD3EzWaiY2Ae6bZfFdPVtK9/TU9LhoLl3VNiDQO26Izxjip6vVW9WbA2l90W3aJcC9UtWIept8ElrngzQg==","signatures":[{"sig":"MEQCIC82+f22pQIdKxP8f20nwknEQBLmONNY0UH7rsHxV30+AiBARDUtNxKcUHULpK2ZEmqtgYIijdIVZWqwblSBzvYHRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMW1wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7OhAAgKxzB1ufffBBwiC+1+LNfiEKmPQTe+BmUOr4PvD4klrUsoUB\r\nssfGjWyt1hpLqbzxz0LklgnSeHMhcjcCGmShT1hcKYw8lgwJJY4Jtijjc7Ah\r\n9TuN356HlbGzTq4Do83E24xtVAXezMSCW2IR2ChUM5rXwrIDX+Ocs15r31+1\r\nU1puxPgSuwu+9DvfKuY3WcVm6WQVu5t/qsPPMpbzg5dlvzWxOEjrNlhPWOiI\r\nbtfs6qJ8U9YiHOnZT933Ul6S7GR8fr9CAxHvUyBwG/azj+3FOTM4ebvFyv3E\r\nahi8RvECnWzhfJSPgJ7uYVwyU0QsMIpr0LomRFFhKaiyAYuWNqTeQ9yymr/x\r\nS7XgMOeRVXpZyeTy1nqRtPakD6uNy77TpFiBd1HYqRR+aOQa3yEeV4FvJUUE\r\nxTcJGmLlTtEevglYn2y+HxoWmYThqiryMahA15g97Kws9YHeT0e01nBgrS6l\r\nQXAd7ftRPXnwwoeoEO7C7fY8krGcSpSocCGO52/2ZDmZFE3tZEwdDJPn5YAU\r\nc7Xrbgp/dzW3hXIKxAAa/O8IvS1lRtMCa/XNqk/ZWtulvU36DvSG242EF7lU\r\n0FMX1CsexSc7B342ux9eaI3PAUtUxLuxgfggxl+EI7n7NgsTF+ySNKMWsdqB\r\nnb2m+VXemkQnsjkI33ag9N2T80PEVkcQl5o=\r\n=0b36\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"a55ac7f9a40d60bed2d792868324f3f6b8525470","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.15.0","dependencies":{"toad-cache":"1.1.0-next2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.4.0-next4_1680960879874_0.5376223997587919","host":"s3://npm-registry-packages"}},"9.4.0-next5":{"name":"layered-loader","version":"9.4.0-next5","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.4.0-next5","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"4bc701a5186d21b1c98936f82c3d40d08d4c52d0","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.4.0-next5.tgz","fileCount":57,"integrity":"sha512-dn2IS3rbjXfM35kJHZRXJPn4ssx6P5EiyH4iGGNX00GBADiWVYJqukSX5DPrx9SIza/5lVNTjizsZBlFDndm3g==","signatures":[{"sig":"MEUCIQCdvQH+XGg9IfGvv7NY6KzyeXBIv7DoP65cznVztUoegwIgUl4pN7jPvIYeYjOqufNpIL8+rizGLTdQthIVnj3UlCw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMXEZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpYg/6As60bay2Az3NlOcztIrvrfHN/w/D/zbnDrOUdFD7Gl3FdSYX\r\nq4+EDfsWUHD1j2j0XQu5w89r64QN7dmrn1rudLTkO7Qi2+ppG/SpKp6Z6JA/\r\nZJKCl1SzNDfNfMB7RobMDqdeYaMsKd72jPg3Rh11fGxqEQe7hMrUdr/btnIj\r\nPlEB+bMwq6Gkw/GlzrIG0JfvC9UukmHarmTcQ5dHnTaqXH3mqmPhHTmmIwyr\r\nTvEjwpnnQyrhj+bVRD7fvpOupBY9yjj4NZT83iH0cKGr7h7ILiDeYmnxeCO7\r\nrtW79Nhzsr0i5/ddk8wFzqswIwmu76wqqg6LT+vz0pfPZjtsnYyeP+OU/vY9\r\nbQ1kjNN3ROKPjULEYFcpQ6DNTSqa5D9nmXO7Co/UYXq2Nygkhk76d0tUQLlP\r\nyNmvnGi9N919yxIXNDzR5vMU2tx4jX2K0o1ZlkhX9yAHVDiDyqZDBbg46CFV\r\nqHOfJbALKS1j31AW3p4JMTI83BX6K913U6PVTX/xAGuTn7xr8H6bvu9pVDRj\r\nIC4AwH6HFzbRtDGFPhzMNy1C1ic57WHZIYCF2vFZsqC01lqAzJJN7CSv3Q4F\r\n68VNIF20zVg/98LHCoW12toRBaFF/XSzURS/WLLpbgdhlJZZS/wySrfj6pl5\r\nSyILmGJh3NqoV6fqL1R0vCugIl0t4nW9Ucw=\r\n=1Lvn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"a55ac7f9a40d60bed2d792868324f3f6b8525470","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"2.0.0-next2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.4.0-next5_1680961817608_0.29826069530699506","host":"s3://npm-registry-packages"}},"9.5.0":{"name":"layered-loader","version":"9.5.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.5.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"0b19d043996351257e102d7ae7896fdb7414c62f","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.5.0.tgz","fileCount":57,"integrity":"sha512-AU4/yWrQF0HlN2dYAEU9nwO5r6yqtZfApDhuHkkQnU4OQ9l/YVhdPn0V2BA9oZFcgKV3itYG1qzwcHammhTfXA==","signatures":[{"sig":"MEQCIAPztBc9l47BFDP+dpctPs7s9HWYB2HLK0QPqC9dVAsSAiBHB2mCT6iRz5O5EDnjySL5Glols5MTQfOB7l1M8EvDZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83878,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMXrXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoOnRAAl3LY8KNhFHh8A/5XcDZ8/Xz7N8fcEkTzaTOwyuR9u+0FTBNO\r\nEpc+aZ3kiddBTy1dTN5X8dnjnArJv8IrcOL43qgC93QnIeLq0mNehQdVUe15\r\nl5q3WOkHc3bTjhKLdn+oQv8hhPMOo/eiBE/fl7Mz20YJ3o2jmOrc+DYfMhgM\r\nQHEbkwG8GES2DP4h8cKD/8KifZmZzJ/reyaYKdhQxc1Vs71SVzkhbhPu6xpA\r\n/+PL9ctLZCQl1Bm6ZMxbWVM6Vq9JP+U5ZXfxg4sZnXblDdo5K4QAR1IYlcgI\r\n9xYUdbu14s5Cg+pXmhc6VahdUtu6JZO1ZPQSGYOVvCTBWymIjsQavVM2hC1D\r\nvndNfF3krNJEWmU8tUPdEWRgPB6ANQhW5QaQmsabOqfSyEKeR5nO7Fvw19AH\r\nmk1Du0jLoieO9CvHGWmUE5b1tMWf2KnwgOPEDuFSBmhjj5/cAGLkLNAn95PR\r\n9Vj65atPPaQBLIDOLwwuFm279PYV3AnqD+AgNzWFzen5PrdQQe8KkYD3E67k\r\n7AZuCbIoGLlTteBKbV0lSw5PyOlCgqjqcDNBmM8db4hCluEMYkF7B2exJqvG\r\nKv+FalKuVYfXiJ6LJFy2AW6MtmgdbffiSaVTqdmti7DOvY9REtdaMfvXPT4b\r\nL5PDC9DWTNPqkqA76mCVK/DB+9kP9Iv7PrI=\r\n=dX5Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"a37ed891f20af6fc2058e2b6b3fe0a3e83eab556","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.5.0_1680964311283_0.43616625843241663","host":"s3://npm-registry-packages"}},"9.5.1":{"name":"layered-loader","version":"9.5.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.5.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"2fad11114cfee55ec881574e407737dc06cb9d2c","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.5.1.tgz","fileCount":57,"integrity":"sha512-0ieWmkcs+P/oYEmEATOOiGvn494xHV5df/2rhrhTNskR6G0d4bIMXE6xCvEQFUcVjAtWHhY4fxLdyttauoY3Ig==","signatures":[{"sig":"MEUCIQDwBcqrkwJ+P2LA1Vxvd4aY4+HyYWqtUbsgy1f3lppJmwIgCUOk8en50/IlUUkZqI/lTHX3vtfaJRseOG91sytm9Ak=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMYFIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqvdg/+NCZytUSvBJ9DQLhF3UaS9K0kXwMApj3gryJBJMfy6WYWTuc9\r\nVF9fs/9FA/ClUftsu7OszkmJpT0QG0vGl/K4DP2qnIsULCFjoYrUrqQK1xsS\r\nyr4iFO8VD2Lzv/23UKWsQlJSgmQXEaMnpZ3e9JRtWyXpJZZ0Blk6/rl9CGzd\r\nH/cCP9oJjHLBX6M6bWrLDfoZTyKNlS7eADmvOpl3T4HgFTDyV5Q/HbvNxmFH\r\nzUqoGxE1cTbRCcVXpDs3tji31eruMjjW50/OziNt9nl3wE8Vg5kOzXqAf1M6\r\nM84/6YLH64BqE0Aq6zNhFLeF/Oev7qkOb6Kpy5bqB49Zzt8nw77NKkLGBSi9\r\nxtfj9njqMFhIDnReUmyCCCw9oVIww1QeT6qFjN7OyUinw9VvNnAVO2Zel5oD\r\nMrNh0eQEwMG6s7BAVXEOBwVopCXudOqY0GJzOHCfFWt9MzlGNBjAJsKFJG4R\r\n8RmRgIdFGFdUXfaDZFHlpVepCHp2o4K5D7WcHzrITV2rYx+xStaUpiRrUyma\r\nRHOWZzaON417CVYlWbuKkzW+udctd6kAXY9VM8orQeyzf9MYdKH656KV7R9H\r\nhy6oX5dx3f6dE8HzDIkrpmExBjFicozvK2eKIkCLBwc9LwANs/Zo1sWMulxA\r\nbMLJT/ON/OjDaImxCGOKLkA0LNZqmtNfKR4=\r\n=fqjw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"b0de03d1ac9fc493aac79ca53d5e58c272bcd507","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.5.1_1680965960540_0.7211894796469838","host":"s3://npm-registry-packages"}},"9.6.0-next1":{"name":"layered-loader","version":"9.6.0-next1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.6.0-next1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"57bc5dbb753c913e35003aa6665efb7aba7f8086","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.6.0-next1.tgz","fileCount":63,"integrity":"sha512-UEJcehKVzzuXZVMPRKaau76DiEQv9ahkUo4RanuMjFaA9u2YWn1cNRx3NKOZlZfLU8VPCYqBDVHOzZPuOpUGuQ==","signatures":[{"sig":"MEUCIQDn227fcrnxwxZ+82Le/4MIch6Drxwzx0n//ZkNn8XVCQIgWcOMD/VapaOTKG0ZI2eDdl/tk0OBjyE0x/OZMHK5Y2k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMdh7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7JA/+O0S27DRu2Z8iluW/M1mKttUKL7psueHpfA+6XgGBdATBlMNL\r\nurEFVlgkjbmQzjZOQ5D8R+j9ifco8GVogn7552C849T1jXwlgJ4DKKaWft0Z\r\nIkXNNS6sHeJ8o7boNguiDm42Key+OHnmPfxKY32zAyiVNBgfHCArnTw0gJiL\r\nE/UeAKGPTyQhS2rt5NADg7lftGYPPQu1gfL2WLRDwvXMLYWhX2RM8PikR87c\r\nLJi+UFJOjt3EFPOVkstE3siZhb2/axChYVDB11VRNgnooluWw1Qn17DXJk04\r\n4T3cSgm1w1sxsyaY1ICJUn5O29x6Jf1mUwipqYjmUMWrFdaLMk0HYDIu2t1m\r\nh6e2nHL+WZ9aDRckYeq9Td5S+5pOsl1Nl/zcYNDfbtrBl9BVLVT0awjr77KW\r\naFWK7M9jKrVnyc8P16vN4mFi4teThSe4UedzBXr4oOeRAxUvnti6lxREM37P\r\n3rkaFLAiEPdIbbQbUNTeKyfXSrEhc/6tZkbCHcVDkkjYo/eMgjDjPXb5JwTT\r\no9gIirKFvjBmpcbOAbrU11ksIf/LVVQTKMYN6U2oFIW4EXLdN6zc2JFseOij\r\nO+ljfic+rPXFHKWsWrYij3hNojBz8H88tNHkFgenC8SQnj8FX9l66ygY+6Zm\r\n5LHB0rtP/8fML0rwVLDUeVswOt/46XL6fBo=\r\n=WJz8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"ad876a9e9d5fd0e7087dd030384f8b80fb70b37b","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"^2.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.6.0-next1_1680988283428_0.841439213545838","host":"s3://npm-registry-packages"}},"9.6.0":{"name":"layered-loader","version":"9.6.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.6.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"c62690de9cf699523ec52c95014a947a36798c3b","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.6.0.tgz","fileCount":63,"integrity":"sha512-KEH8hYec8v6GLPBuJNRKJc6RyFrvxu6GMuvALUj3VjYng25gvKrDltoDYDoWPsFw0ZDPUTt3TBJOUDhRhSYGmw==","signatures":[{"sig":"MEUCIEnZmJD/eJMJW3LkTUndnJ7zoL79QcM3HgO3bRwwta+OAiEAgSV+sP6Cx0Ta9AfC0W6vEEEflu+dipDvvV+Jo0SHSa4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMd9LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmozbw/6AjNkXiSBZTqf+tSHJvDcp9Mf4sa7b9jMFRMU2Lwhx1ybcidS\r\n4BKrvQSC0wW6m1J296kIJxfQiE6l1Pjl28Y6Gq7dGsN1rcS/wVYU2mqYSEAX\r\nvc00LJE+Ib9mOxvryHR2YPspCL22X2JE1DnE/HIkNj+sbRWvhwrGmq7f3qzi\r\nw3Taa+5lSG76GWErfG7Kau67jiByJxovDVlrgCE4PAH/XK0JbGnlx9kpO9iM\r\n5hyfo6pZHNpJAvmsu84LG7ZgSQyQGIVACIuxnvEeh+x7fUOFKVIHrMKQ0h55\r\n8Z8koMnD8C6E/ZxjxCE6jBhY3hHquW4hWssLyAY3mWSuKnGeNavjTR9OlPCa\r\nLb1IxqbqXyUdqQQ8ikOjHNJ5flvcbCAE8OzBER5NuduBkiUGjItNROv/3FAx\r\ngoyCWbuGBuJ2jzTquFVc2/HWQ9QgRXUzJhYw2U4kVByRijDoKBPrTDt9R1dQ\r\n92iDk6thBgJVg1dG3BwtVpZXrXyMgjGMu8tyS9J99v+i1J2naE6EArWZTV3b\r\n3fSETUhywcXcdsd9OYivgRHq29jH0ERNmHdV5dRH+29fHuN40sbYFtMFIdOp\r\nH3Uq6PS6z/zqkf/dycKgOhxupHvgBZ5ZeeLRhm/bIHeKbzRmDAaKu6K5DPJ/\r\ni9E8GgEjGa8Ajjdo/30mADK3ijcKz4RMuVU=\r\n=N1Cp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"3d0a2854a4bf315bdfa1258285937730cb98aceb","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.6.0_1680990027568_0.5886221288744549","host":"s3://npm-registry-packages"}},"9.6.1":{"name":"layered-loader","version":"9.6.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@9.6.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"b498a9a6a1f4994d3d9edb8afbfe7a5bebac9695","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-9.6.1.tgz","fileCount":63,"integrity":"sha512-2rvpmrmV9Hhu+G06C+eT48PBbaAplyLqXsc6b6A7aG7FqxZORceItvnniKgCha30B2eCxQjpXTAfnc/grccGdA==","signatures":[{"sig":"MEYCIQDcSdnxZ/ig57nXCi03AWaRGtojhmeXv08Y6/qjP8VJMAIhAJWd1eF8zEX6ypcVyNkAB0MrCTLF8e4ePh4uw54Nv5zp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMeBuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqlkxAAla95eIo9lp1OA6chbz0MfAQfpSV6uB+78IAUO4BDX312eiOj\r\n8nWwbZMiCxAiuSoE6YlRPSidZL+ArBBhjqppn0plsZIcejW/sw4jO0atfLfE\r\nuun4ZphPoLUuy3myEFKxnsU5IHbZFSRzHxsdzAyop1VzLlP+DV4137c7gypY\r\ngLU4xU4J89eG9CceSsbYcAcKgRJwIfiznKV8nXujrHNN1r1/XzxKUSv9tiWe\r\nG0zpyrBSCSs2chdlO41uCiaHwG+j+MRZfTZ0vudiplI7Fr8uDyc5eXcnaXx5\r\nyjHS/+98oTqFZbuazj1ZNHsDbHu0kON4uQVIhIJogy8jjSzdj2a1l81fuFY4\r\nSeGxgs2o2Akpk2Izw7fdNvahcvab0mCYLxbJN9C7m2DlM1XJVZ1XPuS7Vgm5\r\ngtkRlGcRGPIYVTCPinB94qp8TBUkbjm5hIrIDsIP9Ek2kzduHIgVAL5rt6ak\r\ntTGLbNClIZtVd6ucYcBvXcVWzSLv+hJ6bxd/9HPo1qjQ80tvwLD9giU5xJRb\r\nCjspW2+IdGRkIG8+o7bMl+0ZVvGyyVU5zXrysQO1ZXhNABXjGqxVkpf9b0wD\r\nNbTiVL0/IeMb4ZICyXLJgcL+Ys0sYcrvGtlfMPrirSttxCd5LtF98SJ8OCmt\r\n2KjPUZ8RJ8MsjoTYXN6uUgr0cKrygOSJ6rg=\r\n=eFyA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"d18df113c345bab2fc452623f210fa3366e9aa13","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"19.8.1","dependencies":{"toad-cache":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_9.6.1_1680990318587_0.8596470731760306","host":"s3://npm-registry-packages"}},"10.0.0-next1":{"name":"layered-loader","version":"10.0.0-next1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@10.0.0-next1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"9a2a4b5523c3f19ef893689e1386baee91134bcb","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-10.0.0-next1.tgz","fileCount":30,"integrity":"sha512-P4y6u4LFLC261hJhSI4DlRKNYL0fWAvc4++lCE+7eLFKAAILU1h7tPvGWib1Kozg+V4O0fVYIDY/lq1Ell7eJg==","signatures":[{"sig":"MEYCIQChPdw/1he9BbDn2yknX14R3wwJqFuyjUwkKUjCgTQrDwIhAO3VRR3u/woN+gxyC4XFj7V2mR/s8b/+CaYzKZlntlX6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":171025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMsd/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJjhAAhziJQzhvC1HLWM57B0NDKAwv0u5VY3Nt0U1gKuS8P1KOrseU\r\n7XLcGXcfIn6CXF4fp7FW5+SPmEmlSdRIIUfjxHzKr+IEhfbP2euswDNhwobo\r\nKOw/W5/DWvbNwQ8/NwJymeSJc92zQgU85kRLWRPveVWBCxwuXa45mzqtLo7N\r\nVK0zFzeBSZZuKIKFE/QBzQWxgEPbRu5k5g18/A7p9LydUwlxMpn/X/GOlNoj\r\nUvTFv3MN0BG4DAEKSIJre7eCNEQi+g83SmCkiI4x9WyQnf7+4Ia7vNP3WRCa\r\nzjZ2XEL3/DWuSeUW1gnoFKxrOOgMKy7mY74/3xCGflJWIQLgbhJDGfl6sSlK\r\n/dA+Eoo/3JQqlyMCRGTGGr9hYiC5e1StkcQSZU6Pc13N17wYa5a4LbrAcVPZ\r\nHCbKJN/rLnuEIHbXMcurNqvLalJ5xWNP+jKtvMLNu+7Bqy/WjK5yU3lxL9dr\r\nRoSO/f0EvQ+/OFB6z7wCO1QKxldW9nuuhkhT+eYOQxhko64UVlUv38EK+lzx\r\n+cjDp2FANrRFqiPdL5P9gRRDlRx8af+Xk46wzLNpZLd86HFCR6o2JfYaFEIa\r\nVtUWl15ygH3Nn3GcvGnc43BTiSV4jPPiMoq4RPYNkodJT/NQDubHctQTQYFh\r\nzvgFYD9Yp+4kaoAMAkVjZ6NeDY8sy0QMDEw=\r\n=cG8G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/layered-loader","types":"dist/index.d.ts","engines":{"node":">=16"},"exports":{"import":"./dist/layered-loader.js","require":"./dist/layered-loader.cjs"},"gitHead":"955eae9251f16484dd68e6c4cef5002dae469df8","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","build:rollup":"rollup --config","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build:rollup","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.15.0","dependencies":{"toad-cache":"^3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","rollup":"^3.20.2","del-cli":"^5.0.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","@rollup/plugin-terser":"^0.4.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^11.1.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_10.0.0-next1_1681049471442_0.5679936778312245","host":"s3://npm-registry-packages"}},"10.0.0":{"name":"layered-loader","version":"10.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@10.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"41800b475f2cb6596913e4ad244efdc230f7b322","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-10.0.0.tgz","fileCount":30,"integrity":"sha512-Pe6N9jwf1aSPeukwMokit7Kil5Vkg8Wyx8K6zzFT59hxvTPkevJTHRYLa46ZrP/FSkBetnqd+TOk+aSn7olmiQ==","signatures":[{"sig":"MEUCIQDuzr3N9PllCUn503QO4/YYhqxUK+or8ZKpaPd9OMQLTAIgR03mAV1wbWRFSsH3t4jNSVivvKHGlZ5KJzgIsYIjI1M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":170989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMsh1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsfhAAmrcdVANdJS4XEGi1kYI6hna1uoJLU9I7ctaiiO1G04sRtXC5\r\neB09XBJGe3WlA53XUe0NT9zrkrk9FVWeWD7OSO59h8eK8KcidKLpXF0fClhW\r\ndtR8kftVXZeePNS50qzlDh+YssmudpwASDQ/wJrJL5WWHjw5rflXu/Pj1S/m\r\nF2+nk5evT9i6UdfiTrRj/Za2mC0uW4o9pVKuPzzvlNZRTjszXY+LWmwiABVq\r\nC0r9RR7yibzPbSkAjzPXQ9HR30ACN4Phyr7/VholDl6IVHshAPWAOZxkyy9b\r\niNyC4N09YiQv3S4Y/9+FxUvKpHFjDokQTPQNgElttSdDxtbY8nv9EaxJC1un\r\nlovnBXebGkYRfhuPnLVzX2WsXvJm3FFLIL+w3mKilOVtPg7HEomMHtEpGIu0\r\nLi7pAp3YxpM2C8StuIFM5AaJDp0yCsuabLBxy0/5MnK6DlBVtJkjvCed3ay7\r\nXj3fhJ/J2E1flQP0wcZiaDidlCaF5YpkwY487l1XqGjdui7Uluy8Rng/Vh4Z\r\nw4noqBBhbte/sM94FFtDeReaTKKV7xVdFvtTfjVbFUNIt8BIEmZNlGiwYY4K\r\nOwYGqMT0IByXQhYnHMMzk0QxjrNXDv40R/+Ewx59lyA3+J4e1oxZOKqcLaUL\r\nZP8tKO0XiA8r1GWcsL145RkZEsjk4Dys1WQ=\r\n=aoVq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/layered-loader","types":"dist/index.d.ts","engines":{"node":">=16"},"exports":{"import":"./dist/layered-loader.js","require":"./dist/layered-loader.cjs"},"gitHead":"633b1bbb61fb517509e8d8f6a8836462fcccb1e1","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","build:rollup":"rollup --config","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build:rollup","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.15.0","dependencies":{"toad-cache":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.37.0","rollup":"^3.20.2","del-cli":"^5.0.0","ioredis":"^5.3.1","ts-jest":"29.1.0","prettier":"^2.8.7","typescript":"5.0.3","@types/jest":"^29.5.0","@types/node":"^18.15.11","eslint-plugin-import":"^2.27.5","@rollup/plugin-terser":"^0.4.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^11.1.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_10.0.0_1681049716896_0.7350099124936362","host":"s3://npm-registry-packages"}},"10.1.0":{"name":"layered-loader","version":"10.1.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@10.1.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"4a0a42c1651b9c15374947888fa8f3959c1420e1","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-10.1.0.tgz","fileCount":43,"integrity":"sha512-YkJCxS6h4S7WKVM7gF+/UTfRjBpD+2QkgdTifdLNQPIQZmP7pOTo+t0bQgGcnhRhAAQFtf+nF1gxiKqkGaRL/A==","signatures":[{"sig":"MEYCIQDZjcguAJNNbV7RNiNauFOiSL/eNp/hXcrA+1KZaeeqgAIhAItDda7IiBJVxAcRKNHcxYYb1YEAK6LRr4EVcsX1Bdww","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":244399},"main":"dist/layered-loader","types":"dist/index.d.ts","engines":{"node":">=16"},"exports":{"import":"./dist/layered-loader.js","require":"./dist/layered-loader.cjs"},"gitHead":"a19aa3105f07b92f41a66cb13044e5b66e6c54c3","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","build:rollup":"rollup --config","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build:rollup","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.16.0","dependencies":{"toad-cache":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.41.0","rollup":"^3.22.0","del-cli":"^5.0.0","ioredis":"^5.3.2","ts-jest":"29.1.0","prettier":"^2.8.8","typescript":"5.0.4","@types/jest":"^29.5.1","@types/node":"^20.2.3","eslint-plugin-import":"^2.27.5","@rollup/plugin-terser":"^0.4.3","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^5.59.7","@typescript-eslint/eslint-plugin":"^5.59.7"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_10.1.0_1685001711919_0.5388705820473467","host":"s3://npm-registry-packages"}},"11.0.0":{"name":"layered-loader","version":"11.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@11.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"c999719bb276ae7e4af199f9980708ad1d1efae7","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-11.0.0.tgz","fileCount":42,"integrity":"sha512-lx8hgvB48tcQzf4OVARVFYLjKP+WgtT7QAQtXJIacWiLHI7wNJ8yfBqQQ37e3vBCMWfDpBx72md9/Opa0s3xBQ==","signatures":[{"sig":"MEQCIFSUagpP5SaHOKbr5QyJ/lhLsCiJhgS0iT1ARa1pBc7aAiBj5LSOwAJ1P/x9GZuglUndhqpNzFD9PTwIbg9gKC+zJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":236720},"main":"dist/layered-loader","types":"dist/index.d.ts","engines":{"node":">=16"},"exports":{"import":"./dist/layered-loader.js","require":"./dist/layered-loader.cjs"},"gitHead":"26acba97fb00e6a90877f53c5e39853e34d7ecf4","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","build:rollup":"rollup --config","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build:rollup","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.16.0","dependencies":{"toad-cache":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.41.0","rollup":"^3.22.0","del-cli":"^5.0.0","ioredis":"^5.3.2","ts-jest":"29.1.0","prettier":"^2.8.8","typescript":"5.0.4","@types/jest":"^29.5.2","@types/node":"^20.3.1","eslint-plugin-import":"^2.27.5","@rollup/plugin-terser":"^0.4.3","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^5.59.11","@typescript-eslint/eslint-plugin":"^5.59.11"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_11.0.0_1686736377729_0.28404616103832536","host":"s3://npm-registry-packages"}},"11.0.1":{"name":"layered-loader","version":"11.0.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@11.0.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"dff2586604fa73ef16ddeffa7f9e37883e447ba4","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-11.0.1.tgz","fileCount":42,"integrity":"sha512-8uY6eJRy3DUaDFQigIAX6FLE1pkglfBrU/RKNKwoo9db2SWqnDf0Bl75sHWo3PcJ0uGg1d5lpYO+QKcAGmgFqw==","signatures":[{"sig":"MEUCIHPiptSDcAr23u5Rr0HdgyHUQH3hVpeAe0AO3pJvdJdQAiEAl1lUbi+zViklaaliPOvaVs01kqC0f6Bxu04tnJlcy7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":236714},"main":"dist/layered-loader","types":"dist/index.d.ts","engines":{"node":">=16"},"exports":{"import":"./dist/layered-loader.js","require":"./dist/layered-loader.cjs"},"gitHead":"6adc9be070b1d11866ca1181cc460bc825826438","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"jest --runInBand","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","build:rollup":"rollup --config","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build:rollup","test:coverage":"jest --coverage --runInBand","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.5.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.16.0","dependencies":{"toad-cache":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.5.0","rfdc":"^1.3.0","eslint":"^8.42.0","rollup":"^3.25.1","del-cli":"^5.0.0","ioredis":"^5.3.2","ts-jest":"29.1.0","prettier":"^2.8.8","typescript":"5.1.3","@types/jest":"^29.5.2","@types/node":"^20.3.1","eslint-plugin-import":"^2.27.5","@rollup/plugin-terser":"^0.4.3","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^5.59.11","@typescript-eslint/eslint-plugin":"^5.59.11"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_11.0.1_1686774876524_0.5459155349251656","host":"s3://npm-registry-packages"}},"12.0.0-beta1":{"name":"layered-loader","version":"12.0.0-beta1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@12.0.0-beta1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"cb7b97adecff94e9e168f0bbf13684e6e9b9fa79","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.0.0-beta1.tgz","fileCount":43,"integrity":"sha512-LKGhkaaz+1Wy/Jt9lvgBh+rb7+MUFGDkC/6CeXoy1FaEt0/ytd6+ns03PzrXZ0tX8aZp7mxIvknSOu7JwJgSsA==","signatures":[{"sig":"MEQCIH/WX9qgqFGwavhnlKbdw39DWphIRRuT568xmGeNzwx6AiB2YJ7B9tVG12jqqCOINRsRbIGorqrLdZjz0H6E7ETLZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78089},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"2a1a21c6676781b9d88b26ef95c6c6dfe0cb4c8a","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","build:rollup":"rollup --config","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build:rollup","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.8.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.6.1","dependencies":{"toad-cache":"^3.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rfdc":"^1.3.0","eslint":"^8.49.0","rollup":"^3.29.0","vitest":"0.34.1","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.0.3","typescript":"5.2.2","@types/node":"^20.6.0","@vitest/coverage-v8":"0.34.1","eslint-plugin-import":"^2.28.1","eslint-plugin-vitest":"^0.3.1","@rollup/plugin-terser":"^0.4.3","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@rollup/plugin-typescript":"^11.1.3","@typescript-eslint/parser":"^6.6.0","@typescript-eslint/eslint-plugin":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.0.0-beta1_1694280524127_0.9123713303073189","host":"s3://npm-registry-packages"}},"12.0.0-beta2":{"name":"layered-loader","version":"12.0.0-beta2","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@12.0.0-beta2","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"ad342cfb15bd45a92b82cce210463ce943a2f46c","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.0.0-beta2.tgz","fileCount":102,"integrity":"sha512-mrctxvZ+cqiGjZQ47nIxsjAhcKndjgbJVuVV1qA4mwKN93SJaMHlWfliienpOZSA5Ep3LecYg3jEVXwrKEJM3g==","signatures":[{"sig":"MEYCIQDJG+VuJXFd8AE+1RDIrw1qwH1zBFlh9jTw2fJDcqfGtwIhALOb0l6OoQbzxHB5VTX3DGy4GrKxqLFrUKTEpTf1psHe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":149037},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"c6004b87b749e4e1d3e24d33ee776e5491849a4f","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.6.7","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"18.17.1","dependencies":{"toad-cache":"^3.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rfdc":"^1.3.0","eslint":"^8.49.0","vitest":"0.34.1","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.0.3","typescript":"5.2.2","@types/node":"^20.6.0","@vitest/coverage-v8":"0.34.1","eslint-plugin-import":"^2.28.1","eslint-plugin-vitest":"^0.3.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.6.0","@typescript-eslint/eslint-plugin":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.0.0-beta2_1694283422875_0.2352867882401175","host":"s3://npm-registry-packages"}},"12.0.0-beta3":{"name":"layered-loader","version":"12.0.0-beta3","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@12.0.0-beta3","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"fc329f7c68078badcf5633c17f9e6cab8cd3e55c","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.0.0-beta3.tgz","fileCount":102,"integrity":"sha512-pznDF9wVd9zhWvNvxrbhRfRIs63AMTTtyzz/ZqzawbBQc0d2QJNSlxBKJcwHHwDdDIXvqNWuLvyM2aDJgPj4SA==","signatures":[{"sig":"MEUCIHgvNFa7/F6IuO2kkPAw/aJ8inV7uvF0W3AqtFjMqoE9AiEAuNSQAp6Cwl8gApVp4UsUSw1+JxRKzUkxaJLD+VzWE/k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":149841},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"455b66d1249186f6a7dd949a4e4b21a3dd187e20","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"8.19.4","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"16.20.2","dependencies":{"toad-cache":"^3.2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rfdc":"^1.3.0","eslint":"^8.49.0","vitest":"0.34.1","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.0.3","typescript":"5.2.2","@types/node":"^20.6.0","@vitest/coverage-v8":"0.34.1","eslint-plugin-import":"^2.28.1","eslint-plugin-vitest":"^0.3.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.6.0","@typescript-eslint/eslint-plugin":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.0.0-beta3_1694348033127_0.5003183835523701","host":"s3://npm-registry-packages"}},"12.0.0":{"name":"layered-loader","version":"12.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@12.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"ea5d0c006c3135012109cfb7ca1c0e6618b38a59","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.0.0.tgz","fileCount":99,"integrity":"sha512-95wQNbRHym8lsD9XgcF7AWfIPAAZeqCeC9K0Mkltzuip2gA314tLWFAwOGzDBwxsdqBjf8Ajl71VW8WKJcdCxQ==","signatures":[{"sig":"MEUCICUs+JVaGqxMIBzLNHodBUqKUzr4eBmk/93V0rFSF5cyAiEAsQDdzjwc5TUsocUHfcvTNNBf7u9t7i1/yiw+qsjeGtc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":166344},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"0cdb50750491d4cd7851c3e498fbf2b4ce29ee2b","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.8.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.6.1","dependencies":{"toad-cache":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.49.0","vitest":"0.34.1","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.0.3","typescript":"5.2.2","@types/node":"^20.6.0","@vitest/coverage-v8":"0.34.1","eslint-plugin-import":"^2.28.1","eslint-plugin-vitest":"^0.3.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.6.0","@typescript-eslint/eslint-plugin":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.0.0_1694379367517_0.6274573234717717","host":"s3://npm-registry-packages"}},"12.1.0":{"name":"layered-loader","version":"12.1.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@12.1.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"ae6eb74ce3bbf5f26be901d836d1dd129e2c1e3c","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.1.0.tgz","fileCount":99,"integrity":"sha512-CsKGGXYnlV2ePQvdtJzd7jOJQa5ziUYRjp65vx3furvk5vOHz1IDw5ErsT4c1mFHnu3h5GdEqg9S2yq2TuQk0Q==","signatures":[{"sig":"MEYCIQCthKHlnDLOYzqZ4sgTg4K/lpR/OJDtNT/gquOuML6P7QIhANf5mSZEb/t8t+VIZamxtrv7odKA7Pcy1eJhyvBkKmbz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":169898},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"f3a1eff666252973150b41e6dcb5fdd3b12e1c4e","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.8.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.6.1","dependencies":{"toad-cache":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.49.0","vitest":"0.34.1","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.0.3","typescript":"5.2.2","@types/node":"^20.6.0","@vitest/coverage-v8":"0.34.1","eslint-plugin-import":"^2.28.1","eslint-plugin-vitest":"^0.3.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.6.0","@typescript-eslint/eslint-plugin":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.1.0_1694382782201_0.38317184653846437","host":"s3://npm-registry-packages"}},"12.2.0":{"name":"layered-loader","version":"12.2.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@12.2.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"eb656f74ba79a6f20f3d78046d402f17bf3c37a6","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.2.0.tgz","fileCount":99,"integrity":"sha512-jly6lc4mKrdbNNvTs6PeWrPhsSn/aZAwrbLXNUOaszOiuCmTkq1jDcGMXcsH6RLaTerWSE6B5cmdeD9Z2ma4eA==","signatures":[{"sig":"MEQCIDSUi4jRRrdatFOKGDm1T3umEv9/jheWs/COi8z/X6XmAiBsFlKa8mfjhU00vvv6VU9u/8nSz9BzlyRwDrmpBfFWOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":173320},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"543414d9973a3470a72385102c640d495b26794e","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.8.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.6.1","dependencies":{"toad-cache":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.49.0","vitest":"0.34.4","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.0.3","typescript":"5.2.2","@types/node":"^20.6.0","@vitest/coverage-v8":"0.34.4","eslint-plugin-import":"^2.28.1","eslint-plugin-vitest":"^0.3.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.6.0","@typescript-eslint/eslint-plugin":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.2.0_1694464690690_0.2534176858898871","host":"s3://npm-registry-packages"}},"12.3.0":{"name":"layered-loader","version":"12.3.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@12.3.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"5bf15fb1960a941b781b0b80ff5f1ed3e15db352","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.3.0.tgz","fileCount":99,"integrity":"sha512-QyY/PTlvPFzBVrBnZaKbFpX7H2bT/+XaPWO7Tjcsq5hd8pPKm9dbiCVacklBSToGmCaNS2EM6L6cjlFokJdefg==","signatures":[{"sig":"MEUCIFnBVdV013goiv6H55wC/yffEs4KqlPQBKo11gynQoQ6AiEA88NEyUfr+7f6gYRRDgYUfzl14Mgx7XRMMgTOwvQcDmM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":176625},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"71a41bd0c8db56815a71d9f7b97e1e6957ecad50","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"9.8.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.6.1","dependencies":{"toad-cache":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.49.0","vitest":"0.34.4","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.0.3","typescript":"5.2.2","@types/node":"^20.6.0","@vitest/coverage-v8":"0.34.4","eslint-plugin-import":"^2.28.1","eslint-plugin-vitest":"^0.3.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.6.0","@typescript-eslint/eslint-plugin":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.3.0_1694467597581_0.2942816961026702","host":"s3://npm-registry-packages"}},"12.3.1":{"name":"layered-loader","version":"12.3.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@12.3.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"813d46311f84d8ce1fbc438614be7927d0404198","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.3.1.tgz","fileCount":99,"integrity":"sha512-jXoqA7hEKsD/QQ4DEiQwc6A7Xo5Ina08gVAWdltuaZqDkDszb0mfZ82flipwU4w9YUeYFDpRvdG4Y0OPVUwGnQ==","signatures":[{"sig":"MEQCIHlimde1rEGy9Ns02gIcRPTQOd+ShkSBzCuOi55AO/lcAiACS0Li6/gkQWqLjWeBWh56qyZy6rU7JV25NE1xRGzKGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":177359},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"8cafbf980faa6aa98c493b4493d18eca1b0b26ba","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.1.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.9.0","dependencies":{"toad-cache":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.49.0","vitest":"0.34.6","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.0.3","typescript":"5.2.2","@types/node":"^20.6.0","@vitest/coverage-v8":"0.34.6","eslint-plugin-import":"^2.28.1","eslint-plugin-vitest":"^0.3.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.6.0","@typescript-eslint/eslint-plugin":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.3.1_1698607162413_0.6413087588064839","host":"s3://npm-registry-packages"}},"12.4.0":{"name":"layered-loader","version":"12.4.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru"],"license":"MIT","_id":"layered-loader@12.4.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"e6764f9cb5c82606b35cf90113930585e89e7001","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.4.0.tgz","fileCount":99,"integrity":"sha512-tI8EAYzf/jbrMXTUDWG1+f+msyz1sK9NYerTrY9Dss9Ln9v+RrzKi49oPWzuaEHJX+Ll45uSsuyhQNO6FsZWHQ==","signatures":[{"sig":"MEQCIBr6BIW2l3X+jrBvunxi0MrkcMb4m6ofVgrHIhzqGM7hAiA6fdo9qGUWJMe51dzfsgWhxKGKtasly0qvLVDGx6Cs1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":179062},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"a1fb2974fd8b81ab8506d555df66b780bb4c6724","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.1.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.9.0","dependencies":{"toad-cache":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.49.0","vitest":"0.34.6","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.0.3","typescript":"5.2.2","@types/node":"^20.6.0","@vitest/coverage-v8":"0.34.6","eslint-plugin-import":"^2.28.1","eslint-plugin-vitest":"^0.3.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.6.0","@typescript-eslint/eslint-plugin":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.4.0_1698613325522_0.9955433672316858","host":"s3://npm-registry-packages"}},"12.4.1-RC1":{"name":"layered-loader","version":"12.4.1-RC1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@12.4.1-RC1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"fc96c686ae713ed9325986ef478e7be0118eb538","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.4.1-RC1.tgz","fileCount":99,"integrity":"sha512-FcMKm1WT8CQFXIWcls9NpbwLdKlFVvmjshe9HMTXUxH+qL3mj0BanVyGpXYet42IJKloqtMLKEkbxm3yfBLWVg==","signatures":[{"sig":"MEUCIQCxrT7OHnlQ64yK9wDeiIEgCsrBL7oVXJSHaRq5wDgJmgIgdYMw13YNTsA5uVChM+zBf+TLcXZ+T1HqE3V9HaFZSAg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":179731},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"01bc2905b96462f3d4f0bf2a3a0a061ea41c6dbc","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.1.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.9.0","dependencies":{"toad-cache":"^3.3.1-RC7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rfdc":"^1.3.0","vite":"4.5.0","eslint":"^8.49.0","vitest":"0.34.6","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.0.3","typescript":"5.2.2","@types/node":"^20.6.0","@vitest/coverage-v8":"0.34.6","eslint-plugin-import":"^2.28.1","eslint-plugin-vitest":"^0.3.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.6.0","@typescript-eslint/eslint-plugin":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.4.1-RC1_1701299235508_0.24609182339732016","host":"s3://npm-registry-packages"}},"12.4.1":{"name":"layered-loader","version":"12.4.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@12.4.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"fc6bbfdcc999b12173eb6b1dcbd131ad0ac17342","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.4.1.tgz","fileCount":99,"integrity":"sha512-gzJy08Buvsbw1za8RUyY+1WIJOPw6pvz+ik7O8dcMoUnRSz439QESEZ9hXURdCTRFmjfGXItKGThJ5nzH7vjgA==","signatures":[{"sig":"MEYCIQCbWfa37T1JxCc3RNwcSNh/V9UBrYQz48VyTeUM4b5TbAIhALUapaedjcTT/dqtvqG7jcrHrflj0aN7DPDrNTOK1Ft7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181098},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"2f52427aef59ea0bd8cc0929f940fd08955bcca3","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.1.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.9.0","dependencies":{"toad-cache":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","vite":"4.5.0","eslint":"^8.54.0","vitest":"0.34.6","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.1.0","typescript":"5.3.2","@types/node":"^20.10.1","@vitest/coverage-v8":"0.34.6","eslint-plugin-import":"^2.29.0","eslint-plugin-vitest":"^0.3.10","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.4.1_1701300181912_0.6563786758988102","host":"s3://npm-registry-packages"}},"12.5.0":{"name":"layered-loader","version":"12.5.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@12.5.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"3cb8b70c5dfd3546ca3af7336c410396abefafa7","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.5.0.tgz","fileCount":102,"integrity":"sha512-36EkPkybcQG2sUNicsrCPbG4a3keVwAkhnbmC/7HFQ4trD1mClOCVxgkSW6QsrvjvCLAEoWLX9ej0V/cbJ6qnw==","signatures":[{"sig":"MEUCIHz4UrebUlOOVB3MxxUTwM325gC/ysJK3oIaXeyg4jnLAiEAseeGhKMgrHffIaiUW9sXUsLyWQ1D/zSKLHJ24C4qD8A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":186375},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"fb2432b64ec0fa82270bb85504f7595fd6daadfa","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.1.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.9.0","dependencies":{"toad-cache":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","vite":"4.5.0","eslint":"^8.55.0","vitest":"0.34.6","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^20.10.2","@vitest/coverage-v8":"0.34.6","eslint-plugin-import":"^2.29.0","eslint-plugin-vitest":"^0.3.10","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.5.0_1701989430597_0.9366962321391734","host":"s3://npm-registry-packages"}},"12.6.0":{"name":"layered-loader","version":"12.6.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@12.6.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"6d0e3c563979895444ddb3837b6c754551150571","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.6.0.tgz","fileCount":102,"integrity":"sha512-XwkxA0Nzkqx5bnKH6s0W8agDYvPOuDqW7vuyWvfXCuzmUEzVAb9uvTpT4H0Z5sqKPfZ6yLvL1alXKTwq8bxPfQ==","signatures":[{"sig":"MEQCIF3ouBRTMNyrpo8vyxHtvgFm8cPc0E4IF/2ZQvbY5ZlXAiAIUZQA51Gkl/J96yGUKWRRlQCyWbKBadmMTrGyNwuydw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":186958},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"df7e7638f210b615352e2ccc9125732a133112f8","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.2.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.10.0","dependencies":{"toad-cache":"^3.4.1"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.55.0","vitest":"1.1.3","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^20.10.2","@vitest/coverage-v8":"1.1.3","eslint-plugin-import":"^2.29.0","eslint-plugin-vitest":"^0.3.10","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.6.0_1704650204997_0.5384364238263126","host":"s3://npm-registry-packages"}},"12.7.0":{"name":"layered-loader","version":"12.7.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@12.7.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"155ed61fc9d4d40399f71c2fddb90c3c514ea1ff","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-12.7.0.tgz","fileCount":102,"integrity":"sha512-TfBckdvXB5idtPMtikMuLiSmwTIagMmuEtmHIDgRSCliUMc5b+gO9JrWpbHt/ViJN/KCBYqDJGHRswtabMyFEA==","signatures":[{"sig":"MEUCIEX9Li5LopxRVpEqbIsvktLf/01JQVNxYXU5PKvOxmRLAiEAj8Bc2VdDb4qcp2Pjhe4ZIJzJTBl5ybE4/n/e3a1aKRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":186958},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"4186c0eb795ba6fd0595720df8627eeb460fb4d7","scripts":{"lint":"eslint \"lib/**/*.ts\" \"test/**/*.ts\"","test":"vitest","build":"tsc","lint:fix":"eslint --fix \"lib/**/*.ts\" \"test/**/*.ts\"","prettier":"prettier --write \"{lib,test}/**/*.{js,ts}\" index.ts","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.2.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.10.0","dependencies":{"toad-cache":"^3.6.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.55.0","vitest":"1.1.3","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.1.0","typescript":"5.3.3","@types/node":"^20.10.2","@vitest/coverage-v8":"1.1.3","eslint-plugin-import":"^2.29.0","eslint-plugin-vitest":"^0.3.10","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@typescript-eslint/eslint-plugin":"^6.13.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_12.7.0_1704801891205_0.012601162958433498","host":"s3://npm-registry-packages"}},"13.0.0":{"name":"layered-loader","version":"13.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@13.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"f87ea5c0758c0d27ef93ebf5d46b55380326bf51","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-13.0.0.tgz","fileCount":99,"integrity":"sha512-rlkQNyrCiRAnaw9T/KfGgOoxBbx/DRcYCA/P2iU7djPwwLj8tsiWbkqKvOB7n6Ss8TZoTnfieX6bF+vI7Etb2g==","signatures":[{"sig":"MEUCIB5TFReNObOdT+EDZMGDJNef8J8vgn3sFDjx4Q8T60oVAiEAzaPSOC+FI0mxXS3FnUNWAwBMCsKno8hAfoRHclYW8Q0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":185663},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"69e76b6ef15ca16d4b1845a1050ccc4d1bc4ed2e","scripts":{"lint":"eslint . --ext .ts && prettier --check --log-level warn \"**/*.{json,md,ts}\"","test":"vitest","build":"tsc","lint:fix":"eslint .  --ext .ts --fix && prettier --write --log-level silent \"**/*.{json,md,ts}\"","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.2.3","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.10.0","dependencies":{"toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.56.0","vitest":"1.2.0","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.2.1","typescript":"5.3.3","@types/node":"^20.11.0","@vitest/coverage-v8":"1.2.0","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.3.20","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.18.1","@typescript-eslint/eslint-plugin":"^6.18.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_13.0.0_1705159252946_0.89384633891941","host":"s3://npm-registry-packages"}},"13.0.1":{"name":"layered-loader","version":"13.0.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@13.0.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"425cf12cf5e01a7d8e7c25ae69d47b71c317060a","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-13.0.1.tgz","fileCount":99,"integrity":"sha512-uKPwivQKhRN+niZzuVhaqoaOjo64WTum7l4PU/41JsnCf5HZXM8MHfZlCLrzaYr0ZLS8yEjII+xFB3wonFNxzA==","signatures":[{"sig":"MEYCIQC4TO7QXlO0jbmXiRHW9q5aTAog4BcoHTTjaRCQdOBggwIhANZLE0XU2n2s6ZZ/ApUaH32AWSOnIeQmTL9kmNoeG7aE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188227},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"a4419d0f129bc764f1c7bdb96ddbbe2996310754","scripts":{"lint":"eslint . --ext .ts && prettier --check --log-level warn \"**/*.{json,md,ts}\"","test":"vitest","build":"tsc","lint:fix":"eslint .  --ext .ts --fix && prettier --write --log-level silent \"**/*.{json,md,ts}\"","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.2.4","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"21.5.0","dependencies":{"toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.56.0","vitest":"1.2.0","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.2.1","typescript":"5.3.3","@types/node":"^20.11.0","@vitest/coverage-v8":"1.2.0","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.3.20","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.18.1","@typescript-eslint/eslint-plugin":"^6.18.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_13.0.1_1705170403766_0.5304258583976349","host":"s3://npm-registry-packages"}},"13.0.2":{"name":"layered-loader","version":"13.0.2","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@13.0.2","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"777149c93d537a67e16a9c6ada287b8ed889ffea","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-13.0.2.tgz","fileCount":99,"integrity":"sha512-+jlUT92R+IaCCp31ElbeJDrKSTez116XO5G5dZcM0phfm+YgbHeimM2+DuT1vFVhMLP7SNE8al3GK/9ZzEzUwA==","signatures":[{"sig":"MEYCIQCXlZVPgcQ+jgsHtNMGQrDPbeVlCB77kTwHqtwyJ6oUFgIhALGwL6Ws3/Cl5KcgI+4itrWw7kavPvlGhXeNtqhpGMyc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":188287},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"ea25f9fe1bd58d85bc486c6749f33458e3f3ccf4","scripts":{"lint":"eslint . --ext .ts && prettier --check --log-level warn \"**/*.{json,md,ts}\"","test":"vitest","build":"tsc","lint:fix":"eslint .  --ext .ts --fix && prettier --write --log-level silent \"**/*.{json,md,ts}\"","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.2.4","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"21.5.0","dependencies":{"toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","eslint":"^8.56.0","vitest":"1.2.0","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.2.1","typescript":"5.3.3","@types/node":"^20.11.0","@vitest/coverage-v8":"1.2.0","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.3.20","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^6.18.1","@typescript-eslint/eslint-plugin":"^6.18.1"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_13.0.2_1705170526671_0.11342048212615885","host":"s3://npm-registry-packages"}},"13.1.0":{"name":"layered-loader","version":"13.1.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@13.1.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"ee9a5844468bf9b09bd6aae8c7dccb68ee88b660","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-13.1.0.tgz","fileCount":99,"integrity":"sha512-NvAGnCXfJQr6pMxB7Fqtpm4YV3h22WBjqSb+IpzzMP4jyDCQGkCpFeMz+/zRHVWMht8ITarblUbVEsPoTyqtUQ==","signatures":[{"sig":"MEYCIQCVxGkIWYfDw/iKqj2czXTLOwpCChEv1rE58o4fYJDTogIhALldnBDL3M/yA96Oo1kjKO1tlwjvbVLQdK24WCyGOWnB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":190039},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"6c7bc7dbbfa1e59bf9b06ab0b9b6ff809b8e3618","scripts":{"lint":"biome lint index.ts lib test biome.json","test":"vitest","build":"tsc","lint:fix":"biome check --apply index.ts lib test biome.json","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.5.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.12.2","dependencies":{"toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","vitest":"1.5.0","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.2.1","typescript":"5.4.5","@types/node":"^20.11.16","@biomejs/biome":"^1.5.3","@vitest/coverage-v8":"1.5.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_13.1.0_1713542773126_0.10558049529005187","host":"s3://npm-registry-packages"}},"13.2.0":{"name":"layered-loader","version":"13.2.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@13.2.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"248a462b7403ac830542877a6a7fda5e9c90cc6e","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-13.2.0.tgz","fileCount":99,"integrity":"sha512-JA4cqQilB84qDjW77PZqJD8cYD8rqd2573DR0xEvXN+iRlwkRBDYw/+8wftXf0dUuR5/rih6bJEEax0avCWnng==","signatures":[{"sig":"MEUCIDsPl0fvDsrRZZt+AWcmgIuG1jGtOmBBFBzuLYKvySqcAiEAhzyahW4zcOFjVeEC8649QSqOfjTOOFAowfqme12W+UY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":193181},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"dcef53dcc1039c68e10db7e02a7d0fa97f3f26d4","scripts":{"lint":"biome lint index.ts lib test biome.json","test":"vitest","build":"tsc","lint:fix":"biome check --apply index.ts lib test biome.json","docker:stop":"docker-compose -f docker-compose.yml down","docker:start":"docker-compose -f docker-compose.yml up --build -d redis && docker-compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.5.2","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"20.13.0","dependencies":{"toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.3.0","vitest":"1.6.0","del-cli":"^5.1.0","ioredis":"^5.3.2","prettier":"^3.2.1","typescript":"5.4.5","@types/node":"^20.11.16","@biomejs/biome":"^1.7.0","@vitest/coverage-v8":"1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_13.2.0_1717953456618_0.5224360516042013","host":"s3://npm-registry-packages"}},"13.3.0":{"name":"layered-loader","version":"13.3.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@13.3.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"72f1b2c3f51bdb03accd594b36ee3026da8c0eb9","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-13.3.0.tgz","fileCount":99,"integrity":"sha512-I14K+Q2b3pCnQjJKZpzFkySSsowHmyyayJnJB/fXieCTAW6eUD6LxttFd2IAuhV9NYKxE4UMC0XWJLCYlDrcxQ==","signatures":[{"sig":"MEYCIQDOPIXuaJougHY+dwnkW5v2vi6nlzTAwamAfcmnkpG6RQIhALnde3p/z4QA/B2MFralnXmYGaeNRXm7BZ7zhKzuNTSE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":195973},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"7183ff0a10f01f67351b3a6cf2f17e78ad5d9d7c","scripts":{"lint":"biome check index.ts lib test biome.json","test":"vitest","build":"tsc","lint:fix":"biome check --write index.ts lib test biome.json","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.9.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ioredis":"^5.4.1","toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^2.1.4","del-cli":"^6.0.0","typescript":"^5.6.3","@types/node":"^20.17.4","@biomejs/biome":"^1.9.4","@vitest/coverage-v8":"^2.1.4"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_13.3.0_1730376066891_0.9736453057572092","host":"s3://npm-registry-packages"}},"14.0.0":{"name":"layered-loader","version":"14.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"8976e22a3e3b77de4168e7de782b0e44c2a1776d","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.0.0.tgz","fileCount":99,"integrity":"sha512-j0bWat5hzY8IH7f49ZbA0/iN70cMccaoYXi/Do697tGPgajBGYB0RqfgYeTJhymO09QibemP2gVYzQTIce/cxQ==","signatures":[{"sig":"MEYCIQDcSlDv30UKoyVRCY8QouIXuujpfJofGJkSr8hdmGl4IQIhANo/106doJAkzoboxH3kETHqQG4wm6RoHAXWIUOD1mKK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":199866},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"7110162932dc334f23be5c239cbc4759e96bd2bd","scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.9.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ioredis":"^5.4.2","toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^2.1.8","del-cli":"^6.0.0","typescript":"^5.7.2","@types/node":"^20.17.11","@biomejs/biome":"^1.9.4","@vitest/coverage-v8":"^2.1.8"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.0.0_1735916121916_0.6299338285265514","host":"s3://npm-registry-packages-npm-production"}},"14.0.1":{"name":"layered-loader","version":"14.0.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.0.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"1d0211838ab17d82020c094d48be8137e8bae232","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.0.1.tgz","fileCount":99,"integrity":"sha512-biO2K+hILp73T2VmnaOGsKuQofiuRDZ3fECL8VcOk6+VrJXCZ13bVKx4MJsXNsD4krFP9jjdR95RCDQXmzXGtA==","signatures":[{"sig":"MEYCIQCzqfVLN1sJEfEU+FZJf4jaD1j9sFAD9inyL0EbKprAfAIhAIs3Xuk9kr4dEdKb/tyFTvT3AfDDKt8BOpoF2UaIHwhM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":199860},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16"},"gitHead":"f3d328f747d167343127096524caa0329003449e","scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"kibertoad","email":"iselwin@gmail.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.9.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ioredis":"^5.4.2","toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^2.1.8","del-cli":"^6.0.0","typescript":"^5.7.2","@types/node":"^20.17.11","@biomejs/biome":"^1.9.4","@vitest/coverage-v8":"^2.1.8"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.0.1_1736200648638_0.3304159664935493","host":"s3://npm-registry-packages-npm-production"}},"14.1.0":{"name":"layered-loader","version":"14.1.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.1.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"74fa7919fd36d10efcf0bab97757f9befdd9f0dd","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.1.0.tgz","fileCount":105,"integrity":"sha512-ZzYxJpFUoE5X6WSQoY9rjDB48r6cjDhB7X2mbT8nT2o5DY581uCVpt7CFQQy+lVBnCeezspPSQnvz5of2s6Gww==","signatures":[{"sig":"MEYCIQDkSrNCkZziJ9xMGIX3TVCQDzzJVyd22T6hkLFBy8nKSgIhAO+umaI0CI2xYxEcVrdvPwRwc+UZImPYaNSiF1qKsAAG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202550},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"770da745a59d9a5359dc482ae0ea5eed138bdb58","scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.9.2","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ioredis":"^5.6.1","toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^3.2.0","del-cli":"^6.0.0","typescript":"^5.8.3","@types/node":"^22.15.29","@biomejs/biome":"^1.9.4","@vitest/coverage-v8":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.1.0_1759216539040_0.8467717408757649","host":"s3://npm-registry-packages-npm-production"}},"14.2.0":{"name":"layered-loader","version":"14.2.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.2.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"1a1e665528fb1b33073db2c966f8b5f1d4be53a4","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.2.0.tgz","fileCount":105,"integrity":"sha512-3BBiaBiqGzEAIseDL9GHZ0qn1x7SST3HmaysEcXr2QuVVuur/nZMZLFYUTFxg1XnEHVtppce+blLK7MpovGLMw==","signatures":[{"sig":"MEUCIQDrJRvugSv8L80y7NiwD5Mg9/O3cNUP65QOKgcejiI0IQIgKReVbp8xNXpd8G8nvBgV9wAzi60WXUexkbAjZZvKM1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203785},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"a9d027e1531986aa31f7010fc12b9ad215cf2d76","scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"10.9.2","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ioredis":"^5.6.1","toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^3.2.0","del-cli":"^6.0.0","typescript":"^5.8.3","@types/node":"^22.15.29","@biomejs/biome":"^1.9.4","@vitest/coverage-v8":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.2.0_1759850907689_0.3164860720409002","host":"s3://npm-registry-packages-npm-production"}},"14.2.2":{"name":"layered-loader","version":"14.2.2","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.2.2","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"77f21eef24620c7e5b3b732c9ea6dbd339f824bb","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.2.2.tgz","fileCount":105,"integrity":"sha512-q9phBl7lMRAQo/aCVXzPdX62oQuqKrtwc4fwobj6r2K3m6WtSFxwZlBQuIpWNd6pz6s0u2C/HOVoK4/6Qjh90g==","signatures":[{"sig":"MEQCIF8Lt2ksasLEkUD1ChVOiynmLvz+R5MoLwtthO/M38v9AiB6TskLHy5JOzS3HNkXTTbeudPYzykrh4beDq6XKY9rBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@14.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":204133},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"f7b16bf532fb3e2bb956c2b96125cff5c792ad46","scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"11.6.2","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ioredis":"^5.8.2","toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.0.15","del-cli":"^7.0.0","typescript":"^5.9.3","@types/node":"^22.15.29","@biomejs/biome":"^1.9.4","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.2.2_1765191816307_0.8647615330558551","host":"s3://npm-registry-packages-npm-production"}},"14.2.3":{"name":"layered-loader","version":"14.2.3","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.2.3","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"ffec64b5538c256628a8d055e05b27e982699d6f","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.2.3.tgz","fileCount":105,"integrity":"sha512-FazXanNbIaVZsqARxXsguE6Um2Q3WxVKpp662fz4JU7vcxcQfcc8jyi3zg8AvyO1MH5YIxAGPRfE4mowo8E6ow==","signatures":[{"sig":"MEYCIQCTwWRRfOPQlTTyKcl2dBmaU5j6uwLGhuPbS5ywdb8TeQIhAPihS9BQ4bdkeYiV2XfV6yydmwZbZFpe2VO1t3EqaQLb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@14.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":206194},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"0ecedd83f15bc8d2db0222b501a1cb68add4a888","scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"11.6.2","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ioredis":"^5.8.2","toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.0.15","del-cli":"^7.0.0","typescript":"^5.9.3","@types/node":"^22.15.29","@biomejs/biome":"^1.9.4","@vitest/coverage-v8":"^4.0.15"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.2.3_1771632533774_0.5941928867162272","host":"s3://npm-registry-packages-npm-production"}},"14.3.0":{"name":"layered-loader","version":"14.3.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.3.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"02f5fb520b5d035d8e3c44230ecec727f2817ff8","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.3.0.tgz","fileCount":111,"integrity":"sha512-njV/Hblswt0/0cNsSGUAqfg0ahCbh7xSgiWiIdShRigXHNK6JvIqtI7cB3PzlhIBk+/IO/huHpD/DM0X3wH22w==","signatures":[{"sig":"MEYCIQCJzIt5TuE9wD7WQUrGg4j4MffbKT9qf3hjFB14zwydhAIhAMYlfhLZ1TultDyoU6t9OA8vKGN0ZMA+ojaHOCSRMEnd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@14.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":219984},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"37255d915e2e9222f03db998f5a1b17811a0d99f","scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"11.9.0","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ioredis":"^5.10.0","toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.0","del-cli":"^7.0.0","typescript":"^5.9.3","@types/node":"^22.19.15","@biomejs/biome":"^1.9.4","@vitest/coverage-v8":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.3.0_1773748139590_0.6666323687568336","host":"s3://npm-registry-packages-npm-production"}},"14.3.1":{"name":"layered-loader","version":"14.3.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.3.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","bugs":{"url":"https://github.com/kibertoad/layered-loader/issues"},"dist":{"shasum":"f466bb8e21ae526e9b70a81705d369fd3b4fa7c7","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.3.1.tgz","fileCount":111,"integrity":"sha512-y+3LvXOdnXfvUQkmOSz7uo14DGLUbHsXfUBlSuOumOhOa3XAMujcLytqqLgZqmz2J39jDEXkgkfZjP+v5mOs2A==","signatures":[{"sig":"MEUCIQDpVBABEKHjKR2tFIzSAjNWkJY67ZBZXF5EzUgQFjlaewIgTy9jx4E36vovBPNc3JEXfk6tjFi7zhThcedry5N8k2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@14.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221084},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"0628d15fe38fd9db6f88385ec2e5e36d3d080442","scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && npm run lint && npm run build","test:coverage":"vitest --coverage","prepublishOnly":"npm run build:release","test:everything":"npm run lint && npm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"_npmVersion":"11.12.1","description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ioredis":"^5.10.0","toad-cache":"^3.7.0"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.0","del-cli":"^7.0.0","typescript":"^5.9.3","@types/node":"^22.19.15","@biomejs/biome":"^1.9.4","@vitest/coverage-v8":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.3.1_1776862659519_0.2891364714619078","host":"s3://npm-registry-packages-npm-production"}},"14.4.0":{"name":"layered-loader","version":"14.4.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.4.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","dist":{"shasum":"e73dd69ad485bcb99e9d2b4f59eafe4229341604","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.4.0.tgz","fileCount":111,"integrity":"sha512-aaFuyxPDd04Ln6N/u3OtfhFlfhNEQuLSa1dZ+ZnJd7inCQXknuGbKlTOEXg6xqhB6VeVEhfnO6WgzVdU8JbolQ==","signatures":[{"sig":"MEUCIH10ejCGynm2lSHW8QFNNEfebYeuxFgPn8vJ2xGgsj7BAiEA8tMhoGWUDvUp1Iy+H7mGh9n+fg/239czY2WRLc4dmUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@14.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":233300},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","test:everything":"pnpm run lint && pnpm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ioredis":"^5.10.1","toad-cache":"^3.7.1"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.6","del-cli":"^7.0.0","typescript":"^6.0.3","@types/node":"^25.8.0","@biomejs/biome":"^2.4.15","@vitest/coverage-v8":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.4.0_1779879827178_0.028237934119800245","host":"s3://npm-registry-packages-npm-production"}},"14.4.1":{"name":"layered-loader","version":"14.4.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.4.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","dist":{"shasum":"84d23e723114b856492e07058e30518c902226a7","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.4.1.tgz","fileCount":111,"integrity":"sha512-10i4Oi8NJ/U6EB2N+gbxkRFZ7xvWazZEef+zmLtH/F96qv0cfdt8vlfACSlXT1bxhJ3WHTBrwsxyHrfdpPZw0w==","signatures":[{"sig":"MEUCIHLQ338nCsCOBcI3M/dTA2V4npjWtDbQcsCIAEhr9EeaAiEA/wVsYNdV+TmAiZwO8AflikAnfIT/7O/6L33ZHr3H0lA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@14.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":240208},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","test:everything":"pnpm run lint && pnpm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ioredis":"^5.10.1","toad-cache":"^3.7.1"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.6","del-cli":"^7.0.0","typescript":"^6.0.3","@types/node":"^25.8.0","@biomejs/biome":"^2.4.16","@vitest/coverage-v8":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.4.1_1781859466965_0.4298153962744933","host":"s3://npm-registry-packages-npm-production"}},"14.5.0":{"name":"layered-loader","version":"14.5.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.5.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","dist":{"shasum":"90afe5b749ae16ee7c80aab4980465e276c6045d","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.5.0.tgz","fileCount":111,"integrity":"sha512-tp8J5MwkBAlz9zes9C2tGbjq2wVclPpf4Xlemk1h9pfcGwXCypB/3PkaSBxDUz2SPJ1hfJfnczZ5MuSAAncX6g==","signatures":[{"sig":"MEUCIQCHiTkZr2rrG/G5MX3a0SfIlYxcPJNkkMx7VxctYcXflAIgWla0PlzTlhRaa2tc1Sb2cZD7avon6l85QuE6rb8fbI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@14.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":259222},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","test:everything":"pnpm run lint && pnpm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ioredis":"^5.10.1","toad-cache":"^3.7.1"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.6","del-cli":"^7.0.0","typescript":"^6.0.3","@types/node":"^25.8.0","@biomejs/biome":"^2.4.16","@vitest/coverage-v8":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.5.0_1783074771202_0.9484592597577137","host":"s3://npm-registry-packages-npm-production"}},"14.5.1":{"name":"layered-loader","version":"14.5.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.5.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","dist":{"shasum":"cd2fdcc8ed7bf7080ac0e730331a0751dd40a347","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.5.1.tgz","fileCount":111,"integrity":"sha512-eZ/NdPQB0JCNmq3t6WBIXL+RGyqBLSjL/dE9+LDeBlxBWCfX4m1IH+57GThU2j3Wlt/mUqZwDwUV7e5/fdkjRw==","signatures":[{"sig":"MEQCIC4bdt9bOPQcqN1phEiMDc96MxIQ6AYC/984UsVfJjOnAiB+KKteNfQPQ37XSW/N/xx/IV/vJL6pRHP6raW9aTwzPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@14.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":267989},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","test:everything":"pnpm run lint && pnpm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ioredis":"^5.10.1","toad-cache":"^3.7.1"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.6","del-cli":"^7.0.0","typescript":"^6.0.3","@types/node":"^25.8.0","@biomejs/biome":"^2.4.16","@vitest/coverage-v8":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.5.1_1783079592498_0.7555463717374071","host":"s3://npm-registry-packages-npm-production"}},"14.5.2":{"name":"layered-loader","version":"14.5.2","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.5.2","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","dist":{"shasum":"7d4935efe1565ea7568fe530a29c8d2008d6eb47","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.5.2.tgz","fileCount":111,"integrity":"sha512-0GjKJsPDAxSw+vNwNjWwBD2mhcDXgoqDTQRhxxC5YEJsv7GuEPPvc5Qj/9kGxVazEE3kr4JGNxm5DdCUtn0olQ==","signatures":[{"sig":"MEYCIQCFAADcKpceqCdgg7no0rLPlyEf7vlhplLwTs8p1wviGQIhAMIYyVqSYWlUnQnBMI1x6QJelJ5xEsGgW9toingq/Zl4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@14.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":272053},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","test:everything":"pnpm run lint && pnpm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ioredis":"^5.10.1","toad-cache":"^3.7.4"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.6","del-cli":"^7.0.0","typescript":"^6.0.3","@types/node":"^25.8.0","@biomejs/biome":"^2.4.16","@vitest/coverage-v8":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.5.2_1783083745103_0.4388003938317724","host":"s3://npm-registry-packages-npm-production"}},"14.5.3":{"name":"layered-loader","version":"14.5.3","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@14.5.3","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","dist":{"shasum":"470ddf0d31a4fe3664889e12af6318966771eeca","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-14.5.3.tgz","fileCount":111,"integrity":"sha512-f8pUUs8OUEbF29AsPyIBfF92cdMgrK5Cz//1AyvA2t6SCr53bQWibZTNeteBkq6e14+RB9kBXg54MvLXk5cg2A==","signatures":[{"sig":"MEQCICFrkKLlv1CUuYmNSWIUgIt1Qztgakjnrym2Vk8VW3dMAiBG1h/TdADYR0pwaakmUDhNTAo8WT8eNNO1FxGoBP2BPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@14.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":286606},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22"},"scripts":{"lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","test:everything":"pnpm run lint && pnpm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ioredis":"^5.10.1","toad-cache":"^3.7.4"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.6","del-cli":"^7.0.0","typescript":"^6.0.3","@types/node":"^25.8.0","@biomejs/biome":"^2.4.16","@vitest/coverage-v8":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_14.5.3_1783190546757_0.8724019030431813","host":"s3://npm-registry-packages-npm-production"}},"15.0.0":{"name":"layered-loader","version":"15.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@15.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","dist":{"shasum":"80cf5359ccd49b87612e4465bdee4bb6fa21e31a","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-15.0.0.tgz","fileCount":105,"integrity":"sha512-FZSiH6ppzyorsRmhQ1up1ZCibQscLhNME8dK2nxtAv2ec8vuW8uUffuri5q5tNjg6s040gmWzPdiit2YaZjIwQ==","signatures":[{"sig":"MEUCIBLXw8ltCRjgijZbYfEkh3j1KVk/jAfk/srjFHVpqxOmAiEAjqQLTcbCa6qVSPYzWJ6DRj9rKtagJ9xF9vqfOD/7OB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@15.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266304},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"attw":"attw --pack . --profile esm-only","lint":"biome check && tsc --noEmit","test":"vitest","build":"tsc","publint":"publint","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","lint:packaging":"pnpm run publint && pnpm run attw","test:everything":"pnpm run lint && pnpm run test:coverage","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git+https://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ioredis":"^6.0.0","toad-cache":"^3.7.4"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.10","del-cli":"^7.0.0","publint":"^0.3.22","typescript":"^7.0.2","@types/node":"^26.1.2","@biomejs/biome":"^2.5.6","@vitest/coverage-v8":"^4.1.10","@arethetypeswrong/cli":"^0.18.5"},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_15.0.0_1785691451589_0.1763335322386812","host":"s3://npm-registry-packages-npm-production"}},"16.0.0":{"name":"layered-loader","version":"16.0.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@16.0.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","dist":{"shasum":"c7794a299e7290882abf8bb50278a153ab8f6521","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-16.0.0.tgz","fileCount":114,"integrity":"sha512-kF962i8fhNAffcbnkGyw5aewfh9vOFXaWURyFTOyLqpjlBU/rHdJcJ5GdSz3RF3UMXFTO1bG3XOzylJr1xZ6gQ==","signatures":[{"sig":"MEQCIHs4rPQKGYi9N2WItGkKpOr3g5bxWE4lJcqDq87EAwOPAiA7MU/K5pJfA0ZERIoa+b/ujBlqa1SFpc5qfwQO3+nKeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@16.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":284081},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"./redis":{"types":"./dist/redis.d.ts","default":"./dist/redis.js"},"./package.json":"./package.json"},"scripts":{"attw":"attw --pack . --profile esm-only","lint":"biome check && tsc --noEmit && pnpm run lint:redis-compat","test":"vitest","build":"tsc","publint":"publint","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","lint:packaging":"pnpm run publint && pnpm run attw","test:everything":"pnpm run lint && pnpm run test:coverage","lint:redis-compat":"tsc -p tsconfig.redis-compat.json","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git+https://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"toad-cache":"^3.7.4"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.10","del-cli":"^7.0.0","ioredis":"^6.0.0","publint":"^0.3.22","typescript":"^7.0.2","@types/node":"^26.1.2","@biomejs/biome":"^2.5.6","@vitest/coverage-v8":"^4.1.10","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"ioredis":"^6.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_16.0.0_1785697623819_0.24243775981423732","host":"s3://npm-registry-packages-npm-production"}},"16.1.0":{"name":"layered-loader","version":"16.1.0","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@16.1.0","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","dist":{"shasum":"8c1410b2820800210a925cc1cca49fca2572577c","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-16.1.0.tgz","fileCount":117,"integrity":"sha512-tS/cJOGnuvc0cI2Scpdq20hNBqVkZW3Z5b3jcm4sXXYey7XAlSH2FY8VV+C3+NXegCbhEpqc3tXbSQuX/o7Ibg==","signatures":[{"sig":"MEQCIGtgI1PBCpUNxZeH4jxrpgY9zCZbmWs//x+GPMNzpXtDAiBTET71RwXnNglJ0FKWSPYKdv7ZKdhqBuLF9WSPqsl2hA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@16.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":334206},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"./redis":{"types":"./dist/redis.d.ts","default":"./dist/redis.js"},"./package.json":"./package.json"},"scripts":{"attw":"attw --pack . --profile esm-only","lint":"biome check && tsc --noEmit && pnpm run lint:redis-compat","test":"vitest","build":"tsc","publint":"publint","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","lint:packaging":"pnpm run publint && pnpm run attw","test:everything":"pnpm run lint && pnpm run test:coverage","lint:redis-compat":"tsc -p tsconfig.redis-compat.json","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git+https://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"toad-cache":"^3.7.4"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.10","del-cli":"^7.0.0","ioredis":"^6.0.0","publint":"^0.3.22","typescript":"^7.0.2","@types/node":"^26.1.2","@biomejs/biome":"^2.5.6","@vitest/coverage-v8":"^4.1.10","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"ioredis":"^6.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_16.1.0_1786021014735_0.5564237147296658","host":"s3://npm-registry-packages-npm-production"}},"16.1.1":{"name":"layered-loader","version":"16.1.1","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"license":"MIT","_id":"layered-loader@16.1.1","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"homepage":"https://github.com/kibertoad/layered-loader","dist":{"shasum":"2b2da1722eb31b821e0f8bae023e692219cbf524","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-16.1.1.tgz","fileCount":117,"integrity":"sha512-PBsVPhUS9xZOVCBf3GDl0Qb8+vy3mL6RVukUrKLyxWlGQK4OgBUeLtENCD6XrcCm1JcgWxwAZ74R7ptZrVgr6w==","signatures":[{"sig":"MEUCIE+X00lf6ZD+GstfRBNhTEnkSRqGoS017BOpr8+0yMpBAiEAvXRyJcCLs/uY2V9Lh2L6qKyu+FuG7H4e/k0E2RpbLNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@16.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":335769},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"./redis":{"types":"./dist/redis.d.ts","default":"./dist/redis.js"},"./package.json":"./package.json"},"scripts":{"attw":"attw --pack . --profile esm-only","lint":"biome check && tsc --noEmit && pnpm run lint:redis-compat","test":"vitest","build":"tsc","publint":"publint","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","lint:packaging":"pnpm run publint && pnpm run attw","test:everything":"pnpm run lint && pnpm run test:coverage","lint:redis-compat":"tsc -p tsconfig.redis-compat.json","update:dependencies":"npx npm-check-updates -u"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"repository":{"url":"git+https://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"toad-cache":"^3.7.4"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.10","del-cli":"^7.0.0","ioredis":"^6.0.0","publint":"^0.3.22","typescript":"^7.0.2","@types/node":"^26.1.2","@biomejs/biome":"^2.5.6","@vitest/coverage-v8":"^4.1.10","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"ioredis":"^6.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/layered-loader_16.1.1_1788171814928_0.8349771219604383","host":"s3://npm-registry-packages-npm-production"}},"17.0.0":{"_id":"layered-loader@17.0.0","dist":{"shasum":"2c71b38ecb88e0528679eb7275afc81ac50dc2be","tarball":"https://registry.npmjs.org/layered-loader/-/layered-loader-17.0.0.tgz","fileCount":117,"integrity":"sha512-ofB3sZLjrlJ9b4W5sIT4PiuNldBT4j0Az7lOv26ZQgnqS/3zEBDKxaKgVO0joGvBgoKAOow1iTITjrhaDQiyiw==","signatures":[{"sig":"MEUCIBQZWrqq9wA+kgKjZpkv9q6MgnyItu1alnMKUqMx9OIgAiEAv/7RDb2Sz643+KwGly8wQQjUOv4sADAjABjU1DqyZ6Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCFVVab7r3f2l0kA7yNrr++POI/SPHtjkqzB9PeOG8VnQIhANu37YJJvJ3VuaKwIVseaHzAb+KG5HAeg0sXfwAvEiNJ"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/layered-loader@17.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":338674},"main":"dist/index.js","name":"layered-loader","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"./redis":{"types":"./dist/redis.d.ts","default":"./dist/redis.js"},"./package.json":"./package.json"},"license":"MIT","scripts":{"attw":"attw --pack . --profile esm-only","lint":"biome check && tsc --noEmit && pnpm run lint:redis-compat","test":"vitest","build":"tsc","publint":"publint","lint:fix":"biome check --write","docker:stop":"docker compose -f docker-compose.yml down","docker:start":"docker compose -f docker-compose.yml up --build -d redis && docker compose -f docker-compose.yml up --build -d wait_for_redis","build:release":"del-cli dist && del-cli coverage && pnpm run lint && pnpm run build","test:coverage":"vitest --coverage","lint:packaging":"pnpm run publint && pnpm run attw","test:everything":"pnpm run lint && pnpm run test:coverage","lint:redis-compat":"tsc -p tsconfig.redis-compat.json","update:dependencies":"npx npm-check-updates -u"},"version":"17.0.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e32cc245-050c-4685-813d-e2a8565a812b"}},"homepage":"https://github.com/kibertoad/layered-loader","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"repository":{"url":"git+https://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","directories":{},"maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"toad-cache":"^3.7.4"},"_hasShrinkwrap":false,"devDependencies":{"rfdc":"^1.4.1","vitest":"^4.1.10","del-cli":"^7.0.0","ioredis":"^6.0.0","publint":"^0.3.22","typescript":"^7.0.2","@types/node":"^26.1.2","@biomejs/biome":"^2.5.6","@vitest/coverage-v8":"^4.1.10","@arethetypeswrong/cli":"^0.18.5"},"peerDependencies":{"ioredis":"^6.0.0"},"peerDependenciesMeta":{"ioredis":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/layered-loader_17.0.0_1790065995115_0.9171920717111122"}}},"time":{"created":"2021-05-09T19:38:18.424Z","modified":"2026-09-22T08:33:16.064Z","1.0.0":"2021-05-09T19:38:18.577Z","1.0.1":"2021-05-10T15:39:59.137Z","2.0.0":"2021-12-06T17:25:13.671Z","3.0.0":"2022-10-07T22:38:19.878Z","4.0.0":"2022-10-11T08:42:49.527Z","4.1.0":"2022-10-11T22:28:23.786Z","4.1.1":"2022-10-11T22:34:34.635Z","4.1.2":"2022-10-11T23:08:44.792Z","4.2.0":"2022-10-12T10:53:47.527Z","5.0.0":"2022-11-14T13:04:39.293Z","5.1.0":"2022-11-15T15:42:33.677Z","5.1.1":"2022-11-24T10:44:19.517Z","5.1.2":"2022-11-25T11:00:50.037Z","5.1.3":"2022-12-05T21:19:12.836Z","5.1.4":"2023-02-28T12:44:49.214Z","5.1.5":"2023-02-28T15:41:48.018Z","6.0.0-next1":"2023-03-02T13:29:46.740Z","6.0.0-next2":"2023-03-02T17:06:19.962Z","6.0.0":"2023-03-03T08:43:04.797Z","7.0.0-next1":"2023-03-03T10:14:47.637Z","7.0.0":"2023-03-04T10:58:43.973Z","7.0.1":"2023-03-04T11:14:42.822Z","8.0.0-next1":"2023-03-04T16:45:02.661Z","8.0.0":"2023-03-04T18:45:33.690Z","8.0.1-next1":"2023-03-05T00:45:43.905Z","8.0.1":"2023-03-09T12:01:52.171Z","9.0.0":"2023-03-10T10:52:55.492Z","9.1.0":"2023-03-10T15:52:07.622Z","9.1.1":"2023-03-10T16:35:26.716Z","9.2.0":"2023-03-14T15:16:42.938Z","9.2.1":"2023-03-28T17:20:48.749Z","9.3.0":"2023-03-29T20:42:17.741Z","9.3.1":"2023-03-29T21:56:26.871Z","9.3.2":"2023-03-30T13:15:45.625Z","9.3.3-next1":"2023-04-07T13:29:45.851Z","9.3.3-next2":"2023-04-07T13:43:27.447Z","9.4.0":"2023-04-07T14:08:07.779Z","9.4.0-next1":"2023-04-08T12:13:18.756Z","9.4.0-next2":"2023-04-08T12:18:31.477Z","9.4.0-next3":"2023-04-08T13:32:05.378Z","9.4.0-next4":"2023-04-08T13:34:40.065Z","9.4.0-next5":"2023-04-08T13:50:17.879Z","9.5.0":"2023-04-08T14:31:51.517Z","9.5.1":"2023-04-08T14:59:20.695Z","9.6.0-next1":"2023-04-08T21:11:23.601Z","9.6.0":"2023-04-08T21:40:27.763Z","9.6.1":"2023-04-08T21:45:18.733Z","10.0.0-next1":"2023-04-09T14:11:11.617Z","10.0.0":"2023-04-09T14:15:17.097Z","10.1.0":"2023-05-25T08:01:52.189Z","11.0.0":"2023-06-14T09:52:57.901Z","11.0.1":"2023-06-14T20:34:36.748Z","12.0.0-beta1":"2023-09-09T17:28:44.371Z","12.0.0-beta2":"2023-09-09T18:17:03.127Z","12.0.0-beta3":"2023-09-10T12:13:53.379Z","12.0.0":"2023-09-10T20:56:07.743Z","12.1.0":"2023-09-10T21:53:02.450Z","12.2.0":"2023-09-11T20:38:10.902Z","12.3.0":"2023-09-11T21:26:37.824Z","12.3.1":"2023-10-29T19:19:22.577Z","12.4.0":"2023-10-29T21:02:05.775Z","12.4.1-RC1":"2023-11-29T23:07:15.782Z","12.4.1":"2023-11-29T23:23:02.100Z","12.5.0":"2023-12-07T22:50:30.815Z","12.6.0":"2024-01-07T17:56:45.160Z","12.7.0":"2024-01-09T12:04:51.363Z","13.0.0":"2024-01-13T15:20:53.144Z","13.0.1":"2024-01-13T18:26:43.941Z","13.0.2":"2024-01-13T18:28:46.850Z","13.1.0":"2024-04-19T16:06:13.293Z","13.2.0":"2024-06-09T17:17:36.840Z","13.3.0":"2024-10-31T12:01:07.093Z","14.0.0":"2025-01-03T14:55:22.175Z","14.0.1":"2025-01-06T21:57:28.852Z","14.1.0":"2025-09-30T07:15:39.236Z","14.2.0":"2025-10-07T15:28:27.914Z","14.2.2":"2025-12-08T11:03:36.451Z","14.2.3":"2026-02-21T00:08:53.921Z","14.3.0":"2026-03-17T11:48:59.741Z","14.3.1":"2026-04-22T12:57:39.652Z","14.4.0":"2026-05-27T11:03:47.325Z","14.4.1":"2026-06-19T08:57:47.115Z","14.5.0":"2026-07-03T10:32:51.350Z","14.5.1":"2026-07-03T11:53:12.648Z","14.5.2":"2026-07-03T13:02:25.264Z","14.5.3":"2026-07-04T18:42:26.902Z","15.0.0":"2026-08-02T17:24:11.724Z","16.0.0":"2026-08-02T19:07:04.017Z","16.1.0":"2026-08-06T12:56:54.898Z","16.1.1":"2026-08-31T10:23:35.073Z","17.0.0":"2026-09-22T08:33:15.486Z"},"license":"MIT","homepage":"https://github.com/kibertoad/layered-loader","keywords":["data","loader","load","loading","cache","caching","fallback","alternate","source","redis","memory","fifo","lru","read-through","refresh-ahead"],"repository":{"url":"git+https://github.com/kibertoad/layered-loader.git","type":"git"},"description":"Data loader with support for caching and fallback data sources ","maintainers":[{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"carlos_gamero","email":"carlos.gamero@lokalise.com"}],"readme":"<div align=\"center\">\n    <img\n      src=\"https://raw.githubusercontent.com/kibertoad/layered-loader/main/graphics/raw/layered-loader_full-color_transparent.svg\"\n      width=\"260\"\n      height=\"auto\"\n    />\n  </a>\n</div>\n\n[![npm version](http://img.shields.io/npm/v/layered-loader.svg)](https://npmjs.org/package/layered-loader)\n[![](https://img.shields.io/npm/dm/layered-loader.svg)](https://npmjs.org/package/layered-loader)\n![](https://github.com/kibertoad/layered-loader/workflows/ci/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/kibertoad/layered-loader/badge.svg?branch=main)](https://coveralls.io/r/kibertoad/layered-loader?branch=main)\n \nData source agnostic data loader with support for tiered in-memory and async caching, fetch deduplication and fallback data sources. Implements Cache-Aside, Read-Through and Refresh-Ahead patterns.\n\nSpecial thanks to Diana Baužytė for creating the project logo.\n\nYou can watch [NodeConf EU 2023 talk](https://www.youtube.com/watch?v=O0Nk3XhxxYg) for a brief and visual overview of what new features `layered-loader` brings to the table of the Node.js caching.\n\n## Contents\n\n- [Prerequisites](#prerequisites)\n- [Entrypoints](#entrypoints)\n- [Use-cases](#use-cases)\n- [Feature Comparison](#feature-comparison)\n- [Performance Comparison](#performance-comparison)\n  - [In-Memory Store](#in-memory-store)\n  - [Redis Store](#redis-store)\n- [Basic concepts](#basic-concepts)\n- [Basic example](#basic-example)\n  - [Simplified loader syntax](#simplified-loader-syntax)\n- [Loader API](#loader-api)\n- [Parametrized loading](#parametrized-loading)\n- [Update notifications](#update-notifications)\n  - [Available notification adapters](#available-notification-adapters)\n  - [Picking a notification adapter](#picking-a-notification-adapter)\n  - [Redis pub/sub](#redis-pubsub)\n  - [AWS SNS/SQS](#aws-snssqs)\n    - [How fanout works](#how-fanout-works)\n- [Flexible invalidation triggers](#flexible-invalidation-triggers)\n  - [Recommended pattern: Redis fanout + SQS trigger](#recommended-pattern-redis-fanout--sqs-trigger)\n  - [SNS/SQS adapter](#snssqs-adapter)\n- [Applying invalidations from your own transport](#applying-invalidations-from-your-own-transport)\n- [Background work](#background-work)\n- [Isolate runtimes with no invalidation bus](#isolate-runtimes-with-no-invalidation-bus)\n  - [Hoist the loader to isolate scope](#hoist-the-loader-to-isolate-scope)\n  - [Pull invalidations instead of pushing them](#pull-invalidations-instead-of-pushing-them)\n  - [Hand background work to the request](#hand-background-work-to-the-request)\n  - [Validating on every read](#validating-on-every-read)\n  - [What the library does not do](#what-the-library-does-not-do)\n- [Cache statistics](#cache-statistics)\n- [Cache-only operations](#cache-only-operations)\n  - [Forcing an update](#forcing-an-update)\n  - [Forcing a specific value](#forcing-a-specific-value)\n- [Usage in high-performance systems](#usage-in-high-performance-systems)\n  - [Synchronous short-circuit](#synchronous-short-circuit)\n  - [Preemptive background refresh](#preemptive-background-refresh)\n  - [Conditional refresh with a staleness check](#conditional-refresh-with-a-staleness-check)\n- [Group operations](#group-operations)\n- [Provided async caches](#provided-async-caches)\n  - [RedisCache](#rediscache)\n- [Redis connection safety](#redis-connection-safety)\n  - [Automatic READONLY reconnection](#automatic-readonly-reconnection)\n  - [Using `enrichRedisConfig` for your own connections](#using-enrichredisconfig-for-your-own-connections)\n  - [Cloud-optimized configuration](#cloud-optimized-configuration)\n\n## Prerequisites\n\nNode: 22+\n\n`layered-loader` is an ESM-only package. It is published as ECMAScript modules with an `exports` map\nand has no CommonJS build, so it is consumed with `import` from ESM code (or with a dynamic\n`await import('layered-loader')` from CommonJS). Only the entrypoints listed below and\n`package.json` are exported — reaching into `layered-loader/dist/...` is not supported.\n\n## Entrypoints\n\nThe package is split into two subpath entrypoints so that consumers who do not run Redis never pull\n`ioredis` into their module graph, or into the types they compile against:\n\n| Entrypoint             | Contents                                                                                                                                     | Can reach `ioredis`? |\n| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |\n| `layered-loader/core`  | `Loader`, `GroupLoader`, `ManualCache`, `ManualGroupCache`, the in-memory caches, `AbstractNotificationConsumer`, key resolvers, all types      | Never                |\n| `layered-loader/redis` | `RedisCache`, `RedisGroupCache`, `createNotificationPair`, `createGroupNotificationPair`, the Redis publishers/consumers, `enrichRedisConfig`   | Only when you construct a client from connection options |\n| `layered-loader`       | Everything from both of the above                                                                                                              | Same as `/redis`     |\n\nThe root entrypoint is a plain `export *` of both, so it remains a superset of the other two and\nexisting imports keep working unchanged.\n\nIf your infrastructure has no Redis — or you are targeting a runtime that cannot load a Node-only\nclient at all, such as Cloudflare Workers — import from `layered-loader/core`:\n\n```ts\nimport { Loader, type InMemoryCacheConfiguration } from 'layered-loader/core'\n\nconst loader = new Loader<string>({\n  inMemoryCache: { ttlInMsecs: 60_000 } satisfies InMemoryCacheConfiguration,\n  dataSourceGetOneFn: (key) => fetchFromApi(key),\n})\n```\n\nNothing reachable from `layered-loader/core` imports `ioredis`, or even a `node:` builtin — its\nonly runtime dependency is `toad-cache`. Importing cleanly is necessary but not sufficient on an\nisolate runtime, though: see\n[Isolate runtimes with no invalidation bus](#isolate-runtimes-with-no-invalidation-bus) for how to\nkeep the cache alive across invocations, invalidate it without a bus, and stop background work from\noutliving its request.\n\nRedis usage keeps its own entrypoint:\n\n```ts\nimport { RedisCache } from 'layered-loader/redis'\n```\n\n### How optional `ioredis` really is\n\n`ioredis` is an **optional peer dependency**: it is not installed unless you ask for it, and\nnothing in the package touches it — as a value or as a type — until you construct a client from\nconnection options.\n\nAdd it to your own `package.json` only if you use Redis:\n\n```jsonc\n// your package.json — only needed if you use the Redis entrypoint\n\"dependencies\": {\n  \"ioredis\": \"^6.0.0\"\n}\n```\n\n#### What that buys you, precisely\n\nFour different things get conflated under \"optional\". All four hold here, and they are worth\nseparating:\n\n|                                            | `layered-loader/core` | `layered-loader/redis` and the root |\n| ------------------------------------------ | --------------------- | ----------------------------------- |\n| Installed unless you ask for it             | No                    | No                                  |\n| Loaded when you import the entrypoint       | No                    | No — resolved lazily                |\n| Present in the types you compile against    | No                    | No — vendored structurally          |\n| Needed at runtime                           | Never                 | Only to construct a client from connection options |\n\nSo every entrypoint imports cleanly with `ioredis` absent from `node_modules` entirely, and\n`layered-loader` type-checks under `skipLibCheck: false` without it. The surface this package uses\nis vendored as structural interfaces in `lib/redis/RedisLike.ts`, and a CI type-check asserts they\nstill match the real `ioredis` declarations, so they cannot drift silently.\n\n#### When you do need it installed\n\nYou need `ioredis` in your own dependencies if either of these is true:\n\n- **You use `RedisCache` or `RedisGroupCache`.** These take a client you construct yourself, so you\n  are importing `ioredis` directly anyway.\n- **You call `createNotificationPair` / `createGroupNotificationPair` with plain connection options**\n  rather than with a client. That constructs a client internally, and throws an actionable error if\n  `ioredis` is missing:\n\n  > Constructing a Redis client from connection options requires the optional peer dependency\n  > \"ioredis\" to be installed. Install it, or pass an already-constructed client instead.\n\n  Passing an already-constructed client avoids that path entirely.\n\n#### Bundling\n\nBecause `ioredis` is reached through a lazy `require`, bundlers cannot see it and will not inline\nit. That is the right behaviour for an optional peer — it is your dependency, not this package's —\nbut it has a consequence worth knowing before you deploy: if you bundle an app that constructs\nclients from connection options, `ioredis` must still be resolvable at runtime. Keep it in\n`node_modules` next to the bundle, or add it to your bundler's input explicitly. Bundling\n`layered-loader/core` needs none of this.\n\n#### Verifying it yourself\n\nTo confirm that no part of your own app drags `ioredis` in, run this against your entrypoint — it\nrecords every specifier Node actually resolves, so it sees static imports, dynamic `import()` and\n`require()` alike:\n\n```js\nimport { registerHooks } from 'node:module'\n\nconst loaded = new Set()\nregisterHooks({\n  resolve(specifier, context, nextResolve) {\n    loaded.add(specifier)\n    return nextResolve(specifier, context)\n  },\n})\n\nawait import('./your-app.js')\n\nconst redis = [...loaded].filter((specifier) => specifier.includes('ioredis'))\nconsole.log(redis.length ? `loaded: ${redis.join(', ')}` : 'ioredis was never loaded')\n```\n\n#### Cache invalidation without Redis\n\nIf you reached for Redis only to invalidate caches across instances, you do not need it at all:\n[`@layered-loader/sqs`](./packages/sqs) provides the same notification publisher/consumer pair over\nSNS/SQS, and imports from `layered-loader/core`.\n\n## Use-cases\n\nThis library has four main goals:\n\n1. Provide transparent, high performance, flexible caching mechanism for data retrieval operations;\n2. Prevent redundant data retrieval in high-load systems;\n3. Support distributed in-memory cache invalidation to prevent stale data in cache;\n4. Enable fallback mechanism for retrieving data when alternate sources exist;\n\n## Feature Comparison\n\nSince there are a few cache solutions, here is a table comparing them:\n\n| Feature                                          | [layered-loader](https://github.com/kibertoad/layered-loader) | [async-cache-dedupe](https://github.com/mcollina/async-cache-dedupe) | [dataloader](https://github.com/graphql/dataloader) | [cache-manager](https://github.com/node-cache-manager/node-cache-manager) |\n| :----------------------------------------------- | :-----------------------------------------------------------: | :------------------------------------------------------------------: | :-------------------------------------------------: | :-----------------------------------------------------------------------: |\n| Single Entity Fetch                              |                               ✓                               |                                  ✓                                   |                          ✓                          |                                     ✓                                     |\n| Bulk Entity Fetch                                |                               ✓                               |                                                                      |                          ✓                          |                                     ✓                                     |\n| Single Entity Fetch Deduplication (Read-Through) |                               ✓                               |                                  ✓                                   |                          ✓                          |                                                                           |\n| Bulk Entity Fetch Deduplication                  |                               ✓                               |                                                                      |                          ✓                          |                                                                           |\n| Preemptive Cache Refresh (Refresh-Ahead)         |                               ✓                               |                                                                      |                                                     |                                                                           |\n| Tiered Caches                                    |                               ✓                               |                                                                      |                                                     |                                     ✓                                     |\n| Group Support                                    |                               ✓                               |                partially, references for invalidation                |                                                     |                                                                           |\n| Redis Support                                    |                               ✓                               |                                  ✓                                   |                                                     |                                     ✓                                     |\n| Redis Key Auto-Prefixing                         |                               ✓                               |                                                                      |                                                     |                                                                           |\n| Synchronous In-Memory Cache Access               |                               ✓                               |                                                                      |                                                     |                                                                           |\n| Distributed In-Memory Cache Invalidation         |                               ✓                               |                                                                      |                                                     |                                                                           |\n| Hit/Miss/Expiration Tracking                     |                               ✓                               |                      partially, hooks available                      |                                                     |                                                                           |\n| Support For Custom Cache Stores                  |                               ✓                               |                                                                      |                                                     |                                     ✓                                     |\n| Optimized for                                    |                        Broad‑Scope Use                        |                  Single Entity Fetch Deduplication                   |           Bulk Entity Fetch Deduplication           |                              Manual Caching                               |\n\n## Performance Comparison\n\nYou can find all the benchmarks used for the comparison in [NodeJS benchmark repo](https://github.com/kibertoad/nodejs-benchmark-tournament). Please let us know if they can be made more accurate!\n\n### In-Memory Store\n\nHigher is better:\n\n| Feature - Ops/sec              | [layered-loader](https://github.com/kibertoad/layered-loader) | [async-cache-dedupe](https://github.com/mcollina/async-cache-dedupe) | [dataloader](https://github.com/graphql/dataloader) | [cache-manager](https://github.com/node-cache-manager/node-cache-manager) | [toad-cache](https://github.com/kibertoad/toad-cache) | [tiny-lru](https://github.com/avoidwork/tiny-lru) |\n| :----------------------------- | :-----------------------------------------------------------: | :------------------------------------------------------------------: | :-------------------------------------------------: | :-----------------------------------------------------------------------: | :---------------------------------------------------: | :-----------------------------------------------: |\n| Single Entity Fetch            |                           3836.436                            |                               446.146                                |                       717.420                       |                                   ToDo                                    |                       4191.279                        |                     3818.146                      |\n| Bulk Entity Fetch              |                                                               |                                                                      |                                                     |                                                                           |                                                       |                                                   |\n| Concurrent Single Entity Fetch |                                                               |                                                                      |                                                     |                                                                           |                                                       |                                                   |\n| Concurrent Bulk Entity Fetch   |                                                               |                                                                      |                                                     |                                                                           |                                                       |                                                   |\n\n### Redis Store\n\nHigher is better:\n\n| Feature - Ops/sec              | [layered-loader](https://github.com/kibertoad/layered-loader) | [async-cache-dedupe](https://github.com/mcollina/async-cache-dedupe) | [cache-manager](https://github.com/node-cache-manager/node-cache-manager) | [ioredis](https://github.com/redis/ioredis) |\n| :----------------------------- | :-----------------------------------------------------------: | :------------------------------------------------------------------: | :-----------------------------------------------------------------------: | :-----------------------------------------: |\n| Single Entity Fetch            |                                                               |                                                                      |                                                                           |                                             |\n| Bulk Entity Fetch              |                                                               |                                                                      |                                                                           |                                             |\n| Concurrent Single Entity Fetch |                            167.745                            |                               124.854                                |                                  40.234                                   |                   47.775                    |\n| Concurrent Bulk Entity Fetch   |                                                               |                                                                      |                                                                           |                                             |\n\n## Basic concepts\n\n###\n\nThere are two main entity types defined by `layered-loader`:\n\n1. **Loader** - defined procedure of retrieving data from one or more data sources with full deduplication (same resource is only asked once at any given time), with an optional caches in the middle. Loader is composed of Data Sources and Caches.\n2. **Manual cache** - async cache and/or sync in-memory cache, with deduplication for retrieval commands, which is populated explicitly.\n\nLoaders and caches are composed out of the following building blocks.\n\n1. **InMemoryCache** - synchronous in-memory cache. Offers highest possible performance. If used with a longer TTL, you should consider using a notification Publisher/Consumer pair for distributed cache invalidation, to prevent your cached data from becoming stale;\n2. **AsyncCache** - asynchronous remote cache. Slower than in-memory cache, but can be invalidated more easily, as it is shared across all nodes of a distributed system.\n3. **Data Source** - primary source of truth of data, that can be used for populating caches. Used in a strictly read-only mode.\n\n- `layered-loader` will try loading the data from the data source defined for the Loader, in the following order: InMemory, AsyncCache, DataSources. In case `undefined` value is the result of retrieval, next source in sequence will be used, until there is either a value, or there are no more sources available;\n- `null` and `undefined` have different semantics:\n  - `null` means \"value was successfully resolved, but it is empty\" - this **will be cached** and subsequent data sources will not be queried;\n  - `undefined` means \"value was not resolved\" - this **will NOT be cached** and the next data source in the sequence will be queried. If all data sources return `undefined`, the Loader returns `undefined` without caching anything;\n- If non-last data source throws an error, it is handled using configured ErrorHandler. If the last data source throws an error, and there are no remaining fallback data sources, an error will be thrown by the Loader.\n- If any caches (InMemoryCache or AsyncCache) precede the source, that returned a value, all of them will be updated with that value;\n- If there is an ongoing retrieval operation for the given key, promise for that retrieval will be reused and returned as a result of `loader.get`, instead of starting a new retrieval.\n- You can use just the memory cache, just the asynchronous one, neither, or both. Unconfigured layer will be simply skipped for all operations (both storage and retrieval).\n\n## Basic example\n\nLet's define a data source, which will be the primary source of truth, and two levels of caching:\n\n```ts\nimport Redis from 'ioredis'\nimport { RedisCache, InMemoryCache } from 'layered-loader'\nimport type { DataSource } from 'layered-loader'\n\nconst ioRedis = new Redis({\n  host: 'localhost',\n  port: 6379,\n  password: 'sOmE_sEcUrE_pAsS',\n})\n\nclass ClassifiersDataSource implements DataSource<Record<string, any>> {\n  private readonly db: Knex\n  name = 'Classifiers DB loader'\n  isCache = false\n\n  constructor(db: Knex) {\n    this.db = db\n  }\n\n  async get(key: string): Promise<Record<string, any> | undefined | null> {\n    const results = await this.db('classifiers')\n      .select('*')\n      .where({\n        id: parseInt(key),\n      })\n    return results[0]\n  }\n\n  async getMany(keys: string[]): Promise<Record<string, any>[]> {\n    return this.db('classifiers').select('*').whereIn('id', keys.map(parseInt))\n  }\n}\n\nconst loader = new Loader<string>({\n  // this cache will be checked first\n  inMemoryCache: {\n    cacheType: 'lru-map', // you can choose between lru and fifo caches, fifo being 10% slightly faster\n                          // 'lru-object' is another option, it is slightly faster for non-string keys\n    ttlInMsecs: 1000 * 60,\n    maxItems: 100,\n  },\n\n  // this cache will be checked if in-memory one returns undefined\n  asyncCache: new RedisCache<string>(ioRedis, {\n    json: true, // this instructs loader to serialize passed objects as string and deserialize them back to objects\n    ttlInMsecs: 1000 * 60 * 10,\n  }),\n\n  // this will be used if neither cache has the requested data\n  dataSources: [new ClassifiersDataSource(db)],\n})\n\n// If cache is empty, but there is data in the DB, after this operation is completed, both caches will be populated\nconst classifier = await loader.get('1')\n```\n\n### Simplified loader syntax\n\nIt is also possible to inline datasource definition:\n\n```ts\nconst loader = new Loader<string>({\n  // this cache will be checked first\n  inMemoryCache: {\n    cacheType: 'lru-map', // you can choose between lru and fifo caches, fifo being 10% slightly faster\n                          // 'lru-object' is another option, it is slightly faster for non-string keys\n    ttlInMsecs: 1000 * 60,\n    maxItems: 100,\n  },\n\n  // this cache will be checked if in-memory one returns undefined\n  asyncCache: new RedisCache<string>(ioRedis, {\n    json: true, // this instructs loader to serialize passed objects as string and deserialize them back to objects\n    ttlInMsecs: 1000 * 60 * 10,\n  }),\n\n  // data source will be generated from one or both provided data loading functions\n  dataSourceGetOneFn: async (key: string) => {\n    const results = await this.db('classifiers')\n      .select('*')\n      .where({\n        id: parseInt(key),\n      })\n    return results[0]\n  },\n  dataSourceGetManyFn: (keys: string[]) => {\n    return this.db('classifiers').select('*').whereIn('id', keys.map(parseInt))\n  },\n})\n\n// If cache is empty, but there is data in the DB, after this operation is completed, both caches will be populated\nconst classifier = await loader.get('1')\n```\n\n## Loader API\n\nLoader has the following config parameters:\n\n- `throwIfUnresolved: boolean` - if true, error will be thrown if all data sources return `undefined`;\n- `throwIfLoadError: boolean` - if true, error will be thrown if any Loader throws an error;\n- `cacheUpdateErrorHandler: LoaderErrorHandler` - error handler to use when cache throws an error during update;\n- `loadErrorHandler: LoaderErrorHandler` - error handler to use when non-last data source throws an error during data retrieval.\n- `cacheKeyFromLoadParamsResolver: CacheKeyResolver<LoadParams>` - mapper from LoadParams to a cache key. Defaults to a simple string passthrough when LoadParams are just a string key to begin with (which is the default)\n- `cacheKeyFromValueResolver: CacheKeyResolver<LoadParams>` - mapper from entity to be cached to a cache key. Defaults to a dummy resolver which throws an error when methods that depend on it are used. Make sure to provide a real resolver if you are using the bulk API (getMany/getManyFromGroup)\n- `isEntryStillCurrentFn` - optional lightweight staleness check that lets an entry entering the refresh window bump its TTL instead of refetching. See [Conditional refresh with a staleness check](#conditional-refresh-with-a-staleness-check).\n- `scheduleBackgroundWork: BackgroundWorkScheduler` - optional hook for work the loader starts and does not await (background refreshes, staleness probes, notification publishes). Defaults to leaving that work detached. See [Background work](#background-work).\n\nLoader provides following methods:\n\n- `invalidateCacheFor(key: string): Promise<void>` - expunge all entries for given key from all caches of this Loader;\n- `invalidateCacheForMany(keys: string[]): Promise<void>` - expunge all entries for given keys from all caches of this Loader;\n- `invalidateCache(): Promise<void>` - expunge all entries from all caches of this Loader;\n- `applyRemoteInvalidationFor(key: string): void`, `applyRemoteInvalidationForMany(keys: string[]): void`, `applyRemoteValue(key: string, value: T | null): void`, `applyRemoteInvalidation(): void` - apply an invalidation (or a value) that originated on another node, without re-publishing it. See [Applying invalidations from your own transport](#applying-invalidations-from-your-own-transport);\n- `get(loadParams: LoadParams = string): Promise<T>` - sequentially attempt to retrieve data for specified key from all caches and loaders, in an order in which those data sources passed to the Loader constructor.\n- `getMany(keys: string[], loadManyParams?: LoadManyParams = LoadParams): Promise<(T | null)[]>` - sequentially attempt to retrieve data for specified keys from all caches and data sources, in an order in which those data sources were passed to the Loader constructor. Duplicate keys in the input array are automatically deduplicated to optimize performance and prevent redundant data source calls. Note that this retrieval mode doesn't support preemptive background refresh. Note that you need to manually resolve all keys upfront for this retrieval method (e. g. by using cacheKeyFromLoadParamsResolver from the Loader). The returned array holds only the values that resolved, in no particular order - it is not positionally aligned with `keys`, and keys that resolved to nothing are simply absent. Explicitly cached `null` values *are* present, so handle them when you map over the result.\n\n## Parametrized loading\n\nSometimes you need to pass additional parameters for loader in case it will need to refill the cache, such as JWT token (for external calls) or additional query parameters (for a DB call).\nYou can use optional generic `LoadParams` for that:\n\n```ts\nimport type { DataSource } from 'layered-loader'\n\nexport type MyLoaderParams = {\n  jwtToken: string\n  entityId: string\n}\n\nexport type MyLoaderManyParams = {\n  jwtToken: string\n}\n\nclass MyParametrizedDataSource implements DataSource<string, MyLoaderParams, MyLoaderManyParams> {\n  async get(params: MyLoaderParams): Promise<string | undefined | null> {\n    const resolvedValue = await someResolutionLogic(params.entityId, params.jwtToken)\n    return resolvedValue\n  }\n\n  async getMany(entityIds: string[], params?: MyLoaderManyParams): Promise<string[]> {\n    if (!params) {\n        throw new Error('Load params are mandatory for MyParametrizedDataSource')\n    } \n      \n    const resolvedValues = await someBulkResolutionLogic(entityIds, params.jwtToken)\n    return resolvedValues\n  }\n}\n\nconst loader = new Loader<string, MyLoaderParams>({\n  inMemoryCache: IN_MEMORY_CACHE_CONFIG,\n  dataSources: [new MyParametrizedDataSource()],\n  cacheKeyFromLoadParamsResolver: (params) => params.entityId // if unique id consists of more than one field, you can concatenate them here\n})\nawait operation.get({ jwtToken: 'someTokenValue', entityId: 'key' })\n```\n\n## Update notifications\n\nIt is possible to mostly rely on fast in-memory caches and still keep data in sync across multiple nodes in a distributed system. In order to achieve this, you need to use Notification Publisher/Consumer pair.\nThe way it works - whenever there is an invalidation event within the loader (`invalidate`, `invalidateFor` or `invalidatForGroup` methods are invoked), publisher sends a fanout notification to all subscribed consumers, and they invalidate their own caches as well.\n\n### Available notification adapters\n\n| Transport | Package | One-liner |\n| --- | --- | --- |\n| **Redis pub/sub** (default) | Built-in (`createNotificationPair` from `layered-loader`) | Lowest latency, no per-instance queue setup, no lifecycle management. |\n| AWS SNS + SQS | [`@layered-loader/sqs`](packages/sqs/README.md) | AWS-native fanout via one SNS topic and per-instance SQS queues. |\n\nBoth adapters implement the same `notificationPublisher` / `notificationConsumer` contract — the rest of your Loader configuration does not change when you swap one for the other.\n\n### Picking a notification adapter\n\n**Prefer Redis pub/sub.** It is the simplest path operationally — no per-instance resources to provision or reap, no AWS quotas to worry about, no extra latency. Use Redis pub/sub whenever your stack already runs Redis (which it almost always does if you are using `RedisCache`).\n\nThe SNS/SQS adapter exists for two situations:\n\n1. **You cannot run Redis** (e.g. a hard \"AWS-managed services only\" policy). Use the SNS/SQS adapter end-to-end. This works, but the per-instance SQS queue model has real operational costs — every restart with a fresh `HOSTNAME` leaks an SQS queue + SNS subscription unless you also use stable queue names.\n2. **You need to consume upstream AWS events** (an SNS topic owned by another service) and turn them into cache invalidations. In this case the **recommended pattern is a hybrid**: Redis pub/sub for the cache cluster's own fanout, plus an SQS trigger reading the upstream topic. The trigger applies invalidations directly to your `Loader`, and the loader's Redis publisher handles fan-out. See [Flexible invalidation triggers](#flexible-invalidation-triggers).\n\n### Redis pub/sub\n\nHere is an example:\n\n```ts\nimport Redis from 'ioredis'\nimport type { RedisOptions } from 'ioredis'\nimport { createNotificationPair, Loader } from 'layered-loader'\n\nconst redisOptions: RedisOptions = {\n  host: 'localhost',\n  port: 6379,\n  password: 'sOmE_sEcUrE_pAsS',\n}\n\nexport type User = {\n  // some type\n}\n\nconst redisPublisher = new Redis(redisOptions)\nconst redisConsumer = new Redis(redisOptions)\nconst redisCache = new Redis(redisOptions)\n\nconst { publisher: notificationPublisher, consumer: notificationConsumer } = createNotificationPair<User>({\n  channel: 'user-cache-notifications',\n  consumerRedis: redisConsumer, // you can pass redis config instead\n  publisherRedis: redisPublisher, // you can pass redis config instead\n})\n\nconst userLoader = new Loader({\n  inMemoryCache: { ttlInMsecs: 1000 * 60 * 5 },\n  asyncCache: new RedisCache<User>(redisCache, {\n    ttlInMsecs: 1000 * 60 * 60,\n  }),\n  notificationConsumer,\n  notificationPublisher,\n})\n\nawait userLoader.init() // this will ensure that consumers have definitely finished registering on startup, but is not required\n\nawait userLoader.invalidateCacheFor('key') // this will transparently invalidate cache across all instances of your application\n```\n\nThere is an equivalent for group loaders as well:\n\n```ts\nimport Redis from 'ioredis'\nimport type { RedisOptions } from 'ioredis'\nimport { createGroupNotificationPair, GroupLoader } from 'layered-loader'\n\nconst redisOptions: RedisOptions = {\n  host: 'localhost',\n  port: 6379,\n  password: 'sOmE_sEcUrE_pAsS',\n}\n\nexport type User = {\n  // some type\n}\n\nconst redisPublisher = new Redis(redisOptions)\nconst redisConsumer = new Redis(redisOptions)\nconst redisCache = new Redis(redisOptions)\n\nconst { publisher: notificationPublisher, consumer: notificationConsumer } = createGroupNotificationPair<User>({\n  channel: 'user-cache-notifications',\n  consumerRedis: redisConsumer,\n  publisherRedis: redisPublisher,\n})\n\nconst userLoader = new GroupLoader({\n  inMemoryCache: { ttlInMsecs: 1000 * 60 * 5 },\n  asyncCache: new RedisCache<User>(redisCache, {\n    ttlInMsecs: 1000 * 60 * 60,\n  }),\n  notificationConsumer,\n  notificationPublisher,\n})\n\nawait userLoader.init() // this will ensure that consumers have definitely finished registering on startup, but is not required\n\nawait userLoader.invalidateCacheFor('key', 'group') // this will transparently invalidate cache across all instances of your application\n```\n\n### AWS SNS/SQS\n\n[`@layered-loader/sqs`](packages/sqs/README.md) provides a drop-in publisher/consumer pair backed by an SNS topic with one SQS queue **per instance**. The shape of the configuration mirrors the Redis pair — only the adapter changes.\n\n#### How fanout works\n\nSQS on its own is a competing-consumer queue: if every node read from the same queue, each invalidation would be delivered to only one of them and the rest would silently keep stale data. To get pub/sub-style fanout the adapter uses the SNS-fanout-to-SQS pattern:\n\n1. There is **one shared SNS topic** (named in `creationConfig.topic.Name` — the same on every instance).\n2. Each instance creates its **own SQS queue** subscribed to that topic. SNS delivers a copy of every published message to every subscribed queue.\n3. Each instance consumes only its own queue, so it sees every invalidation exactly once.\n\nThis means **each instance must pass a unique `QueueName`** in its consumer's `creationConfig.queue`. The example below uses `process.env.HOSTNAME` for that — any per-instance identifier works (pod name, ECS task id, etc.). If two instances share a queue name they will share the queue and compete for messages, and roughly half the invalidations will be missed by each of them.\n\nIn `locatorConfig` mode the same rule applies, just shifted to provisioning: each instance must be pointed at its own pre-created `queueUrl` / `subscriptionArn`.\n\nThe publisher side is the opposite — all instances publish to the **same** topic ARN, so a single shared `topic.Name` in the publisher's `creationConfig` is correct (and required for the fanout to reach every subscriber).\n\n\n```ts\nimport { Loader } from 'layered-loader'\nimport { createNotificationPair } from '@layered-loader/sqs'\n\nconst { publisher: notificationPublisher, consumer: notificationConsumer } =\n  createNotificationPair<User>({\n    publisher: {\n      dependencies: pubDeps,\n      creationConfig: { topic: { Name: 'user-cache-invalidations' } },\n    },\n    consumer: {\n      dependencies: consumerDeps,\n      creationConfig: {\n        topic: { Name: 'user-cache-invalidations' },\n        // Each instance MUST use a unique queue name (e.g. include the host id):\n        queue: { QueueName: `user-cache-invalidations-${process.env.HOSTNAME}` },\n      },\n    },\n  })\n\nconst userLoader = new Loader<User>({\n  inMemoryCache: { ttlInMsecs: 1000 * 60 * 5 },\n  asyncCache: yourAsyncCache,\n  notificationConsumer,\n  notificationPublisher,\n})\n\nawait userLoader.invalidateCacheFor('key')\n```\n\n`createGroupNotificationPair` from the same package is the `GroupLoader` equivalent. See the [package README](packages/sqs/README.md) for the full configuration reference (locator vs creation config, self-message filtering, AWS SDK dependencies, etc.).\n\n## Flexible invalidation triggers\n\nCache invalidations often need to fire in response to *upstream* domain events — a `user.updated` message published by another service onto an SNS topic, SQS queue, RabbitMQ exchange, or Kafka topic — rather than from writes inside the application that owns the cache. Wiring those events in usually means writing bespoke glue per service.\n\nLayered-loader ships transport-agnostic primitives for that translation step, complementary to the cluster fanout described [above](#update-notifications):\n\n- `InvalidationAction` / `GroupInvalidationAction` — the invalidation operations a resolver may emit.\n- `InvalidationResolver<TMessage, TAction>` — a pure function `(message) => action | action[] | null` that maps an upstream message to invalidations.\n- `InvalidationTrigger` — `start()` / `stop()` lifecycle interface implemented by every adapter.\n\nA trigger consumes from one or more upstream sources, runs your resolver, and applies the resulting actions directly to a target — typically your `Loader` or `GroupLoader`. The loader already knows how to invalidate its own in-memory and async caches and (if you configured a notification pair) how to fan the invalidation out to peer instances, so the trigger reuses that machinery rather than introducing a second publication path.\n\n### Recommended pattern: Redis fanout + SQS trigger\n\nIf your upstream is AWS-native (an SNS topic owned by another service) but your own infrastructure runs Redis, this is the **recommended setup**. You get AWS-native event ingestion *without* the per-instance SQS queue lifecycle problem, because the trigger queue can be **shared across every instance**:\n\n- The cache cluster's own notification pair is Redis pub/sub. Every Loader invalidation fans out via Redis — sub-ms latency, no per-instance queues, no cleanup.\n- A single SQS queue is subscribed to the upstream SNS topic. Each instance runs the trigger code; SQS's competing-consumer semantics mean only **one** instance processes each upstream event.\n- That instance's trigger calls `loader.invalidateCacheFor(...)`, the loader writes through to the local in-memory + async caches, and the loader's Redis publisher propagates to every other instance.\n\n```ts\nimport { z } from 'zod'\nimport Redis from 'ioredis'\nimport { createNotificationPair, Loader } from 'layered-loader'\nimport { SnsTopicInvalidationTrigger } from '@layered-loader/sqs'\n\nconst USER_EVENT = z.object({ type: z.literal('user.updated'), userId: z.string() })\nconst redisOptions = { host: 'redis', port: 6379 }\n\n// 1. The cache cluster's own invalidation pair — pure Redis pub/sub.\nconst { publisher: notificationPublisher, consumer: notificationConsumer } =\n  createNotificationPair<User>({\n    channel: 'user-cache-invalidations',\n    publisherRedis: new Redis(redisOptions),\n    consumerRedis: new Redis(redisOptions),\n  })\n\nconst userLoader = new Loader<User>({\n  inMemoryCache: { ttlInMsecs: 1000 * 60 * 5 },\n  asyncCache: yourAsyncCache,\n  notificationConsumer,\n  notificationPublisher,\n})\nawait userLoader.init()\n\n// 2. The trigger applies invalidations directly to the loader. The trigger\n//    queue is SHARED across every instance (no ${HOSTNAME} suffix) — SQS\n//    delivers each upstream event to exactly one of them.\nconst trigger = new SnsTopicInvalidationTrigger({\n  target: userLoader,\n  dependencies: consumerDeps,\n  sources: [\n    {\n      creationConfig: {\n        topic: { Name: 'domain-events.users' },                  // upstream service's topic\n        queue: { QueueName: 'user-cache-invalidation-trigger' }, // SHARED across all instances\n      },\n      bindings: [\n        { messageSchema: USER_EVENT, resolver: (msg) => ({ kind: 'delete', key: msg.userId }) },\n      ],\n    },\n  ],\n})\nawait trigger.start()\n```\n\nWhy this is the right default for AWS-upstream consumption:\n\n- **No queue churn.** One SQS queue exists, regardless of how many pods run.\n- **No lifecycle plumbing.** No `deleteQueueOnClose`, no heartbeat, no reaper.\n- **Failure isolation.** If a pod dies mid-message, SQS visibility timeout returns it to the queue and another pod picks it up.\n- **Cluster-wide fanout via Redis** — every instance's in-memory cache reacts within milliseconds.\n\nIf your upstream events have meaningful per-entity ordering, use an SQS FIFO queue (`QueueName: 'user-cache-invalidation-trigger.fifo'`). Otherwise a standard queue is appropriate.\n\n### SNS/SQS adapter\n\nThe concrete adapter ships in [`@layered-loader/sqs`](packages/sqs/README.md) as four trigger classes:\n\n| Class | Source kind | Target |\n| --- | --- | --- |\n| `SnsTopicInvalidationTrigger`         | Upstream SNS topic | flat `Loader` |\n| `SqsQueueInvalidationTrigger`         | Existing SQS queue | flat `Loader` |\n| `SnsTopicGroupInvalidationTrigger`    | Upstream SNS topic | `GroupLoader` |\n| `SqsQueueGroupInvalidationTrigger`    | Existing SQS queue | `GroupLoader` |\n\nEach trigger takes a single `dependencies` block and an array of `sources` (queues or topics) — listening to multiple at once is just listing them. Within one source, multiple event types can be routed to different resolvers via a `messageTypeField` discriminator. `composeTriggers(...)` bundles multiple triggers for deployments that need to mix source kinds.\n\nFuture adapters (RabbitMQ, Kafka, Google Pub/Sub, ...) reuse the same `InvalidationAction` / resolver primitives — only the consumer wiring changes. See the [package README](packages/sqs/README.md#flexible-invalidation-triggers) for the full reference, including group triggers, multi-source / multi-binding configuration, mixing source kinds via `composeTriggers`, and error handling.\n\n## Applying invalidations from your own transport\n\nApplying an invalidation that arrived from somewhere else is **not** the same operation as\noriginating one, and the library has separate methods for the two:\n\n| | originating (`invalidateCacheFor`, `invalidateCacheForGroup`, ...) | applying (`applyRemoteInvalidationFor`, ...) |\n| --- | --- | --- |\n| in-memory cache | deletes | deletes |\n| running loads | fences | fences |\n| background refreshes | fences | fences |\n| async cache (Redis) | deletes | leaves alone — the origin already deleted it from the shared tier |\n| notification publisher | publishes | publishes nothing — the origin already broadcast it |\n| return type | `Promise<void>` (awaits the async tier) | `void` (purely local, synchronous) |\n\nDo not reach for `invalidateCacheFor` to apply an invalidation you received. It re-publishes, so on a\nnode that also has a publisher configured it echoes the invalidation straight back onto the bus.\n\nThe `applyRemote*` methods exist for transports the library does not ship, and in particular for\n**pull-based** ones: a host that reads \"what changed since cursor N\" at the start of a request and\napplies the result, because the runtime cannot hold a subscription open (see\n[Isolate runtimes with no invalidation bus](#isolate-runtimes-with-no-invalidation-bus)).\n\n```ts\n// at the start of a request, on a runtime where nothing can hold a subscription\nconst { keys, cursor } = await readInvalidationsSince(lastCursor)\nfor (const key of keys) {\n  loader.applyRemoteInvalidationFor(key)\n}\nlastCursor = cursor\n```\n\nFlat caches (`Loader`, `ManualCache`):\n\n- `applyRemoteInvalidationFor(key)`\n- `applyRemoteInvalidationForMany(keys)`\n- `applyRemoteValue(key, value)` — a value that was set on another node and broadcast here\n- `applyRemoteInvalidation()` — a cache-wide clear\n\nGroup caches (`GroupLoader`, `ManualGroupCache`):\n\n- `applyRemoteInvalidationFor(key, group)`\n- `applyRemoteInvalidationForGroup(group)`\n- `applyRemoteValue(key, value, group)`\n- `applyRemoteInvalidation()`\n\nAll of them fence the affected key, so nothing that was already in flight when the invalidation\narrived can write its pre-invalidation snapshot back into the in-memory cache when it resolves. That\ncovers both a running load and a preemptive background refresh. A caller that was already awaiting\nthat load still receives its value — exactly as for a locally originated invalidation.\n\nIf you implement `AbstractNotificationConsumer` yourself you get this behaviour for free: the target\ncache handed to `setTargetCache` is a facade over the owning loader that routes deletions and sets\nthrough these methods, so `this.targetCache.delete(key)` fences running loads too.\n\nOne thing the fence does not — and cannot — cover: the **shared async tier**. A background refresh\nthat has already read from your data sources still writes the value it read into Redis, even if an\ninvalidation arrives in between. That is the ordinary read-through race that any cache in front of a\nmutable store has (a plain cache miss has it too), and closing it needs versioning at the store, not\na local fence. The fence is about this instance's in-memory tier: an invalidated entry stays\ninvalidated locally instead of being resurrected, and the async tier converges on its own TTL.\n\n## Background work\n\nThe loader starts some work it does not await: preemptive background refreshes, staleness probes, and\nnotification publishes. By default those promises are simply left detached, which is the right\nbehaviour on Node.\n\n`scheduleBackgroundWork` hands each of them to you instead:\n\n```ts\nconst loader = new Loader<User>({\n  inMemoryCache: { ttlInMsecs: 60_000, ttlLeftBeforeRefreshInMsecs: 20_000, cacheId: 'users' },\n  dataSources: [userDataSource],\n\n  scheduleBackgroundWork: (work, meta) => {\n    // meta is { cacheId: 'users', reason: 'refresh' | 'notification' }\n    pending.add(work)\n    void work.finally(() => pending.delete(work))\n  },\n})\n```\n\n`meta.reason` is a closed set (`'refresh' | 'notification'`) rather than a free-form string, because\nhosts branch on it in practice. `meta.cacheId` is the `cacheId` configured on `inMemoryCache`, so work\nfrom several loaders can be told apart in logs.\n\nThe promise you are given is guaranteed to settle **fulfilled**. The loader has already routed any\nerror to `loadErrorHandler` / `cacheUpdateErrorHandler` / the publisher's error handler and attached\nits own handler before handing it over. That matters on runtimes where these promises get adopted by\na request: `ctx.waitUntil()` on a rejecting promise fails the request that adopted it.\n\nThree things this is useful for:\n\n- **Isolate runtimes**, where a promise that outlives its request faults rather than merely leaking.\n  See [Hand background work to the request](#hand-background-work-to-the-request).\n- **Tests**, which can await quiescence instead of sleeping and hoping.\n- **Graceful shutdown**, which can drain in-flight refreshes before closing Redis connections.\n\n## Isolate runtimes with no invalidation bus\n\nCloudflare Workers — and by extension any target made of many short-lived, mutually unreachable\ninstances (Deno Deploy, Vercel edge, Lambda@Edge, aggressively-scaled serverless Node) — break three\nassumptions that the notification pair is built on:\n\n- there is no pub/sub any instance can reach;\n- nothing can hold a subscription open between requests, so push is structurally unavailable and the\n  answer has to be pull;\n- I/O is scoped to the request that created it, so a promise that outlives its request faults with\n  *\"Cannot perform I/O on behalf of a different request\"* unless it was handed to `ctx.waitUntil()`.\n\n`layered-loader/core` imports cleanly on those runtimes, and everything below is runtime-neutral — the\nlibrary never learns what a Worker is. What follows is the deployment shape that works.\n\n### Hoist the loader to isolate scope\n\nConstruct the loader at module scope, once per isolate, not per request. A cache rebuilt on every\ninvocation is a memo, not a cache — it can only ever serve the request that filled it.\n\nThis is also a *correctness* requirement once `scheduleBackgroundWork` is in play, not just a\nperformance one: see below.\n\n### Pull invalidations instead of pushing them\n\n`notificationConsumer` cannot be implemented where nothing can hold a subscription. Read what changed\nat the start of a request and apply it with\n[`applyRemoteInvalidationFor` and friends](#applying-invalidations-from-your-own-transport). That is a\nsupported use of the public API, and the `applyRemote*` methods exist precisely for it.\n\nFor a scope-wide generation counter — one row, or one Durable Object read, per tenant — the whole\nmechanism is a counter comparison plus one `applyRemoteInvalidationForGroup` when it moved:\n\n```ts\nconst generation = await readTenantGeneration(tenantId)   // once per request, memoised\nif (generation !== lastSeenGeneration.get(tenantId)) {\n  loader.applyRemoteInvalidationForGroup(tenantId)\n  lastSeenGeneration.set(tenantId, generation)\n}\n```\n\nThis is O(1) reads per request regardless of how many keys the request touches, and it needs nothing\nfrom the library beyond the methods above. Reach for it before reaching for a per-entry probe.\n\n### Hand background work to the request\n\nSupply [`scheduleBackgroundWork`](#background-work) so detached promises get adopted by the request\nthat spawned them:\n\n```ts\nimport { AsyncLocalStorage } from 'node:async_hooks'   // available on workerd\n\nconst requestCtx = new AsyncLocalStorage<ExecutionContext>()\n\n// module scope: one loader per isolate, NOT one per request\nconst loader = new Loader<User>({\n  inMemoryCache: { ttlInMsecs: 60_000 },\n  dataSources: [userDataSource],\n  scheduleBackgroundWork: (work) => {\n    const ctx = requestCtx.getStore()\n    if (ctx) {\n      ctx.waitUntil(work)\n    } else {\n      void work\n    }\n  },\n})\n\nexport default {\n  fetch: (request, env, ctx) => requestCtx.run(ctx, () => handle(request, env)),\n}\n```\n\nThe hook **must** resolve the context at call time, as above. Closing over a `ctx` at construction is\nwrong: the loader lives at isolate scope, so that `ctx` belongs to whichever request happened to build\nit, and using it from a later request reintroduces the exact fault the hook exists to avoid.\n\n### Validating on every read\n\nIf you have a cheap per-entry version token (a document version, a branch head sha, a JWKS key id),\n`isEntryStillCurrentFn` can validate against it on *every* read rather than only near expiry — set\n`ttlLeftBeforeRefreshInMsecs` equal to `ttlInMsecs`, which puts every entry permanently inside the\nrefresh window:\n\n```ts\nconst loader = new Loader<Doc>({\n  inMemoryCache: { ttlInMsecs: 60_000, ttlLeftBeforeRefreshInMsecs: 60_000 },\n  dataSources: [docDataSource],\n  isEntryStillCurrentFn: async (cachedValue, loadParams) =>\n    (await readDocVersion(loadParams)) === cachedValue!.version,\n})\n```\n\nNote what this does and does not give you. The probe runs on every hit, but it does **not** block the\nread: the cached value is served immediately and the probe decides what the *next* read sees. This is\nstale-while-revalidate, not `must-revalidate`. It shrinks the staleness window from `ttlInMsecs` to\nroughly one read, which is enough for most content, and is not enough where serving one stale answer\nis itself the bug (an authorization decision, say). For those, either do not cache, or invalidate on\nthe write path via a generation counter as [above](#pull-invalidations-instead-of-pushing-them).\n\nTwo properties of the probe worth knowing before you build on it:\n\n- Concurrent reads of the **same key** share a single probe — the loader deduplicates them the same\n  way it deduplicates loads, so you do not need to memoise on your side.\n- Reads of **different keys** do not. `isEntryStillCurrentFn` is per entry, so a token shared across\n  many keys (one branch head sha covering many files) is read once per key. If that is your shape, a\n  scope-wide generation counter is the better fit, for the reason given above.\n\n### What the library does not do\n\n- **Nothing runs on a timer.** There is no eviction sweep and no refresh tick; in-memory entries\n  expire lazily when they are read. An in-memory-only loader schedules no periodic work at all, so\n  there is nothing here that behaves differently under `workerd`'s timer restrictions.\n- **There is no blocking (`must-revalidate`) read mode.** A cache hit is never delayed by a probe.\n  Adding one is not simply an extra option: `getInMemoryOnly` is synchronous and cannot await\n  anything, and `getMany` serves an all-hit batch straight from memory without entering the refresh\n  path at all — so a \"no hit is ever served unvalidated\" guarantee would be quietly false for two of\n  the three read methods. If you need that guarantee today, use a generation counter on the write\n  path rather than a per-read probe.\n- **No async cache tier is provided for edge KV stores.** That is deliberate rather than missing:\n  Redis in this library is an invalidation bus, not a data tier, and a store whose writes propagate\n  eventually would be a weaker coherence story than the primary database it is meant to protect.\n\nIf your deployment *can* reach a message bus but you would rather not run Redis,\n[`@layered-loader/sqs`](packages/sqs/README.md) gives you cross-instance invalidation over SNS/SQS and\nimports from `layered-loader/core`.\n\n## Cache statistics\n\nYou can keep track of your in-memory cache usage is by using special cache type - `lru-object-statistics`:\n\n```ts\nimport { HitStatisticsRecord, Loader } from 'layered-loader'\n\nconst record = new HitStatisticsRecord()\nconst operation = new Loader({\n  inMemoryCache: {\n    ttlInMsecs: 99999,\n    cacheId: 'some cache',\n    globalStatisticsRecord: record,\n    cacheType: 'lru-object-statistics',\n  },\n})\n\noperation.getInMemoryOnly('value')\n\nexpect(record.records).toEqual({\n  'some cache': {\n    '2023-05-20': {\n      cacheSize: 100, // how many elements does cache currently have\n      evictions: 5, // how many elements were evicted due to cache being at max capacity\n      expirations: 0, // how many elements were removed during get due to their ttl being exceeded\n      hits: 0, // how many times element was successfully retrieved from cache during get\n      emptyHits: 0, // out of all hits, how many were null, undefined or ''?\n      falsyHits: 0, // out of all hits, how many were falsy?\n      misses: 1, // how many times element was not in cache or expired during get\n      invalidateOne: 1, // how many times element was invalidated individually\n      invalidateAll: 2, // how many times entire cache was invalidated\n      sets: 0, // how many times new element was added\n    },\n  },\n})\n```\n\nNote that statistics accumulation affects performance of the cache, and it is recommended\nto only enable it temporarily, while conducting cache effectiveness analysis.\n\n## Cache-only operations\n\nSometimes you may want to avoid implementing loader in the chain (e. g. when retrieval is too complex to be fit into a single key paradigm),\nwhile still having a sequence of caches. In that case you can define a caching operation:\n\n```ts\nconst cache = new ManualCache<string>({\n  // this cache will be checked first\n  inMemoryCache: {\n    ttlInMsecs: 1000 * 60,\n    maxItems: 100,\n  },\n\n  // this cache will be checked if in-memory one returns undefined\n  asyncCache: new RedisCache<string>(ioRedis, {\n    json: true, // this instructs loader to serialize passed objects as string and deserialize them back to objects\n    ttlInMsecs: 1000 * 60 * 10,\n  }),\n})\n\n// this will populate all caches\nawait cache.set('1', 'someValue')\n\n// If any of the caches are still populated at the moment of this operation, 'someValue' will propagate across all caches\nconst classifier = await cache.get('1')\n```\n\nNote that Loaders are generally recommended over ManualCaches, as they offer better performance: LoadingOperations deduplicate all the get requests that come during the window between checking the cache and populating it, while Caching Operation will resolve all of them to undefined after checking the cache, both increasing load on the cache, and also potentially invoking the loading logic multiple times.\n\n### Forcing an update\n\nIn certain cases you may want to fetch fresh data from the datasource before invalidating the cache. In that case you should use the `forceRefresh` method:\n\n```ts\n// This will resolve the latest version of the data for the key \"1\", update async and inmemory caches and fire a NotificationPublisher invalidation command, if publisher is set  \nawait cache.forceRefresh('1')\n```\n\n### Forcing a specific value\n\nIn certain cases you may want to explicitly store a specific value in all of your caches layers. In that case you should use the `forceSetValue` method:\n\n```ts\n// This will set the value of all configured caches for the key \"1\" to a value \"newValue\", and fire a NotificationPublisher set value command, if publisher is set  \nawait cache.forceSetValue('1', 'newValue')\n```\n\nFor a `GroupLoader` use `forceSetValueForGroup`, which takes the extra `group` argument. Note that group notification publishers only broadcast deletions, so no set command is published; other nodes converge via their own TTL expiry.\n\n```ts\nawait groupCache.forceSetValueForGroup('1', 'newValue', 'group1')\n```\n\n## Usage in high-performance systems\n\n### Synchronous short-circuit\n\nIn case you are handling very heavy load and want to achieve highest possible performance, you can avoid asynchronous retrieval (and unnecessary Promise overhead) altogether in case there is a value already available in in-memory cache. Here is the example:\n\n```ts\nconst loader = new Loader<MyValueType>({\n  inMemoryCache: {\n    // configuration here\n  },\n\n  // this cache will be checked if in-memory one returns undefined\n  asyncCache: new RedisCache<MyValueType>(ioRedis, {\n    // configuration here\n  }),\n  dataSources: [new MyDataSource()],\n})\n\nconst cachedValue =\n  // this very quickly checks if we have value in-memory\n  loader.getInMemoryOnly('key') ||\n  // if we don't, proceed with checking asynchronous cache and datasources\n  (await loader.getAsyncOnly('key'))\n```\n\nNote that this will only work with truthy values. If you expect to get significant amount of falsy values (null for non-existing entries or 0/false), you should use an extended short-circuit syntax:\n\n```ts\nlet cachedValue: MyValueType | undefined | null\ncachedValue = loader.getInMemoryOnly('key')\n\nif (cachedValue === undefined) {\n  cachedValue = await loader.getAsyncOnly('key')\n}\n```\n\nIf you are unsure, whether you are caching significant amount of falsy or empty (null/empty string) values, you can enable cache statistics for discovering this data. See section \"Cache statistics\" for how to set that up.\n\n### Preemptive background refresh\n\nIn case some of your datasource calls are very expensive, and you want to reduce response latency, you can start preemptively refreshing your cache in background while still serving not-yet-stale current data. In order to do so, you need to set parameter `ttlLeftBeforeRefreshInMsecs`.\nFor in-memory cache:\n\n```ts\nconst operation = new Loader<string>({\n  inMemoryCache: {\n    cacheId: 'some-cache',\n    ttlInMsecs: 1000 * 60,\n    ttlLeftBeforeRefreshInMsecs: 1000 * 20, // this means that when there is a GET operation for the cache entry, and it has less than 20 seconds of TTL left, background refresh for this entry will start\n  },\n  // the rest of loader configuration\n})\n```\n\nFor Redis cache:\n\n```ts\nconst asyncCache = new RedisCache<string>(redis, {\n  ttlInMsecs: 1000 * 60,\n  ttlLeftBeforeRefreshInMsecs: 1000 * 20,\n}) // this means that when there is a GET operation for the cache entry, and it has less than 20 seconds of TTL left, background refresh for this entry will start\n```\n\nNote that there is overhead involved in performing refresh checks (especially for Redis). Always measure performance before and after enabling preemptive refresh in order to determine, whether it improves or worsens the performance of your system.\nBulk operations (`getMany()`) do not support preemptive background refresh — when every requested key hits in memory, the batch is served without entering the refresh path at all.\n\nThe refresh itself is fire-and-forget: nothing schedules it on a timer, and the read that triggers it is not delayed by it. If your runtime needs those promises tracked rather than detached, supply [`scheduleBackgroundWork`](#background-work).\n\n### Conditional refresh with a staleness check\n\nIf refetching an entry is expensive, but *verifying* that it is still up-to-date is cheap (e. g. comparing an `updatedAt` timestamp, a version column or a content hash), you can avoid unnecessary refetches by providing `isEntryStillCurrentFn`. This is the loader-level equivalent of HTTP conditional revalidation (`ETag` / `If-Modified-Since`).\n\nWhen an entry enters the `ttlLeftBeforeRefreshInMsecs` window, the loader first invokes your check with the cached value instead of immediately starting a full background refresh:\n\n- if it resolves to `true`, the entry's TTL is reset to the full `ttlInMsecs`, and no data source call is made;\n- if it resolves to `false` (or throws, or the entry disappeared in the meantime), the usual full background refresh from the data sources runs.\n\nThe check never delays the read that triggered it. That read is served the cached value either way, and the check decides what the *next* read sees — this is stale-while-revalidate, not `must-revalidate`. There is no blocking read mode; see [What the library does not do](#what-the-library-does-not-do) for why.\n\nThe check works both with an async cache and with an in-memory-only loader. It only needs a preemptive refresh window (`ttlLeftBeforeRefreshInMsecs`) to fire inside: configure it on the `asyncCache`, or, for a loader that has no async tier, on the `inMemoryCache`. When both tiers have a refresh window, the async cache takes precedence and the check runs on its refresh path.\n\n```ts\nconst operation = new Loader<UserEntity>({\n  asyncCache: new RedisCache<UserEntity>(redis, {\n    json: true,\n    ttlInMsecs: 1000 * 60,\n    ttlLeftBeforeRefreshInMsecs: 1000 * 20,\n  }),\n  dataSources: [expensiveUserDataSource],\n  isEntryStillCurrentFn: async (cachedValue, loadParams) => {\n    // light query instead of refetching the whole entity\n    const updatedAt = await getUserUpdatedAt(loadParams)\n    return updatedAt.getTime() === new Date(cachedValue!.updatedAt).getTime()\n  },\n})\n```\n\nFor `GroupLoader` the check additionally receives the group:\n\n```ts\nconst operation = new GroupLoader<UserEntity>({\n  asyncCache: new RedisGroupCache<UserEntity>(redis, {\n    json: true,\n    ttlInMsecs: 1000 * 60,\n    ttlLeftBeforeRefreshInMsecs: 1000 * 20,\n  }),\n  dataSources: [expensiveUserDataSource],\n  isEntryStillCurrentFn: async (cachedValue, loadParams, group) => {\n    const updatedAt = await getUserUpdatedAt(loadParams, group)\n    return updatedAt.getTime() === new Date(cachedValue!.updatedAt).getTime()\n  },\n})\n```\n\nFor a loader with no async cache, configure the refresh window on the in-memory cache instead - the check then runs against the in-memory value:\n\n```ts\nconst operation = new Loader<UserEntity>({\n  inMemoryCache: {\n    ttlInMsecs: 1000 * 60,\n    ttlLeftBeforeRefreshInMsecs: 1000 * 20,\n  },\n  dataSources: [expensiveUserDataSource],\n  isEntryStillCurrentFn: async (cachedValue, loadParams) => {\n    // light query instead of refetching the whole entity\n    const updatedAt = await getUserUpdatedAt(loadParams)\n    return updatedAt.getTime() === new Date(cachedValue!.updatedAt).getTime()\n  },\n})\n```\n\nThings to keep in mind:\n\n- `isEntryStillCurrentFn` requires a preemptive refresh window (`ttlLeftBeforeR","readmeFilename":""}