@o3r/core 12.0.0-next.2 → 12.0.0-next.20
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 +1 -1
- package/builders/package.json +3 -0
- package/fesm2022/o3r-core.mjs +5 -2
- package/fesm2022/o3r-core.mjs.map +1 -1
- package/package.json +36 -37
- package/schematics/component/container/index.d.ts.map +1 -1
- package/schematics/component/container/index.js +1 -2
- package/schematics/component/container/index.js.map +1 -1
- package/schematics/component/container/schema.json +1 -1
- package/schematics/component/presenter/schema.json +1 -1
- package/schematics/package.json +3 -0
- package/schematics/page/schema.json +1 -1
- package/schematics/rule-factories/otter-environment/index.d.ts +0 -2
- package/schematics/rule-factories/otter-environment/index.d.ts.map +1 -1
- package/schematics/rule-factories/otter-environment/index.js +0 -1
- package/schematics/rule-factories/otter-environment/index.js.map +1 -1
- package/utils/deep-fill/deep-fill.d.ts.map +1 -1
- package/utils/deep-fill/deep-fill.js +5 -2
- package/utils/deep-fill/deep-fill.js.map +1 -1
- package/esm2022/core/application/build-properties.mjs +0 -17
- package/esm2022/core/application/dgp.interfaces.mjs +0 -2
- package/esm2022/core/application/index.mjs +0 -4
- package/esm2022/core/application/runtime.mjs +0 -2
- package/esm2022/core/common/index.mjs +0 -3
- package/esm2022/core/common/interface-utils.mjs +0 -2
- package/esm2022/core/common/label-value.mjs +0 -2
- package/esm2022/core/devkit/devtools.interface.mjs +0 -2
- package/esm2022/core/devkit/index.mjs +0 -2
- package/esm2022/core/index.mjs +0 -7
- package/esm2022/core/interfaces/configuration.mjs +0 -2
- package/esm2022/core/interfaces/context.mjs +0 -2
- package/esm2022/core/interfaces/index.mjs +0 -5
- package/esm2022/core/interfaces/item-identifier.mjs +0 -2
- package/esm2022/core/interfaces/translation.mjs +0 -2
- package/esm2022/core/metadata/component.decorator.mjs +0 -18
- package/esm2022/core/metadata/component.identifier.mjs +0 -9
- package/esm2022/core/metadata/index.mjs +0 -4
- package/esm2022/core/metadata/metadata.interface.mjs +0 -2
- package/esm2022/core/rules-engine/index.mjs +0 -2
- package/esm2022/core/rules-engine/rules-engine.interfaces.mjs +0 -2
- package/esm2022/log/index.mjs +0 -2
- package/esm2022/log/logger.mjs +0 -2
- package/esm2022/messages/common-message.interface.mjs +0 -2
- package/esm2022/messages/index.mjs +0 -4
- package/esm2022/messages/message.helpers.mjs +0 -54
- package/esm2022/messages/message.interfaces.mjs +0 -5
- package/esm2022/o3r-core.mjs +0 -5
- package/esm2022/public_api.mjs +0 -6
- package/esm2022/store/async/async-entity.adapter.mjs +0 -53
- package/esm2022/store/async/async.adapter.mjs +0 -94
- package/esm2022/store/async/async.helpers.mjs +0 -25
- package/esm2022/store/async/async.interfaces.mjs +0 -2
- package/esm2022/store/async/async.operators.mjs +0 -75
- package/esm2022/store/async/async.props.mjs +0 -10
- package/esm2022/store/async/async.serializer.mjs +0 -34
- package/esm2022/store/async/index.mjs +0 -8
- package/esm2022/store/index.mjs +0 -3
- package/esm2022/store/types.mjs +0 -11
- package/esm2022/utils/debug/debug.helper.mjs +0 -19
- package/esm2022/utils/deep-fill/deep-fill.mjs +0 -68
- package/esm2022/utils/index.mjs +0 -4
- package/esm2022/utils/rendering/rendering.helpers.mjs +0 -31
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject, EMPTY, from, identity, isObservable, merge, of, } from 'rxjs';
|
|
2
|
-
import { catchError, delay, filter, finalize, pairwise, startWith, switchMap, tap, } from 'rxjs/operators';
|
|
3
|
-
import { isIdentifiedCallAction, } from './async.helpers';
|
|
4
|
-
/**
|
|
5
|
-
* Determine if the given parameter is a Promise
|
|
6
|
-
* @param object
|
|
7
|
-
*/
|
|
8
|
-
const isPromise = (object) => object && typeof object === 'object' && typeof object.then !== 'undefined';
|
|
9
|
-
/**
|
|
10
|
-
* Custom operator to use instead of SwitchMap with effects based on FromApi actions.
|
|
11
|
-
* It makes sure to emit an action when the inner subscription is unsubscribed in order to keep the store up-to-date with pending information.
|
|
12
|
-
* @param successHandler function that returns the action to emit in case the FromApi call is a success
|
|
13
|
-
* @param errorHandler function that returns the action to emit in case the FromApi call fails
|
|
14
|
-
* @param cancelRequestActionFactory function that returns the action to emit in case the FromApi action is 'cancelled' because a new action was received by the switchMap
|
|
15
|
-
*/
|
|
16
|
-
export function fromApiEffectSwitchMap(successHandler, errorHandler, cancelRequestActionFactory) {
|
|
17
|
-
const pendingRequestIdsContext = {};
|
|
18
|
-
return (source$) => source$.pipe(tap((action) => {
|
|
19
|
-
if (isIdentifiedCallAction(action)) {
|
|
20
|
-
pendingRequestIdsContext[action.requestId] = true;
|
|
21
|
-
}
|
|
22
|
-
}), startWith(undefined), pairwise(), switchMap(([previousAction, action]) => {
|
|
23
|
-
if (!action) {
|
|
24
|
-
return EMPTY;
|
|
25
|
-
}
|
|
26
|
-
const isPreviousActionStillRunning = isIdentifiedCallAction(previousAction) && pendingRequestIdsContext[previousAction.requestId];
|
|
27
|
-
const cleanStack = () => {
|
|
28
|
-
if (isIdentifiedCallAction(action)) {
|
|
29
|
-
delete pendingRequestIdsContext[action.requestId];
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
return from(action.call).pipe(tap(cleanStack), switchMap((result) => {
|
|
33
|
-
const success = successHandler(result, action);
|
|
34
|
-
return isObservable(success) ? success : (isPromise(success) ? success : of(success));
|
|
35
|
-
}), catchError((error) => {
|
|
36
|
-
cleanStack();
|
|
37
|
-
return errorHandler?.(error, action) || EMPTY;
|
|
38
|
-
}), isPreviousActionStillRunning && cancelRequestActionFactory ? startWith(cancelRequestActionFactory({ requestId: previousAction.requestId }, action)) : identity);
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Same as {@link fromApiEffectSwitchMap}, instead one inner subscription is kept by id.
|
|
43
|
-
* @param successHandler
|
|
44
|
-
* @param errorHandler
|
|
45
|
-
* @param cancelRequestActionFactory
|
|
46
|
-
* @param cleanUpTimer
|
|
47
|
-
*/
|
|
48
|
-
export function fromApiEffectSwitchMapById(successHandler, errorHandler, cancelRequestActionFactory, cleanUpTimer) {
|
|
49
|
-
const innerSourcesById = {};
|
|
50
|
-
return (source$) => {
|
|
51
|
-
return source$.pipe(filter((action) => {
|
|
52
|
-
if (!isIdentifiedCallAction(action) || !action.id) {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
if (isIdentifiedCallAction(action) && innerSourcesById[action.id]) {
|
|
56
|
-
innerSourcesById[action.id][0].next(action);
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
return true;
|
|
60
|
-
}), switchMap((action) => {
|
|
61
|
-
const newIdSubject = new BehaviorSubject(action);
|
|
62
|
-
const newId$ = newIdSubject.pipe(fromApiEffectSwitchMap(successHandler, errorHandler, cancelRequestActionFactory));
|
|
63
|
-
innerSourcesById[action.id] = [newIdSubject, newId$];
|
|
64
|
-
if (cleanUpTimer !== undefined) {
|
|
65
|
-
newIdSubject.pipe(switchMap((myAction) => from(myAction.call).pipe(delay(cleanUpTimer), finalize(() => {
|
|
66
|
-
delete innerSourcesById[myAction.id];
|
|
67
|
-
newIdSubject.complete();
|
|
68
|
-
})))).subscribe();
|
|
69
|
-
}
|
|
70
|
-
const streams = Object.values(innerSourcesById).map(([_, obs]) => obs);
|
|
71
|
-
return merge(...streams);
|
|
72
|
-
}));
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMub3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3JlL2FzeW5jL2FzeW5jLm9wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLEtBQUssRUFDTCxJQUFJLEVBQ0osUUFBUSxFQUNSLFlBQVksRUFDWixLQUFLLEVBRUwsRUFBRSxHQUdILE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsc0JBQXNCLEdBQ3ZCLE1BQU0saUJBQWlCLENBQUM7QUFPekI7OztHQUdHO0FBQ0gsTUFBTSxTQUFTLEdBQUcsQ0FBSSxNQUFzQixFQUF3QixFQUFFLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxPQUFRLE1BQWMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO0FBRTNKOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsY0FBd0UsRUFDeEUsWUFBdUQsRUFDdkQsMEJBQWtFO0lBQ3BFLE1BQU0sd0JBQXdCLEdBQTRCLEVBQUUsQ0FBQztJQUU3RCxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM5QixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNiLElBQUksc0JBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNuQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3BCLFFBQVEsRUFBRSxFQUNWLFNBQVMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7UUFDckMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSw0QkFBNEIsR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEksTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFO1lBQ3RCLElBQUksc0JBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzNCLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFDZixTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuQixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLFVBQVUsRUFBRSxDQUFDO1lBQ2IsT0FBTyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxFQUNGLDRCQUE0QixJQUFJLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDL0osQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUt4QyxjQUF3RSxFQUN4RSxZQUF1RCxFQUN2RCwwQkFBa0UsRUFDbEUsWUFBcUI7SUFFckIsTUFBTSxnQkFBZ0IsR0FBb0QsRUFBRSxDQUFDO0lBQzdFLE9BQU8sQ0FBQyxPQUFzQixFQUFFLEVBQUU7UUFDaEMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixNQUFNLENBQUMsQ0FBQyxNQUFTLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2xELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELElBQUksc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsTUFBUyxFQUFFLEVBQUU7WUFDdEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FDOUIsc0JBQXNCLENBQ3BCLGNBQWMsRUFDZCxZQUFZLEVBQ1osMEJBQTBCLENBQzNCLENBQ0YsQ0FBQztZQUNGLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNyRCxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDL0IsWUFBWSxDQUFDLElBQUksQ0FDZixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUM5QyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQ25CLFFBQVEsQ0FBQyxHQUFHLEVBQUU7b0JBQ1osT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3JDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxDQUNILENBQUMsU0FBUyxFQUFFLENBQUM7WUFDaEIsQ0FBQztZQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkUsT0FBTyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjdGlvbixcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBFTVBUWSxcbiAgZnJvbSxcbiAgaWRlbnRpdHksXG4gIGlzT2JzZXJ2YWJsZSxcbiAgbWVyZ2UsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBPcGVyYXRvckZ1bmN0aW9uLFxuICBTdWJqZWN0LFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRlbGF5LFxuICBmaWx0ZXIsXG4gIGZpbmFsaXplLFxuICBwYWlyd2lzZSxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgaXNJZGVudGlmaWVkQ2FsbEFjdGlvbixcbn0gZnJvbSAnLi9hc3luYy5oZWxwZXJzJztcbmltcG9ydCB7XG4gIEFzeW5jUmVxdWVzdCxcbiAgRXh0cmFjdEZyb21BcGlBY3Rpb25QYXlsb2FkVHlwZSxcbiAgRnJvbUFwaUFjdGlvblBheWxvYWQsXG59IGZyb20gJy4vYXN5bmMuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiBwYXJhbWV0ZXIgaXMgYSBQcm9taXNlXG4gKiBAcGFyYW0gb2JqZWN0XG4gKi9cbmNvbnN0IGlzUHJvbWlzZSA9IDxVPihvYmplY3Q6IFUgfCBQcm9taXNlPFU+KTogb2JqZWN0IGlzIFByb21pc2U8VT4gPT4gb2JqZWN0ICYmIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIHR5cGVvZiAob2JqZWN0IGFzIGFueSkudGhlbiAhPT0gJ3VuZGVmaW5lZCc7XG5cbi8qKlxuICogQ3VzdG9tIG9wZXJhdG9yIHRvIHVzZSBpbnN0ZWFkIG9mIFN3aXRjaE1hcCB3aXRoIGVmZmVjdHMgYmFzZWQgb24gRnJvbUFwaSBhY3Rpb25zLlxuICogSXQgbWFrZXMgc3VyZSB0byBlbWl0IGFuIGFjdGlvbiB3aGVuIHRoZSBpbm5lciBzdWJzY3JpcHRpb24gaXMgdW5zdWJzY3JpYmVkIGluIG9yZGVyIHRvIGtlZXAgdGhlIHN0b3JlIHVwLXRvLWRhdGUgd2l0aCBwZW5kaW5nIGluZm9ybWF0aW9uLlxuICogQHBhcmFtIHN1Y2Nlc3NIYW5kbGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgYWN0aW9uIHRvIGVtaXQgaW4gY2FzZSB0aGUgRnJvbUFwaSBjYWxsIGlzIGEgc3VjY2Vzc1xuICogQHBhcmFtIGVycm9ySGFuZGxlciBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGFjdGlvbiB0byBlbWl0IGluIGNhc2UgdGhlIEZyb21BcGkgY2FsbCBmYWlsc1xuICogQHBhcmFtIGNhbmNlbFJlcXVlc3RBY3Rpb25GYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgYWN0aW9uIHRvIGVtaXQgaW4gY2FzZSB0aGUgRnJvbUFwaSBhY3Rpb24gaXMgJ2NhbmNlbGxlZCcgYmVjYXVzZSBhIG5ldyBhY3Rpb24gd2FzIHJlY2VpdmVkIGJ5IHRoZSBzd2l0Y2hNYXBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21BcGlFZmZlY3RTd2l0Y2hNYXA8VCBleHRlbmRzIEZyb21BcGlBY3Rpb25QYXlsb2FkPGFueT4sIFMgZXh0ZW5kcyBFeHRyYWN0RnJvbUFwaUFjdGlvblBheWxvYWRUeXBlPFQ+LCBVIGV4dGVuZHMgQWN0aW9uLCBWIGV4dGVuZHMgQWN0aW9uLCBXIGV4dGVuZHMgQWN0aW9uPihcbiAgICBzdWNjZXNzSGFuZGxlcjogKHJlc3VsdDogUywgYWN0aW9uOiBUKSA9PiBVIHwgT2JzZXJ2YWJsZTxVPiB8IFByb21pc2U8VT4sXG4gICAgZXJyb3JIYW5kbGVyPzogKGVycm9yOiBhbnksIGFjdGlvbjogVCkgPT4gT2JzZXJ2YWJsZTxWPixcbiAgICBjYW5jZWxSZXF1ZXN0QWN0aW9uRmFjdG9yeT86IChwcm9wczogQXN5bmNSZXF1ZXN0LCBhY3Rpb246IFQpID0+IFcpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFUgfCBWIHwgVz4ge1xuICBjb25zdCBwZW5kaW5nUmVxdWVzdElkc0NvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG5cbiAgcmV0dXJuIChzb3VyY2UkKSA9PiBzb3VyY2UkLnBpcGUoXG4gICAgdGFwKChhY3Rpb24pID0+IHtcbiAgICAgIGlmIChpc0lkZW50aWZpZWRDYWxsQWN0aW9uKGFjdGlvbikpIHtcbiAgICAgICAgcGVuZGluZ1JlcXVlc3RJZHNDb250ZXh0W2FjdGlvbi5yZXF1ZXN0SWRdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICBwYWlyd2lzZSgpLFxuICAgIHN3aXRjaE1hcCgoW3ByZXZpb3VzQWN0aW9uLCBhY3Rpb25dKSA9PiB7XG4gICAgICBpZiAoIWFjdGlvbikge1xuICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICB9XG4gICAgICBjb25zdCBpc1ByZXZpb3VzQWN0aW9uU3RpbGxSdW5uaW5nID0gaXNJZGVudGlmaWVkQ2FsbEFjdGlvbihwcmV2aW91c0FjdGlvbikgJiYgcGVuZGluZ1JlcXVlc3RJZHNDb250ZXh0W3ByZXZpb3VzQWN0aW9uLnJlcXVlc3RJZF07XG4gICAgICBjb25zdCBjbGVhblN0YWNrID0gKCkgPT4ge1xuICAgICAgICBpZiAoaXNJZGVudGlmaWVkQ2FsbEFjdGlvbihhY3Rpb24pKSB7XG4gICAgICAgICAgZGVsZXRlIHBlbmRpbmdSZXF1ZXN0SWRzQ29udGV4dFthY3Rpb24ucmVxdWVzdElkXTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJldHVybiBmcm9tKGFjdGlvbi5jYWxsKS5waXBlKFxuICAgICAgICB0YXAoY2xlYW5TdGFjayksXG4gICAgICAgIHN3aXRjaE1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VjY2VzcyA9IHN1Y2Nlc3NIYW5kbGVyKHJlc3VsdCwgYWN0aW9uKTtcbiAgICAgICAgICByZXR1cm4gaXNPYnNlcnZhYmxlKHN1Y2Nlc3MpID8gc3VjY2VzcyA6IChpc1Byb21pc2Uoc3VjY2VzcykgPyBzdWNjZXNzIDogb2Yoc3VjY2VzcykpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICBjbGVhblN0YWNrKCk7XG4gICAgICAgICAgcmV0dXJuIGVycm9ySGFuZGxlcj8uKGVycm9yLCBhY3Rpb24pIHx8IEVNUFRZO1xuICAgICAgICB9KSxcbiAgICAgICAgaXNQcmV2aW91c0FjdGlvblN0aWxsUnVubmluZyAmJiBjYW5jZWxSZXF1ZXN0QWN0aW9uRmFjdG9yeSA/IHN0YXJ0V2l0aChjYW5jZWxSZXF1ZXN0QWN0aW9uRmFjdG9yeSh7IHJlcXVlc3RJZDogcHJldmlvdXNBY3Rpb24ucmVxdWVzdElkIH0sIGFjdGlvbikpIDogaWRlbnRpdHlcbiAgICAgICk7XG4gICAgfSlcbiAgKTtcbn1cblxuLyoqXG4gKiBTYW1lIGFzIHtAbGluayBmcm9tQXBpRWZmZWN0U3dpdGNoTWFwfSwgaW5zdGVhZCBvbmUgaW5uZXIgc3Vic2NyaXB0aW9uIGlzIGtlcHQgYnkgaWQuXG4gKiBAcGFyYW0gc3VjY2Vzc0hhbmRsZXJcbiAqIEBwYXJhbSBlcnJvckhhbmRsZXJcbiAqIEBwYXJhbSBjYW5jZWxSZXF1ZXN0QWN0aW9uRmFjdG9yeVxuICogQHBhcmFtIGNsZWFuVXBUaW1lclxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbUFwaUVmZmVjdFN3aXRjaE1hcEJ5SWQ8VCBleHRlbmRzIEZyb21BcGlBY3Rpb25QYXlsb2FkPGFueT4gJiB7IGlkOiBzdHJpbmcgfSxcbiAgUyBleHRlbmRzIEV4dHJhY3RGcm9tQXBpQWN0aW9uUGF5bG9hZFR5cGU8VD4sXG4gIFUgZXh0ZW5kcyBBY3Rpb24sXG4gIFYgZXh0ZW5kcyBBY3Rpb24sXG4gIFcgZXh0ZW5kcyBBY3Rpb24+KFxuICBzdWNjZXNzSGFuZGxlcjogKHJlc3VsdDogUywgYWN0aW9uOiBUKSA9PiBVIHwgT2JzZXJ2YWJsZTxVPiB8IFByb21pc2U8VT4sXG4gIGVycm9ySGFuZGxlcj86IChlcnJvcjogYW55LCBhY3Rpb246IFQpID0+IE9ic2VydmFibGU8Vj4sXG4gIGNhbmNlbFJlcXVlc3RBY3Rpb25GYWN0b3J5PzogKHByb3BzOiBBc3luY1JlcXVlc3QsIGFjdGlvbjogVCkgPT4gVyxcbiAgY2xlYW5VcFRpbWVyPzogbnVtYmVyXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFUgfCBWIHwgVz4ge1xuICBjb25zdCBpbm5lclNvdXJjZXNCeUlkOiBSZWNvcmQ8c3RyaW5nLCBbU3ViamVjdDxhbnk+LCBPYnNlcnZhYmxlPGFueT5dPiA9IHt9O1xuICByZXR1cm4gKHNvdXJjZSQ6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICByZXR1cm4gc291cmNlJC5waXBlKFxuICAgICAgZmlsdGVyKChhY3Rpb246IFQpID0+IHtcbiAgICAgICAgaWYgKCFpc0lkZW50aWZpZWRDYWxsQWN0aW9uKGFjdGlvbikgfHwgIWFjdGlvbi5pZCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNJZGVudGlmaWVkQ2FsbEFjdGlvbihhY3Rpb24pICYmIGlubmVyU291cmNlc0J5SWRbYWN0aW9uLmlkXSkge1xuICAgICAgICAgIGlubmVyU291cmNlc0J5SWRbYWN0aW9uLmlkXVswXS5uZXh0KGFjdGlvbik7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKGFjdGlvbjogVCkgPT4ge1xuICAgICAgICBjb25zdCBuZXdJZFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGFjdGlvbik7XG4gICAgICAgIGNvbnN0IG5ld0lkJCA9IG5ld0lkU3ViamVjdC5waXBlKFxuICAgICAgICAgIGZyb21BcGlFZmZlY3RTd2l0Y2hNYXAoXG4gICAgICAgICAgICBzdWNjZXNzSGFuZGxlcixcbiAgICAgICAgICAgIGVycm9ySGFuZGxlcixcbiAgICAgICAgICAgIGNhbmNlbFJlcXVlc3RBY3Rpb25GYWN0b3J5XG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICBpbm5lclNvdXJjZXNCeUlkW2FjdGlvbi5pZF0gPSBbbmV3SWRTdWJqZWN0LCBuZXdJZCRdO1xuICAgICAgICBpZiAoY2xlYW5VcFRpbWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBuZXdJZFN1YmplY3QucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgobXlBY3Rpb24pID0+IGZyb20obXlBY3Rpb24uY2FsbCkucGlwZShcbiAgICAgICAgICAgICAgZGVsYXkoY2xlYW5VcFRpbWVyKSxcbiAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBpbm5lclNvdXJjZXNCeUlkW215QWN0aW9uLmlkXTtcbiAgICAgICAgICAgICAgICBuZXdJZFN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICkpXG4gICAgICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdHJlYW1zID0gT2JqZWN0LnZhbHVlcyhpbm5lclNvdXJjZXNCeUlkKS5tYXAoKFtfLCBvYnNdKSA9PiBvYnMpO1xuICAgICAgICByZXR1cm4gbWVyZ2UoLi4uc3RyZWFtcyk7XG4gICAgICB9KVxuICAgICk7XG4gIH07XG59XG4iXX0=
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { v4, } from 'uuid';
|
|
2
|
-
import { isAsyncRequest, } from './async.helpers';
|
|
3
|
-
/**
|
|
4
|
-
* Returns a creator that makes sure that requestId is defined in the action's properties by generating one
|
|
5
|
-
* if needed.
|
|
6
|
-
*/
|
|
7
|
-
export const asyncProps = () => {
|
|
8
|
-
return (props) => isAsyncRequest(props) ? props : { ...props, requestId: v4() };
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMucHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmUvYXN5bmMvYXN5bmMucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEVBQUUsR0FDSCxNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFDTCxjQUFjLEdBQ2YsTUFBTSxpQkFBaUIsQ0FBQztBQUt6Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBcUQsRUFBRTtJQUMvRSxPQUFPLENBQUMsS0FBUSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUNyRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB2NCxcbn0gZnJvbSAndXVpZCc7XG5pbXBvcnQge1xuICBpc0FzeW5jUmVxdWVzdCxcbn0gZnJvbSAnLi9hc3luYy5oZWxwZXJzJztcbmltcG9ydCB7XG4gIEFzeW5jUmVxdWVzdCxcbn0gZnJvbSAnLi9hc3luYy5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBSZXR1cm5zIGEgY3JlYXRvciB0aGF0IG1ha2VzIHN1cmUgdGhhdCByZXF1ZXN0SWQgaXMgZGVmaW5lZCBpbiB0aGUgYWN0aW9uJ3MgcHJvcGVydGllcyBieSBnZW5lcmF0aW5nIG9uZVxuICogaWYgbmVlZGVkLlxuICovXG5leHBvcnQgY29uc3QgYXN5bmNQcm9wcyA9IDxQIGV4dGVuZHMgb2JqZWN0PigpOiAocHJvcHM6IFApID0+IFAgJiBBc3luY1JlcXVlc3QgPT4ge1xuICByZXR1cm4gKHByb3BzOiBQKSA9PiBpc0FzeW5jUmVxdWVzdChwcm9wcykgPyBwcm9wcyA6IHsgLi4ucHJvcHMsIHJlcXVlc3RJZDogdjQoKSB9O1xufTtcbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { asyncStoreItemAdapter, } from './async.adapter';
|
|
2
|
-
/**
|
|
3
|
-
* Serializer for asynchronous store.
|
|
4
|
-
* @param state State of an asynchronous store to serialize
|
|
5
|
-
* @returns a plain json object to pass to json.stringify
|
|
6
|
-
*/
|
|
7
|
-
export function asyncSerializer(state) {
|
|
8
|
-
return asyncStoreItemAdapter.clearAsyncStoreItem(state);
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Serializer for asynchronous entity store.
|
|
12
|
-
* @param state State of an asynchronous entity store to serialize
|
|
13
|
-
* @returns a plain json object to pass to json.stringify
|
|
14
|
-
*/
|
|
15
|
-
export function asyncEntitySerializer(state) {
|
|
16
|
-
const entities = state.ids.reduce((entitiesAcc, entityId) => {
|
|
17
|
-
entitiesAcc[entityId] = asyncStoreItemAdapter.clearAsyncStoreItem(state.entities[entityId]);
|
|
18
|
-
return entitiesAcc;
|
|
19
|
-
}, {});
|
|
20
|
-
return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Serializer for asynchronous entity store with status.
|
|
24
|
-
* @param state State of an asynchronous entity store with status to serialize
|
|
25
|
-
* @returns a plain json object to pass to json.stringify
|
|
26
|
-
*/
|
|
27
|
-
export function asyncEntityWithStatusSerializer(state) {
|
|
28
|
-
const entities = state.ids.reduce((entitiesAcc, entityId) => {
|
|
29
|
-
entitiesAcc[entityId] = { ...asyncStoreItemAdapter.clearAsyncStoreItem(state.entities[entityId]), status: {} };
|
|
30
|
-
return entitiesAcc;
|
|
31
|
-
}, {});
|
|
32
|
-
return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMuc2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZS9hc3luYy9hc3luYy5zZXJpYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDTCxxQkFBcUIsR0FDdEIsTUFBTSxpQkFBaUIsQ0FBQztBQU16Qjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBMkIsS0FBUTtJQUNoRSxPQUFPLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUF5RCxLQUFRO0lBQ3BHLE1BQU0sUUFBUSxHQUFJLEtBQUssQ0FBQyxHQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUN4RSxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUUsQ0FBQyxDQUFDO1FBQzdGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUMsRUFBRSxFQUEyQixDQUFDLENBQUM7SUFFaEMsT0FBTyxFQUFFLEdBQUcscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDM0UsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsK0JBQStCLENBQTZHLEtBQVE7SUFDbEssTUFBTSxRQUFRLEdBQUksS0FBSyxDQUFDLEdBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFO1FBQ3hFLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNoSCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDLEVBQUUsRUFBMkIsQ0FBQyxDQUFDO0lBRWhDLE9BQU8sRUFBRSxHQUFHLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQzNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEVudGl0eVN0YXRlLFxufSBmcm9tICdAbmdyeC9lbnRpdHknO1xuaW1wb3J0IHtcbiAgYXN5bmNTdG9yZUl0ZW1BZGFwdGVyLFxufSBmcm9tICcuL2FzeW5jLmFkYXB0ZXInO1xuaW1wb3J0IHtcbiAgQXN5bmNTdG9yZUl0ZW0sXG4gIEVudGl0eVN0YXR1cyxcbn0gZnJvbSAnLi9hc3luYy5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBTZXJpYWxpemVyIGZvciBhc3luY2hyb25vdXMgc3RvcmUuXG4gKiBAcGFyYW0gc3RhdGUgU3RhdGUgb2YgYW4gYXN5bmNocm9ub3VzIHN0b3JlIHRvIHNlcmlhbGl6ZVxuICogQHJldHVybnMgYSBwbGFpbiBqc29uIG9iamVjdCB0byBwYXNzIHRvIGpzb24uc3RyaW5naWZ5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3luY1NlcmlhbGl6ZXI8VCBleHRlbmRzIEFzeW5jU3RvcmVJdGVtPihzdGF0ZTogVCkge1xuICByZXR1cm4gYXN5bmNTdG9yZUl0ZW1BZGFwdGVyLmNsZWFyQXN5bmNTdG9yZUl0ZW0oc3RhdGUpO1xufVxuXG4vKipcbiAqIFNlcmlhbGl6ZXIgZm9yIGFzeW5jaHJvbm91cyBlbnRpdHkgc3RvcmUuXG4gKiBAcGFyYW0gc3RhdGUgU3RhdGUgb2YgYW4gYXN5bmNocm9ub3VzIGVudGl0eSBzdG9yZSB0byBzZXJpYWxpemVcbiAqIEByZXR1cm5zIGEgcGxhaW4ganNvbiBvYmplY3QgdG8gcGFzcyB0byBqc29uLnN0cmluZ2lmeVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXN5bmNFbnRpdHlTZXJpYWxpemVyPFQgZXh0ZW5kcyBBc3luY1N0b3JlSXRlbSAmIEVudGl0eVN0YXRlPEFzeW5jU3RvcmVJdGVtPj4oc3RhdGU6IFQpIHtcbiAgY29uc3QgZW50aXRpZXMgPSAoc3RhdGUuaWRzIGFzIHN0cmluZ1tdKS5yZWR1Y2UoKGVudGl0aWVzQWNjLCBlbnRpdHlJZCkgPT4ge1xuICAgIGVudGl0aWVzQWNjW2VudGl0eUlkXSA9IGFzeW5jU3RvcmVJdGVtQWRhcHRlci5jbGVhckFzeW5jU3RvcmVJdGVtKHN0YXRlLmVudGl0aWVzW2VudGl0eUlkXSEpO1xuICAgIHJldHVybiBlbnRpdGllc0FjYztcbiAgfSwge30gYXMgdHlwZW9mIHN0YXRlLmVudGl0aWVzKTtcblxuICByZXR1cm4geyAuLi5hc3luY1N0b3JlSXRlbUFkYXB0ZXIuY2xlYXJBc3luY1N0b3JlSXRlbShzdGF0ZSksIGVudGl0aWVzIH07XG59XG5cbi8qKlxuICogU2VyaWFsaXplciBmb3IgYXN5bmNocm9ub3VzIGVudGl0eSBzdG9yZSB3aXRoIHN0YXR1cy5cbiAqIEBwYXJhbSBzdGF0ZSBTdGF0ZSBvZiBhbiBhc3luY2hyb25vdXMgZW50aXR5IHN0b3JlIHdpdGggc3RhdHVzIHRvIHNlcmlhbGl6ZVxuICogQHJldHVybnMgYSBwbGFpbiBqc29uIG9iamVjdCB0byBwYXNzIHRvIGpzb24uc3RyaW5naWZ5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3luY0VudGl0eVdpdGhTdGF0dXNTZXJpYWxpemVyPFQgZXh0ZW5kcyBBc3luY1N0b3JlSXRlbSAmIEVudGl0eVN0YXRlPEFzeW5jU3RvcmVJdGVtICYgeyBzdGF0dXM6IEVudGl0eVN0YXR1czxUWydlbnRpdGllcyddWydzdGF0dXMnXT4gfT4+KHN0YXRlOiBUKSB7XG4gIGNvbnN0IGVudGl0aWVzID0gKHN0YXRlLmlkcyBhcyBzdHJpbmdbXSkucmVkdWNlKChlbnRpdGllc0FjYywgZW50aXR5SWQpID0+IHtcbiAgICBlbnRpdGllc0FjY1tlbnRpdHlJZF0gPSB7IC4uLmFzeW5jU3RvcmVJdGVtQWRhcHRlci5jbGVhckFzeW5jU3RvcmVJdGVtKHN0YXRlLmVudGl0aWVzW2VudGl0eUlkXSEpLCBzdGF0dXM6IHt9IH07XG4gICAgcmV0dXJuIGVudGl0aWVzQWNjO1xuICB9LCB7fSBhcyB0eXBlb2Ygc3RhdGUuZW50aXRpZXMpO1xuXG4gIHJldHVybiB7IC4uLmFzeW5jU3RvcmVJdGVtQWRhcHRlci5jbGVhckFzeW5jU3RvcmVJdGVtKHN0YXRlKSwgZW50aXRpZXMgfTtcbn1cbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './async-entity.adapter';
|
|
2
|
-
export * from './async.adapter';
|
|
3
|
-
export * from './async.helpers';
|
|
4
|
-
export * from './async.interfaces';
|
|
5
|
-
export * from './async.operators';
|
|
6
|
-
export * from './async.props';
|
|
7
|
-
export * from './async.serializer';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmUvYXN5bmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FzeW5jLWVudGl0eS5hZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vYXN5bmMuYWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2FzeW5jLmhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3luYy5pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vYXN5bmMub3BlcmF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vYXN5bmMucHJvcHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3luYy5zZXJpYWxpemVyJztcbiJdfQ==
|
package/esm2022/store/index.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './async/index';
|
|
2
|
-
export * from './types';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FzeW5jL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuIl19
|
package/esm2022/store/types.mjs
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export class StateSerializer {
|
|
2
|
-
constructor(serializer) {
|
|
3
|
-
this.reviver = (_, value) => value;
|
|
4
|
-
this.serialize = serializer.serialize || this.serialize;
|
|
5
|
-
this.deserialize = serializer.deserialize || this.deserialize;
|
|
6
|
-
this.reviver = serializer.reviver || this.reviver;
|
|
7
|
-
this.replacer = serializer.replacer || this.replacer;
|
|
8
|
-
this.initialState = serializer.initialState || this.initialState;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxPQUFPLGVBQWU7SUFNMUIsWUFBWSxVQUF5QjtRQVE5QixZQUFPLEdBQUcsQ0FBQyxDQUFTLEVBQUUsS0FBVSxFQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFQckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDOUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDckQsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDbkUsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPYmplY3QgdGhhdCBkZWZpbmUgaG93IHRvIHNlcmlhbGl6ZSBhIHNwZWNpZmljIHN0YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VyaWFsaXplcjxUPiB7XG4gIHNlcmlhbGl6ZT86IChvYmo6IFQpID0+IGFueTtcbiAgZGVzZXJpYWxpemU/OiAoZGF0YT86IGFueSkgPT4gVDtcbiAgcmV2aXZlcj86IChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkgPT4gYW55O1xuICByZXBsYWNlcj86IChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkgPT4gYW55O1xuICBpbml0aWFsU3RhdGU/OiBUO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhdGVTZXJpYWxpemVyPFQ+IGltcGxlbWVudHMgU2VyaWFsaXplcjxUPiB7XG4gIHB1YmxpYyBzZXJpYWxpemU/OiAob2JqOiBUKSA9PiBhbnk7XG4gIHB1YmxpYyBkZXNlcmlhbGl6ZT86IChkYXRhPzogYW55KSA9PiBUO1xuICBwdWJsaWMgcmVwbGFjZXI/OiAoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpID0+IGFueTtcbiAgcHVibGljIGluaXRpYWxTdGF0ZT86IFQ7XG5cbiAgY29uc3RydWN0b3Ioc2VyaWFsaXplcjogU2VyaWFsaXplcjxUPikge1xuICAgIHRoaXMuc2VyaWFsaXplID0gc2VyaWFsaXplci5zZXJpYWxpemUgfHwgdGhpcy5zZXJpYWxpemU7XG4gICAgdGhpcy5kZXNlcmlhbGl6ZSA9IHNlcmlhbGl6ZXIuZGVzZXJpYWxpemUgfHwgdGhpcy5kZXNlcmlhbGl6ZTtcbiAgICB0aGlzLnJldml2ZXIgPSBzZXJpYWxpemVyLnJldml2ZXIgfHwgdGhpcy5yZXZpdmVyO1xuICAgIHRoaXMucmVwbGFjZXIgPSBzZXJpYWxpemVyLnJlcGxhY2VyIHx8IHRoaXMucmVwbGFjZXI7XG4gICAgdGhpcy5pbml0aWFsU3RhdGUgPSBzZXJpYWxpemVyLmluaXRpYWxTdGF0ZSB8fCB0aGlzLmluaXRpYWxTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZXZpdmVyID0gKF86IHN0cmluZywgdmFsdWU6IGFueSk6IGFueSA9PiB2YWx1ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbFN0YXRlTW9kZWwge1xuICAvKipcbiAgICogVGVtcG9yYXJ5IElEIG9mIHRoZSBtb2RlbCBpbiB0aGUgZGljdGlvbmFyeVxuICAgKi9cbiAgdGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQWRkcyBhbiBgaWRgIHRvIHRoZSBnaXZlbiB0eXBlXG4gKi9cbmV4cG9ydCB0eXBlIElkZnk8VD4gPSBUICYgeyBpZDogc3RyaW5nIHwgbnVtYmVyIH07XG5cbi8qKlxuICogUGF5bG9hZCB0byB1cGRhdGUgYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUFjdGlvblBheWxvYWQ8VD4ge1xuICBzdGF0ZURldGFpbHM6IFBhcnRpYWw8VD47XG59XG5cbi8qKlxuICogUGF5bG9hZCB0byBzZXQgYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNldEFjdGlvblBheWxvYWQ8VD4ge1xuICBzdGF0ZURldGFpbHM6IFQ7XG59XG5cbi8qKlxuICogUGF5bG9hZCB0byBzZXQgc3RhdGUgYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNldFN0YXRlQWN0aW9uUGF5bG9hZDxUPiB7XG4gIHN0YXRlOiBUO1xufVxuLyoqXG4gKiBQYXlsb2FkIHRvIGZhaWwgYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEZhaWxBY3Rpb25QYXlsb2FkPFQ+IHtcbiAgZXJyb3I/OiBUO1xufVxuXG5leHBvcnQgdHlwZSBLZWVwPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IFBhcnRpYWw8VD4gJiBQaWNrPFQsIEs+O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2Uge0BsaW5rIEtlZXB9IGluc3RlYWQsIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gLS0gZGVwcmVjYXRlZFxuZXhwb3J0IHR5cGUga2VlcDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBLZWVwPFQsIEs+O1xuXG4vKiogUGF5bG9hZCB0byB1cGRhdGUgZW50aXRpZXMgYWN0aW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVFbnRpdGllc0FjdGlvblBheWxvYWQ8VCwgSyBleHRlbmRzIGtleW9mIFQ+IHtcbiAgZW50aXRpZXM6IEtlZXA8VCwgSz5bXTtcbn1cblxuLyoqIFBheWxvYWQgdG8gdXBkYXRlIGVudGl0aWVzIGFjdGlvbnMgd2l0aCBhIGZpZWxkIElEICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUVudGl0aWVzQWN0aW9uUGF5bG9hZFdpdGhJZDxUIGV4dGVuZHMgeyBpZDogc3RyaW5nIHwgbnVtYmVyIH0+IHtcbiAgZW50aXRpZXM6IEtlZXA8VCwgJ2lkJz5bXTtcbn1cblxuLyoqIFBheWxvYWQgdG8gdXBkYXRlIGVudGl0aWVzIGFjdGlvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlRW50aXR5QWN0aW9uUGF5bG9hZDxULCBLIGV4dGVuZHMga2V5b2YgVD4ge1xuICBlbnRpdHk6IEtlZXA8VCwgSz47XG59XG5cbi8qKiBQYXlsb2FkIHRvIHVwZGF0ZSBlbnRpdGllcyBhY3Rpb25zIHdpdGggYSBmaWVsZCBJRCAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVFbnRpdHlBY3Rpb25QYXlsb2FkV2l0aElkPFQgZXh0ZW5kcyB7IGlkOiBzdHJpbmcgfCBudW1iZXIgfT4ge1xuICBlbnRpdHk6IEtlZXA8VCwgJ2lkJz47XG59XG5cbi8qKiBQYXlsb2FkIHRvIHNldCBlbnRpdGllcyBhbmQgdXBzZXJ0IGVudGl0aWVzIGFjdGlvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2V0RW50aXRpZXNBY3Rpb25QYXlsb2FkPFQ+IHtcbiAgZW50aXRpZXM6IFRbXTtcbn1cblxuLyoqIFBheWxvYWQgdG8gc2V0IGVudGl0eSBhbmQgdXBzZXJ0IGVudGl0eSBhY3Rpb25zICovXG5leHBvcnQgaW50ZXJmYWNlIFNldEVudGl0eUFjdGlvblBheWxvYWQ8VD4ge1xuICBlbnRpdHk6IFQ7XG59XG5cbi8qKiBQYXlsb2FkIHRvIGZhaWwgZW50aXRpZXMgYWN0aW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBGYWlsRW50aXRpZXNBY3Rpb25QYXlsb2FkPFQ+IGV4dGVuZHMgRmFpbEFjdGlvblBheWxvYWQ8VD4ge1xuICBpZHM/OiAoc3RyaW5nIHwgbnVtYmVyKVtdO1xufVxuXG4vKipcbiAqIFBheWxvYWQgdG8gY2xlYXIgdGhlIHN0b3JlIGluIGNhc2Ugb2YgZmFpbHVyZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFyT25GYWlsdXJlUGF5bG9hZCB7XG4gIC8qKiBDbGVhciBzdG9yZSBvbiBmYWlsdXJlICovXG4gIGNsZWFyT25GYWlsdXJlPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pad number
|
|
3
|
-
* @param val
|
|
4
|
-
* @param digits
|
|
5
|
-
*/
|
|
6
|
-
export function padNumber(val, digits = 2) {
|
|
7
|
-
const str = `${val}`;
|
|
8
|
-
return '0'.repeat(Math.max(0, digits - str.length)) + str;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Returns TRUE if bootstrap config environment is production FALSE otherwise
|
|
12
|
-
* @param dataset
|
|
13
|
-
* @returns TRUE if bootstrap config environment is production FALSE otherwise
|
|
14
|
-
*/
|
|
15
|
-
export function isProductionEnvironment(dataset) {
|
|
16
|
-
const bootstrapConfig = dataset.bootstrapconfig && JSON.parse(dataset.bootstrapconfig);
|
|
17
|
-
return bootstrapConfig?.environment === 'prod';
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2RlYnVnL2RlYnVnLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFXLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFDL0MsTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNyQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUM1RCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUFnQjtJQUN0RCxNQUFNLGVBQWUsR0FBb0IsT0FBTyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4RyxPQUFPLGVBQWUsRUFBRSxXQUFXLEtBQUssTUFBTSxDQUFDO0FBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEJvb3RzdHJhcENvbmZpZyxcbiAgRGF0YXNldCxcbn0gZnJvbSAnLi4vLi4vY29yZS9hcHBsaWNhdGlvbi9kZ3AuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogUGFkIG51bWJlclxuICogQHBhcmFtIHZhbFxuICogQHBhcmFtIGRpZ2l0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gcGFkTnVtYmVyKHZhbDogbnVtYmVyLCBkaWdpdHMgPSAyKTogc3RyaW5nIHtcbiAgY29uc3Qgc3RyID0gYCR7dmFsfWA7XG4gIHJldHVybiAnMCcucmVwZWF0KE1hdGgubWF4KDAsIGRpZ2l0cyAtIHN0ci5sZW5ndGgpKSArIHN0cjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIFRSVUUgaWYgYm9vdHN0cmFwIGNvbmZpZyBlbnZpcm9ubWVudCBpcyBwcm9kdWN0aW9uIEZBTFNFIG90aGVyd2lzZVxuICogQHBhcmFtIGRhdGFzZXRcbiAqIEByZXR1cm5zIFRSVUUgaWYgYm9vdHN0cmFwIGNvbmZpZyBlbnZpcm9ubWVudCBpcyBwcm9kdWN0aW9uIEZBTFNFIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQcm9kdWN0aW9uRW52aXJvbm1lbnQoZGF0YXNldDogRGF0YXNldCk6IGJvb2xlYW4ge1xuICBjb25zdCBib290c3RyYXBDb25maWc6IEJvb3RzdHJhcENvbmZpZyA9IGRhdGFzZXQuYm9vdHN0cmFwY29uZmlnICYmIEpTT04ucGFyc2UoZGF0YXNldC5ib290c3RyYXBjb25maWcpO1xuICByZXR1cm4gYm9vdHN0cmFwQ29uZmlnPy5lbnZpcm9ubWVudCA9PT0gJ3Byb2QnO1xufVxuIl19
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
const defaultConstruct = (data) => data;
|
|
2
|
-
const isDate = (data) => data instanceof Date && !Number.isNaN(data);
|
|
3
|
-
/**
|
|
4
|
-
* Check if an object is not an array or a date
|
|
5
|
-
* @param obj
|
|
6
|
-
* @param additionalMappers
|
|
7
|
-
*/
|
|
8
|
-
export function isObject(obj, additionalMappers) {
|
|
9
|
-
return obj instanceof Object && !Array.isArray(obj) && !additionalMappers?.some((mapper) => mapper.condition(obj)) && !isDate(obj);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Return a new reference of the given object
|
|
13
|
-
* @param obj
|
|
14
|
-
* @param additionalMappers
|
|
15
|
-
*/
|
|
16
|
-
export function immutablePrimitive(obj, additionalMappers) {
|
|
17
|
-
if (Array.isArray(obj)) {
|
|
18
|
-
return obj.slice();
|
|
19
|
-
}
|
|
20
|
-
const matchingPrimitive = additionalMappers?.find((mapper) => mapper.condition(obj));
|
|
21
|
-
const resolvedType = matchingPrimitive && ((matchingPrimitive.construct || defaultConstruct)(obj));
|
|
22
|
-
if (resolvedType !== undefined) {
|
|
23
|
-
return resolvedType;
|
|
24
|
-
}
|
|
25
|
-
if (isDate(obj)) {
|
|
26
|
-
return new Date(obj);
|
|
27
|
-
}
|
|
28
|
-
else if (obj instanceof Object) {
|
|
29
|
-
return deepFill(obj, obj, additionalMappers);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
return obj;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Deep fill of base object using source
|
|
37
|
-
* It will do a deep merge of the objects, overriding arrays
|
|
38
|
-
* All properties not present in source, but present in base, will remain
|
|
39
|
-
* @param base
|
|
40
|
-
* @param source
|
|
41
|
-
* @param additionalMappers Map of conditions of type mapper
|
|
42
|
-
*/
|
|
43
|
-
export function deepFill(base, source, additionalMappers) {
|
|
44
|
-
if (typeof source === 'undefined') {
|
|
45
|
-
return deepFill(base, base, additionalMappers);
|
|
46
|
-
}
|
|
47
|
-
if (!isObject(base, additionalMappers)) {
|
|
48
|
-
return immutablePrimitive(typeof source === 'undefined' ? base : source, additionalMappers);
|
|
49
|
-
}
|
|
50
|
-
const newObj = { ...base };
|
|
51
|
-
for (const key in base) {
|
|
52
|
-
if (key in source && typeof base[key] === typeof source[key]) {
|
|
53
|
-
const keyOfSource = source[key];
|
|
54
|
-
newObj[key] = typeof keyOfSource === 'undefined' ? immutablePrimitive(base[key], additionalMappers) : deepFill(base[key], source[key], additionalMappers);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
newObj[key] = immutablePrimitive(base[key], additionalMappers);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
// getting keys present in source and not present in base
|
|
61
|
-
for (const key in source) {
|
|
62
|
-
if (!(key in newObj)) {
|
|
63
|
-
newObj[key] = immutablePrimitive(source[key], additionalMappers);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return newObj;
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1maWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2RlZXAtZmlsbC9kZWVwLWZpbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUEsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0FBRTdDLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFXLENBQUMsQ0FBQztBQUVqRjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFRLEVBQUUsaUJBQTRDO0lBQzdFLE9BQU8sR0FBRyxZQUFZLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNySSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFRLEVBQUUsaUJBQTRDO0lBQ3ZGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUFHLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sWUFBWSxHQUFHLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25HLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztTQUFNLElBQUksR0FBRyxZQUFZLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUMvQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBaUMsSUFBTyxFQUFFLE1BQTZCLEVBQUUsaUJBQTRDO0lBQzNJLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDbEMsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUMzQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksR0FBRyxJQUFJLE1BQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxXQUFXLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUM1SixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVELHlEQUF5RDtJQUN6RCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxHQUFjLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUM5RSxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUmV2aXZlciBNYXBwZXIgdG8gZGV0ZWN0IGFuZCBjcmVhdGUgb2JqZWN0IG9uIGRlZXBGaWxsICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW1pdGl2ZVJldml2ZXJNYXBwZXI8VCA9IGFueT4ge1xuICAvKiogQ29uZGl0aW9uIHRvIGZpbGwgdG8gYmUgZGV0ZXJtaW5lIGFzICAqL1xuICBjb25kaXRpb246IChkYXRhOiBhbnkpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCB0aGUgcHJpbWl0aXZlIHR5cGUgaWYgbmVlZGVkXG4gICAqIEBwYXJhbSBkYXRhIHRvIGJlIGNvbnN0cnVjdGVkXG4gICAqIEBkZWZhdWx0IHtAc2VlIGRlZmF1bHRDb25zdHJ1Y3R9XG4gICAqL1xuICBjb25zdHJ1Y3Q/OiAoZGF0YTogYW55KSA9PiBUO1xufVxuXG5jb25zdCBkZWZhdWx0Q29uc3RydWN0ID0gKGRhdGE6IGFueSkgPT4gZGF0YTtcblxuY29uc3QgaXNEYXRlID0gKGRhdGE6IGFueSkgPT4gZGF0YSBpbnN0YW5jZW9mIERhdGUgJiYgIU51bWJlci5pc05hTihkYXRhIGFzIGFueSk7XG5cbi8qKlxuICogQ2hlY2sgaWYgYW4gb2JqZWN0IGlzIG5vdCBhbiBhcnJheSBvciBhIGRhdGVcbiAqIEBwYXJhbSBvYmpcbiAqIEBwYXJhbSBhZGRpdGlvbmFsTWFwcGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3Qob2JqOiBhbnksIGFkZGl0aW9uYWxNYXBwZXJzPzogUHJpbWl0aXZlUmV2aXZlck1hcHBlcltdKSB7XG4gIHJldHVybiBvYmogaW5zdGFuY2VvZiBPYmplY3QgJiYgIUFycmF5LmlzQXJyYXkob2JqKSAmJiAhYWRkaXRpb25hbE1hcHBlcnM/LnNvbWUoKG1hcHBlcikgPT4gbWFwcGVyLmNvbmRpdGlvbihvYmopKSAmJiAhaXNEYXRlKG9iaik7XG59XG5cbi8qKlxuICogUmV0dXJuIGEgbmV3IHJlZmVyZW5jZSBvZiB0aGUgZ2l2ZW4gb2JqZWN0XG4gKiBAcGFyYW0gb2JqXG4gKiBAcGFyYW0gYWRkaXRpb25hbE1hcHBlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGltbXV0YWJsZVByaW1pdGl2ZShvYmo6IGFueSwgYWRkaXRpb25hbE1hcHBlcnM/OiBQcmltaXRpdmVSZXZpdmVyTWFwcGVyW10pIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmouc2xpY2UoKTtcbiAgfVxuXG4gIGNvbnN0IG1hdGNoaW5nUHJpbWl0aXZlID0gYWRkaXRpb25hbE1hcHBlcnM/LmZpbmQoKG1hcHBlcikgPT4gbWFwcGVyLmNvbmRpdGlvbihvYmopKTtcbiAgY29uc3QgcmVzb2x2ZWRUeXBlID0gbWF0Y2hpbmdQcmltaXRpdmUgJiYgKChtYXRjaGluZ1ByaW1pdGl2ZS5jb25zdHJ1Y3QgfHwgZGVmYXVsdENvbnN0cnVjdCkob2JqKSk7XG4gIGlmIChyZXNvbHZlZFR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiByZXNvbHZlZFR5cGU7XG4gIH1cbiAgaWYgKGlzRGF0ZShvYmopKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKG9iaik7XG4gIH0gZWxzZSBpZiAob2JqIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgcmV0dXJuIGRlZXBGaWxsKG9iaiwgb2JqLCBhZGRpdGlvbmFsTWFwcGVycyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxufVxuXG4vKipcbiAqIERlZXAgZmlsbCBvZiBiYXNlIG9iamVjdCB1c2luZyBzb3VyY2VcbiAqIEl0IHdpbGwgZG8gYSBkZWVwIG1lcmdlIG9mIHRoZSBvYmplY3RzLCBvdmVycmlkaW5nIGFycmF5c1xuICogQWxsIHByb3BlcnRpZXMgbm90IHByZXNlbnQgaW4gc291cmNlLCBidXQgcHJlc2VudCBpbiBiYXNlLCB3aWxsIHJlbWFpblxuICogQHBhcmFtIGJhc2VcbiAqIEBwYXJhbSBzb3VyY2VcbiAqIEBwYXJhbSBhZGRpdGlvbmFsTWFwcGVycyBNYXAgb2YgY29uZGl0aW9ucyBvZiB0eXBlIG1hcHBlclxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVlcEZpbGw8VCBleHRlbmRzIHsgW3g6IHN0cmluZ106IGFueSB9PihiYXNlOiBULCBzb3VyY2U/OiB7IFt4OiBzdHJpbmddOiBhbnkgfSwgYWRkaXRpb25hbE1hcHBlcnM/OiBQcmltaXRpdmVSZXZpdmVyTWFwcGVyW10pOiBUIHtcbiAgaWYgKHR5cGVvZiBzb3VyY2UgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGRlZXBGaWxsKGJhc2UsIGJhc2UsIGFkZGl0aW9uYWxNYXBwZXJzKTtcbiAgfVxuICBpZiAoIWlzT2JqZWN0KGJhc2UsIGFkZGl0aW9uYWxNYXBwZXJzKSkge1xuICAgIHJldHVybiBpbW11dGFibGVQcmltaXRpdmUodHlwZW9mIHNvdXJjZSA9PT0gJ3VuZGVmaW5lZCcgPyBiYXNlIDogc291cmNlLCBhZGRpdGlvbmFsTWFwcGVycyk7XG4gIH1cbiAgY29uc3QgbmV3T2JqID0geyAuLi5iYXNlIH07XG4gIGZvciAoY29uc3Qga2V5IGluIGJhc2UpIHtcbiAgICBpZiAoa2V5IGluIHNvdXJjZSAmJiB0eXBlb2YgYmFzZVtrZXldID09PSB0eXBlb2Ygc291cmNlW2tleV0pIHtcbiAgICAgIGNvbnN0IGtleU9mU291cmNlID0gc291cmNlW2tleV07XG4gICAgICBuZXdPYmpba2V5XSA9IHR5cGVvZiBrZXlPZlNvdXJjZSA9PT0gJ3VuZGVmaW5lZCcgPyBpbW11dGFibGVQcmltaXRpdmUoYmFzZVtrZXldLCBhZGRpdGlvbmFsTWFwcGVycykgOiBkZWVwRmlsbChiYXNlW2tleV0sIHNvdXJjZVtrZXldLCBhZGRpdGlvbmFsTWFwcGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld09ialtrZXldID0gaW1tdXRhYmxlUHJpbWl0aXZlKGJhc2Vba2V5XSwgYWRkaXRpb25hbE1hcHBlcnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGdldHRpbmcga2V5cyBwcmVzZW50IGluIHNvdXJjZSBhbmQgbm90IHByZXNlbnQgaW4gYmFzZVxuICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcbiAgICBpZiAoIShrZXkgaW4gbmV3T2JqKSkge1xuICAgICAgbmV3T2JqW2tleSBhcyBrZXlvZiBUXSA9IGltbXV0YWJsZVByaW1pdGl2ZShzb3VyY2Vba2V5XSwgYWRkaXRpb25hbE1hcHBlcnMpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3T2JqO1xufVxuIl19
|
package/esm2022/utils/index.mjs
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './debug/debug.helper';
|
|
2
|
-
export * from './deep-fill/deep-fill';
|
|
3
|
-
export * from './rendering/rendering.helpers';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RlYnVnL2RlYnVnLmhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2RlZXAtZmlsbC9kZWVwLWZpbGwnO1xuZXhwb3J0ICogZnJvbSAnLi9yZW5kZXJpbmcvcmVuZGVyaW5nLmhlbHBlcnMnO1xuIl19
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { animationFrameScheduler, from, observeOn, of, } from 'rxjs';
|
|
2
|
-
import { bufferCount, concatMap, delay, mergeMap, scan, tap, } from 'rxjs/operators';
|
|
3
|
-
/**
|
|
4
|
-
* Buffers and emits data for lazy/progressive rendering of big lists
|
|
5
|
-
* That could solve issues with long-running tasks when trying to render an array
|
|
6
|
-
* of similar components.
|
|
7
|
-
* @param delayMs Delay between data emits
|
|
8
|
-
* @param concurrency Amount of elements that should be emitted at once
|
|
9
|
-
*/
|
|
10
|
-
export function lazyArray(delayMs = 0, concurrency = 2) {
|
|
11
|
-
let isFirstEmission = true;
|
|
12
|
-
return (source$) => {
|
|
13
|
-
return source$.pipe(mergeMap((items) => {
|
|
14
|
-
if (!isFirstEmission) {
|
|
15
|
-
return of(items);
|
|
16
|
-
}
|
|
17
|
-
const items$ = from(items);
|
|
18
|
-
return items$.pipe(bufferCount(concurrency), concatMap((value, index) => {
|
|
19
|
-
return of(value).pipe(observeOn(animationFrameScheduler), delay(index * delayMs));
|
|
20
|
-
}), scan((acc, steps) => {
|
|
21
|
-
return [...acc, ...steps];
|
|
22
|
-
}, []), tap((scannedItems) => {
|
|
23
|
-
const scanDidComplete = scannedItems.length === items.length;
|
|
24
|
-
if (scanDidComplete) {
|
|
25
|
-
isFirstEmission = false;
|
|
26
|
-
}
|
|
27
|
-
}));
|
|
28
|
-
}));
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvcmVuZGVyaW5nL3JlbmRlcmluZy5oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsSUFBSSxFQUVKLFNBQVMsRUFDVCxFQUFFLEdBQ0gsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixHQUFHLEdBQ0osTUFBTSxnQkFBZ0IsQ0FBQztBQUV4Qjs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUUsV0FBVyxHQUFHLENBQUM7SUFDdkQsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQzNCLE9BQU8sQ0FBQyxPQUF3QixFQUFFLEVBQUU7UUFDbEMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3JCLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLENBQUM7WUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFM0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNoQixXQUFXLENBQUMsV0FBVyxDQUFDLEVBQ3hCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDekIsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUNuQixTQUFTLENBQUMsdUJBQXVCLENBQUMsRUFDbEMsS0FBSyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FDdkIsQ0FBQztZQUNKLENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxLQUFVLEVBQUUsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUNOLEdBQUcsQ0FBQyxDQUFDLFlBQWlCLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUU3RCxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNwQixlQUFlLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIsXG4gIGZyb20sXG4gIE9ic2VydmFibGUsXG4gIG9ic2VydmVPbixcbiAgb2YsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgYnVmZmVyQ291bnQsXG4gIGNvbmNhdE1hcCxcbiAgZGVsYXksXG4gIG1lcmdlTWFwLFxuICBzY2FuLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBCdWZmZXJzIGFuZCBlbWl0cyBkYXRhIGZvciBsYXp5L3Byb2dyZXNzaXZlIHJlbmRlcmluZyBvZiBiaWcgbGlzdHNcbiAqIFRoYXQgY291bGQgc29sdmUgaXNzdWVzIHdpdGggbG9uZy1ydW5uaW5nIHRhc2tzIHdoZW4gdHJ5aW5nIHRvIHJlbmRlciBhbiBhcnJheVxuICogb2Ygc2ltaWxhciBjb21wb25lbnRzLlxuICogQHBhcmFtIGRlbGF5TXMgRGVsYXkgYmV0d2VlbiBkYXRhIGVtaXRzXG4gKiBAcGFyYW0gY29uY3VycmVuY3kgQW1vdW50IG9mIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIGVtaXR0ZWQgYXQgb25jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gbGF6eUFycmF5PFQ+KGRlbGF5TXMgPSAwLCBjb25jdXJyZW5jeSA9IDIpIHtcbiAgbGV0IGlzRmlyc3RFbWlzc2lvbiA9IHRydWU7XG4gIHJldHVybiAoc291cmNlJDogT2JzZXJ2YWJsZTxUW10+KSA9PiB7XG4gICAgcmV0dXJuIHNvdXJjZSQucGlwZShcbiAgICAgIG1lcmdlTWFwKChpdGVtcykgPT4ge1xuICAgICAgICBpZiAoIWlzRmlyc3RFbWlzc2lvbikge1xuICAgICAgICAgIHJldHVybiBvZihpdGVtcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVtcyQgPSBmcm9tKGl0ZW1zKTtcblxuICAgICAgICByZXR1cm4gaXRlbXMkLnBpcGUoXG4gICAgICAgICAgYnVmZmVyQ291bnQoY29uY3VycmVuY3kpLFxuICAgICAgICAgIGNvbmNhdE1hcCgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gb2YodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgIG9ic2VydmVPbihhbmltYXRpb25GcmFtZVNjaGVkdWxlciksXG4gICAgICAgICAgICAgIGRlbGF5KGluZGV4ICogZGVsYXlNcylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgc2NhbigoYWNjOiBUW10sIHN0ZXBzOiBUW10pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBbLi4uYWNjLCAuLi5zdGVwc107XG4gICAgICAgICAgfSwgW10pLFxuICAgICAgICAgIHRhcCgoc2Nhbm5lZEl0ZW1zOiBUW10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjYW5EaWRDb21wbGV0ZSA9IHNjYW5uZWRJdGVtcy5sZW5ndGggPT09IGl0ZW1zLmxlbmd0aDtcblxuICAgICAgICAgICAgaWYgKHNjYW5EaWRDb21wbGV0ZSkge1xuICAgICAgICAgICAgICBpc0ZpcnN0RW1pc3Npb24gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9O1xufVxuIl19
|