array-group-to-record
Advanced tools
+10
-0
@@ -6,2 +6,12 @@ # Change Log | ||
| ## [1.0.10](https://github.com/bluelovers/ws-array/compare/array-group-to-record@1.0.9...array-group-to-record@1.0.10) (2024-03-09) | ||
| ### ♻️ Chores | ||
| * sort ([3b86037](https://github.com/bluelovers/ws-array/commit/3b86037ba0ce9055b542950bc38a1729b71db770)) | ||
| ## [1.0.9](https://github.com/bluelovers/ws-array/compare/array-group-to-record@1.0.8...array-group-to-record@1.0.9) (2022-10-14) | ||
@@ -8,0 +18,0 @@ |
@@ -7,9 +7,5 @@ 'use strict'; | ||
| function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } | ||
| var hashSum__default = /*#__PURE__*/_interopDefaultLegacy(hashSum); | ||
| function handleOptions(options) { | ||
| var _options$getKey; | ||
| const getKey = (_options$getKey = options === null || options === void 0 ? void 0 : options.getKey) !== null && _options$getKey !== void 0 ? _options$getKey : item => hashSum__default["default"](item); | ||
| const getKey = (_options$getKey = options === null || options === void 0 ? void 0 : options.getKey) !== null && _options$getKey !== void 0 ? _options$getKey : item => hashSum(item); | ||
| return { | ||
@@ -52,4 +48,6 @@ ...options, | ||
| if (typeof group.forEach === 'undefined') { | ||
| // @ts-ignore | ||
| group = Object.values(group); | ||
| } | ||
| // @ts-ignore | ||
| group.forEach(b => len += b.length); | ||
@@ -61,5 +59,5 @@ return len; | ||
| exports.arrayGroupToRecord = arrayGroupToRecord; | ||
| exports["default"] = arrayGroupToRecord; | ||
| exports.default = arrayGroupToRecord; | ||
| exports.handleOptions = handleOptions; | ||
| exports.sumGroup = sumGroup; | ||
| //# sourceMappingURL=index.cjs.development.cjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.cjs.development.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","getKey","item","hashSum","arrayGroupToRecord","arr","init","reduce","map","index","id","push","arrayGroupToMap","a","get","set","Map","sumGroup","group","len","forEach","Object","values","b","length"],"mappings":"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"} | ||
| {"version":3,"file":"index.cjs.development.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":"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"} |
| "use strict"; | ||
| function _interopDefaultLegacy(e) { | ||
| return e && "object" == typeof e && "default" in e ? e : { | ||
| default: e | ||
| }; | ||
| } | ||
| Object.defineProperty(exports, "__esModule", { | ||
@@ -13,37 +7,37 @@ value: !0 | ||
| var e = _interopDefaultLegacy(require("hash-sum")); | ||
| var r = require("hash-sum"); | ||
| function handleOptions(r) { | ||
| function handleOptions(e) { | ||
| var o; | ||
| const t = null !== (o = null == r ? void 0 : r.getKey) && void 0 !== o ? o : r => e.default(r); | ||
| const n = null !== (o = null == e ? void 0 : e.getKey) && void 0 !== o ? o : e => r(e); | ||
| return { | ||
| ...r, | ||
| getKey: t | ||
| ...e, | ||
| getKey: n | ||
| }; | ||
| } | ||
| function arrayGroupToRecord(e, r) { | ||
| function arrayGroupToRecord(r, e) { | ||
| var o; | ||
| const {getKey: t, init: n} = handleOptions(r); | ||
| return e.reduce(((e, r, o, n) => { | ||
| const {getKey: n, init: t} = handleOptions(e); | ||
| return r.reduce(((r, e, o, t) => { | ||
| var u; | ||
| const a = t(r, o, n); | ||
| return null !== (u = e[a]) && void 0 !== u || (e[a] = []), e[a].push(r), e; | ||
| }), null !== (o = null == n ? void 0 : n()) && void 0 !== o ? o : {}); | ||
| const a = n(e, o, t); | ||
| return null !== (u = r[a]) && void 0 !== u || (r[a] = []), r[a].push(e), r; | ||
| }), null !== (o = null == t ? void 0 : t()) && void 0 !== o ? o : {}); | ||
| } | ||
| exports.arrayGroupToMap = function arrayGroupToMap(e, r) { | ||
| exports.arrayGroupToMap = function arrayGroupToMap(r, e) { | ||
| var o; | ||
| const {getKey: t, init: n} = handleOptions(r); | ||
| return e.reduce(((e, r, o, n) => { | ||
| const {getKey: n, init: t} = handleOptions(e); | ||
| return r.reduce(((r, e, o, t) => { | ||
| var u; | ||
| const a = t(r, o, n), l = null !== (u = e.get(a)) && void 0 !== u ? u : []; | ||
| return l.push(r), e.set(a, l), e; | ||
| }), null !== (o = null == n ? void 0 : n()) && void 0 !== o ? o : new Map); | ||
| const a = n(e, o, t), l = null !== (u = r.get(a)) && void 0 !== u ? u : []; | ||
| return l.push(e), r.set(a, l), r; | ||
| }), null !== (o = null == t ? void 0 : t()) && void 0 !== o ? o : new Map); | ||
| }, exports.arrayGroupToRecord = arrayGroupToRecord, exports.default = arrayGroupToRecord, | ||
| exports.handleOptions = handleOptions, exports.sumGroup = function sumGroup(e) { | ||
| let r = 0; | ||
| return void 0 === e.forEach && (e = Object.values(e)), e.forEach((e => r += e.length)), | ||
| r; | ||
| exports.handleOptions = handleOptions, exports.sumGroup = function sumGroup(r) { | ||
| let e = 0; | ||
| return void 0 === r.forEach && (r = Object.values(r)), r.forEach((r => e += r.length)), | ||
| e; | ||
| }; | ||
| //# sourceMappingURL=index.cjs.production.min.cjs.map |
@@ -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":";;;;;;;;;;;;;;AAgBM,SAAUA,cAAsEC;EAAU,IAAAC;EAE/F,MAAMC,cAAMD,IAAGD,iBAAAA,IAAAA,EAASE,8BAAYC,KAASC,UAAQD;EAErD,OAAO;OACHH;IACHE;;AAEF;;AAEgB,SAAAG,mBAAsBC,GAAUN;EAA8B,IAAAO;EAE7E,OAAML,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAM;IAG3C,MAAMC,IAAKX,EAAOC,GAAMQ,GAAOL;IAK/B,OAHO,UAAPI,IAAAA,EAAIG,YAAG,MAAAD,MAAPF,EAAIG,KAAQ,KACZH,EAAIG,GAAIC,KAAKX,IAENO;AAAG,MACA,UAAVH,IAAEC,iBAAI,IAAJA,aAAQ,MAAAD,IAAAA,IAAI,CAAA;AAChB;;0BAEgB,SAAAQ,gBAAmBT,GAAUN;EAA2B,IAAAgB;EAEvE,OAAMd,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAW;IAG3C,MAAMJ,IAAKX,EAAOC,GAAMQ,GAAOL,IAEzBY,IAAe,cAAXR,EAAIS,IAAIN,YAAG,MAAAI,IAAAA,IAAI;IAMzB,OAJAC,EAAEJ,KAAKX,IAEPO,EAAIU,IAAIP,GAAIK,IAELR;AAAG,MACI,UAAdM,IAAER,iBAAI,IAAJA,aAAY,MAAAQ,IAAAA,IAAA,IAAIK;AACpB;0DAEM,SAAUC,SAAyDC;EAExE,IAAIC,IAAM;EAWV,YAT6B,MAAlBD,EAAME,YAGhBF,IAAQG,OAAOC,OAAOJ,KAIvBA,EAAME,SAAQG,KAAKJ,KAAOI,EAAEC;EAErBL;AACR"} | ||
| {"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":";;;;;;;;AAgBM,SAAUA,cAAsEC;EAAU,IAAAC;EAE/F,MAAMC,IAAwBD,UAAlBA,IAAGD,qBAAAA,EAASE,sBAAMD,IAAAA,IAAME,KAASC,EAAQD;EAErD,OAAO;OACHH;IACHE;;AAEF;;AAEgB,SAAAG,mBAAsBC,GAAUN;EAA8B,IAAAO;EAE7E,OAAML,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAM;IAG3C,MAAMC,IAAKX,EAAOC,GAAMQ,GAAOL;IAK/B,OAHOM,UAAPA,IAAAF,EAAIG,YAAGD,MAAAA,MAAPF,EAAIG,KAAQ,KACZH,EAAIG,GAAIC,KAAKX,IAENO;AAAG,gBACVH,IAAEC,iBAAAA,IAAAA,aAAQ,MAAAD,IAAAA,IAAI,CAAA;AAChB;;0BAEgB,SAAAQ,gBAAmBT,GAAUN;EAA2B,IAAAgB;EAEvE,OAAMd,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAW;IAG3C,MAAMJ,IAAKX,EAAOC,GAAMQ,GAAOL,IAEzBY,IAAeD,UAAdA,IAAGP,EAAIS,IAAIN,YAAGI,MAAAA,IAAAA,IAAI;IAMzB,OAJAC,EAAEJ,KAAKX,IAEPO,EAAIU,IAAIP,GAAIK,IAELR;AAAG,MACAM,UAAVA,IAAER,qBAAAA,mBAAQQ,IAAAA,IAAI,IAAIK;AACpB;0DAEM,SAAUC,SAAyDC;EAExE,IAAIC,IAAM;EAWV,YAT6B,MAAlBD,EAAME,YAGhBF,IAAQG,OAAOC,OAAOJ,KAIvBA,EAAME,SAAQG,KAAKJ,KAAOI,EAAEC;EAErBL;AACR"} |
@@ -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,iBAAAA,IAAAA,EAASE,8BAAYC,KAASC,EAAQD;EAErD,OAAO;OACHH;IACHE;;AAEF;;AAEgB,SAAAG,mBAAsBC,GAAUN;EAA8B,IAAAO;EAE7E,OAAML,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAM;IAG3C,MAAMC,IAAKX,EAAOC,GAAMQ,GAAOL;IAK/B,OAHO,UAAPI,IAAAA,EAAIG,YAAG,MAAAD,MAAPF,EAAIG,KAAQ,KACZH,EAAIG,GAAIC,KAAKX,IAENO;AAAG,MACA,UAAVH,IAAEC,iBAAI,IAAJA,aAAQ,MAAAD,IAAAA,IAAI,CAAA;AAChB;;AAEgB,SAAAQ,gBAAmBT,GAAUN;EAA2B,IAAAgB;EAEvE,OAAMd,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAW;IAG3C,MAAMJ,IAAKX,EAAOC,GAAMQ,GAAOL,IAEzBY,IAAe,cAAXR,EAAIS,IAAIN,YAAG,MAAAI,IAAAA,IAAI;IAMzB,OAJAC,EAAEJ,KAAKX,IAEPO,EAAIU,IAAIP,GAAIK,IAELR;AAAG,MACI,UAAdM,IAAER,iBAAI,IAAJA,aAAY,MAAAQ,IAAAA,IAAA,IAAIK;AACpB;;AAEM,SAAUC,SAAyDC;EAExE,IAAIC,IAAM;EAWV,YAT6B,MAAlBD,EAAME,YAGhBF,IAAQG,OAAOC,OAAOJ,KAIvBA,EAAME,SAAQG,KAAKJ,KAAOI,EAAEC;EAErBL;AACR;;"} | ||
| {"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,IAAwBD,UAAlBA,IAAGD,qBAAAA,EAASE,sBAAMD,IAAAA,IAAME,KAASC,EAAQD;EAErD,OAAO;OACHH;IACHE;;AAEF;;AAEgB,SAAAG,mBAAsBC,GAAUN;EAA8B,IAAAO;EAE7E,OAAML,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAM;IAG3C,MAAMC,IAAKX,EAAOC,GAAMQ,GAAOL;IAK/B,OAHOM,UAAPA,IAAAF,EAAIG,YAAGD,MAAAA,MAAPF,EAAIG,KAAQ,KACZH,EAAIG,GAAIC,KAAKX,IAENO;AAAG,gBACVH,IAAEC,iBAAAA,IAAAA,aAAQ,MAAAD,IAAAA,IAAI,CAAA;AAChB;;AAEgB,SAAAQ,gBAAmBT,GAAUN;EAA2B,IAAAgB;EAEvE,OAAMd,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;EAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;IAAO,IAAAW;IAG3C,MAAMJ,IAAKX,EAAOC,GAAMQ,GAAOL,IAEzBY,IAAeD,UAAdA,IAAGP,EAAIS,IAAIN,YAAGI,MAAAA,IAAAA,IAAI;IAMzB,OAJAC,EAAEJ,KAAKX,IAEPO,EAAIU,IAAIP,GAAIK,IAELR;AAAG,MACAM,UAAVA,IAAER,qBAAAA,mBAAQQ,IAAAA,IAAI,IAAIK;AACpB;;AAEM,SAAUC,SAAyDC;EAExE,IAAIC,IAAM;EAWV,YAT6B,MAAlBD,EAAME,YAGhBF,IAAQG,OAAOC,OAAOJ,KAIvBA,EAAME,SAAQG,KAAKJ,KAAOI,EAAEC;EAErBL;AACR;;"} |
@@ -7,9 +7,5 @@ (function (global, factory) { | ||
| function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } | ||
| var hashSum__default = /*#__PURE__*/_interopDefaultLegacy(hashSum); | ||
| function handleOptions(options) { | ||
| var _options$getKey; | ||
| const getKey = (_options$getKey = options === null || options === void 0 ? void 0 : options.getKey) !== null && _options$getKey !== void 0 ? _options$getKey : item => hashSum__default["default"](item); | ||
| const getKey = (_options$getKey = options === null || options === void 0 ? void 0 : options.getKey) !== null && _options$getKey !== void 0 ? _options$getKey : item => hashSum(item); | ||
| return { | ||
@@ -52,4 +48,6 @@ ...options, | ||
| if (typeof group.forEach === 'undefined') { | ||
| // @ts-ignore | ||
| group = Object.values(group); | ||
| } | ||
| // @ts-ignore | ||
| group.forEach(b => len += b.length); | ||
@@ -61,3 +59,3 @@ return len; | ||
| exports.arrayGroupToRecord = arrayGroupToRecord; | ||
| exports["default"] = arrayGroupToRecord; | ||
| exports.default = arrayGroupToRecord; | ||
| exports.handleOptions = handleOptions; | ||
@@ -64,0 +62,0 @@ exports.sumGroup = sumGroup; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.umd.development.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","getKey","item","hashSum","arrayGroupToRecord","arr","init","reduce","map","index","id","push","arrayGroupToMap","a","get","set","Map","sumGroup","group","len","forEach","Object","values","b","length"],"mappings":"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"} | ||
| {"version":3,"file":"index.umd.development.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":"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"} |
@@ -5,11 +5,5 @@ !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); | ||
| var r; | ||
| const n = null !== (r = null == e ? void 0 : e.getKey) && void 0 !== r ? r : e => o(e); | ||
| return { | ||
@@ -16,0 +10,0 @@ ...e, |
@@ -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":";;;;;;;;;;EAgBM,SAAUA,cAAsEC;IAAU,IAAAC;IAE/F,MAAMC,cAAMD,IAAGD,iBAAAA,IAAAA,EAASE,8BAAYC,KAASC,UAAQD;IAErD,OAAO;SACHH;MACHE;;AAEF;EAEgB,SAAAG,mBAAsBC,GAAUN;IAA8B,IAAAO;IAE7E,OAAML,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;IAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;MAAO,IAAAM;MAG3C,MAAMC,IAAKX,EAAOC,GAAMQ,GAAOL;MAK/B,OAHO,UAAPI,IAAAA,EAAIG,YAAG,MAAAD,MAAPF,EAAIG,KAAQ,KACZH,EAAIG,GAAIC,KAAKX,IAENO;AAAG,QACA,UAAVH,IAAEC,iBAAI,IAAJA,aAAQ,MAAAD,IAAAA,IAAI,CAAA;AAChB;sBAEgB,SAAAQ,gBAAmBT,GAAUN;IAA2B,IAAAgB;IAEvE,OAAMd,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;IAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;MAAO,IAAAW;MAG3C,MAAMJ,IAAKX,EAAOC,GAAMQ,GAAOL,IAEzBY,IAAe,cAAXR,EAAIS,IAAIN,YAAG,MAAAI,IAAAA,IAAI;MAMzB,OAJAC,EAAEJ,KAAKX,IAEPO,EAAIU,IAAIP,GAAIK,IAELR;AAAG,QACI,UAAdM,IAAER,iBAAI,IAAJA,aAAY,MAAAQ,IAAAA,IAAA,IAAIK;AACpB;eAEM,SAAUC,SAAyDC;IAExE,IAAIC,IAAM;IAWV,YAT6B,MAAlBD,EAAME,YAGhBF,IAAQG,OAAOC,OAAOJ,KAIvBA,EAAME,SAAQG,KAAKJ,KAAOI,EAAEC;IAErBL;AACR;;;"} | ||
| {"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":";;;;EAgBM,SAAUA,cAAsEC;IAAU,IAAAC;IAE/F,MAAMC,IAAwBD,UAAlBA,IAAGD,qBAAAA,EAASE,sBAAMD,IAAAA,IAAME,KAASC,EAAQD;IAErD,OAAO;SACHH;MACHE;;AAEF;EAEgB,SAAAG,mBAAsBC,GAAUN;IAA8B,IAAAO;IAE7E,OAAML,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;IAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;MAAO,IAAAM;MAG3C,MAAMC,IAAKX,EAAOC,GAAMQ,GAAOL;MAK/B,OAHOM,UAAPA,IAAAF,EAAIG,YAAGD,MAAAA,MAAPF,EAAIG,KAAQ,KACZH,EAAIG,GAAIC,KAAKX,IAENO;AAAG,kBACVH,IAAEC,iBAAAA,IAAAA,aAAQ,MAAAD,IAAAA,IAAI,CAAA;AAChB;sBAEgB,SAAAQ,gBAAmBT,GAAUN;IAA2B,IAAAgB;IAEvE,OAAMd,QAAEA,GAAMM,MAAEA,KAAST,cAAcC;IAEvC,OAAOM,EAAIG,QAAO,CAACC,GAAKP,GAAMQ,GAAOL;MAAO,IAAAW;MAG3C,MAAMJ,IAAKX,EAAOC,GAAMQ,GAAOL,IAEzBY,IAAeD,UAAdA,IAAGP,EAAIS,IAAIN,YAAGI,MAAAA,IAAAA,IAAI;MAMzB,OAJAC,EAAEJ,KAAKX,IAEPO,EAAIU,IAAIP,GAAIK,IAELR;AAAG,QACAM,UAAVA,IAAER,qBAAAA,mBAAQQ,IAAAA,IAAI,IAAIK;AACpB;eAEM,SAAUC,SAAyDC;IAExE,IAAIC,IAAM;IAWV,YAT6B,MAAlBD,EAAME,YAGhBF,IAAQG,OAAOC,OAAOJ,KAIvBA,EAAME,SAAQG,KAAKJ,KAAOI,EAAEC;IAErBL;AACR;;;"} |
+6
-5
| { | ||
| "name": "array-group-to-record", | ||
| "version": "1.0.9", | ||
| "version": "1.0.10", | ||
| "description": "", | ||
@@ -23,4 +23,4 @@ "keywords": [ | ||
| "types": "./dist/index.d.ts", | ||
| "import": "./dist/index.esm.mjs", | ||
| "require": "./dist/index.cjs" | ||
| "require": "./dist/index.cjs", | ||
| "import": "./dist/index.esm.mjs" | ||
| }, | ||
@@ -41,2 +41,3 @@ "./package.json": "./package.json" | ||
| "test:jest": "jest --passWithNoTests", | ||
| "test:jest:coverage": "yarn run test:jest -- --coverage", | ||
| "test:jest:snapshot": "yarn run test:jest -- -u", | ||
@@ -67,6 +68,6 @@ "test:mocha": "ynpx --quiet -p ts-node -p mocha mocha -- --require ts-node/register \"!(node_modules)/**/*.{test,spec}.{ts,tsx}\"", | ||
| "devDependencies": { | ||
| "@types/hash-sum": "^1.0.0" | ||
| "@types/hash-sum": "^1.0.2" | ||
| }, | ||
| "packageManager": "yarn@^1.22.11", | ||
| "gitHead": "7b52de45e7022cc53fa1411f639b598b824b2cdc" | ||
| "gitHead": "77defbf96f2631c5d5df602f053c29352ac60786" | ||
| } |
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
32865
-0.57%303
-3.5%