@tethys/cdk 17.0.16 → 17.0.18

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.
@@ -1,11 +1,11 @@
1
- import { Signal } from '@angular/core';
2
1
  import { Observable } from 'rxjs';
2
+ import { Signal } from '@angular/core';
3
3
  import { Behavior, BehaviorContext } from './behavior';
4
4
  import { ErrorFn, ExtractObservableValue, SuccessFn } from './types';
5
5
  export interface ActionBehavior<R> {
6
6
  saving: Signal<boolean>;
7
- execute(success?: SuccessFn<R>, error?: ErrorFn): void;
8
- execute(context: BehaviorContext<R>): void;
9
- execute(successOrContext: SuccessFn<R> | BehaviorContext<R>, error?: ErrorFn): void;
7
+ execute(success?: SuccessFn<R>, error?: ErrorFn): Observable<R>;
8
+ execute(context: BehaviorContext<R>): Observable<R>;
9
+ execute(successOrContext: SuccessFn<R> | BehaviorContext<R>, error?: ErrorFn): Observable<R>;
10
10
  }
11
11
  export declare function actionBehavior<A extends (...args: any) => Observable<any> = (...args: any) => Observable<any>>(action: A, context?: BehaviorContext<ExtractObservableValue<ReturnType<A>>>): Behavior<Parameters<A>, ActionBehavior<ExtractObservableValue<ReturnType<A>>>> & ActionBehavior<ExtractObservableValue<ReturnType<A>>>;
@@ -1,6 +1,7 @@
1
+ import { throwError } from 'rxjs';
2
+ import { finalize, shareReplay, tap } from 'rxjs/operators';
1
3
  import { signal } from '@angular/core';
2
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { finalize, tap } from 'rxjs/operators';
4
5
  import { createBehaviorFromFunction, handleBehaviorError, pickBehaviorCallbacks } from './behavior';
