@opfr/utils-lang 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/array.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export declare const paginate: <T>(array: T[], pageSize: number) => T[][];
2
2
  export declare const groupBy: <T extends object, K extends string | number>(array: T[], key: (i: T) => K) => Record<K, T[]>;
3
+ export declare const groupByOccurrence: <T extends string | number | object, K extends string | number>(array: T[], key: (i: T) => K) => [K, number][];
3
4
  export declare const sortBy: <T extends object, K extends string | number>(array: T[], key: (i: T) => K) => T[];
4
5
  export declare const mutuallyInclusive: <T>(array1: T[], array2: T[], key?: (i: T) => T | string | number) => T[];
5
6
  export declare const exclude: <T>(array: T[], exclude: T[], key?: (i: T) => T | string | number) => T[];
@@ -12,6 +13,7 @@ export declare const includeArrayIf: <T>(array: T[], elements: T[], include: boo
12
13
  export declare const insertIf: <T>(element: T, include: boolean) => T[];
13
14
  export declare const insertArrayIf: <T>(elements: T[], include: boolean) => T[];
14
15
  export declare const pickFrom: <T>(array: T[]) => T;
16
+ export declare const pickFromNth: <T extends string | number>(array: T[], n: number) => Record<T, number>;
15
17
  export type RangeParams = {
16
18
  start?: number;
17
19
  stop: number;
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,aAAc,CAAC,EAAE,YAAY,MAAM,KAAG,CAAC,EAAE,EAQ7D,CAAC;AAEF,eAAO,MAAM,OAAO,uDACX,CAAC,EAAE,WACD,CAAC,KAAK,CAAC,mBASjB,CAAC;AAEF,eAAO,MAAM,MAAM,uDACV,CAAC,EAAE,WACD,CAAC,KAAK,CAAC,KACf,CAAC,EAMH,CAAC;AAEF,eAAO,MAAM,iBAAiB,cACpB,CAAC,EAAE,UACH,CAAC,EAAE,YACF,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,KACjC,CAAC,EAEH,CAAC;AAEF,eAAO,MAAM,OAAO,aACX,CAAC,EAAE,WACD,CAAC,EAAE,YACH,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,KACjC,CAAC,EAEH,CAAC;AAEF,eAAO,MAAM,MAAM,uDACV,CAAC,EAAE,WACD,CAAC,KAAK,CAAC,KACf,CAAC,EAEH,CAAC;AAEF,eAAO,MAAM,OAAO,aAAc,CAAC,EAAE,QAMpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,aAC1B,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,KAC9B,CAAC,EAAmE,CAAC;AAExE,eAAO,MAAM,SAAS,aAAc,CAAC,EAAE,WAAW,CAAC,WAAW,OAAO,KAAG,CAAC,EAGxE,CAAC;AAEF,eAAO,MAAM,cAAc,aAClB,CAAC,EAAE,WACD,CAAC,WACD,OAAO,KACf,CAAC,EAA+C,CAAC;AAEpD,eAAO,MAAM,cAAc,aAClB,CAAC,EAAE,YACA,CAAC,EAAE,WACJ,OAAO,KACf,CAAC,EAAqD,CAAC;AAE1D,eAAO,MAAM,QAAQ,eAAgB,CAAC,WAAW,OAAO,KAAG,CAAC,EAClC,CAAC;AAE3B,eAAO,MAAM,aAAa,gBAAiB,CAAC,EAAE,WAAW,OAAO,KAAG,CAAC,EAC3C,CAAC;AAE1B,eAAO,MAAM,QAAQ,aAAc,CAAC,EAAE,KAAG,CACF,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,KAAK,0BAAmC,WAAW,KAAG,MAAM,EAexE,CAAC;AAEF,eAAO,MAAM,aAAa,gDACjB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,KACtB,OAAO,IAAI,EAAE,MAAM,CAAyD,CAAC"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,aAAc,CAAC,EAAE,YAAY,MAAM,KAAG,CAAC,EAAE,EAQ7D,CAAC;AAEF,eAAO,MAAM,OAAO,uDACX,CAAC,EAAE,WACD,CAAC,KAAK,CAAC,mBASjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,yEAIrB,CAAC,EAAE,WACD,CAAC,KAAK,CAAC,KACf,CAAC,CAAC,EAAE,MAAM,CAAC,EAUb,CAAC;AAEF,eAAO,MAAM,MAAM,uDACV,CAAC,EAAE,WACD,CAAC,KAAK,CAAC,KACf,CAAC,EAMH,CAAC;AAEF,eAAO,MAAM,iBAAiB,cACpB,CAAC,EAAE,UACH,CAAC,EAAE,YACF,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,KACjC,CAAC,EAEH,CAAC;AAEF,eAAO,MAAM,OAAO,aACX,CAAC,EAAE,WACD,CAAC,EAAE,YACH,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,KACjC,CAAC,EAEH,CAAC;AAEF,eAAO,MAAM,MAAM,uDACV,CAAC,EAAE,WACD,CAAC,KAAK,CAAC,KACf,CAAC,EAEH,CAAC;AAEF,eAAO,MAAM,OAAO,aAAc,CAAC,EAAE,QAMpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,aAC1B,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,KAC9B,CAAC,EAAmE,CAAC;AAExE,eAAO,MAAM,SAAS,aAAc,CAAC,EAAE,WAAW,CAAC,WAAW,OAAO,KAAG,CAAC,EAGxE,CAAC;AAEF,eAAO,MAAM,cAAc,aAClB,CAAC,EAAE,WACD,CAAC,WACD,OAAO,KACf,CAAC,EAA+C,CAAC;AAEpD,eAAO,MAAM,cAAc,aAClB,CAAC,EAAE,YACA,CAAC,EAAE,WACJ,OAAO,KACf,CAAC,EAAqD,CAAC;AAE1D,eAAO,MAAM,QAAQ,eAAgB,CAAC,WAAW,OAAO,KAAG,CAAC,EAClC,CAAC;AAE3B,eAAO,MAAM,aAAa,gBAAiB,CAAC,EAAE,WAAW,OAAO,KAAG,CAAC,EAC3C,CAAC;AAE1B,eAAO,MAAM,QAAQ,aAAc,CAAC,EAAE,KAAG,CACF,CAAC;AAExC,eAAO,MAAM,WAAW,qCACf,CAAC,EAAE,KACP,MAAM,KACR,OAAO,CAAC,EAAE,MAAM,CAK4D,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,KAAK,0BAAmC,WAAW,KAAG,MAAM,EAexE,CAAC;AAEF,eAAO,MAAM,aAAa,gDACjB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,KACtB,OAAO,IAAI,EAAE,MAAM,CAAyD,CAAC"}
package/dist/array.js CHANGED
@@ -13,6 +13,17 @@ export const groupBy = (array, key) => {
13
13
  return acc;
14
14
  }, {});
