@zajno/common 2.8.2 → 2.8.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/README.md +2 -2
- package/cjs/functions/{throttle.js → debounce.js} +8 -8
- package/cjs/functions/{throttle.js.map → debounce.js.map} +1 -1
- package/cjs/functions/index.js +1 -1
- package/cjs/observing/debouncedEvent.js +20 -0
- package/cjs/observing/{throttledEvent.js.map → debouncedEvent.js.map} +1 -1
- package/cjs/structures/promiseCache.js +2 -2
- package/esm/functions/{throttle.js → debounce.js} +5 -5
- package/esm/functions/{throttle.js.map → debounce.js.map} +1 -1
- package/esm/functions/index.js +1 -1
- package/esm/observing/debouncedEvent.js +16 -0
- package/esm/observing/{throttledEvent.js.map → debouncedEvent.js.map} +1 -1
- package/esm/structures/promiseCache.js +2 -2
- package/package.json +1 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/tsconfig.types.tsbuildinfo +1 -1
- package/types/functions/{throttle.d.ts → debounce.d.ts} +2 -2
- package/types/functions/index.d.ts +1 -1
- package/types/observing/{throttledEvent.d.ts → debouncedEvent.d.ts} +2 -2
- package/cjs/observing/throttledEvent.js +0 -20
- package/esm/observing/throttledEvent.js +0 -16
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ The motivation to have this – just to control and organize some shared code th
|
|
|
22
22
|
|
|
23
23
|
* [Fields](./src/fields/index.ts): work with object fields: skip/filter falsy, transfer falsy/changed; merge arrays of objects.
|
|
24
24
|
|
|
25
|
-
* [Functions](./src/functions): [`assert`](./src/functions/assert.ts), [`IDisposable`/`Disposable`/`Disposer`](./src/functions/disposer.ts), [`
|
|
25
|
+
* [Functions](./src/functions): [`assert`](./src/functions/assert.ts), [`IDisposable`/`Disposable`/`Disposer`](./src/functions/disposer.ts), [`DebounceAction`/`DebounceProcessor`](./src/functions/debounce.ts).
|
|
26
26
|
|
|
27
27
|
* [Lazy](./src/lazy): [`Lazy`](./src/lazy/singleton.ts) (sync), [`LazyPromise`](./src/lazy/promise.ts).
|
|
28
28
|
|
|
@@ -44,7 +44,7 @@ The motivation to have this – just to control and organize some shared code th
|
|
|
44
44
|
* [Observing](./src/observing)
|
|
45
45
|
- [`Event`](./src/observing/event.ts): a simple event emitter;
|
|
46
46
|
- [`OneTimeLateEvent`](./src/observing/event.late.ts): an event emitter that can be listened to after it's been emitted;
|
|
47
|
-
- Others: `
|
|
47
|
+
- Others: `DebouncedEvent`, `Timer`, `ProgressTracker` and more.
|
|
48
48
|
|
|
49
49
|
* [Storage](./src/storage/index.ts): abstractions + helpers for sync/async storages;
|
|
50
50
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.DebounceProcessor = exports.DebounceAction = void 0;
|
|
4
4
|
const manualPromise_js_1 = require("../async/manualPromise.js");
|
|
5
5
|
const index_js_1 = require("../logger/index.js");
|
|
6
6
|
const index_js_2 = require("../math/index.js");
|
|
7
7
|
const safe_js_1 = require("./safe.js");
|
|
8
8
|
/** Runs a callback after a timeout, ignoring all consecutive calls until the first is processed. */
|
|
9
|
-
class
|
|
9
|
+
class DebounceAction extends index_js_1.Loggable {
|
|
10
10
|
timeout;
|
|
11
11
|
_timeoutRef = null;
|
|
12
12
|
_postponedCb = null;
|
|
@@ -58,7 +58,7 @@ class ThrottleAction extends index_js_1.Loggable {
|
|
|
58
58
|
// This is probably OK since the running call should cover the current one.
|
|
59
59
|
// TODO Maybe just don't start timeout if the lock is set?
|
|
60
60
|
// The reason for not doing that 👆 is there's still a valid case when previous is still working but it's legit to start a new one (e.g. some state has changed already)
|
|
61
|
-
this.logger.warn('[
|
|
61
|
+
this.logger.warn('[DebounceAction] DEBOUNCE LOCKED, but another call is forced. Skipping since the behavior is undefined.');
|
|
62
62
|
}
|
|
63
63
|
else if (cb) {
|
|
64
64
|
let result = undefined;
|
|
@@ -84,8 +84,8 @@ class ThrottleAction extends index_js_1.Loggable {
|
|
|
84
84
|
return this._currentRun?.promise || Promise.resolve(undefined);
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
exports.
|
|
88
|
-
class
|
|
87
|
+
exports.DebounceAction = DebounceAction;
|
|
88
|
+
class DebounceProcessor {
|
|
89
89
|
process;
|
|
90
90
|
_queue = [];
|
|
91
91
|
_action;
|
|
@@ -95,7 +95,7 @@ class ThrottleProcessor {
|
|
|
95
95
|
if (!process) {
|
|
96
96
|
throw new Error('Arg0 expected: process');
|
|
97
97
|
}
|
|
98
|
-
this._action = new
|
|
98
|
+
this._action = new DebounceAction(timeout)
|
|
99
99
|
.useParallelRuns();
|
|
100
100
|
}
|
|
101
101
|
setLogger(logger) {
|
|
@@ -124,5 +124,5 @@ class ThrottleProcessor {
|
|
|
124
124
|
this._promise = null;
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
exports.
|
|
128
|
-
//# sourceMappingURL=
|
|
127
|
+
exports.DebounceProcessor = DebounceProcessor;
|
|
128
|
+
//# sourceMappingURL=debounce.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/functions/debounce.ts"],"names":[],"mappings":"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"}
|
package/cjs/functions/index.js
CHANGED
|
@@ -5,5 +5,5 @@ tslib_1.__exportStar(require("./assert.js"), exports);
|
|
|
5
5
|
tslib_1.__exportStar(require("./disposer.symbols.js"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./disposer.js"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./safe.js"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./
|
|
8
|
+
tslib_1.__exportStar(require("./debounce.js"), exports);
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DebouncedEvent = void 0;
|
|
4
|
+
const event_js_1 = require("./event.js");
|
|
5
|
+
const debounce_js_1 = require("../functions/debounce.js");
|
|
6
|
+
class DebouncedEvent extends event_js_1.Event {
|
|
7
|
+
_debounce = new debounce_js_1.DebounceAction(100);
|
|
8
|
+
setTimeout(timeout) {
|
|
9
|
+
this._debounce.timeout = timeout;
|
|
10
|
+
return this;
|
|
11
|
+
}
|
|
12
|
+
trigger() {
|
|
13
|
+
this._debounce.tryRun(() => super.trigger());
|
|
14
|
+
}
|
|
15
|
+
triggerAsync() {
|
|
16
|
+
throw new Error('DebouncedEvent does not support triggerAsync');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.DebouncedEvent = DebouncedEvent;
|
|
20
|
+
//# sourceMappingURL=debouncedEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"debouncedEvent.js","sourceRoot":"","sources":["../../../src/observing/debouncedEvent.ts"],"names":[],"mappings":";;;AAAA,yCAAmC;AACnC,0DAA0D;AAE1D,MAAa,cAAe,SAAQ,gBAAK;IAEpB,SAAS,GAAG,IAAI,4BAAc,CAAC,GAAG,CAAC,CAAC;IAE9C,UAAU,CAAC,OAAe;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,YAAY;QACf,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpE,CAAC;CACJ;AAhBD,wCAgBC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PromiseCache = exports.DeferredGetter = void 0;
|
|
4
|
-
const
|
|
4
|
+
const debounce_js_1 = require("../functions/debounce.js");
|
|
5
5
|
const loggable_js_1 = require("../logger/loggable.js");
|
|
6
6
|
const Model_js_1 = require("../models/Model.js");
|
|
7
7
|
var DeferredGetter;
|
|
@@ -131,7 +131,7 @@ class PromiseCache extends loggable_js_1.Loggable {
|
|
|
131
131
|
* When provided, effectively replaces the main fetcher; but in case of fail, fallbacks to the main fetcher.
|
|
132
132
|
*/
|
|
133
133
|
useBatching(fetcher, delay = BATCHING_DELAY) {
|
|
134
|
-
this._batch = fetcher ? new
|
|
134
|
+
this._batch = fetcher ? new debounce_js_1.DebounceProcessor(fetcher, delay) : null;
|
|
135
135
|
return this;
|
|
136
136
|
}
|
|
137
137
|
/**
|
|
@@ -4,7 +4,7 @@ import { random } from '../math/index.js';
|
|
|
4
4
|
import { Getter } from '../types/getter.js';
|
|
5
5
|
import { catchPromise } from './safe.js';
|
|
6
6
|
/** Runs a callback after a timeout, ignoring all consecutive calls until the first is processed. */
|
|
7
|
-
export class
|
|
7
|
+
export class DebounceAction extends Loggable {
|
|
8
8
|
timeout;
|
|
9
9
|
_timeoutRef = null;
|
|
10
10
|
_postponedCb = null;
|
|
@@ -56,7 +56,7 @@ export class ThrottleAction extends Loggable {
|
|
|
56
56
|
// This is probably OK since the running call should cover the current one.
|
|
57
57
|
// TODO Maybe just don't start timeout if the lock is set?
|
|
58
58
|
// The reason for not doing that 👆 is there's still a valid case when previous is still working but it's legit to start a new one (e.g. some state has changed already)
|
|
59
|
-
this.logger.warn('[
|
|
59
|
+
this.logger.warn('[DebounceAction] DEBOUNCE LOCKED, but another call is forced. Skipping since the behavior is undefined.');
|
|
60
60
|
}
|
|
61
61
|
else if (cb) {
|
|
62
62
|
let result = undefined;
|
|
@@ -82,7 +82,7 @@ export class ThrottleAction extends Loggable {
|
|
|
82
82
|
return this._currentRun?.promise || Promise.resolve(undefined);
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
export class
|
|
85
|
+
export class DebounceProcessor {
|
|
86
86
|
process;
|
|
87
87
|
_queue = [];
|
|
88
88
|
_action;
|
|
@@ -92,7 +92,7 @@ export class ThrottleProcessor {
|
|
|
92
92
|
if (!process) {
|
|
93
93
|
throw new Error('Arg0 expected: process');
|
|
94
94
|
}
|
|
95
|
-
this._action = new
|
|
95
|
+
this._action = new DebounceAction(timeout)
|
|
96
96
|
.useParallelRuns();
|
|
97
97
|
}
|
|
98
98
|
setLogger(logger) {
|
|
@@ -121,4 +121,4 @@ export class ThrottleProcessor {
|
|
|
121
121
|
this._promise = null;
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
//# sourceMappingURL=
|
|
124
|
+
//# sourceMappingURL=debounce.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/functions/debounce.ts"],"names":[],"mappings":"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"}
|
package/esm/functions/index.js
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Event } from './event.js';
|
|
2
|
+
import { DebounceAction } from '../functions/debounce.js';
|
|
3
|
+
export class DebouncedEvent extends Event {
|
|
4
|
+
_debounce = new DebounceAction(100);
|
|
5
|
+
setTimeout(timeout) {
|
|
6
|
+
this._debounce.timeout = timeout;
|
|
7
|
+
return this;
|
|
8
|
+
}
|
|
9
|
+
trigger() {
|
|
10
|
+
this._debounce.tryRun(() => super.trigger());
|
|
11
|
+
}
|
|
12
|
+
triggerAsync() {
|
|
13
|
+
throw new Error('DebouncedEvent does not support triggerAsync');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=debouncedEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"debouncedEvent.js","sourceRoot":"","sources":["../../../src/observing/debouncedEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,OAAO,cAAe,SAAQ,KAAK;IAEpB,SAAS,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IAE9C,UAAU,CAAC,OAAe;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,YAAY;QACf,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpE,CAAC;CACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DebounceProcessor } from '../functions/debounce.js';
|
|
2
2
|
import { Loggable } from '../logger/loggable.js';
|
|
3
3
|
import { Model } from '../models/Model.js';
|
|
4
4
|
export var DeferredGetter;
|
|
@@ -128,7 +128,7 @@ export class PromiseCache extends Loggable {
|
|
|
128
128
|
* When provided, effectively replaces the main fetcher; but in case of fail, fallbacks to the main fetcher.
|
|
129
129
|
*/
|
|
130
130
|
useBatching(fetcher, delay = BATCHING_DELAY) {
|
|
131
|
-
this._batch = fetcher ? new
|
|
131
|
+
this._batch = fetcher ? new DebounceProcessor(fetcher, delay) : null;
|
|
132
132
|
return this;
|
|
133
133
|
}
|
|
134
134
|
/**
|
package/package.json
CHANGED
package/tsconfig.cjs.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/debounce.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/lazy/extensions.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/empty.ts","../src/logger/index.ts","../src/logger/loggable.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/provider.ts","../src/logger/proxy.ts","../src/logger/types.ts","../src/logger/buffered/base.ts","../src/logger/buffered/buffered.logger.ts","../src/logger/buffered/buffered.memory.ts","../src/logger/buffered/index.ts","../src/logger/buffered/file/buffered.file.ts","../src/logger/buffered/file/index.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/debouncedevent.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/observing/transition.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/extendobject.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/singleton.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils/combineurls.ts","../src/structures/path/utils/index.ts","../src/structures/path/utils/indextrim.ts","../src/structures/path/utils/optionals.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validationerror.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
package/tsconfig.esm.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/debounce.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/lazy/extensions.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/empty.ts","../src/logger/index.ts","../src/logger/loggable.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/provider.ts","../src/logger/proxy.ts","../src/logger/types.ts","../src/logger/buffered/base.ts","../src/logger/buffered/buffered.logger.ts","../src/logger/buffered/buffered.memory.ts","../src/logger/buffered/index.ts","../src/logger/buffered/file/buffered.file.ts","../src/logger/buffered/file/index.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/debouncedevent.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/observing/transition.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/extendobject.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/singleton.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils/combineurls.ts","../src/structures/path/utils/index.ts","../src/structures/path/utils/indextrim.ts","../src/structures/path/utils/optionals.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validationerror.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/debounce.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/lazy/extensions.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/empty.ts","../src/logger/index.ts","../src/logger/loggable.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/provider.ts","../src/logger/proxy.ts","../src/logger/types.ts","../src/logger/buffered/base.ts","../src/logger/buffered/buffered.logger.ts","../src/logger/buffered/buffered.memory.ts","../src/logger/buffered/index.ts","../src/logger/buffered/file/buffered.file.ts","../src/logger/buffered/file/index.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/debouncedevent.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/observing/transition.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/extendobject.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/singleton.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils/combineurls.ts","../src/structures/path/utils/index.ts","../src/structures/path/utils/indextrim.ts","../src/structures/path/utils/optionals.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validationerror.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Loggable, type ILogger } from '../logger/index.js';
|
|
2
2
|
import { Getter } from '../types/getter.js';
|
|
3
3
|
/** Runs a callback after a timeout, ignoring all consecutive calls until the first is processed. */
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class DebounceAction<T = any> extends Loggable {
|
|
5
5
|
timeout: number;
|
|
6
6
|
private _timeoutRef;
|
|
7
7
|
private _postponedCb;
|
|
@@ -23,7 +23,7 @@ type ProcessorResult<T> = {
|
|
|
23
23
|
result: T | undefined;
|
|
24
24
|
index: number;
|
|
25
25
|
};
|
|
26
|
-
export declare class
|
|
26
|
+
export declare class DebounceProcessor<TSubject, TResult = any> {
|
|
27
27
|
private readonly process;
|
|
28
28
|
private readonly _queue;
|
|
29
29
|
private readonly _action;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Event } from './event.js';
|
|
2
|
-
export declare class
|
|
3
|
-
private readonly
|
|
2
|
+
export declare class DebouncedEvent extends Event {
|
|
3
|
+
private readonly _debounce;
|
|
4
4
|
setTimeout(timeout: number): this;
|
|
5
5
|
trigger(): void;
|
|
6
6
|
triggerAsync(): Promise<Error[]>;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ThrottledEvent = void 0;
|
|
4
|
-
const event_js_1 = require("./event.js");
|
|
5
|
-
const throttle_js_1 = require("../functions/throttle.js");
|
|
6
|
-
class ThrottledEvent extends event_js_1.Event {
|
|
7
|
-
_throttle = new throttle_js_1.ThrottleAction(100);
|
|
8
|
-
setTimeout(timeout) {
|
|
9
|
-
this._throttle.timeout = timeout;
|
|
10
|
-
return this;
|
|
11
|
-
}
|
|
12
|
-
trigger() {
|
|
13
|
-
this._throttle.tryRun(() => super.trigger());
|
|
14
|
-
}
|
|
15
|
-
triggerAsync() {
|
|
16
|
-
throw new Error('ThrottledEvent does not support triggerAsync');
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.ThrottledEvent = ThrottledEvent;
|
|
20
|
-
//# sourceMappingURL=throttledEvent.js.map
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Event } from './event.js';
|
|
2
|
-
import { ThrottleAction } from '../functions/throttle.js';
|
|
3
|
-
export class ThrottledEvent extends Event {
|
|
4
|
-
_throttle = new ThrottleAction(100);
|
|
5
|
-
setTimeout(timeout) {
|
|
6
|
-
this._throttle.timeout = timeout;
|
|
7
|
-
return this;
|
|
8
|
-
}
|
|
9
|
-
trigger() {
|
|
10
|
-
this._throttle.tryRun(() => super.trigger());
|
|
11
|
-
}
|
|
12
|
-
triggerAsync() {
|
|
13
|
-
throw new Error('ThrottledEvent does not support triggerAsync');
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=throttledEvent.js.map
|