5
6
  class ActionBehaviorImpl {
6
7
  constructor(action, context) {
@@ -16,26 +17,26 @@ class ActionBehaviorImpl {
16
17
  this.saving.set(true);
17
18
  const callbacks = pickBehaviorCallbacks(this.context, successOrContext, error);
18
19
  try {
19
- return this.action
20
- .apply(undefined, this.executeParams)
21
- .pipe(this.takeUntilDestroyed, finalize(() => {
20
+ const result = this.action.apply(undefined, this.executeParams).pipe(this.takeUntilDestroyed, finalize(() => {
22
21
  this.saving.set(false);
23
22
  this.executeParams = undefined;
24
23
  }), tap(value => {
25
24
  this.saving.set(false);
26
25
  this.executeParams = undefined;
27
- }))
28
- .subscribe({
26
+ }), shareReplay(1));
27
+ result.subscribe({
29
28
  next: callbacks?.success,
30
29
  error: (error) => {
31
30
  this.saving.set(false);
32
31
  handleBehaviorError(error, callbacks.error);
33
32
  }
34
33
  });
34
+ return result;
35
35
  }
36
36
  catch (error) {
37
37
  this.saving.set(false);
38
38
  handleBehaviorError(error, callbacks.error);
39
+ return throwError(error);
39
40
  }
40
41
  }
41
42
  }
@@ -53,4 +54,4 @@ export function actionBehavior(action, context = {}) {
53
54
  saving: behavior.saving
54
55
  });
55
56
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJlaGF2aW9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2JlaGF2aW9ycy9hY3Rpb24tYmVoYXZpb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBNkIsMEJBQTBCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFXL0gsTUFBTSxrQkFBa0I7SUFPcEIsWUFBb0IsTUFBUyxFQUFVLE9BQTJCO1FBQTlDLFdBQU0sR0FBTixNQUFNLENBQUc7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQU5sRSxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSXZCLHVCQUFrQixHQUFHLGtCQUFrQixFQUFFLENBQUM7SUFFMkIsQ0FBQztJQUl0RSxPQUFPLENBQUMsZ0JBQW1ELEVBQUUsS0FBZTtRQUN4RSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNO2lCQUNiLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQztpQkFDcEMsSUFBSSxDQUNELElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7WUFDbkMsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FDTDtpQkFDQSxTQUFTLENBQUM7Z0JBQ1AsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPO2dCQUN4QixLQUFLLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3ZCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELENBQUM7YUFDSixDQUFDLENBQUM7UUFDWCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUVELE1BQU0sVUFBVSxjQUFjLENBQzFCLE1BQVMsRUFDVCxVQUFrRSxFQUFFO0lBRXBFLE1BQU0sUUFBUSxHQUFHLElBQUksa0JBQWtCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXpELE1BQU0sRUFBRSxHQUFHLFVBQVUsR0FBRyxNQUFxQjtRQUN6QyxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQzdCLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBQ0YsT0FBTywwQkFBMEIsQ0FBQyxFQUFFLEVBQUU7UUFDbEMsT0FBTyxFQUFFLE9BQU87UUFDaEIsTUFBTSxFQUFFLE1BQU07UUFDZCxrQkFBa0IsRUFBRSxRQUFRLENBQUMsa0JBQWtCO1FBQy9DLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO0tBQzFCLENBQ3dELENBQUM7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmVoYXZpb3IsIEJlaGF2aW9yQ29udGV4dCwgY3JlYXRlQmVoYXZpb3JGcm9tRnVuY3Rpb24sIGhhbmRsZUJlaGF2aW9yRXJyb3IsIHBpY2tCZWhhdmlvckNhbGxiYWNrcyB9IGZyb20gJy4vYmVoYXZpb3InO1xuaW1wb3J0IHsgRXJyb3JGbiwgRXh0cmFjdE9ic2VydmFibGVWYWx1ZSwgU3VjY2Vzc0ZuIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQmVoYXZpb3I8Uj4ge1xuICAgIHNhdmluZzogU2lnbmFsPGJvb2xlYW4+O1xuXG4gICAgZXhlY3V0ZShzdWNjZXNzPzogU3VjY2Vzc0ZuPFI+LCBlcnJvcj86IEVycm9yRm4pOiB2b2lkO1xuICAgIGV4ZWN1dGUoY29udGV4dDogQmVoYXZpb3JDb250ZXh0PFI+KTogdm9pZDtcbiAgICBleGVjdXRlKHN1Y2Nlc3NPckNvbnRleHQ6IFN1Y2Nlc3NGbjxSPiB8IEJlaGF2aW9yQ29udGV4dDxSPiwgZXJyb3I/OiBFcnJvckZuKTogdm9pZDtcbn1cblxuY2xhc3MgQWN0aW9uQmVoYXZpb3JJbXBsPFIsIEEgZXh0ZW5kcyAoLi4uYXJnczogYW55KSA9PiBPYnNlcnZhYmxlPFI+PiBpbXBsZW1lbnRzIEFjdGlvbkJlaGF2aW9yPFI+IHtcbiAgICBzYXZpbmcgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgZXhlY3V0ZVBhcmFtczogUGFyYW1ldGVyczxBPjtcblxuICAgIHRha2VVbnRpbERlc3Ryb3llZCA9IHRha2VVbnRpbERlc3Ryb3llZCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb246IEEsIHByaXZhdGUgY29udGV4dDogQmVoYXZpb3JDb250ZXh0PFI+KSB7fVxuXG4gICAgZXhlY3V0ZShzdWNjZXNzPzogU3VjY2Vzc0ZuPFI+LCBlcnJvcj86IEVycm9yRm4pOiB2b2lkO1xuICAgIGV4ZWN1dGUoY29udGV4dDogQmVoYXZpb3JDb250ZXh0PFI+KTogdm9pZDtcbiAgICBleGVjdXRlKHN1Y2Nlc3NPckNvbnRleHQ6IFN1Y2Nlc3NGbjxSPiB8IEJlaGF2aW9yQ29udGV4dDxSPiwgZXJyb3I/OiBFcnJvckZuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNhdmluZygpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zYXZpbmcuc2V0KHRydWUpO1xuICAgICAgICBjb25zdCBjYWxsYmFja3MgPSBwaWNrQmVoYXZpb3JDYWxsYmFja3ModGhpcy5jb250ZXh0LCBzdWNjZXNzT3JDb250ZXh0LCBlcnJvcik7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25cbiAgICAgICAgICAgICAgICAuYXBwbHkodW5kZWZpbmVkLCB0aGlzLmV4ZWN1dGVQYXJhbXMpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFrZVVudGlsRGVzdHJveWVkLFxuICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leGVjdXRlUGFyYW1zID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2aW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV4ZWN1dGVQYXJhbXMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgICAgICBuZXh0OiBjYWxsYmFja3M/LnN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQmVoYXZpb3JFcnJvcihlcnJvciwgY2FsbGJhY2tzLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy5zYXZpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgIGhhbmRsZUJlaGF2aW9yRXJyb3IoZXJyb3IsIGNhbGxiYWNrcy5lcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25CZWhhdmlvcjxBIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+ID0gKC4uLmFyZ3M6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+PihcbiAgICBhY3Rpb246IEEsXG4gICAgY29udGV4dDogQmVoYXZpb3JDb250ZXh0PEV4dHJhY3RPYnNlcnZhYmxlVmFsdWU8UmV0dXJuVHlwZTxBPj4+ID0ge31cbik6IEJlaGF2aW9yPFBhcmFtZXRlcnM8QT4sIEFjdGlvbkJlaGF2aW9yPEV4dHJhY3RPYnNlcnZhYmxlVmFsdWU8UmV0dXJuVHlwZTxBPj4+PiAmIEFjdGlvbkJlaGF2aW9yPEV4dHJhY3RPYnNlcnZhYmxlVmFsdWU8UmV0dXJuVHlwZTxBPj4+IHtcbiAgICBjb25zdCBiZWhhdmlvciA9IG5ldyBBY3Rpb25CZWhhdmlvckltcGwoYWN0aW9uLCBjb250ZXh0KTtcblxuICAgIGNvbnN0IGZuID0gZnVuY3Rpb24gKC4uLnBhcmFtczogUGFyYW1ldGVyczxBPikge1xuICAgICAgICBmblsnZXhlY3V0ZVBhcmFtcyddID0gcGFyYW1zO1xuICAgICAgICByZXR1cm4gZm47XG4gICAgfTtcbiAgICByZXR1cm4gY3JlYXRlQmVoYXZpb3JGcm9tRnVuY3Rpb24oZm4sIHtcbiAgICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgICAgYWN0aW9uOiBhY3Rpb24sXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZDogYmVoYXZpb3IudGFrZVVudGlsRGVzdHJveWVkLFxuICAgICAgICBleGVjdXRlOiBiZWhhdmlvci5leGVjdXRlLmJpbmQoZm4pLFxuICAgICAgICBzYXZpbmc6IGJlaGF2aW9yLnNhdmluZ1xuICAgIH0pIGFzIHVua25vd24gYXMgQmVoYXZpb3I8UGFyYW1ldGVyczxBPiwgQWN0aW9uQmVoYXZpb3I8RXh0cmFjdE9ic2VydmFibGVWYWx1ZTxSZXR1cm5UeXBlPEE+Pj4+ICZcbiAgICAgICAgQWN0aW9uQmVoYXZpb3I8RXh0cmFjdE9ic2VydmFibGVWYWx1ZTxSZXR1cm5UeXBlPEE+Pj47XG59XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJlaGF2aW9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2JlaGF2aW9ycy9hY3Rpb24tYmVoYXZpb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBNkIsMEJBQTBCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFXL0gsTUFBTSxrQkFBa0I7SUFPcEIsWUFBb0IsTUFBUyxFQUFVLE9BQTJCO1FBQTlDLFdBQU0sR0FBTixNQUFNLENBQUc7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQU5sRSxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSXZCLHVCQUFrQixHQUFHLGtCQUFrQixFQUFFLENBQUM7SUFFMkIsQ0FBQztJQUl0RSxPQUFPLENBQUMsZ0JBQW1ELEVBQUUsS0FBZTtRQUN4RSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUM7WUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDaEUsSUFBSSxDQUFDLGtCQUFrQixFQUN2QixRQUFRLENBQUMsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztZQUNuQyxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQztZQUNGLE1BQU0sQ0FBQyxTQUFTLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPO2dCQUN4QixLQUFLLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3ZCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELENBQUM7YUFDSixDQUFDLENBQUM7WUFDSCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUVELE1BQU0sVUFBVSxjQUFjLENBQzFCLE1BQVMsRUFDVCxVQUFrRSxFQUFFO0lBRXBFLE1BQU0sUUFBUSxHQUFHLElBQUksa0JBQWtCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXpELE1BQU0sRUFBRSxHQUFHLFVBQVUsR0FBRyxNQUFxQjtRQUN6QyxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQzdCLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBQ0YsT0FBTywwQkFBMEIsQ0FBQyxFQUFFLEVBQUU7UUFDbEMsT0FBTyxFQUFFLE9BQU87UUFDaEIsTUFBTSxFQUFFLE1BQU07UUFDZCxrQkFBa0IsRUFBRSxRQUFRLENBQUMsa0JBQWtCO1FBQy9DLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO0tBQzFCLENBQ3dELENBQUM7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBzaGFyZVJlcGxheSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTaWduYWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBCZWhhdmlvciwgQmVoYXZpb3JDb250ZXh0LCBjcmVhdGVCZWhhdmlvckZyb21GdW5jdGlvbiwgaGFuZGxlQmVoYXZpb3JFcnJvciwgcGlja0JlaGF2aW9yQ2FsbGJhY2tzIH0gZnJvbSAnLi9iZWhhdmlvcic7XG5pbXBvcnQgeyBFcnJvckZuLCBFeHRyYWN0T2JzZXJ2YWJsZVZhbHVlLCBTdWNjZXNzRm4gfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25CZWhhdmlvcjxSPiB7XG4gICAgc2F2aW5nOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgICBleGVjdXRlKHN1Y2Nlc3M/OiBTdWNjZXNzRm48Uj4sIGVycm9yPzogRXJyb3JGbik6IE9ic2VydmFibGU8Uj47XG4gICAgZXhlY3V0ZShjb250ZXh0OiBCZWhhdmlvckNvbnRleHQ8Uj4pOiBPYnNlcnZhYmxlPFI+O1xuICAgIGV4ZWN1dGUoc3VjY2Vzc09yQ29udGV4dDogU3VjY2Vzc0ZuPFI+IHwgQmVoYXZpb3JDb250ZXh0PFI+LCBlcnJvcj86IEVycm9yRm4pOiBPYnNlcnZhYmxlPFI+O1xufVxuXG5jbGFzcyBBY3Rpb25CZWhhdmlvckltcGw8UiwgQSBleHRlbmRzICguLi5hcmdzOiBhbnkpID0+IE9ic2VydmFibGU8Uj4+IGltcGxlbWVudHMgQWN0aW9uQmVoYXZpb3I8Uj4ge1xuICAgIHNhdmluZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBleGVjdXRlUGFyYW1zOiBQYXJhbWV0ZXJzPEE+O1xuXG4gICAgdGFrZVVudGlsRGVzdHJveWVkID0gdGFrZVVudGlsRGVzdHJveWVkKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbjogQSwgcHJpdmF0ZSBjb250ZXh0OiBCZWhhdmlvckNvbnRleHQ8Uj4pIHt9XG5cbiAgICBleGVjdXRlKHN1Y2Nlc3M/OiBTdWNjZXNzRm48Uj4sIGVycm9yPzogRXJyb3JGbik6IE9ic2VydmFibGU8Uj47XG4gICAgZXhlY3V0ZShjb250ZXh0OiBCZWhhdmlvckNvbnRleHQ8Uj4pOiBPYnNlcnZhYmxlPFI+O1xuICAgIGV4ZWN1dGUoc3VjY2Vzc09yQ29udGV4dDogU3VjY2Vzc0ZuPFI+IHwgQmVoYXZpb3JDb250ZXh0PFI+LCBlcnJvcj86IEVycm9yRm4pOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAgICAgaWYgKHRoaXMuc2F2aW5nKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNhdmluZy5zZXQodHJ1ZSk7XG4gICAgICAgIGNvbnN0IGNhbGxiYWNrcyA9IHBpY2tCZWhhdmlvckNhbGxiYWNrcyh0aGlzLmNvbnRleHQsIHN1Y2Nlc3NPckNvbnRleHQsIGVycm9yKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuYWN0aW9uLmFwcGx5KHVuZGVmaW5lZCwgdGhpcy5leGVjdXRlUGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgICAgIHRoaXMudGFrZVVudGlsRGVzdHJveWVkLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zYXZpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leGVjdXRlUGFyYW1zID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRhcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2aW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXhlY3V0ZVBhcmFtcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJlc3VsdC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IGNhbGxiYWNrcz8uc3VjY2VzcyxcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVCZWhhdmlvckVycm9yKGVycm9yLCBjYWxsYmFja3MuZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuc2F2aW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICBoYW5kbGVCZWhhdmlvckVycm9yKGVycm9yLCBjYWxsYmFja3MuZXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQmVoYXZpb3I8QSBleHRlbmRzICguLi5hcmdzOiBhbnkpID0+IE9ic2VydmFibGU8YW55PiA9ICguLi5hcmdzOiBhbnkpID0+IE9ic2VydmFibGU8YW55Pj4oXG4gICAgYWN0aW9uOiBBLFxuICAgIGNvbnRleHQ6IEJlaGF2aW9yQ29udGV4dDxFeHRyYWN0T2JzZXJ2YWJsZVZhbHVlPFJldHVyblR5cGU8QT4+PiA9IHt9XG4pOiBCZWhhdmlvcjxQYXJhbWV0ZXJzPEE+LCBBY3Rpb25CZWhhdmlvcjxFeHRyYWN0T2JzZXJ2YWJsZVZhbHVlPFJldHVyblR5cGU8QT4+Pj4gJiBBY3Rpb25CZWhhdmlvcjxFeHRyYWN0T2JzZXJ2YWJsZVZhbHVlPFJldHVyblR5cGU8QT4+PiB7XG4gICAgY29uc3QgYmVoYXZpb3IgPSBuZXcgQWN0aW9uQmVoYXZpb3JJbXBsKGFjdGlvbiwgY29udGV4dCk7XG5cbiAgICBjb25zdCBmbiA9IGZ1bmN0aW9uICguLi5wYXJhbXM6IFBhcmFtZXRlcnM8QT4pIHtcbiAgICAgICAgZm5bJ2V4ZWN1dGVQYXJhbXMnXSA9IHBhcmFtcztcbiAgICAgICAgcmV0dXJuIGZuO1xuICAgIH07XG4gICAgcmV0dXJuIGNyZWF0ZUJlaGF2aW9yRnJvbUZ1bmN0aW9uKGZuLCB7XG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICAgIGFjdGlvbjogYWN0aW9uLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQ6IGJlaGF2aW9yLnRha2VVbnRpbERlc3Ryb3llZCxcbiAgICAgICAgZXhlY3V0ZTogYmVoYXZpb3IuZXhlY3V0ZS5iaW5kKGZuKSxcbiAgICAgICAgc2F2aW5nOiBiZWhhdmlvci5zYXZpbmdcbiAgICB9KSBhcyB1bmtub3duIGFzIEJlaGF2aW9yPFBhcmFtZXRlcnM8QT4sIEFjdGlvbkJlaGF2aW9yPEV4dHJhY3RPYnNlcnZhYmxlVmFsdWU8UmV0dXJuVHlwZTxBPj4+PiAmXG4gICAgICAgIEFjdGlvbkJlaGF2aW9yPEV4dHJhY3RPYnNlcnZhYmxlVmFsdWU8UmV0dXJuVHlwZTxBPj4+O1xufVxuIl19
@@ -1,5 +1,5 @@
1
- import { Observable } from 'rxjs';
2
- import { finalize, tap } from 'rxjs/operators';
1
+ import { Observable, throwError } from 'rxjs';
2
+ import { finalize, tap, shareReplay } from 'rxjs/operators';
3
3
  import { isFunction } from '@tethys/cdk/is';
4
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
5
  import { signal, computed } from '@angular/core';
@@ -146,26 +146,26 @@ class ActionBehaviorImpl {
146
146
  this.saving.set(true);
147
147
  const callbacks = pickBehaviorCallbacks(this.context, successOrContext, error);
148
148
  try {
149
- return this.action
150
- .apply(undefined, this.executeParams)
151
- .pipe(this.takeUntilDestroyed, finalize(() => {
149
+ const result = this.action.apply(undefined, this.executeParams).pipe(this.takeUntilDestroyed, finalize(() => {
152
150
  this.saving.set(false);
153
151
  this.executeParams = undefined;
154
152
  }), tap(value => {
155
153
  this.saving.set(false);
156
154
  this.executeParams = undefined;
157
- }))
158
- .subscribe({
155
+ }), shareReplay(1));
156
+ result.subscribe({
159
157
  next: callbacks?.success,
160
158
  error: (error) => {
161
159
  this.saving.set(false);
162
160
  handleBehaviorError(error, callbacks.error);
163
161
  }
164
162
  });
163
+ return result;
165
164
  }
166
165
  catch (error) {
167
166
  this.saving.set(false);
168
167
  handleBehaviorError(error, callbacks.error);
168
+ return throwError(error);
169
169
  }
170
170
  }
171
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tethys-cdk-behaviors.mjs","sources":["../../../cdk/behaviors/run-in-zone.ts","../../../cdk/behaviors/error-handler.ts","../../../cdk/behaviors/behavior.ts","../../../cdk/behaviors/async-behavior.ts","../../../cdk/behaviors/action-behavior.ts","../../../cdk/behaviors/tethys-cdk-behaviors.ts"],"sourcesContent":["import { NgZone } from '@angular/core';\nimport { Observable, OperatorFunction } from 'rxjs';\n\nexport function runInZone<T>(zone: NgZone): OperatorFunction<T, T> {\n return source => {\n return new Observable(observer => {\n const onNext = (value: T) => zone.run(() => observer.next(value));\n const onError = (e: Error) => zone.run(() => observer.error(e));\n const onComplete = () => zone.run(() => observer.complete());\n return source.subscribe({\n next: onNext,\n error: onError,\n complete: onComplete\n });\n });\n };\n}\n","export type DefaultErrorHandler = (error: Error) => void;\n\nlet _defaultErrorHandler: DefaultErrorHandler = (error: Error) => {};\n\nexport function setDefaultErrorHandler(defaultErrorHandler: DefaultErrorHandler) {\n _defaultErrorHandler = defaultErrorHandler;\n}\n\nexport function getDefaultErrorHandler() {\n return _defaultErrorHandler;\n}\n","import { isFunction } from '@tethys/cdk/is';\nimport { getDefaultErrorHandler } from './error-handler';\nimport { ErrorFn, SuccessFn } from './types';\n\nconst BEHAVIOR = Symbol('BEHAVIOR');\n\nexport type Behavior<P extends Array<any>, R> = (...args: P) => R & {\n [BEHAVIOR]: true;\n};\n\nexport interface BehaviorContext<R> {\n success?: SuccessFn<R>;\n error?: ErrorFn;\n}\n\nexport function createBehaviorFromFunction<P extends any[], R>(fn: () => R): Behavior<P, R>;\nexport function createBehaviorFromFunction<P extends any[], R, U extends Record<string, unknown>>(\n fn: () => R,\n extraApi: U\n): Behavior<P, R> & U;\nexport function createBehaviorFromFunction<P extends any[], R, U extends Record<string, unknown> = {}>(\n fn: () => R,\n extraApi: U = {} as U\n): Behavior<P, R> & U {\n (fn as any)[BEHAVIOR] = true;\n Object.keys(extraApi).forEach(key => {\n const value = extraApi[key];\n Object.assign(fn, { [key]: value });\n });\n return fn as Behavior<P, R> & U;\n}\n\nexport function pickBehaviorCallbacks<R>(\n beforeContext: BehaviorContext<R>,\n successOrContext: SuccessFn<R> | BehaviorContext<R>,\n error?: ErrorFn\n) {\n let successFn: SuccessFn<R>;\n let errorFn: ErrorFn;\n if (successOrContext) {\n if (isFunction(successOrContext)) {\n successFn = successOrContext;\n errorFn = error;\n } else {\n successFn = successOrContext.success;\n errorFn = successOrContext.error;\n }\n } else {\n errorFn = error;\n }\n return {\n success: successFn || beforeContext?.success,\n error: errorFn || beforeContext?.error\n };\n}\n\nexport function handleBehaviorError(error: Error, errorFn: ErrorFn) {\n if (errorFn) {\n errorFn(error);\n } else {\n const defaultErrorHandler = getDefaultErrorHandler();\n defaultErrorHandler && defaultErrorHandler(error);\n }\n}\n","import { Observable } from 'rxjs';\nimport { finalize, tap } from 'rxjs/operators';\nimport { Behavior, BehaviorContext, createBehaviorFromFunction, handleBehaviorError, pickBehaviorCallbacks } from './behavior';\n\nimport { ErrorFn, ExtractObservableValue, SuccessFn } from './types';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Signal, WritableSignal, computed, signal } from '@angular/core';\n\nexport interface AsyncBehavior<R> {\n loadingDone: Signal<boolean>;\n loading: Signal<boolean>;\n state: Signal<'pending' | 'loading' | 'success' | 'error'>;\n error?: Signal<Error>;\n value?: Signal<R>;\n execute(success?: SuccessFn<R>, error?: ErrorFn): void;\n execute(context: BehaviorContext<R>): void;\n execute(successOrContext: SuccessFn<R> | BehaviorContext<R>, error?: ErrorFn): void;\n}\n\nclass AsyncBehaviorImpl<T, A extends (...args: any) => Observable<T>> implements AsyncBehavior<T> {\n loading: WritableSignal<boolean> = signal(false);\n\n loadingDone: Signal<boolean> = computed(() => !this.loading());\n\n value: WritableSignal<T> = signal(null);\n\n state: WritableSignal<'pending' | 'loading' | 'success' | 'error'> = signal('pending');\n\n error?: WritableSignal<Error> = signal(null);\n\n executeParams: Parameters<A>;\n\n takeUntilDestroyed = takeUntilDestroyed();\n\n constructor(private action: A, private context: BehaviorContext<T>) {}\n\n execute(success?: SuccessFn<T>, error?: ErrorFn): void;\n execute(context: BehaviorContext<T>): void;\n execute(successOrContext: SuccessFn<T> | BehaviorContext<T>, error?: ErrorFn): void {\n this.setLoadingState(true);\n this.state.set('loading');\n const callbacks = pickBehaviorCallbacks(this.context, successOrContext, error);\n try {\n return this.action\n .apply(undefined, this.executeParams)\n .pipe(\n this.takeUntilDestroyed,\n finalize(() => {\n this.setLoadingState(false);\n }),\n tap(value => {\n this.value.set(value as T);\n this.state.set('success');\n this.setLoadingState(false);\n })\n )\n .subscribe({\n next: callbacks.success,\n error: error => {\n this.state.set('error');\n this.error.set(error);\n handleBehaviorError(error, callbacks.error);\n }\n });\n } catch (error) {\n this.state.set('error');\n this.error.set(error);\n this.setLoadingState(false);\n handleBehaviorError(error, callbacks.error);\n }\n }\n\n setLoadingState(loading: boolean) {\n this.loading.set(loading);\n }\n}\n\nexport function asyncBehavior<A extends (...args: any) => Observable<any> = (...args: any) => Observable<any>>(\n action: A,\n context: BehaviorContext<ExtractObservableValue<ReturnType<A>>> = {}\n): Behavior<Parameters<A>, AsyncBehavior<ExtractObservableValue<ReturnType<A>>>> & AsyncBehavior<ExtractObservableValue<ReturnType<A>>> {\n const behavior = new AsyncBehaviorImpl(action, context);\n\n const fn = function (...params: Parameters<A>) {\n fn['executeParams'] = params;\n return fn;\n };\n return createBehaviorFromFunction(fn, {\n context: context,\n action: action,\n takeUntilDestroyed: behavior.takeUntilDestroyed,\n execute: behavior.execute.bind(fn),\n setLoadingState: behavior.setLoadingState.bind(fn),\n loadingDone: behavior.loadingDone,\n loading: behavior.loading,\n state: behavior.state,\n error: behavior.error,\n value: behavior.value\n }) as unknown as Behavior<Parameters<A>, AsyncBehavior<ExtractObservableValue<ReturnType<A>>>> &\n AsyncBehavior<ExtractObservableValue<ReturnType<A>>>;\n}\n","import { Signal, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable } from 'rxjs';\nimport { finalize, tap } from 'rxjs/operators';\nimport { Behavior, BehaviorContext, createBehaviorFromFunction, handleBehaviorError, pickBehaviorCallbacks } from './behavior';\nimport { ErrorFn, ExtractObservableValue, SuccessFn } from './types';\n\nexport interface ActionBehavior<R> {\n saving: Signal<boolean>;\n\n execute(success?: SuccessFn<R>, error?: ErrorFn): void;\n execute(context: BehaviorContext<R>): void;\n execute(successOrContext: SuccessFn<R> | BehaviorContext<R>, error?: ErrorFn): void;\n}\n\nclass ActionBehaviorImpl<R, A extends (...args: any) => Observable<R>> implements ActionBehavior<R> {\n saving = signal(false);\n\n executeParams: Parameters<A>;\n\n takeUntilDestroyed = takeUntilDestroyed();\n\n constructor(private action: A, private context: BehaviorContext<R>) {}\n\n execute(success?: SuccessFn<R>, error?: ErrorFn): void;\n execute(context: BehaviorContext<R>): void;\n execute(successOrContext: SuccessFn<R> | BehaviorContext<R>, error?: ErrorFn): void {\n if (this.saving()) {\n return;\n }\n this.saving.set(true);\n const callbacks = pickBehaviorCallbacks(this.context, successOrContext, error);\n try {\n return this.action\n .apply(undefined, this.executeParams)\n .pipe(\n this.takeUntilDestroyed,\n finalize(() => {\n this.saving.set(false);\n this.executeParams = undefined;\n }),\n tap(value => {\n this.saving.set(false);\n this.executeParams = undefined;\n })\n )\n .subscribe({\n next: callbacks?.success,\n error: (error: Error) => {\n this.saving.set(false);\n handleBehaviorError(error, callbacks.error);\n }\n });\n } catch (error) {\n this.saving.set(false);\n handleBehaviorError(error, callbacks.error);\n }\n }\n}\n\nexport function actionBehavior<A extends (...args: any) => Observable<any> = (...args: any) => Observable<any>>(\n action: A,\n context: BehaviorContext<ExtractObservableValue<ReturnType<A>>> = {}\n): Behavior<Parameters<A>, ActionBehavior<ExtractObservableValue<ReturnType<A>>>> & ActionBehavior<ExtractObservableValue<ReturnType<A>>> {\n const behavior = new ActionBehaviorImpl(action, context);\n\n const fn = function (...params: Parameters<A>) {\n fn['executeParams'] = params;\n return fn;\n };\n return createBehaviorFromFunction(fn, {\n context: context,\n action: action,\n takeUntilDestroyed: behavior.takeUntilDestroyed,\n execute: behavior.execute.bind(fn),\n saving: behavior.saving\n }) as unknown as Behavior<Parameters<A>, ActionBehavior<ExtractObservableValue<ReturnType<A>>>> &\n ActionBehavior<ExtractObservableValue<ReturnType<A>>>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tethys-cdk-behaviors.mjs","sources":["../../../cdk/behaviors/run-in-zone.ts","../../../cdk/behaviors/error-handler.ts","../../../cdk/behaviors/behavior.ts","../../../cdk/behaviors/async-behavior.ts","../../../cdk/behaviors/action-behavior.ts","../../../cdk/behaviors/tethys-cdk-behaviors.ts"],"sourcesContent":["import { NgZone } from '@angular/core';\nimport { Observable, OperatorFunction } from 'rxjs';\n\nexport function runInZone<T>(zone: NgZone): OperatorFunction<T, T> {\n return source => {\n return new Observable(observer => {\n const onNext = (value: T) => zone.run(() => observer.next(value));\n const onError = (e: Error) => zone.run(() => observer.error(e));\n const onComplete = () => zone.run(() => observer.complete());\n return source.subscribe({\n next: onNext,\n error: onError,\n complete: onComplete\n });\n });\n };\n}\n","export type DefaultErrorHandler = (error: Error) => void;\n\nlet _defaultErrorHandler: DefaultErrorHandler = (error: Error) => {};\n\nexport function setDefaultErrorHandler(defaultErrorHandler: DefaultErrorHandler) {\n _defaultErrorHandler = defaultErrorHandler;\n}\n\nexport function getDefaultErrorHandler() {\n return _defaultErrorHandler;\n}\n","import { isFunction } from '@tethys/cdk/is';\nimport { getDefaultErrorHandler } from './error-handler';\nimport { ErrorFn, SuccessFn } from './types';\n\nconst BEHAVIOR = Symbol('BEHAVIOR');\n\nexport type Behavior<P extends Array<any>, R> = (...args: P) => R & {\n [BEHAVIOR]: true;\n};\n\nexport interface BehaviorContext<R> {\n success?: SuccessFn<R>;\n error?: ErrorFn;\n}\n\nexport function createBehaviorFromFunction<P extends any[], R>(fn: () => R): Behavior<P, R>;\nexport function createBehaviorFromFunction<P extends any[], R, U extends Record<string, unknown>>(\n fn: () => R,\n extraApi: U\n): Behavior<P, R> & U;\nexport function createBehaviorFromFunction<P extends any[], R, U extends Record<string, unknown> = {}>(\n fn: () => R,\n extraApi: U = {} as U\n): Behavior<P, R> & U {\n (fn as any)[BEHAVIOR] = true;\n Object.keys(extraApi).forEach(key => {\n const value = extraApi[key];\n Object.assign(fn, { [key]: value });\n });\n return fn as Behavior<P, R> & U;\n}\n\nexport function pickBehaviorCallbacks<R>(\n beforeContext: BehaviorContext<R>,\n successOrContext: SuccessFn<R> | BehaviorContext<R>,\n error?: ErrorFn\n) {\n let successFn: SuccessFn<R>;\n let errorFn: ErrorFn;\n if (successOrContext) {\n if (isFunction(successOrContext)) {\n successFn = successOrContext;\n errorFn = error;\n } else {\n successFn = successOrContext.success;\n errorFn = successOrContext.error;\n }\n } else {\n errorFn = error;\n }\n return {\n success: successFn || beforeContext?.success,\n error: errorFn || beforeContext?.error\n };\n}\n\nexport function handleBehaviorError(error: Error, errorFn: ErrorFn) {\n if (errorFn) {\n errorFn(error);\n } else {\n const defaultErrorHandler = getDefaultErrorHandler();\n defaultErrorHandler && defaultErrorHandler(error);\n }\n}\n","import { Observable } from 'rxjs';\nimport { finalize, tap } from 'rxjs/operators';\nimport { Behavior, BehaviorContext, createBehaviorFromFunction, handleBehaviorError, pickBehaviorCallbacks } from './behavior';\n\nimport { ErrorFn, ExtractObservableValue, SuccessFn } from './types';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Signal, WritableSignal, computed, signal } from '@angular/core';\n\nexport interface AsyncBehavior<R> {\n loadingDone: Signal<boolean>;\n loading: Signal<boolean>;\n state: Signal<'pending' | 'loading' | 'success' | 'error'>;\n error?: Signal<Error>;\n value?: Signal<R>;\n execute(success?: SuccessFn<R>, error?: ErrorFn): void;\n execute(context: BehaviorContext<R>): void;\n execute(successOrContext: SuccessFn<R> | BehaviorContext<R>, error?: ErrorFn): void;\n}\n\nclass AsyncBehaviorImpl<T, A extends (...args: any) => Observable<T>> implements AsyncBehavior<T> {\n loading: WritableSignal<boolean> = signal(false);\n\n loadingDone: Signal<boolean> = computed(() => !this.loading());\n\n value: WritableSignal<T> = signal(null);\n\n state: WritableSignal<'pending' | 'loading' | 'success' | 'error'> = signal('pending');\n\n error?: WritableSignal<Error> = signal(null);\n\n executeParams: Parameters<A>;\n\n takeUntilDestroyed = takeUntilDestroyed();\n\n constructor(private action: A, private context: BehaviorContext<T>) {}\n\n execute(success?: SuccessFn<T>, error?: ErrorFn): void;\n execute(context: BehaviorContext<T>): void;\n execute(successOrContext: SuccessFn<T> | BehaviorContext<T>, error?: ErrorFn): void {\n this.setLoadingState(true);\n this.state.set('loading');\n const callbacks = pickBehaviorCallbacks(this.context, successOrContext, error);\n try {\n return this.action\n .apply(undefined, this.executeParams)\n .pipe(\n this.takeUntilDestroyed,\n finalize(() => {\n this.setLoadingState(false);\n }),\n tap(value => {\n this.value.set(value as T);\n this.state.set('success');\n this.setLoadingState(false);\n })\n )\n .subscribe({\n next: callbacks.success,\n error: error => {\n this.state.set('error');\n this.error.set(error);\n handleBehaviorError(error, callbacks.error);\n }\n });\n } catch (error) {\n this.state.set('error');\n this.error.set(error);\n this.setLoadingState(false);\n handleBehaviorError(error, callbacks.error);\n }\n }\n\n setLoadingState(loading: boolean) {\n this.loading.set(loading);\n }\n}\n\nexport function asyncBehavior<A extends (...args: any) => Observable<any> = (...args: any) => Observable<any>>(\n action: A,\n context: BehaviorContext<ExtractObservableValue<ReturnType<A>>> = {}\n): Behavior<Parameters<A>, AsyncBehavior<ExtractObservableValue<ReturnType<A>>>> & AsyncBehavior<ExtractObservableValue<ReturnType<A>>> {\n const behavior = new AsyncBehaviorImpl(action, context);\n\n const fn = function (...params: Parameters<A>) {\n fn['executeParams'] = params;\n return fn;\n };\n return createBehaviorFromFunction(fn, {\n context: context,\n action: action,\n takeUntilDestroyed: behavior.takeUntilDestroyed,\n execute: behavior.execute.bind(fn),\n setLoadingState: behavior.setLoadingState.bind(fn),\n loadingDone: behavior.loadingDone,\n loading: behavior.loading,\n state: behavior.state,\n error: behavior.error,\n value: behavior.value\n }) as unknown as Behavior<Parameters<A>, AsyncBehavior<ExtractObservableValue<ReturnType<A>>>> &\n AsyncBehavior<ExtractObservableValue<ReturnType<A>>>;\n}\n","import { Observable, throwError } from 'rxjs';\nimport { finalize, shareReplay, tap } from 'rxjs/operators';\n\nimport { Signal, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { Behavior, BehaviorContext, createBehaviorFromFunction, handleBehaviorError, pickBehaviorCallbacks } from './behavior';\nimport { ErrorFn, ExtractObservableValue, SuccessFn } from './types';\n\nexport interface ActionBehavior<R> {\n saving: Signal<boolean>;\n\n execute(success?: SuccessFn<R>, error?: ErrorFn): Observable<R>;\n execute(context: BehaviorContext<R>): Observable<R>;\n execute(successOrContext: SuccessFn<R> | BehaviorContext<R>, error?: ErrorFn): Observable<R>;\n}\n\nclass ActionBehaviorImpl<R, A extends (...args: any) => Observable<R>> implements ActionBehavior<R> {\n saving = signal(false);\n\n executeParams: Parameters<A>;\n\n takeUntilDestroyed = takeUntilDestroyed();\n\n constructor(private action: A, private context: BehaviorContext<R>) {}\n\n execute(success?: SuccessFn<R>, error?: ErrorFn): Observable<R>;\n execute(context: BehaviorContext<R>): Observable<R>;\n execute(successOrContext: SuccessFn<R> | BehaviorContext<R>, error?: ErrorFn): Observable<R> {\n if (this.saving()) {\n return;\n }\n this.saving.set(true);\n const callbacks = pickBehaviorCallbacks(this.context, successOrContext, error);\n try {\n const result = this.action.apply(undefined, this.executeParams).pipe(\n this.takeUntilDestroyed,\n finalize(() => {\n this.saving.set(false);\n this.executeParams = undefined;\n }),\n tap(value => {\n this.saving.set(false);\n this.executeParams = undefined;\n }),\n shareReplay(1)\n );\n result.subscribe({\n next: callbacks?.success,\n error: (error: Error) => {\n this.saving.set(false);\n handleBehaviorError(error, callbacks.error);\n }\n });\n return result;\n } catch (error) {\n this.saving.set(false);\n handleBehaviorError(error, callbacks.error);\n return throwError(error);\n }\n }\n}\n\nexport function actionBehavior<A extends (...args: any) => Observable<any> = (...args: any) => Observable<any>>(\n action: A,\n context: BehaviorContext<ExtractObservableValue<ReturnType<A>>> = {}\n): Behavior<Parameters<A>, ActionBehavior<ExtractObservableValue<ReturnType<A>>>> & ActionBehavior<ExtractObservableValue<ReturnType<A>>> {\n const behavior = new ActionBehaviorImpl(action, context);\n\n const fn = function (...params: Parameters<A>) {\n fn['executeParams'] = params;\n return fn;\n };\n return createBehaviorFromFunction(fn, {\n context: context,\n action: action,\n takeUntilDestroyed: behavior.takeUntilDestroyed,\n execute: behavior.execute.bind(fn),\n saving: behavior.saving\n }) as unknown as Behavior<Parameters<A>, ActionBehavior<ExtractObservableValue<ReturnType<A>>>> &\n ActionBehavior<ExtractObservableValue<ReturnType<A>>>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tethys/cdk",
3
- "version": "17.0.16",
3
+ "version": "17.0.18",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.0.0",
6
6
  "@angular/core": "^17.0.0",