diff --git a/package.json b/package.json index f3d6396..b82ae6b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "idmp", - "version": "1.15.2", + "version": "1.15.3", "keywords": [ "deduplicate network requests", "idempotent function", @@ -50,7 +50,7 @@ }, "devDependencies": { "@types/fs-extra": "^11.0.4", - "@types/node": "^20.11.27", + "@types/node": "^20.11.28", "@types/react": "^18.2.66", "@types/react-dom": "^18.2.22", "@vitejs/plugin-legacy": "^5.3.2", diff --git a/plugins/node-fs/src/index.ts b/plugins/node-fs/src/index.ts index d30fa41..ecaf4e0 100644 --- a/plugins/node-fs/src/index.ts +++ b/plugins/node-fs/src/index.ts @@ -50,12 +50,13 @@ const getData = async (key: string) => { type NonVoid = T extends void ? never : T -const fsIdmpWrap = (_idmp: Idmp) => { +const fsIdmpWrap = (_idmp: Idmp, namespace = '') => { const newIdmp = ( globalKey: string, promiseFunc: IdmpPromise>, options?: IdmpOptions, ) => { + globalKey = `${namespace}_${globalKey}` const finalOptions = getOptions(options) return _idmp( globalKey, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad1b95b..f6559ee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,8 +19,8 @@ importers: specifier: ^11.0.4 version: 11.0.4 '@types/node': - specifier: ^20.11.27 - version: 20.11.27 + specifier: ^20.11.28 + version: 20.11.28 '@types/react': specifier: ^18.2.66 version: 18.2.66 @@ -53,28 +53,28 @@ importers: version: 5.4.2 vite: specifier: ^5.1.6 - version: 5.1.6(@types/node@20.11.27)(terser@5.29.1) + version: 5.1.6(@types/node@20.11.28)(terser@5.29.1) vite-node: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.27)(terser@5.29.1) + version: 1.3.1(@types/node@20.11.28)(terser@5.29.1) vite-plugin-banner: specifier: ^0.7.1 version: 0.7.1 vite-plugin-dts: specifier: ^3.7.3 - version: 3.7.3(@types/node@20.11.27)(typescript@5.4.2)(vite@5.1.6) + version: 3.7.3(@types/node@20.11.28)(typescript@5.4.2)(vite@5.1.6) vite-plugin-html: specifier: ^3.2.2 version: 3.2.2(vite@5.1.6) vitest: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.27)(terser@5.29.1) + version: 1.3.1(@types/node@20.11.28)(terser@5.29.1) demo: dependencies: idmp: - specifier: 1.15.0 - version: 1.15.0 + specifier: 1.15.2 + version: 1.15.2 plugins/browser-storage: dependencies: @@ -1547,24 +1547,24 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /@microsoft/api-extractor-model@7.28.3(@types/node@20.11.27): + /@microsoft/api-extractor-model@7.28.3(@types/node@20.11.28): resolution: {integrity: sha512-wT/kB2oDbdZXITyDh2SQLzaWwTOFbV326fP0pUwNW00WeliARs0qjmXBWmGWardEzp2U3/axkO3Lboqun6vrig==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.62.0(@types/node@20.11.27) + '@rushstack/node-core-library': 3.62.0(@types/node@20.11.28) transitivePeerDependencies: - '@types/node' dev: true - /@microsoft/api-extractor@7.39.0(@types/node@20.11.27): + /@microsoft/api-extractor@7.39.0(@types/node@20.11.28): resolution: {integrity: sha512-PuXxzadgnvp+wdeZFPonssRAj/EW4Gm4s75TXzPk09h3wJ8RS3x7typf95B4vwZRrPTQBGopdUl+/vHvlPdAcg==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.28.3(@types/node@20.11.27) + '@microsoft/api-extractor-model': 7.28.3(@types/node@20.11.28) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.62.0(@types/node@20.11.27) + '@rushstack/node-core-library': 3.62.0(@types/node@20.11.28) '@rushstack/rig-package': 0.5.1 '@rushstack/ts-command-line': 4.17.1 colors: 1.2.5 @@ -1742,7 +1742,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@3.62.0(@types/node@20.11.27): + /@rushstack/node-core-library@3.62.0(@types/node@20.11.28): resolution: {integrity: sha512-88aJn2h8UpSvdwuDXBv1/v1heM6GnBf3RjEy6ZPP7UnzHNCqOHA2Ut+ScYUbXcqIdfew9JlTAe3g+cnX9xQ/Aw==} peerDependencies: '@types/node': '*' @@ -1750,7 +1750,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -1921,7 +1921,7 @@ packages: /@types/jsonfile@6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 dev: true /@types/node@20.11.26: @@ -1930,8 +1930,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.11.27: - resolution: {integrity: sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==} + /@types/node@20.11.28: + resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} dependencies: undici-types: 5.26.5 dev: true @@ -1978,7 +1978,7 @@ packages: regenerator-runtime: 0.14.1 systemjs: 6.14.3 terser: 5.29.1 - vite: 5.1.6(@types/node@20.11.27)(terser@5.29.1) + vite: 5.1.6(@types/node@20.11.28)(terser@5.29.1) transitivePeerDependencies: - supports-color dev: true @@ -1989,7 +1989,7 @@ packages: vite: ^4 || ^5 dependencies: '@swc/core': 1.4.6 - vite: 5.1.6(@types/node@20.11.27)(terser@5.29.1) + vite: 5.1.6(@types/node@20.11.28)(terser@5.29.1) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -2008,7 +2008,7 @@ packages: magicast: 0.3.3 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.3.1(@types/node@20.11.27)(terser@5.29.1) + vitest: 1.3.1(@types/node@20.11.28)(terser@5.29.1) transitivePeerDependencies: - supports-color dev: true @@ -2750,8 +2750,8 @@ packages: engines: {node: '>=16.17.0'} dev: true - /idmp@1.15.0: - resolution: {integrity: sha512-3ifL6OgH5yPT0R7Qa1G7LMnLqtfDppdas6eaXQp+Z6RyHVpA1olM8uAvWXktARVDCAISKTlwEH3VljLV9U/oAw==} + /idmp@1.15.2: + resolution: {integrity: sha512-fcbq8ZZofUDJ9PcZZwbQEadglt1P+j6KSCR4H+tMDu7W5/MlyWBXG5PVL1uDHirGeKrXqx9kv6PnXD4Z/rveAw==} dependencies: fs-extra: 11.2.0 serialize-javascript: 6.0.2 @@ -3619,7 +3619,7 @@ packages: engines: {node: '>= 0.10'} dev: true - /vite-node@1.3.1(@types/node@20.11.27)(terser@5.29.1): + /vite-node@1.3.1(@types/node@20.11.28)(terser@5.29.1): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3628,7 +3628,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.11.27)(terser@5.29.1) + vite: 5.1.6(@types/node@20.11.28)(terser@5.29.1) transitivePeerDependencies: - '@types/node' - less @@ -3644,7 +3644,7 @@ packages: resolution: {integrity: sha512-Bww2Xd5tOGsZ1yZ9rQiGneryvsL1u86znPrqeQjCsXPsG72pnSdV5lcQA+cy8UNDguMqyTJiCevlNUbLnT85UA==} dev: true - /vite-plugin-dts@3.7.3(@types/node@20.11.27)(typescript@5.4.2)(vite@5.1.6): + /vite-plugin-dts@3.7.3(@types/node@20.11.28)(typescript@5.4.2)(vite@5.1.6): resolution: {integrity: sha512-26eTlBYdpjRLWCsTJebM8vkCieE+p9gP3raf+ecDnzzK5E3FG6VE1wcy55OkRpfWWVlVvKkYFe6uvRHYWx7Nog==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3654,13 +3654,13 @@ packages: vite: optional: true dependencies: - '@microsoft/api-extractor': 7.39.0(@types/node@20.11.27) + '@microsoft/api-extractor': 7.39.0(@types/node@20.11.28) '@rollup/pluginutils': 5.1.0 '@vue/language-core': 1.8.27(typescript@5.4.2) debug: 4.3.4 kolorist: 1.8.0 typescript: 5.4.2 - vite: 5.1.6(@types/node@20.11.27)(terser@5.29.1) + vite: 5.1.6(@types/node@20.11.28)(terser@5.29.1) vue-tsc: 1.8.27(typescript@5.4.2) transitivePeerDependencies: - '@types/node' @@ -3685,10 +3685,10 @@ packages: html-minifier-terser: 6.1.0 node-html-parser: 5.4.2 pathe: 0.2.0 - vite: 5.1.6(@types/node@20.11.27)(terser@5.29.1) + vite: 5.1.6(@types/node@20.11.28)(terser@5.29.1) dev: true - /vite@5.1.6(@types/node@20.11.27)(terser@5.29.1): + /vite@5.1.6(@types/node@20.11.28)(terser@5.29.1): resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3716,7 +3716,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.13.0 @@ -3725,7 +3725,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.27)(terser@5.29.1): + /vitest@1.3.1(@types/node@20.11.28)(terser@5.29.1): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3750,7 +3750,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 '@vitest/snapshot': 1.3.1 @@ -3768,8 +3768,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.11.27)(terser@5.29.1) - vite-node: 1.3.1(@types/node@20.11.27)(terser@5.29.1) + vite: 5.1.6(@types/node@20.11.28)(terser@5.29.1) + vite-node: 1.3.1(@types/node@20.11.28)(terser@5.29.1) why-is-node-running: 2.2.2 transitivePeerDependencies: - less