@dereekb/rxjs 0.0.1 → 1.2.0

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +4 -5
  3. package/package.json +3 -2
  4. package/src/lib/filter/filter.d.ts +44 -0
  5. package/src/lib/filter/filter.js +22 -0
  6. package/src/lib/filter/filter.js.map +1 -0
  7. package/src/lib/filter/filter.map.d.ts +25 -0
  8. package/src/lib/filter/filter.map.js +81 -0
  9. package/src/lib/filter/filter.map.js.map +1 -0
  10. package/src/lib/filter/filter.preset.d.ts +5 -0
  11. package/src/lib/filter/filter.preset.js +22 -0
  12. package/src/lib/filter/filter.preset.js.map +1 -0
  13. package/src/lib/filter/filter.source.d.ts +26 -0
  14. package/src/lib/filter/filter.source.js +49 -0
  15. package/src/lib/filter/filter.source.js.map +1 -0
  16. package/src/lib/filter/index.d.ts +4 -0
  17. package/src/lib/filter/index.js +8 -0
  18. package/src/lib/filter/index.js.map +1 -0
  19. package/src/lib/index.d.ts +1 -0
  20. package/src/lib/index.js +1 -0
  21. package/src/lib/index.js.map +1 -1
  22. package/src/lib/iterator/iteration.accumulator.js +2 -2
  23. package/src/lib/iterator/iteration.accumulator.rxjs.js +1 -1
  24. package/src/lib/iterator/iterator.page.js +4 -4
  25. package/src/lib/loading/index.d.ts +3 -2
  26. package/src/lib/loading/index.js +3 -2
  27. package/src/lib/loading/index.js.map +1 -1
  28. package/src/lib/loading/loading.context.state.d.ts +19 -7
  29. package/src/lib/loading/loading.context.state.js +19 -17
  30. package/src/lib/loading/loading.context.state.js.map +1 -1
  31. package/src/lib/loading/loading.context.state.list.d.ts +25 -0
  32. package/src/lib/loading/loading.context.state.list.js +51 -0
  33. package/src/lib/loading/loading.context.state.list.js.map +1 -0
  34. package/src/lib/loading/loading.context.state.value.d.ts +24 -0
  35. package/src/lib/loading/loading.context.state.value.js +41 -0
  36. package/src/lib/loading/loading.context.state.value.js.map +1 -0
  37. package/src/lib/loading/loading.state.d.ts +21 -10
  38. package/src/lib/loading/loading.state.js +34 -23
  39. package/src/lib/loading/loading.state.js.map +1 -1
  40. package/src/lib/loading/loading.state.list.d.ts +4 -0
  41. package/src/lib/loading/loading.state.list.js +17 -0
  42. package/src/lib/loading/loading.state.list.js.map +1 -0
  43. package/src/lib/rxjs/getter.d.ts +17 -0
  44. package/src/lib/rxjs/getter.js +30 -0
  45. package/src/lib/rxjs/getter.js.map +1 -0
  46. package/src/lib/rxjs/index.d.ts +2 -0
  47. package/src/lib/rxjs/index.js +2 -0
  48. package/src/lib/rxjs/index.js.map +1 -1
  49. package/src/lib/rxjs/loading.d.ts +5 -3
  50. package/src/lib/rxjs/loading.js +9 -5
  51. package/src/lib/rxjs/loading.js.map +1 -1
  52. package/src/lib/rxjs/misc.d.ts +18 -0
  53. package/src/lib/rxjs/misc.js +32 -0
  54. package/src/lib/rxjs/misc.js.map +1 -0
  55. package/src/lib/rxjs/rxjs.d.ts +17 -3
  56. package/src/lib/rxjs/rxjs.js +27 -10
  57. package/src/lib/rxjs/rxjs.js.map +1 -1
  58. package/src/lib/rxjs/value.d.ts +13 -4
  59. package/src/lib/rxjs/value.js +27 -6
  60. package/src/lib/rxjs/value.js.map +1 -1
  61. package/src/lib/loading/loading.context.state.model.d.ts +0 -18
  62. package/src/lib/loading/loading.context.state.model.js +0 -37
  63. package/src/lib/loading/loading.context.state.model.js.map +0 -1
  64. package/src/lib/loading/loading.context.state.page.d.ts +0 -21
  65. package/src/lib/loading/loading.context.state.page.js +0 -46
  66. package/src/lib/loading/loading.context.state.page.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ import { LimitArrayConfig, Maybe } from '@dereekb/util';
