@rs-x/angular 2.0.0-next.0 → 2.0.0-next.10

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,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, APP_INITIALIZER, inject, ChangeDetectorRef, Pipe } from '@angular/core';
2
+ import { InjectionToken, APP_INITIALIZER, inject, ChangeDetectorRef, NgZone, Pipe } from '@angular/core';
3
3
  import { InjectionContainer, Type, UnsupportedException } from '@rs-x/core';
4
- import { RsXExpressionParserInjectionTokens, RsXExpressionParserModule, AbstractExpression } from '@rs-x/expression-parser';
4
+ import { RsXExpressionParserInjectionTokens, RsXExpressionParserModule, AbstractExpression, CompiledExpression } from '@rs-x/expression-parser';
5
5
 
6
6
  const IExpressionFactoryToken = new InjectionToken('IExpressionFactoryProvider');
7
7
  const IExpressionChangeTransactionManagerToken = new InjectionToken('IExpressionChangeTransactionManager');
@@ -33,6 +33,7 @@ function providexRsx() {
33
33
 
34
34
  class RsxPipe {
35
35
  _changeDetectorRef = inject(ChangeDetectorRef);
36
+ _ngZone = inject(NgZone);
36
37
  _expressionFactory = inject(IExpressionFactoryToken);
37
38
  _expression;
38
39
  _changedSubscription;
@@ -41,9 +42,9 @@ class RsxPipe {
41
42
  _ownsExpression = false;
42
43
  _value;
43
44
  transform(expression, context) {
44
- if ((expression instanceof AbstractExpression &&
45
- this._expression !== expression) ||
46
- expression !== this._lastExpressionString ||
45
+ const isExpression = this.isExpressionInstance(expression);
46
+ if ((isExpression && this._expression !== expression) ||
47
+ (!isExpression && expression !== this._lastExpressionString) ||
47
48
  context !== this._lastContext) {
48
49
  this.disposeExpression();
49
50
  this.createExpression(expression, context);
@@ -54,7 +55,7 @@ class RsxPipe {
54
55
  this.disposeExpression();
55
56
  }
56
57
  createExpression(expression, context) {
57
- if (expression instanceof AbstractExpression) {
58
+ if (this.isExpressionInstance(expression)) {
58
59
  this._lastExpressionString = undefined;
59
60
  this._expression = expression;
60
61
  this._ownsExpression = false;
@@ -76,8 +77,19 @@ class RsxPipe {
76
77
  if (!this._expression) {
77
78
  return;
78
79
  }
80
+ this._value = this._expression.value;
81
+ this.requestViewCheck();
79
82
  this._changedSubscription = this._expression.changed.subscribe(() => {
80
83
  this._value = this._expression.value;
84
+ this.requestViewCheck();
85
+ });
86
+ }
87
+ requestViewCheck() {
88
+ if (NgZone.isInAngularZone()) {
89
+ this._changeDetectorRef.markForCheck();
90
+ return;
91
+ }
92
+ this._ngZone.run(() => {
81
93
  this._changeDetectorRef.markForCheck();
82
94
  });
83
95
  }
@@ -85,10 +97,16 @@ class RsxPipe {
85
97
  if (this._ownsExpression) {
86
98
  this._expression?.dispose();
87
99
  }
88
- this._ownsExpression = false;
89
100
  this._changedSubscription?.unsubscribe();
90
101
  this._changedSubscription = undefined;
91
102
  this._expression = undefined;
103
+ this._ownsExpression = false;
104
+ }
105
+ isExpressionInstance(value) {
106
+ if (!value || Type.isString(value)) {
107
+ return false;
108
+ }
109
+ return (value instanceof AbstractExpression || value instanceof CompiledExpression);
92
110
  }
93
111
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: RsxPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
94
112
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: RsxPipe, isStandalone: true, name: "rsx", pure: false });
@@ -98,6 +116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
98
116
  args: [{
99
117
  name: 'rsx',
100
118
  pure: false,
119
+ standalone: true,
101
120
  }]
102
121
  }] });
103
122
 
@@ -1 +1 @@
1
- {"version":3,"file":"rs-x-angular.mjs","sources":["../../../projects/rsx/src/lib/rsx.providers.ts","../../../projects/rsx/src/lib/rsx.pipe.ts","../../../projects/rsx/src/public-api.ts","../../../projects/rsx/src/rs-x-angular.ts"],"sourcesContent":["import { APP_INITIALIZER, InjectionToken, type Provider } from '@angular/core';\n\nimport { InjectionContainer } from '@rs-x/core';\nimport {\n type IExpressionChangeTransactionManager,\n type IExpressionFactory,\n RsXExpressionParserInjectionTokens,\n RsXExpressionParserModule,\n} from '@rs-x/expression-parser';\n\nexport const IExpressionFactoryToken = new InjectionToken<IExpressionFactory>(\n 'IExpressionFactoryProvider',\n);\n\nexport const IExpressionChangeTransactionManagerToken =\n new InjectionToken<IExpressionChangeTransactionManager>(\n 'IExpressionChangeTransactionManager',\n );\n\nfunction initializeRsx(): () => Promise<void> {\n return () => {\n if (\n InjectionContainer.isBound(\n RsXExpressionParserInjectionTokens.IExpressionFactory,\n )\n ) {\n return Promise.resolve();\n }\n return InjectionContainer.load(RsXExpressionParserModule);\n };\n}\n\nexport function providexRsx(): Provider[] {\n return [\n {\n provide: APP_INITIALIZER,\n useFactory: initializeRsx,\n multi: true,\n },\n {\n provide: IExpressionFactoryToken,\n useFactory: () =>\n InjectionContainer.get(\n RsXExpressionParserInjectionTokens.IExpressionFactory,\n ),\n },\n {\n provide: IExpressionChangeTransactionManagerToken,\n useFactory: () =>\n InjectionContainer.get(\n RsXExpressionParserInjectionTokens.IExpressionChangeTransactionManager,\n ),\n },\n ];\n}\n","import {\n ChangeDetectorRef,\n inject,\n type OnDestroy,\n Pipe,\n type PipeTransform,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Type, UnsupportedException } from '@rs-x/core';\nimport { AbstractExpression, type IExpression } from '@rs-x/expression-parser';\n\nimport { IExpressionFactoryToken } from './rsx.providers';\n\n@Pipe({\n name: 'rsx',\n pure: false,\n})\nexport class RsxPipe implements PipeTransform, OnDestroy {\n private readonly _changeDetectorRef = inject(ChangeDetectorRef);\n private readonly _expressionFactory = inject(IExpressionFactoryToken);\n private _expression?: IExpression<unknown>;\n private _changedSubscription?: Subscription;\n private _lastExpressionString?: string;\n private _lastContext?: object;\n private _ownsExpression = false;\n private _value: unknown;\n\n public transform<T>(\n expression: string | IExpression<T> | null | undefined,\n context?: object,\n ): T {\n if (\n (expression instanceof AbstractExpression &&\n this._expression !== expression) ||\n expression !== this._lastExpressionString ||\n context !== this._lastContext\n ) {\n this.disposeExpression();\n this.createExpression(expression, context);\n }\n\n return this._value as T;\n }\n\n public ngOnDestroy(): void {\n this.disposeExpression();\n }\n\n private createExpression(\n expression: string | IExpression | null | undefined,\n context?: object,\n ): void {\n if (expression instanceof AbstractExpression) {\n this._lastExpressionString = undefined;\n this._expression = expression;\n this._ownsExpression = false;\n } else if (Type.isString(expression)) {\n this._lastExpressionString = expression;\n if (context) {\n this._expression = this._expressionFactory.create(context, expression);\n this._ownsExpression = true;\n }\n } else if (!Type.isNullOrUndefined(expression)) {\n throw new UnsupportedException(`string or IExpression expected`);\n }\n\n this._lastContext = context;\n\n this.tryToSubscribeToExpression();\n }\n\n private tryToSubscribeToExpression(): void {\n if (!this._expression) {\n return;\n }\n this._changedSubscription = this._expression.changed.subscribe(() => {\n this._value = this._expression!.value;\n this._changeDetectorRef.markForCheck();\n });\n }\n\n private disposeExpression(): void {\n if (this._ownsExpression) {\n this._expression?.dispose();\n }\n this._ownsExpression = false;\n this._changedSubscription?.unsubscribe();\n this._changedSubscription = undefined;\n this._expression = undefined;\n }\n}\n","/*\n * Public API Surface of rsx\n */\n\nexport * from './lib';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAUa,uBAAuB,GAAG,IAAI,cAAc,CACvD,4BAA4B;MAGjB,wCAAwC,GACnD,IAAI,cAAc,CAChB,qCAAqC;AAGzC,SAAS,aAAa,GAAA;AACpB,IAAA,OAAO,MAAK;QACV,IACE,kBAAkB,CAAC,OAAO,CACxB,kCAAkC,CAAC,kBAAkB,CACtD,EACD;AACA,YAAA,OAAO,OAAO,CAAC,OAAO,EAAE;QAC1B;AACA,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,yBAAyB,CAAC;AAC3D,IAAA,CAAC;AACH;SAEgB,WAAW,GAAA;IACzB,OAAO;AACL,QAAA;AACE,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,uBAAuB;YAChC,UAAU,EAAE,MACV,kBAAkB,CAAC,GAAG,CACpB,kCAAkC,CAAC,kBAAkB,CACtD;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,wCAAwC;YACjD,UAAU,EAAE,MACV,kBAAkB,CAAC,GAAG,CACpB,kCAAkC,CAAC,mCAAmC,CACvE;AACJ,SAAA;KACF;AACH;;MCpCa,OAAO,CAAA;AACD,IAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC9C,IAAA,kBAAkB,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC7D,IAAA,WAAW;AACX,IAAA,oBAAoB;AACpB,IAAA,qBAAqB;AACrB,IAAA,YAAY;IACZ,eAAe,GAAG,KAAK;AACvB,IAAA,MAAM;IAEP,SAAS,CACd,UAAsD,EACtD,OAAgB,EAAA;QAEhB,IACE,CAAC,UAAU,YAAY,kBAAkB;AACvC,YAAA,IAAI,CAAC,WAAW,KAAK,UAAU;YACjC,UAAU,KAAK,IAAI,CAAC,qBAAqB;AACzC,YAAA,OAAO,KAAK,IAAI,CAAC,YAAY,EAC7B;YACA,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC;QAC5C;QAEA,OAAO,IAAI,CAAC,MAAW;IACzB;IAEO,WAAW,GAAA;QAChB,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEQ,gBAAgB,CACtB,UAAmD,EACnD,OAAgB,EAAA;AAEhB,QAAA,IAAI,UAAU,YAAY,kBAAkB,EAAE;AAC5C,YAAA,IAAI,CAAC,qBAAqB,GAAG,SAAS;AACtC,YAAA,IAAI,CAAC,WAAW,GAAG,UAAU;AAC7B,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK;QAC9B;AAAO,aAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;AACpC,YAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU;YACvC,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;AACtE,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;YAC7B;QACF;aAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE;AAC9C,YAAA,MAAM,IAAI,oBAAoB,CAAC,CAAA,8BAAA,CAAgC,CAAC;QAClE;AAEA,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO;QAE3B,IAAI,CAAC,0BAA0B,EAAE;IACnC;IAEQ,0BAA0B,GAAA;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB;QACF;AACA,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YAClE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAY,CAAC,KAAK;AACrC,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;AACxC,QAAA,CAAC,CAAC;IACJ;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE;QAC7B;AACA,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAC5B,QAAA,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE;AACxC,QAAA,IAAI,CAAC,oBAAoB,GAAG,SAAS;AACrC,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS;IAC9B;uGAxEW,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA;qGAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBAJnB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,IAAI,EAAE,KAAK;AACZ,iBAAA;;;ACjBD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"rs-x-angular.mjs","sources":["../../../projects/rsx/src/lib/rsx.providers.ts","../../../projects/rsx/src/lib/rsx.pipe.ts","../../../projects/rsx/src/public-api.ts","../../../projects/rsx/src/rs-x-angular.ts"],"sourcesContent":["import { APP_INITIALIZER, InjectionToken, type Provider } from '@angular/core';\n\nimport { InjectionContainer } from '@rs-x/core';\nimport {\n type IExpressionChangeTransactionManager,\n type IExpressionFactory,\n RsXExpressionParserInjectionTokens,\n RsXExpressionParserModule,\n} from '@rs-x/expression-parser';\n\nexport const IExpressionFactoryToken = new InjectionToken<IExpressionFactory>(\n 'IExpressionFactoryProvider',\n);\n\nexport const IExpressionChangeTransactionManagerToken =\n new InjectionToken<IExpressionChangeTransactionManager>(\n 'IExpressionChangeTransactionManager',\n );\n\nfunction initializeRsx(): () => Promise<void> {\n return () => {\n if (\n InjectionContainer.isBound(\n RsXExpressionParserInjectionTokens.IExpressionFactory,\n )\n ) {\n return Promise.resolve();\n }\n return InjectionContainer.load(RsXExpressionParserModule);\n };\n}\n\nexport function providexRsx(): Provider[] {\n return [\n {\n provide: APP_INITIALIZER,\n useFactory: initializeRsx,\n multi: true,\n },\n {\n provide: IExpressionFactoryToken,\n useFactory: () =>\n InjectionContainer.get(\n RsXExpressionParserInjectionTokens.IExpressionFactory,\n ),\n },\n {\n provide: IExpressionChangeTransactionManagerToken,\n useFactory: () =>\n InjectionContainer.get(\n RsXExpressionParserInjectionTokens.IExpressionChangeTransactionManager,\n ),\n },\n ];\n}\n","import {\n ChangeDetectorRef,\n inject,\n NgZone,\n type OnDestroy,\n Pipe,\n type PipeTransform,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Type, UnsupportedException } from '@rs-x/core';\nimport {\n AbstractExpression,\n CompiledExpression,\n type IExpression,\n} from '@rs-x/expression-parser';\n\nimport { IExpressionFactoryToken } from './rsx.providers';\n\n@Pipe({\n name: 'rsx',\n pure: false,\n standalone: true,\n})\nexport class RsxPipe implements PipeTransform, OnDestroy {\n private readonly _changeDetectorRef = inject(ChangeDetectorRef);\n private readonly _ngZone = inject(NgZone);\n private readonly _expressionFactory = inject(IExpressionFactoryToken);\n private _expression?: IExpression<unknown>;\n private _changedSubscription?: Subscription;\n private _lastExpressionString?: string;\n private _lastContext?: object;\n private _ownsExpression = false;\n private _value: unknown;\n\n public transform<T>(\n expression: string | IExpression<T> | null | undefined,\n context?: object,\n ): T {\n const isExpression = this.isExpressionInstance(expression);\n if (\n (isExpression && this._expression !== expression) ||\n (!isExpression && expression !== this._lastExpressionString) ||\n context !== this._lastContext\n ) {\n this.disposeExpression();\n this.createExpression(expression, context);\n }\n\n return this._value as T;\n }\n\n public ngOnDestroy(): void {\n this.disposeExpression();\n }\n\n private createExpression(\n expression: string | IExpression | null | undefined,\n context?: object,\n ): void {\n if (this.isExpressionInstance(expression)) {\n this._lastExpressionString = undefined;\n this._expression = expression;\n this._ownsExpression = false;\n } else if (Type.isString(expression)) {\n this._lastExpressionString = expression;\n if (context) {\n this._expression = this._expressionFactory.create(context, expression);\n this._ownsExpression = true;\n }\n } else if (!Type.isNullOrUndefined(expression)) {\n throw new UnsupportedException(`string or IExpression expected`);\n }\n\n this._lastContext = context;\n this.tryToSubscribeToExpression();\n }\n\n private tryToSubscribeToExpression(): void {\n if (!this._expression) {\n return;\n }\n\n this._value = this._expression.value;\n this.requestViewCheck();\n this._changedSubscription = this._expression.changed.subscribe(() => {\n this._value = this._expression!.value;\n this.requestViewCheck();\n });\n }\n\n private requestViewCheck(): void {\n if (NgZone.isInAngularZone()) {\n this._changeDetectorRef.markForCheck();\n return;\n }\n\n this._ngZone.run(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n private disposeExpression(): void {\n if (this._ownsExpression) {\n this._expression?.dispose();\n }\n this._changedSubscription?.unsubscribe();\n this._changedSubscription = undefined;\n this._expression = undefined;\n this._ownsExpression = false;\n }\n\n private isExpressionInstance(\n value: string | IExpression | null | undefined,\n ): value is IExpression {\n if (!value || Type.isString(value)) {\n return false;\n }\n\n return (\n value instanceof AbstractExpression || value instanceof CompiledExpression\n );\n }\n}\n","/*\n * Public API Surface of rsx\n */\n\nexport * from './lib';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rs-x/angular",
3
- "version": "2.0.0-next.0",
3
+ "version": "2.0.0-next.10",
4
4
  "description": "Angular integration for RS-X, providing the RsxPipe",
5
5
  "type": "module",
6
6
  "module": "fesm2022/rs-x-angular.mjs",
@@ -35,10 +35,10 @@
35
35
  "provenance": true
36
36
  },
37
37
  "peerDependencies": {
38
- "@angular/common": ">=21.1.0",
39
- "@angular/core": ">=21.1.0",
40
- "@rs-x/core": "^2.0.0",
41
- "@rs-x/expression-parser": "^2.0.0",
38
+ "@angular/common": ">=20.0.0",
39
+ "@angular/core": ">=20.0.0",
40
+ "@rs-x/core": ">=2.0.0-0",
41
+ "@rs-x/expression-parser": ">=2.0.0-0",
42
42
  "rxjs": ">=7.8.0"
43
43
  },
44
44
  "peerDependenciesMeta": {
@@ -4,6 +4,7 @@ import { IExpression, IExpressionFactory, IExpressionChangeTransactionManager }
4
4
 
5
5
  declare class RsxPipe implements PipeTransform, OnDestroy {
6
6
  private readonly _changeDetectorRef;
7
+ private readonly _ngZone;
7
8
  private readonly _expressionFactory;
8
9
  private _expression?;
9
10
  private _changedSubscription?;
@@ -15,7 +16,9 @@ declare class RsxPipe implements PipeTransform, OnDestroy {
15
16
  ngOnDestroy(): void;
16
17
  private createExpression;
17
18
  private tryToSubscribeToExpression;
19
+ private requestViewCheck;
18
20
  private disposeExpression;
21
+ private isExpressionInstance;
19
22
  static ɵfac: i0.ɵɵFactoryDeclaration<RsxPipe, never>;
20
23
  static ɵpipe: i0.ɵɵPipeDeclaration<RsxPipe, "rsx", true>;
21
24
  }