| {"version":3,"sources":["../../src/argtor.ts"],"sourcesContent":["const argsOf = (x: string) => {\n const d = x.indexOf('{') + 1\n if (!d || x.slice(0, d).includes(')')) return []\n x = x.slice(d)\n let match\n do {\n match = false\n x = x.replace(\n /`((\\\\`)?[^`])+?`|'((\\\\')?[^'])+?'|\"((\\\\\")?[^\"])+?\"|\\([^{[(]*?\\)|\\{[^{[(]*?\\}|\\[[^{[(]*?\\]/g,\n () => {\n match = true\n return ''\n }\n )\n } while (match)\n return x.split('}')[0].split(',').map(x => x.split(/[^\\w\\s$]+/g)[0].trim())\n}\n\n/**\n * Extract destructured argument names from `fn`'s first argument and return a `Set` of `keys`.\n *\n * ```ts\n * const fn = ({ foo, bar }) => void 0\n * argtor(fn) // => Set(2) {'foo', 'bar'}\n * ```\n *\n * @param fn The function to extract argument keys from.\n * @param keys A keys `Set` to fill in with the argument names.\n * @returns The keys `Set` with the argument names.\n */\nexport const argtor = <T extends object>(\n fn: (state: T) => any,\n keys = new Set<string>(),\n) => (argsOf('' + fn).forEach(x => !x || keys.add(x)), keys)\n"],"names":["argsOf","x","d","indexOf","slice","includes","match","replace","split","map","trim","argtor","fn","keys","Set","forEach","add"],"mappings":"AAAA;;;;;AAAA,MAAMA,MAAM,GAAG,CAACC,EAAS,GAAK;IAC5B,MAAMC,CAAC,GAAGD,EAAC,CAACE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAC5B,IAAI,CAACD,CAAC,IAAID,EAAC,CAACG,KAAK,CAAC,CAAC,EAAEF,CAAC,CAAC,CAACG,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAA;IAChDJ,EAAC,GAAGA,EAAC,CAACG,KAAK,CAACF,CAAC,CAAC;IACd,IAAII,KAAK;IACT,GAAG;QACDA,KAAK,GAAG,KAAK;QACbL,EAAC,GAAGA,EAAC,CAACM,OAAO,+FAEX,IAAM;YACJD,KAAK,GAAG,IAAI;YACZ,OAAO,EAAE,CAAA;SACV,CACF;KACF,OAAQA,KAAK,CAAC;IACf,OAAOL,EAAC,CAACO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACR,CAAAA,CAAC,GAAIA,CAAC,CAACO,KAAK,cAAc,CAAC,CAAC,CAAC,CAACE,IAAI,EAAE;IAAA,CAAC,CAAA;CAC5E;AAcM,MAAMC,MAAM,GAAG,CACpBC,EAAqB,EACrBC,IAAI,GAAG,IAAIC,GAAG,EAAU,GACrB,CAACd,MAAM,CAAC,EAAE,GAAGY,EAAE,CAAC,CAACG,OAAO,CAACd,CAAAA,CAAC,GAAI,CAACA,CAAC,IAAIY,IAAI,CAACG,GAAG,CAACf,CAAC,CAAC;IAAA,CAAC,EAAEY,IAAI,CAAC;AAAA;QAH/CF,MAAM,GAANA,MAAM"} |
| {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './argtor'\n"],"names":[],"mappings":"AAAA;;;;8CAAc,UAAU;AAAxB,YAAA,OAAwB;;2CAAxB,OAAwB;;;;mBAAxB,OAAwB;;;EAAA"} |
| {"version":3,"sources":["../../src/argtor.ts"],"sourcesContent":["const argsOf = (x: string) => {\n const d = x.indexOf('{') + 1\n if (!d || x.slice(0, d).includes(')')) return []\n x = x.slice(d)\n let match\n do {\n match = false\n x = x.replace(\n /`((\\\\`)?[^`])+?`|'((\\\\')?[^'])+?'|\"((\\\\\")?[^\"])+?\"|\\([^{[(]*?\\)|\\{[^{[(]*?\\}|\\[[^{[(]*?\\]/g,\n () => {\n match = true\n return ''\n }\n )\n } while (match)\n return x.split('}')[0].split(',').map(x => x.split(/[^\\w\\s$]+/g)[0].trim())\n}\n\n/**\n * Extract destructured argument names from `fn`'s first argument and return a `Set` of `keys`.\n *\n * ```ts\n * const fn = ({ foo, bar }) => void 0\n * argtor(fn) // => Set(2) {'foo', 'bar'}\n * ```\n *\n * @param fn The function to extract argument keys from.\n * @param keys A keys `Set` to fill in with the argument names.\n * @returns The keys `Set` with the argument names.\n */\nexport const argtor = <T extends object>(\n fn: (state: T) => any,\n keys = new Set<string>(),\n) => (argsOf('' + fn).forEach(x => !x || keys.add(x)), keys)\n"],"names":["argsOf","x","d","indexOf","slice","includes","match","replace","split","map","trim","argtor","fn","keys","Set","forEach","add"],"mappings":"AAAA,MAAMA,MAAM,GAAG,CAACC,EAAS,GAAK;IAC5B,MAAMC,CAAC,GAAGD,EAAC,CAACE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAC5B,IAAI,CAACD,CAAC,IAAID,EAAC,CAACG,KAAK,CAAC,CAAC,EAAEF,CAAC,CAAC,CAACG,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAA;IAChDJ,EAAC,GAAGA,EAAC,CAACG,KAAK,CAACF,CAAC,CAAC;IACd,IAAII,KAAK;IACT,GAAG;QACDA,KAAK,GAAG,KAAK;QACbL,EAAC,GAAGA,EAAC,CAACM,OAAO,+FAEX,IAAM;YACJD,KAAK,GAAG,IAAI;YACZ,OAAO,EAAE,CAAA;SACV,CACF;KACF,OAAQA,KAAK,CAAC;IACf,OAAOL,EAAC,CAACO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACR,CAAAA,CAAC,GAAIA,CAAC,CAACO,KAAK,cAAc,CAAC,CAAC,CAAC,CAACE,IAAI,EAAE;IAAA,CAAC,CAAA;CAC5E;AAED;;;;;;;;;;;GAWG,CACH,OAAO,MAAMC,MAAM,GAAG,CACpBC,EAAqB,EACrBC,IAAI,GAAG,IAAIC,GAAG,EAAU,GACrB,CAACd,MAAM,CAAC,EAAE,GAAGY,EAAE,CAAC,CAACG,OAAO,CAACd,CAAAA,CAAC,GAAI,CAACA,CAAC,IAAIY,IAAI,CAACG,GAAG,CAACf,CAAC,CAAC;IAAA,CAAC,EAAEY,IAAI,CAAC;AAAA,CAAA"} |
| {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './argtor'\n"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"} |
@@ -25,1 +25,3 @@ "use strict"; | ||
| exports.argtor = argtor; | ||
| //# sourceMappingURL=argtor.js.map |
@@ -37,1 +37,3 @@ "use strict"; | ||
| } | ||
| //# sourceMappingURL=index.js.map |
@@ -30,1 +30,3 @@ const argsOf = (x1)=>{ | ||
| ; | ||
| //# sourceMappingURL=argtor.js.map |
| export * from './argtor'; | ||
| //# sourceMappingURL=index.js.map |
+15
-16
@@ -6,3 +6,3 @@ { | ||
| "description": "Extracts destructured argument names from a function.", | ||
| "version": "1.0.1", | ||
| "version": "1.0.2", | ||
| "license": "MIT", | ||
@@ -50,3 +50,3 @@ "repository": { | ||
| "prepush": "npm run lint && npm run test", | ||
| "prepare": "husky install && node .pull-configs.js" | ||
| "prepare": "husky install" | ||
| }, | ||
@@ -58,25 +58,25 @@ "trustedDependencies": [ | ||
| "pull-configs", | ||
| "vite-open" | ||
| "vite-open", | ||
| "wtr-plugin-vite" | ||
| ], | ||
| "devDependencies": { | ||
| "@n1kk/intspector": "1.0.2", | ||
| "@rollup/plugin-commonjs": "21.0.3", | ||
| "@stagas/jest-node-exports-resolver": "1.1.5-require-basedir-2", | ||
| "@swc-node/jest": "1.4.3", | ||
| "@swc/cli": "0.1.56", | ||
| "@swc/core": "1.2.160", | ||
| "@swc/cli": "0.1.57", | ||
| "@swc/core": "1.2.164", | ||
| "@tsconfig/node16": "1.0.2", | ||
| "@types/audioworklet": "0.0.26", | ||
| "@types/jest": "27.4.1", | ||
| "@types/node": "17.0.23", | ||
| "@typescript-eslint/eslint-plugin": "5.16.0", | ||
| "@typescript-eslint/parser": "5.16.0", | ||
| "@web/dev-server-rollup": "0.3.15", | ||
| "@types/webmidi": "2.0.6", | ||
| "@typescript-eslint/eslint-plugin": "5.18.0", | ||
| "@typescript-eslint/parser": "5.18.0", | ||
| "@web/test-runner": "0.13.27", | ||
| "bunzee": "^0.0.1", | ||
| "chokidar": "3.5.3", | ||
| "dprint": "0.24.1", | ||
| "esbuild": "0.14.27", | ||
| "eslint": "8.12.0", | ||
| "dprint": "0.24.4", | ||
| "eslint": "8.13.0", | ||
| "eslint-config-html-jsx": "1.0.0", | ||
| "eslint-plugin-import": "2.25.4", | ||
| "eslint-plugin-import": "2.26.0", | ||
| "husky": "7.0.4", | ||
@@ -89,10 +89,9 @@ "jest": "27.5.1", | ||
| "swcno": "0.1.1", | ||
| "terser": "5.12.1", | ||
| "ts-jest": "27.1.4", | ||
| "ts-node": "10.7.0", | ||
| "typescript": "4.6.3", | ||
| "vite-open": "^1.4.2", | ||
| "vite-web-test-runner-plugin": "0.1.0" | ||
| "vite-open": "^1.6.2", | ||
| "wtr-plugin-vite": "^0.0.1" | ||
| }, | ||
| "types": "./dist/types/index.d.ts" | ||
| } |
+4
-3
| <h1> | ||
| argtor <a href="https://npmjs.org/package/argtor"><img src="https://img.shields.io/badge/npm-v1.0.1-F00.svg?colorA=000"/></a> <a href="src"><img src="https://img.shields.io/badge/loc-22-FFF.svg?colorA=000"/></a> <a href="https://cdn.jsdelivr.net/npm/argtor@1.0.1/dist/argtor.min.js"><img src="https://img.shields.io/badge/brotli-265b-333.svg?colorA=000"/></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-F0B.svg?colorA=000"/></a> | ||
| argtor <a href="https://npmjs.org/package/argtor"><img src="https://img.shields.io/badge/npm-v1.0.2-F00.svg?colorA=000"/></a> <a href="src"><img src="https://img.shields.io/badge/loc-22-FFF.svg?colorA=000"/></a> <a href="https://cdn.jsdelivr.net/npm/argtor@1.0.2/dist/argtor.min.js"><img src="https://img.shields.io/badge/brotli-265b-333.svg?colorA=000"/></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-F0B.svg?colorA=000"/></a> | ||
| </h1> | ||
@@ -21,3 +21,3 @@ | ||
| <p> <details id="argtor$1" title="Function" open><summary><span><a href="#argtor$1">#</a></span> <code><strong>argtor</strong></code><em>(fn, keys)</em> – Extract destructured argument names from <code>fn</code>'s first argument and return a <code>Set</code> of <code>keys</code>.</summary> <a href="src/argtor.ts#L31">src/argtor.ts#L31</a> <ul><p></p> <p> | ||
| <p> <details id="argtor$1" title="Function" open><summary><span><a href="#argtor$1">#</a></span> <code><strong>argtor</strong></code><em>(fn, keys)</em> – Extract destructured argument names from <code>fn</code>'s first argument and return a <code>Set</code> of <code>keys</code>.</summary> <a href="src/argtor.ts#L31">src/argtor.ts#L31</a> <ul> <p> <p> | ||
@@ -29,3 +29,4 @@ ```ts | ||
| <details id="fn$4" title="Function" ><summary><span><a href="#fn$4">#</a></span> <code><strong>fn</strong></code><em>(state)</em> </summary> <ul><p></p> <p> <details id="state$7" title="Parameter" ><summary><span><a href="#state$7">#</a></span> <code><strong>state</strong></code> </summary> <ul><p><a href="#T$3">T</a></p> </ul></details> <p><strong>fn</strong><em>(state)</em> => <ul>any</ul></p></p> </ul></details><details id="keys$8" title="Parameter" ><summary><span><a href="#keys$8">#</a></span> <code><strong>keys</strong></code> <span><span> = </span> <code>...</code></span> – A keys <code>Set</code> to fill in with the argument names.</summary> <ul><p><span>Set</span><string></p> </ul></details> <p><strong>argtor</strong><<span>T</span>><em>(fn, keys)</em> => <ul><span>Set</span><string></ul></p></p> </ul></details></p> | ||
| </p> | ||
| <details id="fn$4" title="Function" ><summary><span><a href="#fn$4">#</a></span> <code><strong>fn</strong></code><em>(state)</em> </summary> <ul> <p> <details id="state$7" title="Parameter" ><summary><span><a href="#state$7">#</a></span> <code><strong>state</strong></code> </summary> <ul><p><a href="#T$3">T</a></p> </ul></details> <p><strong>fn</strong><em>(state)</em> => <ul>any</ul></p></p> </ul></details><details id="keys$8" title="Parameter" ><summary><span><a href="#keys$8">#</a></span> <code><strong>keys</strong></code> <span><span> = </span> <code>...</code></span> – A keys <code>Set</code> to fill in with the argument names.</summary> <ul><p><span>Set</span><string></p> </ul></details> <p><strong>argtor</strong><<span>T</span>><em>(fn, keys)</em> => <ul><span>Set</span><string></ul></p></p> </ul></details></p> | ||
@@ -32,0 +33,0 @@ ## Contributing |
18246
34.29%31
-6.06%18
28.57%40
2.56%