2
+ import { Observable } from 'rxjs';
3
+ import { ListLoadingState } from './loading.state';
4
+ import { AbstractLoadingEventForLoadingPairConfig, AbstractLoadingStateContext, AbstractLoadingStateContextInstance, AbstractLoadingStateEvent, LoadingStateContextInstanceInputConfig } from './loading.context.state';
5
+ export interface ListLoadingStateContextEvent<T> extends AbstractLoadingStateEvent<T[]> {
6
+ value?: Maybe<T[]>;
7
+ }
8
+ export interface LoadingEventForListLoadingStateConfig<S extends ListLoadingState<any> = ListLoadingState<any>> extends AbstractLoadingEventForLoadingPairConfig<S>, Partial<LimitArrayConfig> {
9
+ }
10
+ export interface ListLoadingStateContext<L = any, S extends ListLoadingState<L> = ListLoadingState<L>> extends AbstractLoadingStateContext<L[], S, ListLoadingStateContextEvent<L>> {
11
+ readonly list$: Observable<L[]>;
12
+ readonly isEmpty$: Observable<boolean>;
13
+ }
14
+ /**
15
+ * LoadingContext implementation that uses a ListLoadingState observable.
16
+ */
17
+ export declare class ListLoadingStateContextInstance<L = any, S extends ListLoadingState<L> = ListLoadingState<L>> extends AbstractLoadingStateContextInstance<L[], S, ListLoadingStateContextEvent<L>, LoadingEventForListLoadingStateConfig<S>> {
18
+ /**
19
+ * Returns the current values or an empty list.
20
+ */
21
+ readonly list$: Observable<L[]>;
22
+ readonly isEmpty$: Observable<boolean>;
23
+ protected loadingEventForLoadingPair(state: S, config?: LoadingEventForListLoadingStateConfig): ListLoadingStateContextEvent<L>;
24
+ }
25
+ export declare function listLoadingStateContext<T = any, S extends ListLoadingState<T> = ListLoadingState<T>>(config: LoadingStateContextInstanceInputConfig<S, LoadingEventForListLoadingStateConfig<S>>): ListLoadingStateContextInstance<T, S>;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listLoadingStateContext = exports.ListLoadingStateContextInstance = void 0;
4
+ const rxjs_1 = require("@dereekb/rxjs");
5
+ const util_1 = require("@dereekb/util");
6
+ const rxjs_2 = require("rxjs");
7
+ const loading_context_state_1 = require("./loading.context.state");
8
+ const loading_state_list_1 = require("./loading.state.list");
9
+ /**
10
+ * LoadingContext implementation that uses a ListLoadingState observable.
11
+ */
12
+ class ListLoadingStateContextInstance extends loading_context_state_1.AbstractLoadingStateContextInstance {
13
+ constructor() {
14
+ super(...arguments);
15
+ /**
16
+ * Returns the current values or an empty list.
17
+ */
18
+ this.list$ = this.stream$.pipe((0, rxjs_2.map)(x => { var _a; return (_a = x.value) !== null && _a !== void 0 ? _a : []; }), (0, rxjs_2.shareReplay)(1));
19
+ this.isEmpty$ = this.stream$.pipe((0, loading_state_list_1.isListLoadingStateEmpty)(), (0, rxjs_2.distinctUntilChanged)());
20
+ }
21
+ loadingEventForLoadingPair(state, config = {}) {
22
+ const { showLoadingOnNoValue } = config;
23
+ let loading = state === null || state === void 0 ? void 0 : state.loading;
24
+ const error = state === null || state === void 0 ? void 0 : state.error;
25
+ let value = state === null || state === void 0 ? void 0 : state.value;
26
+ const hasValue = value != null;
27
+ if (hasValue) {
28
+ value = (0, util_1.limitArray)(value, config); // Always limit the value/results.
29
+ }
30
+ // If there is no error
31
+ if (!(0, util_1.hasNonNullValue)(error)) {
32
+ if (showLoadingOnNoValue) {
33
+ loading = !hasValue;
34
+ }
35
+ else {
36
+ loading = (0, rxjs_1.loadingStateIsLoading)(state);
37
+ }
38
+ }
39
+ return {
40
+ loading: Boolean(loading),
41
+ error,
42
+ value
43
+ };
44
+ }
45
+ }
46
+ exports.ListLoadingStateContextInstance = ListLoadingStateContextInstance;
47
+ function listLoadingStateContext(config) {
48
+ return new ListLoadingStateContextInstance(config);
49
+ }
50
+ exports.listLoadingStateContext = listLoadingStateContext;
51
+ //# sourceMappingURL=loading.context.state.list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading.context.state.list.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.context.state.list.ts"],"names":[],"mappings":";;;AAAA,wCAAsD;AACtD,wCAAqF;AACrF,+BAA0E;AAE1E,mEAAwN;AACxN,6DAA+D;AAa/D;;GAEG;AACH,MAAa,+BAA8F,SAAQ,2DAAsH;IAAzO;;QAEE;;WAEG;QACM,UAAK,GAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAA,EAAA,CAAC,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QACpF,aAAQ,GAAwB,IAAI,CAAC,OAAO,CAAC,IAAI,CACxD,IAAA,4CAAuB,GAAE,EACzB,IAAA,2BAAoB,GAAE,CACvB,CAAC;IA+BJ,CAAC;IA7BW,0BAA0B,CAAC,KAAQ,EAAE,SAAgD,EAAE;QAC/F,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC;QAExC,IAAI,OAAO,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;QAC3B,IAAI,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;QAEzB,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAC;QAE/B,IAAI,QAAQ,EAAE;YACZ,KAAK,GAAG,IAAA,iBAAU,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAE,kCAAkC;SACvE;QAED,uBAAuB;QACvB,IAAI,CAAC,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,oBAAoB,EAAE;gBACxB,OAAO,GAAG,CAAC,QAAQ,CAAC;aACrB;iBAAM;gBACL,OAAO,GAAG,IAAA,4BAAqB,EAAC,KAAK,CAAC,CAAC;aACxC;SACF;QAED,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;YACzB,KAAK;YACL,KAAK;SACN,CAAC;IACJ,CAAC;CAEF;AAxCD,0EAwCC;AAED,SAAgB,uBAAuB,CAA+D,MAA2F;IAC/L,OAAO,IAAI,+BAA+B,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAFD,0DAEC"}
@@ -0,0 +1,24 @@
1
+ import { Maybe } from '@dereekb/util';
2
+ import { Observable } from 'rxjs';
3
+ import { LoadingContextEvent } from './loading.context';
4
+ import { AbstractLoadingEventForLoadingPairConfig, AbstractLoadingStateContext, AbstractLoadingStateContextInstance, LoadingStateContextInstanceInputConfig } from './loading.context.state';
5
+ import { LoadingState } from './loading.state';
6
+ export interface LoadingStateContextEvent<T = any> extends LoadingContextEvent {
7
+ value?: Maybe<T>;
8
+ }
9
+ export interface LoadingEventForLoadingPairConfig<S extends LoadingState = LoadingState> extends AbstractLoadingEventForLoadingPairConfig<S> {
10
+ }
11
+ export interface LoadingStateContext<L = any, S extends LoadingState<L> = LoadingState<L>> extends AbstractLoadingStateContext<L, S, LoadingStateContextEvent<L>> {
12
+ readonly list$: Observable<L[]>;
13
+ readonly values$: Observable<L[]>;
14
+ readonly isEmpty$: Observable<boolean>;
15
+ }
16
+ /**
17
+ * LoadingContext implementation for a LoadingState.
18
+ */
19
+ export declare class LoadingStateContextInstance<T = any, S extends LoadingState<T> = LoadingState<T>> extends AbstractLoadingStateContextInstance<T, S, LoadingStateContextEvent<T>, LoadingEventForLoadingPairConfig<S>> {
20
+ readonly value$: Observable<Maybe<T>>;
21
+ readonly valueAfterLoaded$: Observable<Maybe<T>>;
22
+ protected loadingEventForLoadingPair(pair: S, { showLoadingOnNoValue }?: LoadingEventForLoadingPairConfig): LoadingStateContextEvent<T>;
23
+ }
24
+ export declare function loadingStateContext<T = any, S extends LoadingState<T> = LoadingState<T>>(config: LoadingStateContextInstanceInputConfig<S, LoadingEventForLoadingPairConfig<S>>): LoadingStateContextInstance<T, S>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadingStateContext = exports.LoadingStateContextInstance = void 0;
4
+ const util_1 = require("@dereekb/util");
5
+ const rxjs_1 = require("@dereekb/rxjs");
6
+ const operators_1 = require("rxjs/operators");
7
+ const loading_context_state_1 = require("./loading.context.state");
8
+ /**
9
+ * LoadingContext implementation for a LoadingState.
10
+ */
11
+ class LoadingStateContextInstance extends loading_context_state_1.AbstractLoadingStateContextInstance {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.value$ = this.stream$.pipe((0, operators_1.map)(x => x.value), (0, operators_1.shareReplay)(1));
15
+ this.valueAfterLoaded$ = this.stream$.pipe((0, operators_1.filter)(x => !x.loading), (0, operators_1.map)(x => x.value), (0, operators_1.shareReplay)(1));
16
+ }
17
+ loadingEventForLoadingPair(pair, { showLoadingOnNoValue } = {}) {
18
+ let loading = false;
19
+ const error = pair === null || pair === void 0 ? void 0 : pair.error;
20
+ const value = pair === null || pair === void 0 ? void 0 : pair.value;
21
+ if (!(0, util_1.hasNonNullValue)(error)) {
22
+ if (showLoadingOnNoValue) {
23
+ loading = !(0, util_1.hasNonNullValue)(value);
24
+ }
25
+ else {
26
+ loading = (0, rxjs_1.loadingStateIsLoading)(pair);
27
+ }
28
+ }
29
+ return {
30
+ loading,
31
+ error,
32
+ value
33
+ };
34
+ }
35
+ }
36
+ exports.LoadingStateContextInstance = LoadingStateContextInstance;
37
+ function loadingStateContext(config) {
38
+ return new LoadingStateContextInstance(config);
39
+ }
40
+ exports.loadingStateContext = loadingStateContext;
41
+ //# sourceMappingURL=loading.context.state.value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading.context.state.value.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.context.state.value.ts"],"names":[],"mappings":";;;AAAA,wCAAuD;AACvD,wCAAsD;AAEtD,8CAA0D;AAE1D,mEAA6L;AAgB7L;;GAEG;AACH,MAAa,2BAAkF,SAAQ,2DAA2G;IAAlN;;QAEW,WAAM,GAAyB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAA,uBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;QACpF,sBAAiB,GAAyB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,kBAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAA,uBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;IAuBnI,CAAC;IArBW,0BAA0B,CAAC,IAAO,EAAE,EAAE,oBAAoB,KAAuC,EAAE;QAC3G,IAAI,OAAO,GAAY,KAAK,CAAC;QAE7B,MAAM,KAAK,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC;QAE1B,IAAI,CAAC,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,oBAAoB,EAAE;gBACxB,OAAO,GAAG,CAAC,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAC;aACnC;iBAAM;gBACL,OAAO,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;aACvC;SACF;QAED,OAAO;YACL,OAAO;YACP,KAAK;YACL,KAAK;SACN,CAAC;IACJ,CAAC;CAEF;AA1BD,kEA0BC;AAED,SAAgB,mBAAmB,CAAuD,MAAsF;IAC9K,OAAO,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAFD,kDAEC"}
@@ -1,11 +1,11 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Maybe, ReadableError, ReadableDataError, Page, FilteredPage, PageNumber } from '@dereekb/util';
3
3
  /**
4
- * A model/error pair used in loading situations.
4
+ * A value/error pair used in loading situations.
5
5
  */
