@giveback007/util-lib 0.23.1 → 0.24.3

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/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 */
@@ -22,9 +28,9 @@ export declare const cloneLog: (x: any) => void;
22
28
  /** An improved version of native `typeof` */
23
29
  export declare function type(val: any): JsType;
24
30
  export declare function assertType<T extends JsType>(val: any, types: T | T[]): asserts val is T;
25
- export declare const uiid: () => string;
31
+ export declare const uuid: () => string;
26
32
  export declare const randomColorHex: () => string;
27
- export declare function debounceTimeOut(): (fct: Function, ms: number) => void;
33
+ export declare function debounceTimeOut(): (fct: Function | 'cancel', ms?: number | undefined) => void;
28
34
  export declare function promiseOut<T = any>(): {
29
35
  resolve: (value: T) => void;
30
36
  promise: Promise<unknown>;
package/dist/general.js CHANGED
@@ -1,25 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.promiseOut = exports.debounceTimeOut = exports.randomColorHex = exports.uiid = exports.assertType = exports.type = exports.cloneLog = exports.unsubAll = exports.wait = exports.interval = void 0;
3
+ exports.promiseOut = exports.debounceTimeOut = exports.randomColorHex = exports.uuid = exports.assertType = exports.type = exports.cloneLog = exports.unsubAll = exports.wait = exports.interval = void 0;
4
4
  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 */
@@ -73,7 +85,7 @@ function assertType(val, types) {
73
85
  throw Error(`value needs to be of type ${types.join(' || ')}`);
74
86
  }
75
87
  exports.assertType = assertType;
76
- const uiid = () => {
88
+ const uuid = () => {
77
89
  let d = new Date().getTime();
78
90
  let d2 = (performance
79
91
  &&
@@ -94,7 +106,7 @@ const uiid = () => {
94
106
  return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
95
107
  });
96
108
  };
97
- exports.uiid = uiid;
109
+ exports.uuid = uuid;
98
110
  const randomColorHex = () => '#' + ((1 << 24) * Math.random() | 0).toString(16);
99
111
  exports.randomColorHex = randomColorHex;
100
112
  // export const jsonp = async <T = any>(
@@ -114,7 +126,8 @@ function debounceTimeOut() {
114
126
  return (fct, ms) => {
115
127
  if (timeoutId)
116
128
  clearTimeout(timeoutId);
117
- timeoutId = setTimeout(fct, ms);
129
+ if (fct !== 'cancel')
130
+ timeoutId = setTimeout(fct, ms || 0);
118
131
  };
119
132
  }
120
133
  exports.debounceTimeOut = debounceTimeOut;
@@ -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.23.1",
3
+ "version": "0.24.3",
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/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 */
@@ -78,7 +90,7 @@ export function assertType<T extends JsType>(
78
90
  throw Error(`value needs to be of type ${types.join(' || ')}`)
79
91
  }
80
92
 
81
- export const uiid = () =>
93
+ export const uuid = () =>
82
94
  {
83
95
  let d = new Date().getTime();
84
96
  let d2 = (
@@ -124,9 +136,12 @@ export const randomColorHex = () =>
124
136
 
125
137
  export function debounceTimeOut() {
126
138
  let timeoutId: ReturnType<typeof setTimeout> | null = null;
127
- return (fct: Function, ms: number) => {
139
+
140
+ return (fct: Function | 'cancel', ms?: number) => {
128
141
  if (timeoutId) clearTimeout(timeoutId);
129
- timeoutId = setTimeout(fct, ms) as any;
142
+
143
+ if (fct !== 'cancel')
144
+ timeoutId = setTimeout(fct, ms || 0) as any;
130
145
  }
131
146
  }
132
147
 
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
  }