15
15
  };
16
+ export const groupByOccurrence = (array, key) => {
17
+ return array.reduce((acc, v) => {
18
+ if (acc.find(([item]) => item === key(v))) {
19
+ return acc.map(([item, quantity]) => [
20
+ item,
21
+ item === key(v) ? quantity + 1 : quantity,
22
+ ]);
23
+ }
24
+ return [...acc, [key(v), 1]];
25
+ }, []);
26
+ };
16
27
  export const sortBy = (array, key) => {
17
28
  return [...array].sort((a, b) => {
18
29
  if (key(a) < key(b))
@@ -48,6 +59,11 @@ export const includeArrayIf = (array, elements, include) => [...array, ...insert
48
59
  export const insertIf = (element, include) => include ? [element] : [];
49
60
  export const insertArrayIf = (elements, include) => include ? elements : [];
50
61
  export const pickFrom = (array) => array[randomBetween(0, array.length)];
62
+ export const pickFromNth = (array, n) => Array.from({
63
+ length: n,
64
+ })
65
+ .map(() => pickFrom(array))
66
+ .reduce((acc, e) => ({ ...acc, [e]: acc[e] + 1 }), {});
51
67
  export const range = ({ start = 0, stop, step = 1 }) => {
52
68
  if (step === 0) {
53
69
  throw new RangeError('step cannot be equal to 0');
package/dist/array.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}