array-group-to-record
Advanced tools
+15
-0
@@ -6,2 +6,17 @@ # Change Log | ||
| ## [1.0.6](https://github.com/bluelovers/ws-array/compare/array-group-to-record@1.0.5...array-group-to-record@1.0.6) (2022-09-26) | ||
| ### 🛠 Build System | ||
| * update build ([61a9611](https://github.com/bluelovers/ws-array/commit/61a9611a37b94abeaf48adb4b296c9e39560d494)) | ||
| ### ♻️ Chores | ||
| * update metadata ([70abe28](https://github.com/bluelovers/ws-array/commit/70abe28fffd0462a7627ad5709c5edf0bb07096d)) | ||
| ## [1.0.5](https://github.com/bluelovers/ws-array/compare/array-group-to-record@1.0.4...array-group-to-record@1.0.5) (2022-06-01) | ||
@@ -8,0 +23,0 @@ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.cjs.production.min.cjs","sources":["../src/index.ts"],"sourcesContent":["import hashSum from 'hash-sum';\n\nexport interface IOptionsForRecord<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): string\n\n\tinit?(): Record<string, T[]>,\n}\n\nexport interface IOptionsForMap<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): any\n\n\tinit?(): Map<any, T[]>,\n}\n\nexport function handleOptions<O extends IOptionsForRecord<any> | IOptionsForMap<any>>(options: O): O\n{\n\tconst getKey = options?.getKey ?? ((item) => hashSum(item));\n\n\treturn {\n\t\t...options,\n\t\tgetKey,\n\t}\n}\n\nexport function arrayGroupToRecord<T>(arr: T[], options?: IOptionsForRecord<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tmap[id] ??= [];\n\t\tmap[id].push(item);\n\n\t\treturn map\n\t}, init?.() ?? {} as Record<string, T[]>);\n}\n\nexport function arrayGroupToMap<T>(arr: T[], options?: IOptionsForMap<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tconst a = map.get(id) ?? [];\n\n\t\ta.push(item);\n\n\t\tmap.set(id, a);\n\n\t\treturn map\n\t}, init?.() ?? new Map() as Map<any, T[]>);\n}\n\nexport function sumGroup<T extends Record<any, any[]> | Map<any, any[]>>(group: T)\n{\n\tlet len = 0;\n\n\tif (typeof group.forEach === 'undefined')\n\t{\n\t\t// @ts-ignore\n\t\tgroup = Object.values(group);\n\t}\n\n\t// @ts-ignore\n\tgroup.forEach(b => len += b.length);\n\n\treturn len;\n}\n\nexport default arrayGroupToRecord\n"],"names":["handleOptions","options","_options$getKey","getKey","item","hashSum","arrayGroupToRecord","arr","_init","init","reduce","map","index","_map$id","id","push","arrayGroupToMap","_init2","_map$get","a","get","set","Map","sumGroup","group","len","forEach","Object","values","b","length"],"mappings":"iNAgBM,SAAUA,cAAsEC,GAAU,IAAAC,EAE/F,MAAMC,UAAMD,EAAGD,MAAAA,OAAAA,EAAAA,EAASE,sBAAYC,GAASC,UAAQD,GAErD,MAAO,IACHH,EACHE,OAAAA,GAIc,SAAAG,mBAAsBC,EAAUN,GAA8B,IAAAO,EAE7E,MAAML,OAAEA,EAAFM,KAAUA,GAAST,cAAcC,GAEvC,OAAOM,EAAIG,QAAO,CAACC,EAAKP,EAAMQ,EAAOL,KAAO,IAAAM,EAG3C,MAAMC,EAAKX,EAAOC,EAAMQ,EAAOL,GAK/B,OAHA,QAAAI,EAAAA,EAAIG,UAAJ,IAAAD,IAAAF,EAAIG,GAAQ,IACZH,EAAIG,GAAIC,KAAKX,GAENO,IACO,QATRH,EASJC,MAAAA,SAAAA,WAAY,IAAAD,EAAAA,EAAA,4BAGA,SAAAQ,gBAAmBT,EAAUN,GAA2B,IAAAgB,EAEvE,MAAMd,OAAEA,EAAFM,KAAUA,GAAST,cAAcC,GAEvC,OAAOM,EAAIG,QAAO,CAACC,EAAKP,EAAMQ,EAAOL,KAAO,IAAAW,EAG3C,MAAMJ,EAAKX,EAAOC,EAAMQ,EAAOL,GAEzBY,EAAC,UAAGR,EAAIS,IAAIN,UAAX,IAAAI,EAAAA,EAAkB,GAMzB,OAJAC,EAAEJ,KAAKX,GAEPO,EAAIU,IAAIP,EAAIK,GAELR,IACO,QAZRM,EAYJR,MAAAA,OAZI,EAYJA,WAAY,IAAAQ,EAAAA,EAAA,IAAIK,4IAGd,SAAUC,SAAyDC,GAExE,IAAIC,EAAM,EAWV,YAT6B,IAAlBD,EAAME,UAGhBF,EAAQG,OAAOC,OAAOJ,IAIvBA,EAAME,SAAQG,GAAKJ,GAAOI,EAAEC,SAErBL"} | ||
| {"version":3,"file":"index.cjs.production.min.cjs","sources":["../src/index.ts"],"sourcesContent":["import hashSum from 'hash-sum';\n\nexport interface IOptionsForRecord<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): string\n\n\tinit?(): Record<string, T[]>,\n}\n\nexport interface IOptionsForMap<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): any\n\n\tinit?(): Map<any, T[]>,\n}\n\nexport function handleOptions<O extends IOptionsForRecord<any> | IOptionsForMap<any>>(options: O): O\n{\n\tconst getKey = options?.getKey ?? ((item) => hashSum(item));\n\n\treturn {\n\t\t...options,\n\t\tgetKey,\n\t}\n}\n\nexport function arrayGroupToRecord<T>(arr: T[], options?: IOptionsForRecord<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tmap[id] ??= [];\n\t\tmap[id].push(item);\n\n\t\treturn map\n\t}, init?.() ?? {} as Record<string, T[]>);\n}\n\nexport function arrayGroupToMap<T>(arr: T[], options?: IOptionsForMap<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tconst a = map.get(id) ?? [];\n\n\t\ta.push(item);\n\n\t\tmap.set(id, a);\n\n\t\treturn map\n\t}, init?.() ?? new Map() as Map<any, T[]>);\n}\n\nexport function sumGroup<T extends Record<any, any[]> | Map<any, any[]>>(group: T)\n{\n\tlet len = 0;\n\n\tif (typeof group.forEach === 'undefined')\n\t{\n\t\t// @ts-ignore\n\t\tgroup = Object.values(group);\n\t}\n\n\t// @ts-ignore\n\tgroup.forEach(b => len += b.length);\n\n\treturn len;\n}\n\nexport default arrayGroupToRecord\n"],"names":["handleOptions","options","_options$getKey","getKey","item","hashSum","arrayGroupToRecord","arr","_init","init","reduce","map","index","_map$id","id","push","arrayGroupToMap","_init2","_map$get","a","get","set","Map","sumGroup","group","len","forEach","Object","values","b","length"],"mappings":"iNAgBM,SAAUA,cAAsEC,GAAU,IAAAC,EAE/F,MAAMC,UAAMD,EAAGD,aAAAA,EAAAA,EAASE,sBAAYC,GAASC,UAAQD,GAErD,MAAO,IACHH,EACHE,SAED,CAEe,SAAAG,mBAAsBC,EAAUN,GAA8B,IAAAO,EAE7E,MAAML,OAAEA,EAAFM,KAAUA,GAAST,cAAcC,GAEvC,OAAOM,EAAIG,QAAO,CAACC,EAAKP,EAAMQ,EAAOL,KAAO,IAAAM,EAG3C,MAAMC,EAAKX,EAAOC,EAAMQ,EAAOL,GAK/B,OAHA,QAAAI,EAAAA,EAAIG,UAAJ,IAAAD,IAAAF,EAAIG,GAAQ,IACZH,EAAIG,GAAIC,KAAKX,GAENO,CAAP,GACc,QATRH,EASJC,eAAAA,WAAY,IAAAD,EAAAA,EAAA,CAAA,EACf,yBAEe,SAAAQ,gBAAmBT,EAAUN,GAA2B,IAAAgB,EAEvE,MAAMd,OAAEA,EAAFM,KAAUA,GAAST,cAAcC,GAEvC,OAAOM,EAAIG,QAAO,CAACC,EAAKP,EAAMQ,EAAOL,KAAO,IAAAW,EAG3C,MAAMJ,EAAKX,EAAOC,EAAMQ,EAAOL,GAEzBY,EAAC,UAAGR,EAAIS,IAAIN,UAAX,IAAAI,EAAAA,EAAkB,GAMzB,OAJAC,EAAEJ,KAAKX,GAEPO,EAAIU,IAAIP,EAAIK,GAELR,CAAP,GACc,QAZRM,EAYJR,aAZI,EAYJA,WAAY,IAAAQ,EAAAA,EAAA,IAAIK,IACnB,wIAEK,SAAUC,SAAyDC,GAExE,IAAIC,EAAM,EAWV,YAT6B,IAAlBD,EAAME,UAGhBF,EAAQG,OAAOC,OAAOJ,IAIvBA,EAAME,SAAQG,GAAKJ,GAAOI,EAAEC,SAErBL,CACP"} |
+4
-1
@@ -13,4 +13,7 @@ export interface IOptionsForRecord<T> { | ||
| export declare function sumGroup<T extends Record<any, any[]> | Map<any, any[]>>(group: T): number; | ||
| export default arrayGroupToRecord; | ||
| export { | ||
| arrayGroupToRecord as default, | ||
| }; | ||
| export {}; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.esm.mjs","sources":["../src/index.ts"],"sourcesContent":["import hashSum from 'hash-sum';\n\nexport interface IOptionsForRecord<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): string\n\n\tinit?(): Record<string, T[]>,\n}\n\nexport interface IOptionsForMap<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): any\n\n\tinit?(): Map<any, T[]>,\n}\n\nexport function handleOptions<O extends IOptionsForRecord<any> | IOptionsForMap<any>>(options: O): O\n{\n\tconst getKey = options?.getKey ?? ((item) => hashSum(item));\n\n\treturn {\n\t\t...options,\n\t\tgetKey,\n\t}\n}\n\nexport function arrayGroupToRecord<T>(arr: T[], options?: IOptionsForRecord<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tmap[id] ??= [];\n\t\tmap[id].push(item);\n\n\t\treturn map\n\t}, init?.() ?? {} as Record<string, T[]>);\n}\n\nexport function arrayGroupToMap<T>(arr: T[], options?: IOptionsForMap<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tconst a = map.get(id) ?? [];\n\n\t\ta.push(item);\n\n\t\tmap.set(id, a);\n\n\t\treturn map\n\t}, init?.() ?? new Map() as Map<any, T[]>);\n}\n\nexport function sumGroup<T extends Record<any, any[]> | Map<any, any[]>>(group: T)\n{\n\tlet len = 0;\n\n\tif (typeof group.forEach === 'undefined')\n\t{\n\t\t// @ts-ignore\n\t\tgroup = Object.values(group);\n\t}\n\n\t// @ts-ignore\n\tgroup.forEach(b => len += b.length);\n\n\treturn len;\n}\n\nexport default arrayGroupToRecord\n"],"names":["handleOptions","options","_options$getKey","getKey","item","hashSum","arrayGroupToRecord","arr","_init","init","reduce","map","index","_map$id","id","push","arrayGroupToMap","_init2","_map$get","a","get","set","Map","sumGroup","group","len","forEach","Object","values","b","length"],"mappings":";;AAgBM,SAAUA,cAAsEC;EAAU,IAAAC;EAE/F,MAAMC,cAAMD,IAAGD,QAAAA,SAAAA,IAAAA,EAASE,8BAAYC,KAASC,EAAQD;EAErD,OAAO;OACHH;IACHE,QAAAA;;;;AAIc,SAAAG,mBAAsBC,GAAUN;EAA8B,IAAAO;EAE7E,OAAML,QAAEA,GAAFM,MAAUA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAM;IAG3C,MAAMC,IAAKX,EAAOC,GAAMQ,GAAOL;IAK/B,OAHA,UAAAI,IAAAA,EAAIG,YAAJ,MAAAD,MAAAF,EAAIG,KAAQ,KACZH,EAAIG,GAAIC,KAAKX,IAENO;MACO,UATRH,IASJC,QAAAA,aAAAA,aAAY,MAAAD,IAAAA,IAAA;;;AAGA,SAAAQ,gBAAmBT,GAAUN;EAA2B,IAAAgB;EAEvE,OAAMd,QAAEA,GAAFM,MAAUA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAW;IAG3C,MAAMJ,IAAKX,EAAOC,GAAMQ,GAAOL,IAEzBY,IAAC,cAAGR,EAAIS,IAAIN,YAAX,MAAAI,IAAAA,IAAkB;IAMzB,OAJAC,EAAEJ,KAAKX,IAEPO,EAAIU,IAAIP,GAAIK,IAELR;MACO,UAZRM,IAYJR,QAAAA,SAZI,IAYJA,aAAY,MAAAQ,IAAAA,IAAA,IAAIK;;;AAGd,SAAUC,SAAyDC;EAExE,IAAIC,IAAM;EAWV,YAT6B,MAAlBD,EAAME,YAGhBF,IAAQG,OAAOC,OAAOJ,KAIvBA,EAAME,SAAQG,KAAKJ,KAAOI,EAAEC;EAErBL;;;"} | ||
| {"version":3,"file":"index.esm.mjs","sources":["../src/index.ts"],"sourcesContent":["import hashSum from 'hash-sum';\n\nexport interface IOptionsForRecord<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): string\n\n\tinit?(): Record<string, T[]>,\n}\n\nexport interface IOptionsForMap<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): any\n\n\tinit?(): Map<any, T[]>,\n}\n\nexport function handleOptions<O extends IOptionsForRecord<any> | IOptionsForMap<any>>(options: O): O\n{\n\tconst getKey = options?.getKey ?? ((item) => hashSum(item));\n\n\treturn {\n\t\t...options,\n\t\tgetKey,\n\t}\n}\n\nexport function arrayGroupToRecord<T>(arr: T[], options?: IOptionsForRecord<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tmap[id] ??= [];\n\t\tmap[id].push(item);\n\n\t\treturn map\n\t}, init?.() ?? {} as Record<string, T[]>);\n}\n\nexport function arrayGroupToMap<T>(arr: T[], options?: IOptionsForMap<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tconst a = map.get(id) ?? [];\n\n\t\ta.push(item);\n\n\t\tmap.set(id, a);\n\n\t\treturn map\n\t}, init?.() ?? new Map() as Map<any, T[]>);\n}\n\nexport function sumGroup<T extends Record<any, any[]> | Map<any, any[]>>(group: T)\n{\n\tlet len = 0;\n\n\tif (typeof group.forEach === 'undefined')\n\t{\n\t\t// @ts-ignore\n\t\tgroup = Object.values(group);\n\t}\n\n\t// @ts-ignore\n\tgroup.forEach(b => len += b.length);\n\n\treturn len;\n}\n\nexport default arrayGroupToRecord\n"],"names":["handleOptions","options","_options$getKey","getKey","item","hashSum","arrayGroupToRecord","arr","_init","init","reduce","map","index","_map$id","id","push","arrayGroupToMap","_init2","_map$get","a","get","set","Map","sumGroup","group","len","forEach","Object","values","b","length"],"mappings":";;AAgBM,SAAUA,cAAsEC;EAAU,IAAAC;EAE/F,MAAMC,cAAMD,IAAGD,iBAAAA,IAAAA,EAASE,8BAAYC,KAASC,EAAQD;EAErD,OAAO;OACHH;IACHE;;AAED;;AAEe,SAAAG,mBAAsBC,GAAUN;EAA8B,IAAAO;EAE7E,OAAML,QAAEA,GAAFM,MAAUA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAM;IAG3C,MAAMC,IAAKX,EAAOC,GAAMQ,GAAOL;IAK/B,OAHA,UAAAI,IAAAA,EAAIG,YAAJ,MAAAD,MAAAF,EAAIG,KAAQ,KACZH,EAAIG,GAAIC,KAAKX,IAENO;AAAP,MACc,UATRH,IASJC,qBAAAA,aAAY,MAAAD,IAAAA,IAAA,CAAA;AACf;;AAEe,SAAAQ,gBAAmBT,GAAUN;EAA2B,IAAAgB;EAEvE,OAAMd,QAAEA,GAAFM,MAAUA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAW;IAG3C,MAAMJ,IAAKX,EAAOC,GAAMQ,GAAOL,IAEzBY,IAAC,cAAGR,EAAIS,IAAIN,YAAX,MAAAI,IAAAA,IAAkB;IAMzB,OAJAC,EAAEJ,KAAKX,IAEPO,EAAIU,IAAIP,GAAIK,IAELR;AAAP,MACc,UAZRM,IAYJR,iBAZI,IAYJA,aAAY,MAAAQ,IAAAA,IAAA,IAAIK;AACnB;;AAEK,SAAUC,SAAyDC;EAExE,IAAIC,IAAM;EAWV,YAT6B,MAAlBD,EAAME,YAGhBF,IAAQG,OAAOC,OAAOJ,KAIvBA,EAAME,SAAQG,KAAKJ,KAAOI,EAAEC;EAErBL;AACP;;"} |
| (function (global, factory) { | ||
| typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('hash-sum')) : | ||
| typeof define === 'function' && define.amd ? define(['exports', 'hash-sum'], factory) : | ||
| (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.index = {}, global.hashSum)); | ||
| (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ArrayGroupToRecord = {}, global.hashSum)); | ||
| })(this, (function (exports, hashSum) { 'use strict'; | ||
@@ -6,0 +6,0 @@ |
@@ -1,2 +0,2 @@ | ||
| !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("hash-sum")):"function"==typeof define&&define.amd?define(["exports","hash-sum"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).index={},e.hashSum)}(this,(function(e,o){"use strict";function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=_interopDefaultLegacy(o);function handleOptions(e){var o;const t=null!==(o=null==e?void 0:e.getKey)&&void 0!==o?o:e=>n.default(e);return{...e,getKey:t}}function arrayGroupToRecord(e,o){var n;const{getKey:t,init:r}=handleOptions(o);return e.reduce(((e,o,n,r)=>{var u;const a=t(o,n,r);return null!==(u=e[a])&&void 0!==u||(e[a]=[]),e[a].push(o),e}),null!==(n=null==r?void 0:r())&&void 0!==n?n:{})}e.arrayGroupToMap=function arrayGroupToMap(e,o){var n;const{getKey:t,init:r}=handleOptions(o);return e.reduce(((e,o,n,r)=>{var u;const a=t(o,n,r),i=null!==(u=e.get(a))&&void 0!==u?u:[];return i.push(o),e.set(a,i),e}),null!==(n=null==r?void 0:r())&&void 0!==n?n:new Map)},e.arrayGroupToRecord=arrayGroupToRecord,e.default=arrayGroupToRecord,e.handleOptions=handleOptions,e.sumGroup=function sumGroup(e){let o=0;return void 0===e.forEach&&(e=Object.values(e)),e.forEach((e=>o+=e.length)),o},Object.defineProperty(e,"__esModule",{value:!0})})); | ||
| !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("hash-sum")):"function"==typeof define&&define.amd?define(["exports","hash-sum"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).ArrayGroupToRecord={},e.hashSum)}(this,(function(e,o){"use strict";function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=_interopDefaultLegacy(o);function handleOptions(e){var o;const n=null!==(o=null==e?void 0:e.getKey)&&void 0!==o?o:e=>r.default(e);return{...e,getKey:n}}function arrayGroupToRecord(e,o){var r;const{getKey:n,init:t}=handleOptions(o);return e.reduce(((e,o,r,t)=>{var u;const a=n(o,r,t);return null!==(u=e[a])&&void 0!==u||(e[a]=[]),e[a].push(o),e}),null!==(r=null==t?void 0:t())&&void 0!==r?r:{})}e.arrayGroupToMap=function arrayGroupToMap(e,o){var r;const{getKey:n,init:t}=handleOptions(o);return e.reduce(((e,o,r,t)=>{var u;const a=n(o,r,t),i=null!==(u=e.get(a))&&void 0!==u?u:[];return i.push(o),e.set(a,i),e}),null!==(r=null==t?void 0:t())&&void 0!==r?r:new Map)},e.arrayGroupToRecord=arrayGroupToRecord,e.default=arrayGroupToRecord,e.handleOptions=handleOptions,e.sumGroup=function sumGroup(e){let o=0;return void 0===e.forEach&&(e=Object.values(e)),e.forEach((e=>o+=e.length)),o},Object.defineProperty(e,"__esModule",{value:!0})})); | ||
| //# sourceMappingURL=index.umd.production.min.cjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.umd.production.min.cjs","sources":["../src/index.ts"],"sourcesContent":["import hashSum from 'hash-sum';\n\nexport interface IOptionsForRecord<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): string\n\n\tinit?(): Record<string, T[]>,\n}\n\nexport interface IOptionsForMap<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): any\n\n\tinit?(): Map<any, T[]>,\n}\n\nexport function handleOptions<O extends IOptionsForRecord<any> | IOptionsForMap<any>>(options: O): O\n{\n\tconst getKey = options?.getKey ?? ((item) => hashSum(item));\n\n\treturn {\n\t\t...options,\n\t\tgetKey,\n\t}\n}\n\nexport function arrayGroupToRecord<T>(arr: T[], options?: IOptionsForRecord<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tmap[id] ??= [];\n\t\tmap[id].push(item);\n\n\t\treturn map\n\t}, init?.() ?? {} as Record<string, T[]>);\n}\n\nexport function arrayGroupToMap<T>(arr: T[], options?: IOptionsForMap<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tconst a = map.get(id) ?? [];\n\n\t\ta.push(item);\n\n\t\tmap.set(id, a);\n\n\t\treturn map\n\t}, init?.() ?? new Map() as Map<any, T[]>);\n}\n\nexport function sumGroup<T extends Record<any, any[]> | Map<any, any[]>>(group: T)\n{\n\tlet len = 0;\n\n\tif (typeof group.forEach === 'undefined')\n\t{\n\t\t// @ts-ignore\n\t\tgroup = Object.values(group);\n\t}\n\n\t// @ts-ignore\n\tgroup.forEach(b => len += b.length);\n\n\treturn len;\n}\n\nexport default arrayGroupToRecord\n"],"names":["handleOptions","options","_options$getKey","getKey","item","hashSum","arrayGroupToRecord","arr","_init","init","reduce","map","index","_map$id","id","push","arrayGroupToMap","_init2","_map$get","a","get","set","Map","sumGroup","group","len","forEach","Object","values","b","length"],"mappings":"mZAgBM,SAAUA,cAAsEC,GAAU,IAAAC,EAE/F,MAAMC,UAAMD,EAAGD,MAAAA,OAAAA,EAAAA,EAASE,sBAAYC,GAASC,UAAQD,GAErD,MAAO,IACHH,EACHE,OAAAA,GAIc,SAAAG,mBAAsBC,EAAUN,GAA8B,IAAAO,EAE7E,MAAML,OAAEA,EAAFM,KAAUA,GAAST,cAAcC,GAEvC,OAAOM,EAAIG,QAAO,CAACC,EAAKP,EAAMQ,EAAOL,KAAO,IAAAM,EAG3C,MAAMC,EAAKX,EAAOC,EAAMQ,EAAOL,GAK/B,OAHA,QAAAI,EAAAA,EAAIG,UAAJ,IAAAD,IAAAF,EAAIG,GAAQ,IACZH,EAAIG,GAAIC,KAAKX,GAENO,IACO,QATRH,EASJC,MAAAA,SAAAA,WAAY,IAAAD,EAAAA,EAAA,sBAGA,SAAAQ,gBAAmBT,EAAUN,GAA2B,IAAAgB,EAEvE,MAAMd,OAAEA,EAAFM,KAAUA,GAAST,cAAcC,GAEvC,OAAOM,EAAIG,QAAO,CAACC,EAAKP,EAAMQ,EAAOL,KAAO,IAAAW,EAG3C,MAAMJ,EAAKX,EAAOC,EAAMQ,EAAOL,GAEzBY,EAAC,UAAGR,EAAIS,IAAIN,UAAX,IAAAI,EAAAA,EAAkB,GAMzB,OAJAC,EAAEJ,KAAKX,GAEPO,EAAIU,IAAIP,EAAIK,GAELR,IACO,QAZRM,EAYJR,MAAAA,OAZI,EAYJA,WAAY,IAAAQ,EAAAA,EAAA,IAAIK,oHAGd,SAAUC,SAAyDC,GAExE,IAAIC,EAAM,EAWV,YAT6B,IAAlBD,EAAME,UAGhBF,EAAQG,OAAOC,OAAOJ,IAIvBA,EAAME,SAAQG,GAAKJ,GAAOI,EAAEC,SAErBL"} | ||
| {"version":3,"file":"index.umd.production.min.cjs","sources":["../src/index.ts"],"sourcesContent":["import hashSum from 'hash-sum';\n\nexport interface IOptionsForRecord<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): string\n\n\tinit?(): Record<string, T[]>,\n}\n\nexport interface IOptionsForMap<T>\n{\n\tgetKey?(item: T, index: number, arr: T[]): any\n\n\tinit?(): Map<any, T[]>,\n}\n\nexport function handleOptions<O extends IOptionsForRecord<any> | IOptionsForMap<any>>(options: O): O\n{\n\tconst getKey = options?.getKey ?? ((item) => hashSum(item));\n\n\treturn {\n\t\t...options,\n\t\tgetKey,\n\t}\n}\n\nexport function arrayGroupToRecord<T>(arr: T[], options?: IOptionsForRecord<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tmap[id] ??= [];\n\t\tmap[id].push(item);\n\n\t\treturn map\n\t}, init?.() ?? {} as Record<string, T[]>);\n}\n\nexport function arrayGroupToMap<T>(arr: T[], options?: IOptionsForMap<T>)\n{\n\tconst { getKey, init } = handleOptions(options);\n\n\treturn arr.reduce((map, item, index, arr) =>\n\t{\n\n\t\tconst id = getKey(item, index, arr);\n\n\t\tconst a = map.get(id) ?? [];\n\n\t\ta.push(item);\n\n\t\tmap.set(id, a);\n\n\t\treturn map\n\t}, init?.() ?? new Map() as Map<any, T[]>);\n}\n\nexport function sumGroup<T extends Record<any, any[]> | Map<any, any[]>>(group: T)\n{\n\tlet len = 0;\n\n\tif (typeof group.forEach === 'undefined')\n\t{\n\t\t// @ts-ignore\n\t\tgroup = Object.values(group);\n\t}\n\n\t// @ts-ignore\n\tgroup.forEach(b => len += b.length);\n\n\treturn len;\n}\n\nexport default arrayGroupToRecord\n"],"names":["handleOptions","options","_options$getKey","getKey","item","hashSum","arrayGroupToRecord","arr","_init","init","reduce","map","index","_map$id","id","push","arrayGroupToMap","_init2","_map$get","a","get","set","Map","sumGroup","group","len","forEach","Object","values","b","length"],"mappings":"gaAgBM,SAAUA,cAAsEC,GAAU,IAAAC,EAE/F,MAAMC,UAAMD,EAAGD,aAAAA,EAAAA,EAASE,sBAAYC,GAASC,UAAQD,GAErD,MAAO,IACHH,EACHE,SAED,CAEe,SAAAG,mBAAsBC,EAAUN,GAA8B,IAAAO,EAE7E,MAAML,OAAEA,EAAFM,KAAUA,GAAST,cAAcC,GAEvC,OAAOM,EAAIG,QAAO,CAACC,EAAKP,EAAMQ,EAAOL,KAAO,IAAAM,EAG3C,MAAMC,EAAKX,EAAOC,EAAMQ,EAAOL,GAK/B,OAHA,QAAAI,EAAAA,EAAIG,UAAJ,IAAAD,IAAAF,EAAIG,GAAQ,IACZH,EAAIG,GAAIC,KAAKX,GAENO,CAAP,GACc,QATRH,EASJC,eAAAA,WAAY,IAAAD,EAAAA,EAAA,CAAA,EACf,mBAEe,SAAAQ,gBAAmBT,EAAUN,GAA2B,IAAAgB,EAEvE,MAAMd,OAAEA,EAAFM,KAAUA,GAAST,cAAcC,GAEvC,OAAOM,EAAIG,QAAO,CAACC,EAAKP,EAAMQ,EAAOL,KAAO,IAAAW,EAG3C,MAAMJ,EAAKX,EAAOC,EAAMQ,EAAOL,GAEzBY,EAAC,UAAGR,EAAIS,IAAIN,UAAX,IAAAI,EAAAA,EAAkB,GAMzB,OAJAC,EAAEJ,KAAKX,GAEPO,EAAIU,IAAIP,EAAIK,GAELR,CAAP,GACc,QAZRM,EAYJR,aAZI,EAYJA,WAAY,IAAAQ,EAAAA,EAAA,IAAIK,IACnB,gHAEK,SAAUC,SAAyDC,GAExE,IAAIC,EAAM,EAWV,YAT6B,IAAlBD,EAAME,UAGhBF,EAAQG,OAAOC,OAAOJ,IAIvBA,EAAME,SAAQG,GAAKJ,GAAOI,EAAEC,SAErBL,CACP"} |
+8
-4
| { | ||
| "name": "array-group-to-record", | ||
| "version": "1.0.5", | ||
| "version": "1.0.6", | ||
| "description": "", | ||
@@ -15,3 +15,4 @@ "keywords": [ | ||
| "type": "git", | ||
| "url": "git+https://github.com/bluelovers/ws-array.git" | ||
| "url": "git+https://github.com/bluelovers/ws-array.git", | ||
| "directory": "packages/array-group-to-record" | ||
| }, | ||
@@ -25,3 +26,4 @@ "license": "ISC", | ||
| "require": "./dist/index.cjs" | ||
| } | ||
| }, | ||
| "./package.json": "./package.json" | ||
| }, | ||
@@ -40,3 +42,5 @@ "main": "dist/index.cjs", | ||
| "test:jest": "jest --passWithNoTests", | ||
| "test:jest:snapshot": "yarn run test:jest -- -u", | ||
| "test:mocha": "ynpx --quiet -p ts-node -p mocha mocha -- --require ts-node/register \"!(node_modules)/**/*.{test,spec}.{ts,tsx}\"", | ||
| "test:snapshot": "yarn run test -- -u", | ||
| "posttest": "yarn run build", | ||
@@ -67,3 +71,3 @@ "build": "yarn run build:tsdx && yarn run build:dts", | ||
| "packageManager": "yarn@^1.22.11", | ||
| "gitHead": "535421695fc1870573d5ab43d399d71ca344310e" | ||
| "gitHead": "1847cf5e4d64c410da4934e8c7bc2de2f2df0960" | ||
| } |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
29958
2.31%183
1.67%