@giveback007/util-lib 0.24.1 → 0.25.1

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,6 +1,6 @@
1
1
  import type { AnyObj, Dict } from '.';
2
2
  /** Generates an array of null values */
3
- export declare const arrGen: <T = any>(length: number) => T[];
3
+ export declare const arrGen: <T = any>(length: number, fill?: number | BigInt | string | boolean | undefined | null) => T[];
4
4
  /**
5
5
  * Returns a new array without mutating the provided one.
6
6
  *
package/dist/array.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.arrHas = exports.arrLast = exports.arrToBoolDict = exports.arrToIdxDict = exports.arrToDict = exports.arrRemoveValues = exports.arrReplace = exports.arrDeepFlatten = exports.arrFlatten = exports.arrDivide = exports.arrGetByIds = exports.arrRemoveById = exports.arrGen = void 0;
4
4
  const _1 = require(".");
5
5
  /** Generates an array of null values */
6
- const arrGen = (length) => Array(length).fill(null);
6
+ const arrGen = (length, fill = undefined) => length < 1 ? [] : Array(length).fill(fill);
7
7
  exports.arrGen = arrGen;
8
8
  /**
9
9
  * Returns a new array without mutating the provided one.
@@ -40,7 +40,7 @@ exports.arrGetByIds = arrGetByIds;
40
40
  * arr.length/rowLength
41
41
  */