6
6
  export interface LoadingErrorPair {
7
7
  /**
8
- * Field used to denote whether or not the model is being loaded.
8
+ * Field used to denote whether or not the value is being loaded.
9
9
  *
10
10
  * Not being specified is considered not being loaded.
11
11
  */
@@ -16,11 +16,21 @@ export interface LoadingErrorPair {
16
16
  error?: Maybe<ReadableError>;
17
17
  }
18
18
  /**
19
- * A model/error pair used in loading situations.
19
+ * A value/error pair used in loading situations.
20
20
  */
21
21
  export interface LoadingState<T = any> extends LoadingErrorPair {
22
- model?: Maybe<T>;
22
+ value?: Maybe<T>;
23
23
  }
24
+ /**
25
+ * Loading state with a value key.
26
+ */
27
+ export interface LoadingStateWithValue<T = any> extends LoadingState {
28
+ value: Maybe<T>;
29
+ }
30
+ /**
31
+ * Convenience identifier for a LoadingState that returns a list.
32
+ */
33
+ export declare type ListLoadingState<T> = LoadingState<T[]>;
24
34
  /**
25
35
  * LoadingState with a Page.
26
36
  */
@@ -32,7 +42,7 @@ export interface PageLoadingState<T> extends LoadingState<T>, Page {
32
42
  export interface FilteredPageLoadingState<T, F> extends PageLoadingState<T>, FilteredPage<F> {
33
43
  }
34
44
  /**
35
- * LoadingPageState that has an array of the model
45
+ * LoadingPageState that has an array of the value
36
46
  */
37
47
  export interface PageListLoadingState<T> extends PageLoadingState<T[]> {
38
48
  }
@@ -44,15 +54,15 @@ export interface FilteredPageListLoadingState<T, F> extends FilteredPageLoadingS
44
54
  export declare function beginLoading(): LoadingState<any>;
45
55
  export declare function beginLoading<T>(): LoadingState<T>;
46
56
  export declare function beginLoading<T>(state?: Partial<PageLoadingState<T>>): PageLoadingState<T>;
47
- export declare function successResult<T>(model: T): LoadingState<T>;
48
- export declare function successPageResult<T>(page: PageNumber, model: T): PageLoadingState<T>;
57
+ export declare function successResult<T>(value: T): LoadingStateWithValue<T>;
58
+ export declare function successPageResult<T>(page: PageNumber, value: T): PageLoadingState<T>;
49
59
  export declare function errorResult(error?: ReadableDataError): LoadingState<any>;
50
60
  export declare function errorPageResult<T>(page: PageNumber, error?: ReadableDataError): PageLoadingState<T>;
51
61
  export declare function anyLoadingStatesIsLoading(states: LoadingState[]): boolean;
52
62
  export declare function allLoadingStatesHaveFinishedLoading(states: LoadingState[]): boolean;
53
63
  export declare function loadingStateIsLoading(state: Maybe<LoadingState>): boolean;
54
64
  export declare function loadingStateHasFinishedLoading(state: Maybe<LoadingState>): boolean;
55
- export declare function loadingStateHasModel(state: Maybe<LoadingState>): boolean;
65
+ export declare function loadingStateHasValue(state: Maybe<LoadingState>): boolean;
56
66
  export declare function loadingStateHasError(state: Maybe<LoadingState>): boolean;
57
67
  /**
58
68
  * Wraps an observable output and maps the value to a LoadingState.
@@ -69,7 +79,7 @@ export declare function updatedStateForSetLoading<T, S extends LoadingState<T> =
69
79
  /**
70
80
  * Updates the input state with the input error.
71
81
  */
72
- export declare function updatedStateForSetModel<T, S extends LoadingState<T> = LoadingState<T>>(state: S, model: T | undefined): S;
82
+ export declare function updatedStateForSetValue<T, S extends LoadingState<T> = LoadingState<T>>(state: S, value: T | undefined): S;
73
83
  /**
74
84
  * Updates the input state with the input error.
75
85
  */
@@ -86,5 +96,6 @@ export interface MapLoadingStateResultsConfiguration<A, B, L extends LoadingStat
86
96
  mapValue?: MapLoadingStateValuesFn<A, B, L>;
87
97
  mapState?: MapLoadingStateFn<A, B, L, O>;
88
98
  }
89
- export declare function mapLoadingStateResults<A, B, L extends PageLoadingState<A> = PageLoadingState<A>, O extends PageLoadingState<B> = PageLoadingState<B>>(input: L, config: MapLoadingStateResultsConfiguration<A, B, L, O>): O;
90
99
  export declare function mapLoadingStateResults<A, B, L extends LoadingState<A> = LoadingState<A>, O extends LoadingState<B> = LoadingState<B>>(input: L, config: MapLoadingStateResultsConfiguration<A, B, L, O>): O;
100
+ export declare function mapLoadingStateResults<A, B, L extends PageLoadingState<A> = PageLoadingState<A>, O extends PageLoadingState<B> = PageLoadingState<B>>(input: L, config: MapLoadingStateResultsConfiguration<A, B, L, O>): O;
101
+ export declare function mapLoadingStateResults<A, B, L extends Partial<PageLoadingState<A>> = Partial<PageLoadingState<A>>, O extends Partial<PageLoadingState<B>> = Partial<PageLoadingState<B>>>(input: L, config: MapLoadingStateResultsConfiguration<A, B, L, O>): O;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapLoadingStateResults = exports.mapMultipleLoadingStateResults = exports.updatedStateForSetError = exports.updatedStateForSetModel = exports.updatedStateForSetLoading = exports.mergeLoadingStates = exports.combineLoadingStates = exports.loadingStateFromObs = exports.loadingStateHasError = exports.loadingStateHasModel = exports.loadingStateHasFinishedLoading = exports.loadingStateIsLoading = exports.allLoadingStatesHaveFinishedLoading = exports.anyLoadingStatesIsLoading = exports.errorPageResult = exports.errorResult = exports.successPageResult = exports.successResult = exports.beginLoading = void 0;
3
+ exports.mapLoadingStateResults = exports.mapMultipleLoadingStateResults = exports.updatedStateForSetError = exports.updatedStateForSetValue = exports.updatedStateForSetLoading = exports.mergeLoadingStates = exports.combineLoadingStates = exports.loadingStateFromObs = exports.loadingStateHasError = exports.loadingStateHasValue = exports.loadingStateHasFinishedLoading = exports.loadingStateIsLoading = exports.allLoadingStatesHaveFinishedLoading = exports.anyLoadingStatesIsLoading = exports.errorPageResult = exports.errorResult = exports.successPageResult = exports.successResult = exports.beginLoading = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
6
  const util_1 = require("@dereekb/util");
@@ -8,12 +8,12 @@ function beginLoading(state) {
8
8
  return Object.assign(Object.assign({}, state), { loading: true });
9
9
  }
10
10
  exports.beginLoading = beginLoading;
11
- function successResult(model) {
12
- return { model, loading: false };
11
+ function successResult(value) {
12
+ return { value, loading: false };
13
13
  }
14
14
  exports.successResult = successResult;
15
- function successPageResult(page, model) {
16
- return Object.assign(Object.assign({}, successResult(model)), { page });
15
+ function successPageResult(page, value) {
16
+ return Object.assign(Object.assign({}, successResult(value)), { page });
17
17
  }
18
18
  exports.successPageResult = successPageResult;
19
19
  function errorResult(error) {
@@ -33,9 +33,14 @@ function allLoadingStatesHaveFinishedLoading(states) {
33
33
  }
34
34
  exports.allLoadingStatesHaveFinishedLoading = allLoadingStatesHaveFinishedLoading;
35
35
  function loadingStateIsLoading(state) {
36
- var _a;
37
36
  if (state) {
38
- return (_a = state.loading) !== null && _a !== void 0 ? _a : !Boolean(state.model || state.error);
37
+ const loading = state.loading;
38
+ if (loading === true) {
39
+ return true;
40
+ }
41
+ else {
42
+ return loading !== null && loading !== void 0 ? loading : !Boolean(state.value || state.error);
43
+ }
39
44
  }
40
45
  else {
41
46
  return false;
@@ -44,22 +49,28 @@ function loadingStateIsLoading(state) {
44
49
  exports.loadingStateIsLoading = loadingStateIsLoading;
45
50
  function loadingStateHasFinishedLoading(state) {
46
51
  if (state) {
47
- return state.loading === false || Boolean(state.model || state.error);
52
+ const loading = state.loading;
53
+ if (loading === true) {
54
+ return false;
55
+ }
56
+ else {
57
+ return loading === false || Boolean(state.value || state.error);
58
+ }
48
59
  }
49
60
  else {
50
61
  return false;
51
62
  }
52
63
  }
53
64
  exports.loadingStateHasFinishedLoading = loadingStateHasFinishedLoading;
54
- function loadingStateHasModel(state) {
65
+ function loadingStateHasValue(state) {
55
66
  if (state) {
56
- return loadingStateHasFinishedLoading(state) && state.model != null;
67
+ return loadingStateHasFinishedLoading(state) && state.value != null;
57
68
  }
58
69
  else {
59
70
  return false;
60
71
  }
61
72
  }
62
- exports.loadingStateHasModel = loadingStateHasModel;
73
+ exports.loadingStateHasValue = loadingStateHasValue;
63
74
  function loadingStateHasError(state) {
64
75
  if (state) {
65
76
  return loadingStateHasFinishedLoading(state) && state.error != null;
@@ -76,7 +87,7 @@ function loadingStateFromObs(obs, firstOnly) {
76
87
  if (firstOnly) {
77
88
  obs = obs.pipe((0, operators_1.first)());
78
89
  }
79
- return obs.pipe((0, operators_1.map)((model) => ({ loading: false, model, error: undefined })), (0, operators_1.catchError)((error) => (0, rxjs_1.of)({ loading: false, error })), (0, operators_1.delay)(50), (0, operators_1.startWith)(({ loading: true })));
90
+ return obs.pipe((0, operators_1.map)((value) => ({ loading: false, value, error: undefined })), (0, operators_1.catchError)((error) => (0, rxjs_1.of)({ loading: false, error })), (0, operators_1.delay)(50), (0, operators_1.startWith)(({ loading: true })));
80
91
  }
81
92
  exports.loadingStateFromObs = loadingStateFromObs;
82
93
  /**
@@ -117,7 +128,7 @@ function mergeLoadingStates(a, b, mergeFn = (aa, bb) => (Object.assign(Object.as
117
128
  else {
118
129
  result = {
119
130
  loading: false,
120
- model: mergeFn(a.model, b.model)
131
+ value: mergeFn(a.value, b.value)
121
132
  };
122
133
  }
123
134
  }
@@ -128,16 +139,16 @@ exports.mergeLoadingStates = mergeLoadingStates;
128
139
  * Updates the input state to start loading.
129
140
  */
130
141
  function updatedStateForSetLoading(state, loading = true) {
131
- return Object.assign(Object.assign({}, state), { model: undefined, loading, error: undefined });
142
+ return Object.assign(Object.assign({}, state), { value: undefined, loading, error: undefined });
132
143
  }
133
144
  exports.updatedStateForSetLoading = updatedStateForSetLoading;
134
145
  /**
135
146
  * Updates the input state with the input error.
136
147
  */
137
- function updatedStateForSetModel(state, model) {
138
- return Object.assign(Object.assign({}, state), { model: model !== null && model !== void 0 ? model : undefined, loading: false, error: undefined });
148
+ function updatedStateForSetValue(state, value) {
149
+ return Object.assign(Object.assign({}, state), { value: value !== null && value !== void 0 ? value : undefined, loading: false, error: undefined });
139
150
  }
140
- exports.updatedStateForSetModel = updatedStateForSetModel;
151
+ exports.updatedStateForSetValue = updatedStateForSetValue;
141
152
  /**
142
153
  * Updates the input state with the input error.
143
154
  */
@@ -152,10 +163,10 @@ function mapMultipleLoadingStateResults(input, config) {
152
163
  let result;
153
164
  if (!error && !loading) {
154
165
  if (mapValues) {
155
- const model = mapValues(input.map(x => x.model));
166
+ const value = mapValues(input.map(x => x.value));
156
167
  result = {
157
168
  loading,
158
- model,
169
+ value,
159
170
  error
160
171
  };
161
172
  }
@@ -171,13 +182,13 @@ function mapMultipleLoadingStateResults(input, config) {
171
182
  exports.mapMultipleLoadingStateResults = mapMultipleLoadingStateResults;
172
183
  function mapLoadingStateResults(input, config) {
173
184
  const { mapValue, mapState } = config;
174
- let model = input === null || input === void 0 ? void 0 : input.model;
175
- if (model != null && mapValue) {
176
- model = mapValue(model, input);
185
+ let value = input === null || input === void 0 ? void 0 : input.value;
186
+ if (value != null && mapValue) {
187
+ value = mapValue(value, input);
177
188
  }
178
189
  let result;
179
190
  if (!mapState) {
180
- result = Object.assign(Object.assign({}, input), { model });
191
+ result = Object.assign(Object.assign({}, input), { value });
181
192
  }
182
193
  else {
183
194
  result = mapState(input);
@@ -1 +1 @@
1
- {"version":3,"file":"loading.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loading.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { OperatorFunction } from 'rxjs';
2
+ import { ListLoadingState } from "./loading.state";
3
+ export declare function listLoadingStateIsEmpty<T>(listLoadingState: ListLoadingState<T>): boolean;
4
+ export declare function isListLoadingStateEmpty<T>(): OperatorFunction<ListLoadingState<T>, boolean>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isListLoadingStateEmpty = exports.listLoadingStateIsEmpty = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const loading_state_1 = require("./loading.state");
6
+ function listLoadingStateIsEmpty(listLoadingState) {
7
+ var _a;
8
+ return Boolean(listLoadingState.value && !(((_a = listLoadingState.value) === null || _a === void 0 ? void 0 : _a.length) > 0));
9
+ }
10
+ exports.listLoadingStateIsEmpty = listLoadingStateIsEmpty;
11
+ function isListLoadingStateEmpty() {
12
+ return (obs) => {
13
+ return obs.pipe((0, rxjs_1.filter)(x => !(0, loading_state_1.loadingStateIsLoading)(x)), (0, rxjs_1.map)(x => { var _a; return Boolean(x.value && !(((_a = x.value) === null || _a === void 0 ? void 0 : _a.length) > 0)); }));
14
+ };
15
+ }
16
+ exports.isListLoadingStateEmpty = isListLoadingStateEmpty;
17
+ //# sourceMappingURL=loading.state.list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading.state.list.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.list.ts"],"names":[],"mappings":";;;AAAA,+BAAiE;AACjE,mDAA0E;AAE1E,SAAgB,uBAAuB,CAAI,gBAAqC;;IAC9E,OAAO,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA,MAAA,gBAAgB,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAFD,0DAEC;AAED,SAAgB,uBAAuB;IACrC,OAAO,CAAC,GAAoC,EAAE,EAAE;QAC9C,OAAO,GAAG,CAAC,IAAI,CACb,IAAA,aAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,qCAAqB,EAAC,CAAC,CAAC,CAAC,EACtC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,WAAC,OAAA,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA,MAAA,CAAC,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC,CACrD,CAAC;IACJ,CAAC,CAAA;AACH,CAAC;AAPD,0DAOC"}
@@ -0,0 +1,17 @@
1
+ import { Maybe } from '@dereekb/util';
2
+ import { Observable, OperatorFunction } from 'rxjs';
3
+ /**
4
+ * A value that is either the value or an observable that returns the value.
5
+ */
6
+ export declare type ObservableGetter<T> = T | Observable<T>;
7
+ /**
8
+ * Wraps the input value as an observable, if it is not an observable.
9
+ */
10
+ export declare function asObservable<T>(valueOrObs: ObservableGetter<T>): Observable<T>;
11
+ export declare function asObservable<T>(valueOrObs: Maybe<ObservableGetter<T>>): Observable<Maybe<T>>;
12
+ /**
13
+ * Switch map for an ObservableGetter that pipes through the value.
14
+ *
15
+ * @returns
16
+ */
17
+ export declare function getter<T>(): OperatorFunction<ObservableGetter<T>, T>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getter = exports.asObservable = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ function asObservable(valueOrObs) {
6
+ if ((0, rxjs_1.isObservable)(valueOrObs)) {
7
+ return valueOrObs;
8
+ }
9
+ else {
10
+ return (0, rxjs_1.of)(valueOrObs);
11
+ }
12
+ }
13
+ exports.asObservable = asObservable;
14
+ /**
15
+ * Switch map for an ObservableGetter that pipes through the value.
16
+ *
17
+ * @returns
18
+ */
19
+ function getter() {
20
+ return (0, rxjs_1.switchMap)(x => {
21
+ if ((0, rxjs_1.isObservable)(x)) {
22
+ return x;
23
+ }
24
+ else {
25
+ return (0, rxjs_1.of)(x);
26
+ }
27
+ });
28
+ }
29
+ exports.getter = getter;
30
+ //# sourceMappingURL=getter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getter.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/getter.ts"],"names":[],"mappings":";;;AACA,+BAAiF;AAYjF,SAAgB,YAAY,CAAI,UAAsC;IACpE,IAAI,IAAA,mBAAY,EAAC,UAAU,CAAC,EAAE;QAC5B,OAAO,UAAU,CAAC;KACnB;SAAM;QACL,OAAO,IAAA,SAAE,EAAC,UAAU,CAAC,CAAC;KACvB;AACH,CAAC;AAND,oCAMC;AAED;;;;GAIG;AACH,SAAgB,MAAM;IACpB,OAAO,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE;QACnB,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,EAAE;YACnB,OAAO,CAAC,CAAC;SACV;aAAM;YACL,OAAO,IAAA,SAAE,EAAC,CAAC,CAAC,CAAC;SACd;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AARD,wBAQC"}
@@ -1,6 +1,8 @@
1
1
  export * from './array';
2
2
  export * from './boolean';
3
+ export * from './getter';
3
4
  export * from './loading';
5
+ export * from './misc';
4
6
  export * from './number';
5
7
  export * from './value';
6
8
  export * from './rxjs';
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  (0, tslib_1.__exportStar)(require("./array"), exports);
5
5
  (0, tslib_1.__exportStar)(require("./boolean"), exports);
6
+ (0, tslib_1.__exportStar)(require("./getter"), exports);
6
7
  (0, tslib_1.__exportStar)(require("./loading"), exports);
8
+ (0, tslib_1.__exportStar)(require("./misc"), exports);
7
9
  (0, tslib_1.__exportStar)(require("./number"), exports);
8
10
  (0, tslib_1.__exportStar)(require("./value"), exports);
9
11
  (0, tslib_1.__exportStar)(require("./rxjs"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/index.ts"],"names":[],"mappings":";;;AAAA,uDAAwB;AACxB,yDAA0B;AAC1B,yDAA0B;AAC1B,wDAAyB;AACzB,uDAAwB;AACxB,sDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/index.ts"],"names":[],"mappings":";;;AAAA,uDAAwB;AACxB,yDAA0B;AAC1B,wDAAyB;AACzB,yDAA0B;AAC1B,sDAAuB;AACvB,wDAAyB;AACzB,uDAAwB;AACxB,sDAAuB"}
@@ -1,5 +1,7 @@
1
- import { Observable } from "rxjs";
1
+ import { OperatorFunction } from "rxjs";
2
2
  /**
3
- * Observable that returns true initially, then returns false as soon as a value is recieved.
3
+ * Operator that returns true until the first item is emitted. Then returns false.
4
+ *
5
+ * @returns
4
6
  */
5
- export declare function isLoadingFromObservable(obs: Observable<any>): Observable<boolean>;
7
+ export declare function isLoading<T>(): OperatorFunction<T, boolean>;
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isLoadingFromObservable = void 0;
3
+ exports.isLoading = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
5
  /**
6
- * Observable that returns true initially, then returns false as soon as a value is recieved.
6
+ * Operator that returns true until the first item is emitted. Then returns false.
7
+ *
8
+ * @returns
7
9
  */
8
- function isLoadingFromObservable(obs) {
9
- return obs.pipe((0, rxjs_1.map)(_ => false), (0, rxjs_1.startWith)(true), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)(1));
10
+ function isLoading() {
11
+ return (source) => {
12
+ return source.pipe((0, rxjs_1.first)(), (0, rxjs_1.map)(_ => false), (0, rxjs_1.startWith)(true), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)(1));
13
+ };
10
14
  }
11
- exports.isLoadingFromObservable = isLoadingFromObservable;
15
+ exports.isLoading = isLoading;
12
16
  //# sourceMappingURL=loading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/loading.ts"],"names":[],"mappings":";;;AAAA,+BAAqF;AAErF;;GAEG;AACF,SAAgB,uBAAuB,CAAC,GAAoB;IAC3D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE,IAAA,2BAAoB,GAAE,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAFA,0DAEA"}
1
+ {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/loading.ts"],"names":[],"mappings":";;;AAAA,+BAA8G;AAE9G;;;;GAIG;AACH,SAAgB,SAAS;IACvB,OAAO,CAAC,MAAqB,EAAE,EAAE;QAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAA,YAAK,GAAE,EAAE,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE,IAAA,2BAAoB,GAAE,EAAE,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC;AACJ,CAAC;AAJD,8BAIC"}
@@ -0,0 +1,18 @@
1
+ import { MakeRandomFunction, RandomNumberFunction } from '@dereekb/util';
2
+ import { MonoTypeOperatorFunction, SchedulerLike } from 'rxjs';
3
+ /**
4
+ * Used to log a message to the console.
5
+ *
6
+ * @param messageOrFunction
7
+ * @returns
8
+ */
9
+ export declare function tapLog<T = any>(message: string | number, consoleLogFn?: 'log' | 'warn' | 'error'): MonoTypeOperatorFunction<T>;
10
+ export declare function tapLog<T = any>(messageFunction: (value: T) => any[], consoleLogFn?: 'log' | 'warn' | 'error'): MonoTypeOperatorFunction<T>;
11
+ /**
12
+ * Used to make a random delay for each observable value.
13
+ *
14
+ * @param maxOrArgs
15
+ * @returns
16
+ */
17
+ export declare function randomDelay<T = any>(maxOrArgs: number | MakeRandomFunction): MonoTypeOperatorFunction<T>;
18
+ export declare function randomDelayWithRandomFunction<T = any>(makeRandomDelay: RandomNumberFunction, scheduler?: SchedulerLike): MonoTypeOperatorFunction<T>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomDelayWithRandomFunction = exports.randomDelay = exports.tapLog = void 0;
4
+ const util_1 = require("@dereekb/util");
5
+ const rxjs_1 = require("rxjs");
6
+ function tapLog(messageOrFunction, consoleLogFn = 'log') {
7
+ let operator;
8
+ if (typeof messageOrFunction === 'function') {
9
+ operator = (0, rxjs_1.tap)((x) => console[consoleLogFn].apply(undefined, messageOrFunction(x)));
10
+ }
11
+ else {
12
+ operator = (0, rxjs_1.tap)((x) => console[consoleLogFn](`${messageOrFunction}`, x));
13
+ }
14
+ return operator;
15
+ }
16
+ exports.tapLog = tapLog;
17
+ /**
18
+ * Used to make a random delay for each observable value.
19
+ *
20
+ * @param maxOrArgs
21
+ * @returns
22
+ */
23
+ function randomDelay(maxOrArgs) {
24
+ const makeRandomDelay = (0, util_1.makeRandomFunction)(maxOrArgs);
25
+ return randomDelayWithRandomFunction(makeRandomDelay);
26
+ }
27
+ exports.randomDelay = randomDelay;
28
+ function randomDelayWithRandomFunction(makeRandomDelay, scheduler = rxjs_1.asyncScheduler) {
29
+ return (0, rxjs_1.delayWhen)(() => (0, rxjs_1.timer)(makeRandomDelay(), scheduler));
30
+ }
31
+ exports.randomDelayWithRandomFunction = randomDelayWithRandomFunction;
32
+ //# sourceMappingURL=misc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/misc.ts"],"names":[],"mappings":";;;AAAA,wCAA6F;AAC7F,+BAAiH;AAUjH,SAAgB,MAAM,CAAU,iBAA4D,EAAE,eAAyC,KAAK;IAC1I,IAAI,QAAqC,CAAC;IAE1C,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;QAC3C,QAAQ,GAAG,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACrF;SAAM;QACL,QAAQ,GAAG,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;KACzE;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAVD,wBAUC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAU,SAAsC;IACzE,MAAM,eAAe,GAAG,IAAA,yBAAkB,EAAC,SAAS,CAAC,CAAC;IACtD,OAAO,6BAA6B,CAAC,eAAe,CAAC,CAAC;AACxD,CAAC;AAHD,kCAGC;AAED,SAAgB,6BAA6B,CAAU,eAAqC,EAAE,YAA2B,qBAAc;IACrI,OAAO,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAE,IAAA,YAAK,EAAC,eAAe,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/D,CAAC;AAFD,sEAEC"}