@digital-alchemy/core 24.6.6 → 24.7.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.
@@ -54,6 +54,8 @@ type SleepReturn = Promise<void> & {
54
54
  * ```
55
55
  */
56
56
  export declare function sleep(target?: number | Date): SleepReturn;
57
+ export declare const ACTIVE_THROTTLE: Map<string, SleepReturn>;
58
+ export declare function throttle(identifier: string, timeout: number): Promise<void>;
57
59
  export declare const asyncNoop: () => Promise<void>;
58
60
  export declare const noop: () => void;
59
61
  /**
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noop = exports.asyncNoop = exports.YEAR = exports.PERCENT = exports.SECOND = exports.WEEK = exports.DAY = exports.HOUR = exports.MINUTE = exports.DOWN = exports.NOT_FOUND = exports.NO_CHANGE = exports.EMPTY = exports.FIRST = exports.NONE = exports.START = exports.LABEL = exports.SAME = exports.SINGLE = exports.INCREMENT = exports.ARRAY_OFFSET = exports.VALUE = exports.UP = exports.INVERT_VALUE = exports.DEFAULT_LIMIT = exports.TWO_THIRDS = exports.ONE_THIRD = exports.HALF = exports.PAIR = exports.EVEN = void 0;
3
+ exports.noop = exports.asyncNoop = exports.ACTIVE_THROTTLE = exports.YEAR = exports.PERCENT = exports.SECOND = exports.WEEK = exports.DAY = exports.HOUR = exports.MINUTE = exports.DOWN = exports.NOT_FOUND = exports.NO_CHANGE = exports.EMPTY = exports.FIRST = exports.NONE = exports.START = exports.LABEL = exports.SAME = exports.SINGLE = exports.INCREMENT = exports.ARRAY_OFFSET = exports.VALUE = exports.UP = exports.INVERT_VALUE = exports.DEFAULT_LIMIT = exports.TWO_THIRDS = exports.ONE_THIRD = exports.HALF = exports.PAIR = exports.EVEN = void 0;
4
4
  exports.sleep = sleep;
5
+ exports.throttle = throttle;
5
6
  exports.PEAT = PEAT;
6
7
  const is_extension_1 = require("../extensions/is.extension");
7
8
  /* eslint-disable @typescript-eslint/no-magic-numbers */
@@ -82,6 +83,17 @@ function sleep(target = exports.SECOND) {
82
83
  };
83
84
  return out;
84
85
  }
86
+ exports.ACTIVE_THROTTLE = new Map();
87
+ async function throttle(identifier, timeout) {
88
+ const current = exports.ACTIVE_THROTTLE.get(identifier);
89
+ if (current) {
90
+ current.kill("stop");
91
+ }
92
+ const delay = sleep(timeout);
93
+ exports.ACTIVE_THROTTLE.set(identifier, delay);
94
+ await delay;
95
+ exports.ACTIVE_THROTTLE.delete(identifier);
96
+ }
85
97
  const asyncNoop = async () => await sleep(exports.NONE);
86
98
  exports.asyncNoop = asyncNoop;
87
99
  const noop = () => { };
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.helper.js","sourceRoot":"","sources":["../../src/helpers/utilities.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilities.helper.js","sourceRoot":"","sources":["../../src/helpers/utilities.helper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "repository": {
4
4
  "url": "git+https://github.com/Digital-Alchemy-TS/core"
5
5
  },
6
- "version": "24.6.6",
6
+ "version": "24.7.1",
7
7
  "author": {
8
8
  "url": "https://github.com/zoe-codez",
9
9
  "name": "Zoe Codez"