42
42
  function arrDivide(arr, maxRowLength) {
43
- const rows = Math.ceil(arr.length / maxRowLength);
43
+ const rows = Math.ceil(arr.length / maxRowLength) || 0;
44
44
  const newArr = exports.arrGen(rows).map(() => []);
45
45
  arr.forEach((x, i) => newArr[Math.floor(i / maxRowLength)].push(x));
46
46
  return newArr;
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":";;;AACA,wBAEW;AAEX,wCAAwC;AACjC,MAAM,MAAM,GAAG,CAClB,MAAc,EACd,OAA8D,SAAS,EACpE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAHxC,QAAA,MAAM,UAGkC;AAErD;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAE3B,GAAQ,EAAE,KAAe,EAAE,QAAiB,IAAI;IAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,IAAI,GAAY,gBAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEpD,OAAO,UAAO,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAPD,sCAOC;AAED;;;;;;;;;GASG;AACH,SAAgB,WAAW,CAEzB,GAAQ,EAAE,KAAe,EAAE,QAAiB,IAAI;IAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AALD,kCAKC;AAED;;;GAGG;AACH,SAAgB,SAAS,CACrB,GAAQ,EACR,YAAoB;IAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,cAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAE,EAAU,CAAC,CAAC;IAEnD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC;AAClB,CAAC;AAXD,8BAWC;AAWD,SAAgB,UAAU,CAAC,GAAU;IACjC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAFD,gCAEC;AAED;;;;;;GAMG;AACI,MAAM,cAAc,GAAG,CAAU,GAAU,EAAO,EAAE,CACvD,GAAG,CAAC,MAAM,CAAC,CAAC,MAAa,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAC1C,SAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAF5C,QAAA,cAAc,kBAE8B;AAEzD,SAAgB,UAAU,CAAI,GAAQ;IAElC,MAAM,MAAM,GAAG,CAAE,GAAG,GAAG,CAAE,CAAC;IAC1B,OAAO;QACH,GAAG,EAAE,CAAC,IAAO,EAAE,EAAE;YACb,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACrB,QAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAO;gBACH,IAAI,EAAE,CAAC,OAAU,EAAE,EAAE;oBACjB,IAAI,CAAC,IAAI,CAAC,MAAM;wBAAE,OAAO,GAAG,CAAC;oBAE7B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;oBACzC,OAAO,MAAM,CAAC;gBAClB,CAAC;aACJ,CAAC;QACN,CAAC;QACD,KAAK,EAAE,CAAC,IAAO,EAAE,EAAE;YACf,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CACrB,CAAC,KAAK,EAAE,EAAE,CAAC,QAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAEnC,OAAO;gBACH,IAAI,EAAE,CAAC,OAAU,EAAE,EAAE;oBACjB,IAAI,WAAQ,CAAC,GAAG,CAAC;wBAAE,OAAO,GAAG,CAAC;oBAE9B,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBACtB,OAAO,MAAM,CAAC;gBAClB,CAAC;aACJ,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC;AAhCD,gCAgCC;AAED,SAAgB,eAAe,CAC3B,GAAQ,EACR,YAAmB;IAEnB,IAAI,MAAM,GAAG,CAAE,GAAG,GAAG,CAAE,CAAC;IACxB,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAC7B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CACpD,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC;AAVD,0CAUC;AAED,SAAgB,SAAS,CACrB,GAAQ,EACR,KAAc;IAEd,MAAM,IAAI,GAAY,EAAG,CAAC;IAC1B,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAE7C,OAAO,IAAI,CAAC;AAChB,CAAC;AARD,8BAQC;AAED,SAAgB,YAAY,CAAC,GAAwB;IAEjD,MAAM,IAAI,GAAiB,EAAG,CAAC;IAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;IAE5C,OAAO,IAAI,CAAC;AAChB,CAAC;AAND,oCAMC;AAED,SAAgB,aAAa,CAAC,GAAwB;IAElD,MAAM,IAAI,GAAkB,EAAG,CAAC;IAChC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEnC,OAAO,IAAI,CAAC;AAChB,CAAC;AAND,sCAMC;AAED,wCAAwC;AACjC,MAAM,OAAO,GAAG,CAAI,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAA/C,QAAA,OAAO,WAAwC;AAE5D;;;;GAIG;AACH,SAAgB,MAAM,CAClB,GAAQ,EAAE,IAAO,EAAE,UAAU,GAAG,KAAK;IAErC,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC;QACpB,CAAC,CAAI,EAAE,EAAE,CAAC,QAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;IAEpD,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC;AAPD,wBAOC"}
package/dist/general.d.ts CHANGED
@@ -2,11 +2,17 @@ import type { AnyObj, JsType } from '.';
2
2
  /**
3
3
  * @example
4
4
  * ```js
5
- * interval((i) => console.log('The index is: ' + i), 1000, 2) =>
6
- * //=> 'The index is: 0' //=> 'The index is: 1'
5
+ * interval((i) => console.log('idx: ' + i), 1000, 2))
6
+ * // (log =>) "idx: 0"
7
+ * // (log =>) "idx: 1"
8
+ * // only ran twice because maxTimes was set to: `2` (third parameter)
9
+ *
10
+ * interval((i, stop) => i === 10 && stop());
11
+ * // when i is 10 will stop the interval
7
12
  * ```
8
13
  */
9
- export declare const interval: (funct: (i: number) => any, ms: number, times?: number | undefined) => {
14
+ export declare const interval: (funct: (i: number, stop: () => void) => any, ms: number, maxTimes?: number | undefined) => {
15
+ /** Stop the interval */
10
16
  stop: () => void;
11
17
  };
12
18
  /** A promise that waits `ms` amount of milliseconds to execute */
package/dist/general.js CHANGED
@@ -5,21 +5,33 @@ const _1 = require(".");
5
5
  /**
6
6
  * @example
7
7
  * ```js
8
- * interval((i) => console.log('The index is: ' + i), 1000, 2) =>
9
- * //=> 'The index is: 0' //=> 'The index is: 1'
8
+ * interval((i) => console.log('idx: ' + i), 1000, 2))
9
+ * // (log =>) "idx: 0"
10
+ * // (log =>) "idx: 1"
11
+ * // only ran twice because maxTimes was set to: `2` (third parameter)
12
+ *
13
+ * interval((i, stop) => i === 10 && stop());
14
+ * // when i is 10 will stop the interval
10
15
  * ```
11
16
  */
12
- const interval = (funct, ms, times) => {
13
- if (_1.isType(times, 'number') && times < 1)
17
+ const interval = (funct, ms,
18
+ /** */
19
+ maxTimes) => {
20
+ if (_1.isType(maxTimes, 'number') && maxTimes < 1)
14
21
  throw Error('argument "times" can\'t be less than 1');
15
22
  let i = 0;
16
- const intv = setInterval(() => {
17
- funct(i);
23
+ /** stops the interval */
24
+ const stop = () => clearInterval(itv);
25
+ const itv = setInterval(() => {
26
+ funct(i, stop);
18
27
  i++;
19
- if (times && i >= times)
20
- clearInterval(intv);
28
+ if (maxTimes && i >= maxTimes)
29
+ stop();
21
30
  }, ms);
22
- return { stop: () => clearInterval(intv) };
31
+ return {
32
+ /** Stop the interval */
33
+ stop
34
+ };
23
35
  };
24
36
  exports.interval = interval;
25
37
  /** A promise that waits `ms` amount of milliseconds to execute */
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../src/general.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../src/general.ts"],"names":[],"mappings":"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"}
package/dist/string.js CHANGED
@@ -9,9 +9,9 @@ exports.strRemove = strRemove;
9
9
  const minAppend = (item, length, append = '0') => {
10
10
  item = item + '';
11
11
  if (length < 1)
12
- throw Error('length can not be less than 1');
12
+ console.error(length, 'length can not be less than 1');
13
13
  if (item.length > length)
14
- throw Error('item can not exceed length');
14
+ console.error(item, 'item can not exceed length');
15
15
  return (append.repeat(length - 1) + item).slice(-(length));
16
16
  };
17
17
  exports.minAppend = minAppend;
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AACrC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE,CACvD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AADlB,QAAA,WAAW,eACO;AAExB,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,MAAuB,EAAE,EAAE,CAC9D,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AADhC,QAAA,SAAS,aACuB;AAEtC,MAAM,SAAS,GAAG,CACrB,IAAqB,EAAE,MAAc,EAAE,MAAM,GAAG,GAAG,EACrD,EAAE;IACA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM;QAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAEpE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9D,CAAC,CAAA;AARY,QAAA,SAAS,aAQrB"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AACrC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE,CACvD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AADlB,QAAA,WAAW,eACO;AAExB,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,MAAuB,EAAE,EAAE,CAC9D,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AADhC,QAAA,SAAS,aACuB;AAEtC,MAAM,SAAS,GAAG,CACrB,IAAqB,EAAE,MAAc,EAAE,MAAM,GAAG,GAAG,EACrD,EAAE;IACA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM;QAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;IAE5E,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9D,CAAC,CAAA;AARY,QAAA,SAAS,aAQrB"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@giveback007/util-lib",
3
- "version": "0.24.1",
3
+ "version": "0.25.1",
4
4
  "description": "Small util function library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
8
- "publish-script": "del dist /s /f /q && npm run lint && npm run build && npm publish",
8
+ "pub": "del dist /s /f /q && npm run lint && npm run build && npm publish",
9
9
  "test": "jest --watch",
10
10
  "build": "tsc",
11
11
  "build:watch": "tsc --watch",
package/src/array.ts CHANGED
@@ -4,8 +4,10 @@ import {
4
4
  } from '.';
5
5
 
6
6
  /** Generates an array of null values */
7
- export const arrGen = <T = any>(length: number): T[] =>
8
- Array(length).fill(null);
7
+ export const arrGen = <T = any>(
8
+ length: number,
9
+ fill: number | BigInt | string | boolean | undefined | null = undefined
10
+ ): T[] => length < 1 ? [] : Array(length).fill(fill);
9
11
 
10
12
  /**
11
13
  * Returns a new array without mutating the provided one.
@@ -18,8 +20,7 @@ export const arrGen = <T = any>(length: number): T[] =>
18
20
  */
19
21
  export function arrRemoveById<
20
22
  T extends AnyObj
21
- >(arr: T[], idArr: string[], idKey: keyof T = 'id')
22
- {
23
+ >(arr: T[], idArr: string[], idKey: keyof T = 'id') {
23
24
  const objDict = arrToDict(arr, idKey);
24
25
  const keep: Dict<T> = objRemoveKeys(objDict, idArr);
25
26
 
@@ -51,7 +52,7 @@ export function arrDivide<T>(
51
52
  arr: T[],
52
53
  maxRowLength: number
53
54
  ): T[][] {
54
- const rows = Math.ceil(arr.length / maxRowLength);
55
+ const rows = Math.ceil(arr.length / maxRowLength) || 0;
55
56
  const newArr = arrGen(rows).map(() => ([] as T[]));
56
57
 
57
58
  arr.forEach((x, i) =>
package/src/general.ts CHANGED
@@ -5,27 +5,39 @@ import { isType, objMap, hasKey, clone } from '.';
5
5
  /**
6
6
  * @example
7
7
  * ```js
8
- * interval((i) => console.log('The index is: ' + i), 1000, 2) =>
9
- * //=> 'The index is: 0' //=> 'The index is: 1'
8
+ * interval((i) => console.log('idx: ' + i), 1000, 2))
9
+ * // (log =>) "idx: 0"
10
+ * // (log =>) "idx: 1"
11
+ * // only ran twice because maxTimes was set to: `2` (third parameter)
12
+ *
13
+ * interval((i, stop) => i === 10 && stop());
14
+ * // when i is 10 will stop the interval
10
15
  * ```
11
16
  */
12
17
  export const interval = (
13
- funct: (i: number) => any,
18
+ funct: (i: number, stop: () => void) => any,
14
19
  ms: number,
15
- times?: number
20
+
21
+ /** */
22
+ maxTimes?: number
16
23
  ) => {
17
- if (isType(times, 'number') && times < 1)
24
+ if (isType(maxTimes, 'number') && maxTimes < 1)
18
25
  throw Error('argument "times" can\'t be less than 1');
19
26
 
20
27
  let i = 0;
21
- const intv = setInterval(() => {
22
- funct(i);
28
+ /** stops the interval */
29
+ const stop = () => clearInterval(itv);
30
+ const itv = setInterval(() => {
31
+ funct(i, stop);
23
32
  i++;
24
33
 
25
- if (times && i >= times) clearInterval(intv);
34
+ if (maxTimes && i >= maxTimes) stop();
26
35
  }, ms);
27
36
 
28
- return { stop: () => clearInterval(intv) };
37
+ return {
38
+ /** Stop the interval */
39
+ stop
40
+ };
29
41
  }
30
42
 
31
43
  /** A promise that waits `ms` amount of milliseconds to execute */
package/src/string.ts CHANGED
@@ -9,8 +9,8 @@ export const minAppend = (
9
9
  item: string | number, length: number, append = '0'
10
10
  ) => {
11
11
  item = item + '';
12
- if (length < 1) throw Error('length can not be less than 1');
13
- if (item.length > length) throw Error('item can not exceed length');
12
+ if (length < 1) console.error(length, 'length can not be less than 1');
13
+ if (item.length > length) console.error(item, 'item can not exceed length');
14
14
 
15
15
  return (append.repeat(length - 1) + item).slice(-(length))
16
16
  }