@ibyar/core 0.8.6 → 1.1.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.
- package/annotation/decorators.d.ts +20 -285
- package/annotation/decorators.d.ts.map +1 -0
- package/annotation/decorators.js +92 -84
- package/annotation/decorators.js.map +1 -1
- package/annotation/options.d.ts +276 -0
- package/annotation/options.d.ts.map +1 -0
- package/annotation/options.js +2 -0
- package/annotation/options.js.map +1 -0
- package/binding/binding.expressions.d.ts +2 -1
- package/binding/binding.expressions.d.ts.map +1 -0
- package/binding/binding.expressions.js +149 -124
- package/binding/binding.expressions.js.map +1 -1
- package/component/component.d.ts +13 -11
- package/component/component.d.ts.map +1 -0
- package/component/component.js +39 -45
- package/component/component.js.map +1 -1
- package/component/custom-element.d.ts +1 -3
- package/component/custom-element.d.ts.map +1 -0
- package/component/custom-element.js.map +1 -1
- package/component/events.d.ts +1 -0
- package/component/events.d.ts.map +1 -0
- package/component/events.js +4 -3
- package/component/events.js.map +1 -1
- package/component/lifecycle.d.ts +1 -0
- package/component/lifecycle.d.ts.map +1 -0
- package/component/reflect.d.ts +12 -15
- package/component/reflect.d.ts.map +1 -0
- package/component/reflect.js +28 -47
- package/component/reflect.js.map +1 -1
- package/context/stack.d.ts +1 -0
- package/context/stack.d.ts.map +1 -0
- package/context/subscription.d.ts +1 -0
- package/context/subscription.d.ts.map +1 -0
- package/directive/directive.d.ts +1 -0
- package/directive/directive.d.ts.map +1 -0
- package/directive/directive.js +8 -0
- package/directive/directive.js.map +1 -1
- package/directive/parser.d.ts +1 -0
- package/directive/parser.d.ts.map +1 -0
- package/directive/parser.js +9 -7
- package/directive/parser.js.map +1 -1
- package/directive/providers.d.ts +1 -0
- package/directive/providers.d.ts.map +1 -0
- package/directive/providers.js +2 -1
- package/directive/providers.js.map +1 -1
- package/html/deserialize.d.ts +1 -0
- package/html/deserialize.d.ts.map +1 -0
- package/html/expression.d.ts +1 -0
- package/html/expression.d.ts.map +1 -0
- package/html/expression.js +2 -2
- package/html/expression.js.map +1 -1
- package/html/types.d.ts +1 -0
- package/html/types.d.ts.map +1 -0
- package/index.d.ts +2 -2
- package/index.d.ts.map +1 -0
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/linker/change-detector-ref.d.ts +1 -0
- package/linker/change-detector-ref.d.ts.map +1 -0
- package/linker/template-ref.d.ts +1 -0
- package/linker/template-ref.d.ts.map +1 -0
- package/linker/template-ref.js +5 -0
- package/linker/template-ref.js.map +1 -1
- package/linker/view-container-ref.d.ts +4 -2
- package/linker/view-container-ref.d.ts.map +1 -0
- package/linker/view-container-ref.js +9 -7
- package/linker/view-container-ref.js.map +1 -1
- package/linker/view-ref.d.ts +1 -0
- package/linker/view-ref.d.ts.map +1 -0
- package/linker/view-ref.js +5 -2
- package/linker/view-ref.js.map +1 -1
- package/node.d.ts +1 -0
- package/node.d.ts.map +1 -0
- package/package.json +8 -9
- package/pipe/pipe.d.ts +1 -0
- package/pipe/pipe.d.ts.map +1 -0
- package/pipe/pipe.js +2 -1
- package/pipe/pipe.js.map +1 -1
- package/providers/provider.d.ts +15 -13
- package/providers/provider.d.ts.map +1 -0
- package/providers/provider.js +13 -15
- package/providers/provider.js.map +1 -1
- package/scope/variables.d.ts +19 -0
- package/scope/variables.d.ts.map +1 -0
- package/scope/variables.js +38 -0
- package/scope/variables.js.map +1 -0
- package/utils/elements-util.d.ts +1 -0
- package/utils/elements-util.d.ts.map +1 -0
- package/utils/path.d.ts +1 -0
- package/utils/path.d.ts.map +1 -0
- package/utils/typeof.d.ts +3 -0
- package/utils/typeof.d.ts.map +1 -0
- package/utils/typeof.js.map +1 -1
- package/utils/utils.d.ts +1 -0
- package/utils/utils.d.ts.map +1 -0
- package/view/base-view.d.ts +1 -0
- package/view/base-view.d.ts.map +1 -0
- package/view/base-view.js +33 -29
- package/view/base-view.js.map +1 -1
- package/view/form-view.d.ts +1 -0
- package/view/form-view.d.ts.map +1 -0
- package/view/form-view.js +70 -67
- package/view/form-view.js.map +1 -1
- package/view/mutation.d.ts +1 -0
- package/view/mutation.d.ts.map +1 -0
- package/view/mutation.js +35 -35
- package/view/mutation.js.map +1 -1
- package/view/render.d.ts +2 -0
- package/view/render.d.ts.map +1 -0
- package/view/render.js +25 -13
- package/view/render.js.map +1 -1
- package/view/utils.d.ts +4 -3
- package/view/utils.d.ts.map +1 -0
- package/view/utils.js.map +1 -1
- package/view/view.d.ts +5 -4
- package/view/view.d.ts.map +1 -0
- package/view/view.js +34 -7
- package/view/view.js.map +1 -1
- package/zone/bootstrap.d.ts +1 -0
- package/zone/bootstrap.d.ts.map +1 -0
- package/zone/proxy.d.ts +1 -0
- package/zone/proxy.d.ts.map +1 -0
- package/zone/proxy.js +1 -0
- package/zone/proxy.js.map +1 -1
- package/zone/task.d.ts +1 -0
- package/zone/task.d.ts.map +1 -0
- package/zone/task.js +11 -3
- package/zone/task.js.map +1 -1
- package/zone/zone.d.ts +1 -0
- package/zone/zone.d.ts.map +1 -0
- package/zone/zone.js +8 -6
- package/zone/zone.js.map +1 -1
- package/providers/injector.d.ts +0 -10
- package/providers/injector.js +0 -27
- package/providers/injector.js.map +0 -1
- package/render/host-binding.handler.d.ts +0 -46
- package/render/host-binding.handler.js +0 -60
- package/render/host-binding.handler.js.map +0 -1
- package/render/host-listener.handler.d.ts +0 -50
- package/render/host-listener.handler.js +0 -88
- package/render/host-listener.handler.js.map +0 -1
- package/render/render-handler.d.ts +0 -11
- package/render/render-handler.js +0 -2
- package/render/render-handler.js.map +0 -1
package/zone/proxy.d.ts
CHANGED
|
@@ -14,3 +14,4 @@ export declare class ZoneProxyHandler<T extends object> implements ProxyHandler<
|
|
|
14
14
|
}
|
|
15
15
|
export declare function createRevocableProxyZone<T extends object>(model: T, zone: ProxyAuroraZone): RevocableProxy<T>;
|
|
16
16
|
export declare function createProxyZone<T extends object>(model: T, zone: ProxyAuroraZone): T;
|
|
17
|
+
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/core/zone/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAI5C;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAK7D,OAAO,CAAC,KAAK;IAHzB,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC;gBAGnD,KAAK,EAAE,eAAe;IAC1C,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO;IAItF,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAItD,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAYtD,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO;CAItE;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAE7G;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,GAAG,CAAC,CAEpF"}
|
package/zone/proxy.js
CHANGED
package/zone/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/core/zone/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAGpE,MAAM,UAAU,GAAG,IAAI,OAAO,EAAY,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,gBAAgB;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/core/zone/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAGpE,MAAM,UAAU,GAAG,IAAI,OAAO,EAAY,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAKR;IAHpB,MAAM,CAAC,EAAE,CAAmB,IAAqB;QAChD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,YAAoB,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAI,CAAC;IAC/C,cAAc,CAAC,MAAS,EAAE,CAAkB,EAAE,UAA8B;QAC3E,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IACD,cAAc,CAAC,MAAS,EAAE,CAAkB;QAC3C,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,GAAG,CAAC,MAAS,EAAE,CAAkB,EAAE,QAAa;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC7B;QACD,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;YACnE,OAAO,KAAK,CAAC;SACb;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,GAAG,CAAC,MAAS,EAAE,CAAkB,EAAE,KAAU,EAAE,QAAa;QAC3D,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;CACD;AAED,MAAM,UAAU,wBAAwB,CAAmB,KAAQ,EAAE,IAAqB;IACzF,OAAO,KAAK,CAAC,SAAS,CAAI,KAAK,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,eAAe,CAAmB,KAAQ,EAAE,IAAqB;IAChF,OAAO,IAAI,KAAK,CAAI,KAAK,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC","sourcesContent":["import { hasBindingHook, RevocableProxy } from '@ibyar/expressions';\nimport { ProxyAuroraZone } from './zone.js';\n\nconst ProxyCache = new WeakMap<any, any>();\n\n/**\n * crete new proxy handler for object\n */\nexport class ZoneProxyHandler<T extends object> implements ProxyHandler<T> {\n\n\tstatic of<M extends object>(zone: ProxyAuroraZone): ZoneProxyHandler<M> {\n\t\treturn new ZoneProxyHandler(zone);\n\t}\n\tconstructor(private _zone: ProxyAuroraZone) { }\n\tdefineProperty(target: T, p: string | symbol, attributes: PropertyDescriptor): boolean {\n\t\tthis._zone.scheduleChangesDetection();\n\t\treturn Reflect.defineProperty(target, p, attributes);\n\t}\n\tdeleteProperty(target: T, p: string | symbol): boolean {\n\t\tthis._zone.scheduleChangesDetection();\n\t\treturn Reflect.deleteProperty(target, p);\n\t}\n\tget(target: T, p: string | symbol, receiver: any): any {\n\t\tconst value = Reflect.get(target, p, receiver);\n\t\tif (ProxyCache.has(value)) {\n\t\t\treturn ProxyCache.get(value);\n\t\t}\n\t\tif (!(value && typeof value === 'object') || hasBindingHook(value)) {\n\t\t\treturn value;\n\t\t}\n\t\tconst proxy = createProxyZone(value, this._zone);\n\t\tProxyCache.set(value, proxy);\n\t\treturn proxy;\n\t}\n\tset(target: T, p: string | symbol, value: any, receiver: any): boolean {\n\t\tthis._zone.scheduleChangesDetection();\n\t\treturn Reflect.set(target, p, value, receiver);\n\t}\n}\n\nexport function createRevocableProxyZone<T extends object>(model: T, zone: ProxyAuroraZone): RevocableProxy<T> {\n\treturn Proxy.revocable<T>(model, new ZoneProxyHandler(zone));\n}\n\nexport function createProxyZone<T extends object>(model: T, zone: ProxyAuroraZone): T {\n\treturn new Proxy<T>(model, new ZoneProxyHandler(zone));\n}\n"]}
|
package/zone/task.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/core/zone/task.ts"],"names":[],"mappings":"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"}
|
package/zone/task.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';
|
|
2
2
|
const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';
|
|
3
3
|
export class AbstractTask {
|
|
4
|
+
type;
|
|
5
|
+
source;
|
|
6
|
+
callback;
|
|
7
|
+
data;
|
|
8
|
+
scheduleFn;
|
|
9
|
+
cancelFn;
|
|
10
|
+
runCount = 0;
|
|
11
|
+
_zone = null;
|
|
12
|
+
_state = 'notScheduled';
|
|
4
13
|
constructor(type, source, callback, data, scheduleFn, cancelFn) {
|
|
5
14
|
this.type = type;
|
|
6
15
|
this.source = source;
|
|
@@ -8,9 +17,6 @@ export class AbstractTask {
|
|
|
8
17
|
this.data = data;
|
|
9
18
|
this.scheduleFn = scheduleFn;
|
|
10
19
|
this.cancelFn = cancelFn;
|
|
11
|
-
this.runCount = 0;
|
|
12
|
-
this._zone = null;
|
|
13
|
-
this._state = 'notScheduled';
|
|
14
20
|
if (!callback) {
|
|
15
21
|
throw new Error('callback is not defined');
|
|
16
22
|
}
|
|
@@ -51,6 +57,7 @@ export class AbstractTask {
|
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
59
|
export class ScopeTask extends AbstractTask {
|
|
60
|
+
scope;
|
|
54
61
|
static microTask(scope, source, callback, data, customSchedule) {
|
|
55
62
|
return new ScopeTask(scope, microTask, source, callback, data, customSchedule, undefined);
|
|
56
63
|
}
|
|
@@ -79,6 +86,7 @@ export class ScopeTask extends AbstractTask {
|
|
|
79
86
|
}
|
|
80
87
|
}
|
|
81
88
|
export class StackTask extends AbstractTask {
|
|
89
|
+
stack;
|
|
82
90
|
static microTask(stack, source, callback, data, customSchedule) {
|
|
83
91
|
return new StackTask(stack, microTask, source, callback, data, customSchedule, undefined);
|
|
84
92
|
}
|
package/zone/task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/core/zone/task.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAmB,cAAc,EAClD,UAAU,GAAiB,YAAY,EACvC,SAAS,GAAgB,WAAW,EACpC,OAAO,GAAc,SAAS,EAC9B,SAAS,GAAgB,WAAW,EACpC,OAAO,GAAc,SAAS,CAAC;AAChC,MAAM,SAAS,GAAgB,WAAW,EACzC,SAAS,GAAgB,WAAW,EACpC,SAAS,GAAgB,WAAW,CAAC;AAEtC,MAAM,OAAgB,YAAY;
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/core/zone/task.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactiveScopeControl, Context, Stack } from '@ibyar/expressions';\n\nconst notScheduled: 'notScheduled' = 'notScheduled',\n\tscheduling: 'scheduling' = 'scheduling',\n\tscheduled: 'scheduled' = 'scheduled',\n\trunning: 'running' = 'running',\n\tcanceling: 'canceling' = 'canceling',\n\tunknown: 'unknown' = 'unknown';\nconst microTask: 'microTask' = 'microTask',\n\tmacroTask: 'macroTask' = 'macroTask',\n\teventTask: 'eventTask' = 'eventTask';\n\nexport abstract class AbstractTask<T extends TaskType> implements Task {\n\n\tpublic runCount: number = 0;\n\t_zone: Zone | null = null;\n\t_state: TaskState = 'notScheduled';\n\n\tconstructor(\n\t\tpublic type: T,\n\t\tpublic source: string,\n\t\tpublic callback: Function,\n\t\tpublic data?: TaskData,\n\t\tpublic scheduleFn?: (task: Task) => void,\n\t\tpublic cancelFn?: (task: Task) => void) {\n\t\tif (!callback) {\n\t\t\tthrow new Error('callback is not defined');\n\t\t}\n\t}\n\n\tget zone(): Zone {\n\t\treturn this._zone!;\n\t}\n\n\tget state(): TaskState {\n\t\treturn this._state;\n\t}\n\n\tpublic cancelScheduleRequest() {\n\t\tthis._transitionTo(notScheduled, scheduling);\n\t}\n\n\t_transitionTo(toState: TaskState, fromState1: TaskState, fromState2?: TaskState) {\n\t\tif (this._state === fromState1 || this._state === fromState2) {\n\t\t\tthis._state = toState;\n\t\t} else {\n\t\t\tthrow new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n\t\t}\n\t}\n\n\tpublic toString() {\n\t\tif (this.data && typeof this.data.handleId !== 'undefined') {\n\t\t\treturn this.data.handleId.toString();\n\t\t} else {\n\t\t\treturn Object.prototype.toString.call(this);\n\t\t}\n\t}\n\tpublic toJSON() {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tstate: this.state,\n\t\t\tsource: this.source,\n\t\t\tzone: this.zone.name,\n\t\t\trunCount: this.runCount\n\t\t};\n\t}\n\n\tabstract invoke(task: any, target: any, args: any): any;\n}\n\nexport class ScopeTask<T extends TaskType> extends AbstractTask<T> {\n\tstatic microTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void) {\n\t\treturn new ScopeTask(scope, microTask, source, callback, data, customSchedule, undefined);\n\t}\n\tstatic macroTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n\t\treturn new ScopeTask(scope, macroTask, source, callback, data, customSchedule, customCancel);\n\t}\n\tstatic eventTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n\t\treturn new ScopeTask(scope, eventTask, source, callback, data, customSchedule, customCancel);\n\t}\n\n\tconstructor(\n\t\tpublic scope: ReactiveScopeControl<any>,\n\t\ttype: T,\n\t\tsource: string,\n\t\tcallback: Function,\n\t\tdata?: TaskData,\n\t\tscheduleFn?: (task: Task) => void,\n\t\tcancelFn?: (task: Task) => void) {\n\t\tsuper(type, source, callback, data, scheduleFn, cancelFn);\n\t}\n\tinvoke(task: any, target: any, args: any) {\n\t\ttry {\n\t\t\tthis.runCount++;\n\t\t\tthis.scope.detach();\n\t\t\treturn this.zone.runTask(task, target, args);\n\t\t} finally {\n\t\t\tthis.scope.reattach();\n\t\t}\n\t}\n\tpublic toJSON() {\n\t\treturn Object.assign(super.toJSON(), { scope: this.scope });\n\t}\n}\n\nexport class StackTask<T extends TaskType> extends AbstractTask<T> {\n\n\tstatic microTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void) {\n\t\treturn new StackTask(stack, microTask, source, callback, data, customSchedule, undefined);\n\t}\n\tstatic macroTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n\t\treturn new StackTask(stack, macroTask, source, callback, data, customSchedule, customCancel);\n\t}\n\tstatic eventTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n\t\treturn new StackTask(stack, eventTask, source, callback, data, customSchedule, customCancel);\n\t}\n\n\tconstructor(\n\t\tpublic stack: Stack,\n\t\ttype: T,\n\t\tsource: string,\n\t\tcallback: Function,\n\t\tdata: TaskData | undefined,\n\t\tscheduleFn: ((task: Task) => void) | undefined,\n\t\tcancelFn: ((task: Task) => void) | undefined) {\n\t\tsuper(type, source, callback, data, scheduleFn, cancelFn);\n\t}\n\tinvoke(task: any, target: any, args: any) {\n\t\ttry {\n\t\t\tthis.runCount++;\n\t\t\tthis.stack.detach();\n\t\t\treturn this.zone.runTask(task, target, args);\n\t\t} finally {\n\t\t\tthis.stack.reattach();\n\t\t}\n\t}\n\tpublic toJSON() {\n\t\treturn Object.assign(super.toJSON(), { stack: this.stack });\n\t}\n}\n"]}
|
package/zone/zone.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zone.d.ts","sourceRoot":"","sources":["../../../src/core/zone/zone.ts"],"names":[],"mappings":"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"}
|
package/zone/zone.js
CHANGED
|
@@ -4,11 +4,12 @@ const NOOP = () => { };
|
|
|
4
4
|
const EMPTY_PAYLOAD = {};
|
|
5
5
|
let LastId = 0;
|
|
6
6
|
export class AbstractAuroraZone {
|
|
7
|
+
onTry = new EventEmitter();
|
|
8
|
+
onCatch = new EventEmitter();
|
|
9
|
+
onFinal = new EventEmitter();
|
|
10
|
+
onEmpty = new EventEmitter();
|
|
11
|
+
id;
|
|
7
12
|
constructor() {
|
|
8
|
-
this.onTry = new EventEmitter();
|
|
9
|
-
this.onCatch = new EventEmitter();
|
|
10
|
-
this.onFinal = new EventEmitter();
|
|
11
|
-
this.onEmpty = new EventEmitter();
|
|
12
13
|
this.id = ++LastId;
|
|
13
14
|
}
|
|
14
15
|
}
|
|
@@ -158,6 +159,7 @@ export class ManualAuroraZone extends AbstractAuroraZone {
|
|
|
158
159
|
}
|
|
159
160
|
}
|
|
160
161
|
export class ProxyAuroraZone extends AbstractAuroraZone {
|
|
162
|
+
_cdPromise;
|
|
161
163
|
constructor(parent) {
|
|
162
164
|
super();
|
|
163
165
|
if (parent) {
|
|
@@ -201,12 +203,12 @@ export class ProxyAuroraZone extends AbstractAuroraZone {
|
|
|
201
203
|
return callback();
|
|
202
204
|
}
|
|
203
205
|
scheduleChangesDetection() {
|
|
204
|
-
this._cdPromise
|
|
206
|
+
this._cdPromise ??= Promise
|
|
205
207
|
.resolve()
|
|
206
208
|
.then(() => {
|
|
207
209
|
this.runCallback(NOOP);
|
|
208
210
|
this._cdPromise = undefined;
|
|
209
|
-
})
|
|
211
|
+
});
|
|
210
212
|
}
|
|
211
213
|
}
|
|
212
214
|
//# sourceMappingURL=zone.js.map
|
package/zone/zone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zone.js","sourceRoot":"","sources":["../../../src/core/zone/zone.ts"],"names":[],"mappings":"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","sourcesContent":["/// <reference types='zone.js' />\nimport { EventEmitter } from '../component/events.js';\nimport { ZoneType } from './bootstrap.js';\n\nconst NOOP = () => { };\nconst EMPTY_PAYLOAD = {};\n\nexport interface AuroraZone {\n\n\treadonly onTry: EventEmitter<void>;\n\treadonly onCatch: EventEmitter<void>;\n\treadonly onFinal: EventEmitter<void>;\n\treadonly onEmpty: EventEmitter<void>;\n\n\n\tfork(type?: ZoneType): AuroraZone;\n\trun<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T;\n\trunTask<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined, name?: string | undefined): T;\n\trunGuarded<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T;\n\trunOutsideAurora<T>(callback: (...args: any[]) => T): T;\n}\n\nlet LastId = 0;\n\nexport abstract class AbstractAuroraZone implements AuroraZone {\n\treadonly onTry: EventEmitter<void> = new EventEmitter<void>();\n\treadonly onCatch: EventEmitter<void> = new EventEmitter<void>();\n\treadonly onFinal: EventEmitter<void> = new EventEmitter<void>();\n\treadonly onEmpty: EventEmitter<void> = new EventEmitter<void>();\n\tprotected id: number;\n\tconstructor() {\n\t\tthis.id = ++LastId;\n\t}\n\tabstract fork(type?: ZoneType): AuroraZone;\n\n\tabstract run<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T;\n\tabstract runTask<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined, name?: string | undefined): T;\n\tabstract runGuarded<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T;\n\tabstract runOutsideAurora<T>(callback: (...args: any[]) => T): T;\n}\n\nexport class AuroraZone extends AbstractAuroraZone {\n\tstatic isInAuroraZone(): boolean {\n\t\treturn typeof Zone !== 'undefined' && Zone.current.get('aurora-zone') === true;\n\t}\n\n\tstatic assertInAuroraZone(): void {\n\t\tif (!AuroraZone.isInAuroraZone()) {\n\t\t\tthrow new Error('Expected to be in Aurora Zone, but it is not!');\n\t\t}\n\t}\n\n\tstatic assertNotInAuroraZone(): void {\n\t\tif (AuroraZone.isInAuroraZone()) {\n\t\t\tthrow new Error('Expected to not be in Aurora Zone, but it is!');\n\t\t}\n\t}\n\n\tconstructor(parent?: AuroraZone) {\n\t\tif (typeof Zone == 'undefined') {\n\t\t\tthrow new Error(`In this configuration Zone.js is required`);\n\t\t}\n\t\tZone.assertZonePatched();\n\t\tsuper();\n\t\tconst self = this as any as AuroraZonePrivate;\n\t\tself._nesting = 0;\n\t\tself._outer = Zone.root;\n\t\tif (parent) {\n\t\t\tself._parent = (parent as AuroraZonePrivate);\n\t\t\tself._inner = (parent as AuroraZonePrivate)._inner;\n\t\t} else {\n\t\t\tself._inner = Zone.current;\n\t\t\tif ((Zone as any)['TaskTrackingZoneSpec']) {\n\t\t\t\tself._inner = self._inner.fork(new ((Zone as any)['TaskTrackingZoneSpec'] as any));\n\t\t\t}\n\t\t}\n\t\tself._inner = self._inner.fork({\n\t\t\tname: 'aurora',\n\t\t\tproperties: { 'aurora-zone': true, id: self.id },\n\t\t\tonInvoke: (parentZoneDelegate, currentZone, targetZone, delegate, applyThis, applyArgs?, source?) => {\n\t\t\t\ttry {\n\t\t\t\t\tbefore(self);\n\t\t\t\t\treturn parentZoneDelegate.invoke(targetZone, delegate, applyThis, applyArgs, source);\n\t\t\t\t} finally {\n\t\t\t\t\tafter(self);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonInvokeTask: (parentZoneDelegate, currentZone, targetZone, task, applyThis, applyArgs?) => {\n\t\t\t\ttry {\n\t\t\t\t\tbefore(self);\n\t\t\t\t\treturn parentZoneDelegate.invokeTask(targetZone, task, applyThis, applyArgs);\n\t\t\t\t} finally {\n\t\t\t\t\tafter(self);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonHandleError: (parentZoneDelegate, currentZone, targetZone, error) => {\n\t\t\t\tparentZoneDelegate.handleError(targetZone, error);\n\t\t\t\tself.runOutsideAurora(() => self.onCatch.emit(error));\n\t\t\t\treturn false;\n\t\t\t},\n\t\t});\n\t}\n\tfork(type?: ZoneType): AuroraZone {\n\t\tif (type === 'manual') {\n\t\t\treturn new ManualAuroraZone(this);\n\t\t} else if (type === 'proxy') {\n\t\t\treturn new ProxyAuroraZone(this);\n\t\t}\n\t\treturn new AuroraZone(this);\n\t}\n\trun<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[]): T {\n\t\treturn (this as any as AuroraZonePrivate)._inner.run(callback, applyThis, applyArgs);\n\t}\n\n\trunTask<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[], name?: string): T {\n\t\tconst zone = (this as any as AuroraZonePrivate)._inner;\n\t\tconst task = zone.scheduleEventTask('AuroraZoneEvent: ' + name ?? '', callback, EMPTY_PAYLOAD, NOOP, NOOP);\n\t\ttry {\n\t\t\treturn zone.runTask(task, applyThis, applyArgs);\n\t\t} finally {\n\t\t\tzone.cancelTask(task);\n\t\t}\n\t}\n\trunGuarded<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[]): T {\n\t\treturn (this as any as AuroraZonePrivate)._inner.runGuarded(callback, applyThis, applyArgs);\n\t}\n\trunOutsideAurora<T>(callback: (...args: any[]) => T): T {\n\t\treturn (this as any as AuroraZonePrivate)._outer.run(callback);\n\t}\n}\n\ninterface AuroraZonePrivate extends AuroraZone {\n\t_inner: Zone;\n\t_outer: Zone;\n\t_nesting: number;\n\t_parent: AuroraZonePrivate;\n}\n\nfunction before(zone: AuroraZonePrivate) {\n\tzone.onTry.emit();\n\tzone._nesting++;\n}\n\nfunction after(zone: AuroraZonePrivate) {\n\tzone._nesting--;\n\tzone.onFinal.emit();\n\tif (zone._nesting === 0) {\n\t\tzone.onEmpty.emit();\n\t}\n}\n\nexport class ManualAuroraZone extends AbstractAuroraZone {\n\n\tconstructor(parent?: AuroraZone) {\n\t\tsuper();\n\t\tif (parent) {\n\t\t\tconst self = this as any as AuroraZonePrivate;\n\t\t\tself._nesting = 0;\n\t\t\tself._parent = parent as AuroraZonePrivate;\n\t\t}\n\t}\n\tfork(type?: ZoneType): AuroraZone {\n\t\tif (type === 'proxy') {\n\t\t\treturn new ProxyAuroraZone(this);\n\t\t} else if (type === 'aurora') {\n\t\t\treturn new AuroraZone(this);\n\t\t}\n\t\treturn new ManualAuroraZone(this);\n\t}\n\tprivate runCallback<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\ttry {\n\t\t\tbefore(this as any as AuroraZonePrivate);\n\t\t\treturn callback.apply(applyThis, applyArgs!);\n\t\t} catch (error) {\n\t\t\tthis.onCatch.emit();\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tafter(this as any as AuroraZonePrivate);\n\t\t}\n\t}\n\trun<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunTask<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined, name?: string | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunGuarded<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunOutsideAurora<T>(callback: (...args: any[]) => T): T {\n\t\treturn callback();\n\t}\n}\n\nexport class ProxyAuroraZone extends AbstractAuroraZone {\n\n\tprivate _cdPromise?: Promise<void>\n\n\tconstructor(parent?: AuroraZone) {\n\t\tsuper();\n\t\tif (parent) {\n\t\t\tconst self = this as any as AuroraZonePrivate;\n\t\t\tself._nesting = 0;\n\t\t\tself._parent = parent as AuroraZonePrivate;\n\t\t}\n\t}\n\tfork(type?: ZoneType): AuroraZone {\n\t\tif (type === 'manual') {\n\t\t\treturn new ManualAuroraZone(this);\n\t\t} else if (type === 'aurora') {\n\t\t\treturn new AuroraZone(this);\n\t\t}\n\t\treturn new ProxyAuroraZone(this);\n\t}\n\tprivate runCallback<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\ttry {\n\t\t\tbefore(this as any as AuroraZonePrivate);\n\t\t\treturn callback.apply(applyThis, applyArgs!);\n\t\t} catch (error) {\n\t\t\tthis.onCatch.emit();\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tafter(this as any as AuroraZonePrivate);\n\t\t}\n\t}\n\trun<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunTask<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined, name?: string | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunGuarded<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunOutsideAurora<T>(callback: (...args: any[]) => T): T {\n\t\treturn callback();\n\t}\n\tscheduleChangesDetection() {\n\t\tthis._cdPromise ??= Promise\n\t\t\t.resolve()\n\t\t\t.then(() => {\n\t\t\t\tthis.runCallback(NOOP);\n\t\t\t\tthis._cdPromise = undefined;\n\t\t\t});\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"zone.js","sourceRoot":"","sources":["../../../src/core/zone/zone.ts"],"names":[],"mappings":"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","sourcesContent":["/// <reference types='zone.js' />\nimport { EventEmitter } from '../component/events.js';\nimport { ZoneType } from './bootstrap.js';\n\nconst NOOP = () => { };\nconst EMPTY_PAYLOAD = {};\n\nexport interface AuroraZone {\n\n\treadonly onTry: EventEmitter<void>;\n\treadonly onCatch: EventEmitter<void>;\n\treadonly onFinal: EventEmitter<void>;\n\treadonly onEmpty: EventEmitter<void>;\n\n\n\tfork(type?: ZoneType): AuroraZone;\n\trun<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T;\n\trunTask<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined, name?: string | undefined): T;\n\trunGuarded<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T;\n\trunOutsideAurora<T>(callback: (...args: any[]) => T): T;\n}\n\nlet LastId = 0;\n\nexport abstract class AbstractAuroraZone implements AuroraZone {\n\treadonly onTry: EventEmitter<void> = new EventEmitter<void>();\n\treadonly onCatch: EventEmitter<void> = new EventEmitter<void>();\n\treadonly onFinal: EventEmitter<void> = new EventEmitter<void>();\n\treadonly onEmpty: EventEmitter<void> = new EventEmitter<void>();\n\tprotected id: number;\n\tconstructor() {\n\t\tthis.id = ++LastId;\n\t}\n\tabstract fork(type?: ZoneType): AuroraZone;\n\n\tabstract run<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T;\n\tabstract runTask<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined, name?: string | undefined): T;\n\tabstract runGuarded<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T;\n\tabstract runOutsideAurora<T>(callback: (...args: any[]) => T): T;\n}\n\nexport class AuroraZone extends AbstractAuroraZone {\n\tstatic isInAuroraZone(): boolean {\n\t\treturn typeof Zone !== 'undefined' && Zone.current.get('aurora-zone') === true;\n\t}\n\n\tstatic assertInAuroraZone(): void {\n\t\tif (!AuroraZone.isInAuroraZone()) {\n\t\t\tthrow new Error('Expected to be in Aurora Zone, but it is not!');\n\t\t}\n\t}\n\n\tstatic assertNotInAuroraZone(): void {\n\t\tif (AuroraZone.isInAuroraZone()) {\n\t\t\tthrow new Error('Expected to not be in Aurora Zone, but it is!');\n\t\t}\n\t}\n\n\tconstructor(parent?: AuroraZone) {\n\t\tif (typeof Zone == 'undefined') {\n\t\t\tthrow new Error(`In this configuration Zone.js is required`);\n\t\t}\n\t\tZone.assertZonePatched();\n\t\tsuper();\n\t\tconst self = this as any as AuroraZonePrivate;\n\t\tself._nesting = 0;\n\t\tself._outer = Zone.root;\n\t\tif (parent) {\n\t\t\tself._parent = (parent as AuroraZonePrivate);\n\t\t\tself._inner = (parent as AuroraZonePrivate)._inner;\n\t\t} else {\n\t\t\tself._inner = Zone.current;\n\t\t\tif ((Zone as any)['TaskTrackingZoneSpec']) {\n\t\t\t\tself._inner = self._inner.fork(new ((Zone as any)['TaskTrackingZoneSpec'] as any));\n\t\t\t}\n\t\t}\n\t\tself._inner = self._inner.fork({\n\t\t\tname: 'aurora',\n\t\t\tproperties: { 'aurora-zone': true, id: self.id },\n\t\t\tonInvoke: (parentZoneDelegate, currentZone, targetZone, delegate, applyThis, applyArgs?, source?) => {\n\t\t\t\ttry {\n\t\t\t\t\tbefore(self);\n\t\t\t\t\treturn parentZoneDelegate.invoke(targetZone, delegate, applyThis, applyArgs, source);\n\t\t\t\t} finally {\n\t\t\t\t\tafter(self);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonInvokeTask: (parentZoneDelegate, currentZone, targetZone, task, applyThis, applyArgs?) => {\n\t\t\t\ttry {\n\t\t\t\t\tbefore(self);\n\t\t\t\t\treturn parentZoneDelegate.invokeTask(targetZone, task, applyThis, applyArgs);\n\t\t\t\t} finally {\n\t\t\t\t\tafter(self);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonHandleError: (parentZoneDelegate, currentZone, targetZone, error) => {\n\t\t\t\tparentZoneDelegate.handleError(targetZone, error);\n\t\t\t\tself.runOutsideAurora(() => self.onCatch.emit(error));\n\t\t\t\treturn false;\n\t\t\t},\n\t\t});\n\t}\n\tfork(type?: ZoneType): AuroraZone {\n\t\tif (type === 'manual') {\n\t\t\treturn new ManualAuroraZone(this);\n\t\t} else if (type === 'proxy') {\n\t\t\treturn new ProxyAuroraZone(this);\n\t\t}\n\t\treturn new AuroraZone(this);\n\t}\n\trun<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[]): T {\n\t\treturn (this as any as AuroraZonePrivate)._inner.run(callback, applyThis, applyArgs);\n\t}\n\n\trunTask<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[], name?: string): T {\n\t\tconst zone = (this as any as AuroraZonePrivate)._inner;\n\t\tconst task = zone.scheduleEventTask('AuroraZoneEvent: ' + name ?? '', callback, EMPTY_PAYLOAD, NOOP, NOOP);\n\t\ttry {\n\t\t\treturn zone.runTask(task, applyThis, applyArgs);\n\t\t} finally {\n\t\t\tzone.cancelTask(task);\n\t\t}\n\t}\n\trunGuarded<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[]): T {\n\t\treturn (this as any as AuroraZonePrivate)._inner.runGuarded(callback, applyThis, applyArgs);\n\t}\n\trunOutsideAurora<T>(callback: (...args: any[]) => T): T {\n\t\treturn (this as any as AuroraZonePrivate)._outer.run(callback);\n\t}\n}\n\ninterface AuroraZonePrivate extends AuroraZone {\n\t_inner: Zone;\n\t_outer: Zone;\n\t_nesting: number;\n\t_parent: AuroraZonePrivate;\n}\n\nfunction before(zone: AuroraZonePrivate) {\n\tzone.onTry.emit();\n\tzone._nesting++;\n}\n\nfunction after(zone: AuroraZonePrivate) {\n\tzone._nesting--;\n\tzone.onFinal.emit();\n\tif (zone._nesting === 0) {\n\t\tzone.onEmpty.emit();\n\t}\n}\n\nexport class ManualAuroraZone extends AbstractAuroraZone {\n\n\tconstructor(parent?: AuroraZone) {\n\t\tsuper();\n\t\tif (parent) {\n\t\t\tconst self = this as any as AuroraZonePrivate;\n\t\t\tself._nesting = 0;\n\t\t\tself._parent = parent as AuroraZonePrivate;\n\t\t}\n\t}\n\tfork(type?: ZoneType): AuroraZone {\n\t\tif (type === 'proxy') {\n\t\t\treturn new ProxyAuroraZone(this);\n\t\t} else if (type === 'aurora') {\n\t\t\treturn new AuroraZone(this);\n\t\t}\n\t\treturn new ManualAuroraZone(this);\n\t}\n\tprivate runCallback<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\ttry {\n\t\t\tbefore(this as any as AuroraZonePrivate);\n\t\t\treturn callback.apply(applyThis, applyArgs!);\n\t\t} catch (error) {\n\t\t\tthis.onCatch.emit();\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tafter(this as any as AuroraZonePrivate);\n\t\t}\n\t}\n\trun<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunTask<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined, name?: string | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunGuarded<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunOutsideAurora<T>(callback: (...args: any[]) => T): T {\n\t\treturn callback();\n\t}\n}\n\nexport class ProxyAuroraZone extends AbstractAuroraZone {\n\n\tprivate _cdPromise?: Promise<void>\n\n\tconstructor(parent?: AuroraZone) {\n\t\tsuper();\n\t\tif (parent) {\n\t\t\tconst self = this as any as AuroraZonePrivate;\n\t\t\tself._nesting = 0;\n\t\t\tself._parent = parent as AuroraZonePrivate;\n\t\t}\n\t}\n\tfork(type?: ZoneType): AuroraZone {\n\t\tif (type === 'manual') {\n\t\t\treturn new ManualAuroraZone(this);\n\t\t} else if (type === 'aurora') {\n\t\t\treturn new AuroraZone(this);\n\t\t}\n\t\treturn new ProxyAuroraZone(this);\n\t}\n\tprivate runCallback<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\ttry {\n\t\t\tbefore(this as any as AuroraZonePrivate);\n\t\t\treturn callback.apply(applyThis, applyArgs!);\n\t\t} catch (error) {\n\t\t\tthis.onCatch.emit();\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tafter(this as any as AuroraZonePrivate);\n\t\t}\n\t}\n\trun<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunTask<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined, name?: string | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunGuarded<T>(callback: (...args: any[]) => T, applyThis?: any, applyArgs?: any[] | undefined): T {\n\t\treturn this.runCallback(callback, applyThis, applyArgs);\n\t}\n\trunOutsideAurora<T>(callback: (...args: any[]) => T): T {\n\t\treturn callback();\n\t}\n\tscheduleChangesDetection() {\n\t\tthis._cdPromise ??= Promise\n\t\t\t.resolve()\n\t\t\t.then(() => {\n\t\t\t\tthis.runCallback(NOOP);\n\t\t\t\tthis._cdPromise = undefined;\n\t\t\t});\n\t}\n}\n"]}
|
package/providers/injector.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface Constructable<T = any> {
|
|
2
|
-
new (...params: any[]): T;
|
|
3
|
-
}
|
|
4
|
-
export declare class Injector {
|
|
5
|
-
private dependencyInjectionMap;
|
|
6
|
-
constructor();
|
|
7
|
-
getInstance<T>(contr: Constructable<T>): T;
|
|
8
|
-
private constructObject;
|
|
9
|
-
}
|
|
10
|
-
export declare const dependencyInjector: Injector;
|
package/providers/injector.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export class Injector {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.dependencyInjectionMap = new Map();
|
|
4
|
-
}
|
|
5
|
-
getInstance(contr) {
|
|
6
|
-
const instance = this.constructObject(contr);
|
|
7
|
-
return instance;
|
|
8
|
-
}
|
|
9
|
-
constructObject(constructor) {
|
|
10
|
-
let currentInstance = this.dependencyInjectionMap.get(constructor);
|
|
11
|
-
if (currentInstance)
|
|
12
|
-
return currentInstance;
|
|
13
|
-
const params = Reflect.getMetadata('design:paramtypes', constructor);
|
|
14
|
-
// We need to init each constructor function into it's instance
|
|
15
|
-
if (params) {
|
|
16
|
-
const argumentsInstances = params.map((paramter) => this.constructObject(paramter));
|
|
17
|
-
currentInstance = new constructor(...argumentsInstances);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
currentInstance = new constructor();
|
|
21
|
-
}
|
|
22
|
-
this.dependencyInjectionMap.set(constructor, currentInstance);
|
|
23
|
-
return currentInstance;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export const dependencyInjector = new Injector();
|
|
27
|
-
//# sourceMappingURL=injector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"injector.js","sourceRoot":"","sources":["../../../src/core/providers/injector.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,QAAQ;IAIpB;QAFQ,2BAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;IAE3B,CAAC;IAEjB,WAAW,CAAI,KAAuB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,WAA0B;QACjD,IAAI,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAE5C,MAAM,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QACvD,+DAA+D;QAC/D,IAAI,MAAM,EAAE;YACX,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAClD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAC9B,CAAC;YACF,eAAe,GAAG,IAAI,WAAW,CAAC,GAAG,kBAAkB,CAAC,CAAC;SACzD;aAAM;YACN,eAAe,GAAG,IAAI,WAAW,EAAE,CAAC;SACpC;QACD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC9D,OAAO,eAAe,CAAC;IACxB,CAAC;CACD;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAa,IAAI,QAAQ,EAAE,CAAC","sourcesContent":["\nexport interface Constructable<T = any> {\n\tnew(...params: any[]): T;\n}\n\nexport class Injector {\n\n\tprivate dependencyInjectionMap = new Map();\n\n\tconstructor() { }\n\n\tgetInstance<T>(contr: Constructable<T>): T {\n\t\tconst instance = this.constructObject(contr);\n\t\treturn instance;\n\t}\n\n\tprivate constructObject(constructor: Constructable) {\n\t\tlet currentInstance = this.dependencyInjectionMap.get(constructor);\n\t\tif (currentInstance) return currentInstance;\n\n\t\tconst params: Constructable[] =\n\t\t\tReflect.getMetadata('design:paramtypes', constructor);\n\t\t// We need to init each constructor function into it's instance\n\t\tif (params) {\n\t\t\tconst argumentsInstances = params.map((paramter) =>\n\t\t\t\tthis.constructObject(paramter)\n\t\t\t);\n\t\t\tcurrentInstance = new constructor(...argumentsInstances);\n\t\t} else {\n\t\t\tcurrentInstance = new constructor();\n\t\t}\n\t\tthis.dependencyInjectionMap.set(constructor, currentInstance);\n\t\treturn currentInstance;\n\t}\n}\n\nexport const dependencyInjector: Injector = new Injector();\n"]}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { Stack } from '@ibyar/expressions';
|
|
2
|
-
import type { HostBindingRef } from '../component/reflect.js';
|
|
3
|
-
import type { RenderHandler } from './render-handler.js';
|
|
4
|
-
import type { AuroraZone } from '../zone/zone.js';
|
|
5
|
-
/**
|
|
6
|
-
* ```ts
|
|
7
|
-
* @Component({selector: 'tag-name'})
|
|
8
|
-
* class ComponentModelOrAttributeDirectiveModel {
|
|
9
|
-
*
|
|
10
|
-
* name = 'abcd';
|
|
11
|
-
*
|
|
12
|
-
* @HostBinding(‘class.span’)
|
|
13
|
-
* span: boolean = true;
|
|
14
|
-
*
|
|
15
|
-
* @HostListener('click')
|
|
16
|
-
* onClick() {
|
|
17
|
-
* this.span = !this.span;
|
|
18
|
-
* }
|
|
19
|
-
*
|
|
20
|
-
* @HostBinding('class.valid')
|
|
21
|
-
* get valid(){
|
|
22
|
-
* return this.name?.startsWith('abc');
|
|
23
|
-
* }
|
|
24
|
-
*
|
|
25
|
-
* }
|
|
26
|
-
*
|
|
27
|
-
* // js: one way binding
|
|
28
|
-
* this.class.span =: span;
|
|
29
|
-
* this.class.valid =: valid;
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* ```
|
|
33
|
-
*
|
|
34
|
-
*/
|
|
35
|
-
export declare class HostBindingHandler implements RenderHandler {
|
|
36
|
-
private hostBindingRef;
|
|
37
|
-
private contextStack;
|
|
38
|
-
private zone;
|
|
39
|
-
private assignment;
|
|
40
|
-
private subscription?;
|
|
41
|
-
constructor(hostBindingRef: HostBindingRef, contextStack: Stack, zone: AuroraZone);
|
|
42
|
-
onInit(): void;
|
|
43
|
-
onConnect(): void;
|
|
44
|
-
onDisconnect(): void;
|
|
45
|
-
onDestroy(): void;
|
|
46
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { JavaScriptParser } from '@ibyar/expressions';
|
|
2
|
-
/**
|
|
3
|
-
* ```ts
|
|
4
|
-
* @Component({selector: 'tag-name'})
|
|
5
|
-
* class ComponentModelOrAttributeDirectiveModel {
|
|
6
|
-
*
|
|
7
|
-
* name = 'abcd';
|
|
8
|
-
*
|
|
9
|
-
* @HostBinding(‘class.span’)
|
|
10
|
-
* span: boolean = true;
|
|
11
|
-
*
|
|
12
|
-
* @HostListener('click')
|
|
13
|
-
* onClick() {
|
|
14
|
-
* this.span = !this.span;
|
|
15
|
-
* }
|
|
16
|
-
*
|
|
17
|
-
* @HostBinding('class.valid')
|
|
18
|
-
* get valid(){
|
|
19
|
-
* return this.name?.startsWith('abc');
|
|
20
|
-
* }
|
|
21
|
-
*
|
|
22
|
-
* }
|
|
23
|
-
*
|
|
24
|
-
* // js: one way binding
|
|
25
|
-
* this.class.span =: span;
|
|
26
|
-
* this.class.valid =: valid;
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* ```
|
|
30
|
-
*
|
|
31
|
-
*/
|
|
32
|
-
export class HostBindingHandler {
|
|
33
|
-
constructor(hostBindingRef, contextStack, zone) {
|
|
34
|
-
this.hostBindingRef = hostBindingRef;
|
|
35
|
-
this.contextStack = contextStack;
|
|
36
|
-
this.zone = zone;
|
|
37
|
-
}
|
|
38
|
-
onInit() {
|
|
39
|
-
const binding = `this.${this.hostBindingRef.hostPropertyName} = ${this.hostBindingRef.modelPropertyName}`;
|
|
40
|
-
this.assignment = JavaScriptParser.parseScript(binding);
|
|
41
|
-
this.subscription = this.zone.onFinal.subscribe(() => this.assignment.get(this.contextStack), console.error);
|
|
42
|
-
}
|
|
43
|
-
onConnect() {
|
|
44
|
-
if (this.subscription) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
this.onInit();
|
|
48
|
-
}
|
|
49
|
-
onDisconnect() {
|
|
50
|
-
if (!this.subscription) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
this.onDestroy();
|
|
54
|
-
}
|
|
55
|
-
onDestroy() {
|
|
56
|
-
this.subscription?.unsubscribe();
|
|
57
|
-
delete this.subscription;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=host-binding.handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host-binding.handler.js","sourceRoot":"","sources":["../../../src/core/render/host-binding.handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,kBAAkB;IAK9B,YAAoB,cAA8B,EAAU,YAAmB,EAAU,IAAgB;QAArF,mBAAc,GAAd,cAAc,CAAgB;QAAU,iBAAY,GAAZ,YAAY,CAAO;QAAU,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;IAE9G,MAAM;QACL,MAAM,OAAO,GAAG,QAAQ,IAAI,CAAC,cAAc,CAAC,gBAAgB,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAC1G,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAuB,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9G,CAAC;IAED,SAAS;QACR,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO;SACP;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,YAAY;QACX,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,OAAO;SACP;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,SAAS;QACR,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;CAED","sourcesContent":["import type { AssignmentExpression, Stack } from '@ibyar/expressions';\nimport type { HostBindingRef } from '../component/reflect.js';\nimport type { RenderHandler } from './render-handler.js';\nimport type { AuroraZone } from '../zone/zone.js';\nimport type { Subscription } from '../component/events.js';\nimport { JavaScriptParser } from '@ibyar/expressions';\n\n/**\n * ```ts\n * @Component({selector: 'tag-name'})\n * class ComponentModelOrAttributeDirectiveModel {\n * \n * name = 'abcd';\n * \n * @HostBinding(‘class.span’)\n * span: boolean = true;\n * \n * @HostListener('click')\n * onClick() {\n * this.span = !this.span;\n * }\n * \n * @HostBinding('class.valid')\n * get valid(){\n * return this.name?.startsWith('abc');\n * }\n * \n * }\n * \n * // js: one way binding\n * this.class.span =: span;\n * this.class.valid =: valid;\n * \n * \n * ```\n * \n */\nexport class HostBindingHandler implements RenderHandler {\n\tprivate assignment: AssignmentExpression;\n\tprivate subscription?: Subscription<any>;\n\n\n\tconstructor(private hostBindingRef: HostBindingRef, private contextStack: Stack, private zone: AuroraZone) { }\n\n\tonInit(): void {\n\t\tconst binding = `this.${this.hostBindingRef.hostPropertyName} = ${this.hostBindingRef.modelPropertyName}`;\n\t\tthis.assignment = JavaScriptParser.parseScript<AssignmentExpression>(binding);\n\t\tthis.subscription = this.zone.onFinal.subscribe(() => this.assignment.get(this.contextStack), console.error);\n\t}\n\n\tonConnect() {\n\t\tif (this.subscription) {\n\t\t\treturn;\n\t\t}\n\t\tthis.onInit();\n\t}\n\n\tonDisconnect() {\n\t\tif (!this.subscription) {\n\t\t\treturn;\n\t\t}\n\t\tthis.onDestroy();\n\t}\n\n\tonDestroy(): void {\n\t\tthis.subscription?.unsubscribe();\n\t\tdelete this.subscription;\n\t}\n\n}\n"]}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { ReactiveScope } from '@ibyar/expressions';
|
|
2
|
-
import type { ListenerRef } from '../component/reflect.js';
|
|
3
|
-
import type { RenderHandler } from './render-handler.js';
|
|
4
|
-
import type { AuroraZone } from '../zone/zone.js';
|
|
5
|
-
type ElementScope = {
|
|
6
|
-
[templateName: string]: HTMLElement;
|
|
7
|
-
};
|
|
8
|
-
export type HostListenerOptions<T = any> = {
|
|
9
|
-
host: HTMLElement;
|
|
10
|
-
model: T;
|
|
11
|
-
zone: AuroraZone;
|
|
12
|
-
templateScope: ReactiveScope<ElementScope>;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* ```ts
|
|
16
|
-
* @Component({selector: 'tag-name'})
|
|
17
|
-
* class ComponentModelOrAttributeDirectiveModel {
|
|
18
|
-
*
|
|
19
|
-
* @HostListener('window:load', ['$event.target', '"load"'])
|
|
20
|
-
* @HostListener('click', ['$event.target', '"click"'])
|
|
21
|
-
* public onClick(target: any, type: string){
|
|
22
|
-
* console.log(target, type);
|
|
23
|
-
* }
|
|
24
|
-
*
|
|
25
|
-
* }
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* window.addEventListener('load', $event => listener($event.target, 'load'));
|
|
29
|
-
*
|
|
30
|
-
* view.addEventListener('click', $event => listener($event.target, 'click'));
|
|
31
|
-
*
|
|
32
|
-
*/
|
|
33
|
-
export declare class HostListenerHandler implements RenderHandler {
|
|
34
|
-
private listenerRef;
|
|
35
|
-
private options;
|
|
36
|
-
private source;
|
|
37
|
-
private eventName;
|
|
38
|
-
private argumentsExpression;
|
|
39
|
-
private stack;
|
|
40
|
-
private scopeSubscription?;
|
|
41
|
-
private listener;
|
|
42
|
-
constructor(listenerRef: ListenerRef, options: HostListenerOptions);
|
|
43
|
-
onInit(): void;
|
|
44
|
-
private addEventListener;
|
|
45
|
-
private removeEventListener;
|
|
46
|
-
onConnect(): void;
|
|
47
|
-
onDisconnect(): void;
|
|
48
|
-
onDestroy(): void;
|
|
49
|
-
}
|
|
50
|
-
export {};
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { JavaScriptParser, Stack } from '@ibyar/expressions';
|
|
2
|
-
/**
|
|
3
|
-
* ```ts
|
|
4
|
-
* @Component({selector: 'tag-name'})
|
|
5
|
-
* class ComponentModelOrAttributeDirectiveModel {
|
|
6
|
-
*
|
|
7
|
-
* @HostListener('window:load', ['$event.target', '"load"'])
|
|
8
|
-
* @HostListener('click', ['$event.target', '"click"'])
|
|
9
|
-
* public onClick(target: any, type: string){
|
|
10
|
-
* console.log(target, type);
|
|
11
|
-
* }
|
|
12
|
-
*
|
|
13
|
-
* }
|
|
14
|
-
* ```
|
|
15
|
-
*
|
|
16
|
-
* window.addEventListener('load', $event => listener($event.target, 'load'));
|
|
17
|
-
*
|
|
18
|
-
* view.addEventListener('click', $event => listener($event.target, 'click'));
|
|
19
|
-
*
|
|
20
|
-
*/
|
|
21
|
-
export class HostListenerHandler {
|
|
22
|
-
constructor(listenerRef, options) {
|
|
23
|
-
this.listenerRef = listenerRef;
|
|
24
|
-
this.options = options;
|
|
25
|
-
this.listener = (event) => {
|
|
26
|
-
const callback = this.options.model[this.listenerRef.modelCallbackName];
|
|
27
|
-
if (typeof callback !== 'function') {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const eventScope = this.stack.pushBlockScopeFor({ $event: event });
|
|
31
|
-
const params = this.argumentsExpression.get(this.stack);
|
|
32
|
-
this.stack.clearTo(eventScope);
|
|
33
|
-
this.options.zone.run(callback, this.options.model, params);
|
|
34
|
-
typeof event.preventDefault === 'function' && event.preventDefault();
|
|
35
|
-
};
|
|
36
|
-
this.stack = new Stack(this.options.templateScope);
|
|
37
|
-
}
|
|
38
|
-
onInit() {
|
|
39
|
-
const args = this.listenerRef.args ?? [];
|
|
40
|
-
const array = `[${args.join(', ')}]`;
|
|
41
|
-
this.argumentsExpression = JavaScriptParser.parseScript(array);
|
|
42
|
-
if (this.listenerRef.eventName.includes(':')) {
|
|
43
|
-
const [eventSource, eventName] = this.listenerRef.eventName.split(':', 2);
|
|
44
|
-
this.eventName = eventName;
|
|
45
|
-
if ('window' === eventSource.toLowerCase()) {
|
|
46
|
-
this.source = window;
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
let source = this.options.templateScope.get(eventSource);
|
|
50
|
-
this.scopeSubscription = this.options.templateScope.subscribe(eventSource, (newValue) => {
|
|
51
|
-
if (source !== newValue) {
|
|
52
|
-
if (source) {
|
|
53
|
-
this.removeEventListener();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else if (!newValue) {
|
|
57
|
-
this.removeEventListener();
|
|
58
|
-
}
|
|
59
|
-
source = newValue;
|
|
60
|
-
this.addEventListener();
|
|
61
|
-
});
|
|
62
|
-
this.source = source;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
this.eventName = this.listenerRef.eventName;
|
|
67
|
-
this.source = this.options.host;
|
|
68
|
-
}
|
|
69
|
-
this.addEventListener();
|
|
70
|
-
}
|
|
71
|
-
addEventListener() {
|
|
72
|
-
this.source?.addEventListener(this.eventName, this.listener);
|
|
73
|
-
}
|
|
74
|
-
removeEventListener() {
|
|
75
|
-
this.source?.removeEventListener(this.eventName, this.listener);
|
|
76
|
-
}
|
|
77
|
-
onConnect() {
|
|
78
|
-
this.scopeSubscription?.resume();
|
|
79
|
-
}
|
|
80
|
-
onDisconnect() {
|
|
81
|
-
this.scopeSubscription?.pause();
|
|
82
|
-
}
|
|
83
|
-
onDestroy() {
|
|
84
|
-
this.scopeSubscription?.unsubscribe();
|
|
85
|
-
this.removeEventListener();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=host-listener.handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host-listener.handler.js","sourceRoot":"","sources":["../../../src/core/render/host-listener.handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { ArrayExpression, JavaScriptParser, ReactiveScope, ScopeSubscription, Stack } from '@ibyar/expressions';\nimport type { ListenerRef } from '../component/reflect.js';\nimport type { RenderHandler } from './render-handler.js';\nimport type { AuroraZone } from '../zone/zone.js';\n\ntype ElementScope = { [templateName: string]: HTMLElement };\nexport type HostListenerOptions<T = any> = { host: HTMLElement, model: T, zone: AuroraZone, templateScope: ReactiveScope<ElementScope> };\n\n/**\n * ```ts\n * @Component({selector: 'tag-name'})\n * class ComponentModelOrAttributeDirectiveModel {\n * \n *\t@HostListener('window:load', ['$event.target', '\"load\"'])\n * \t@HostListener('click', ['$event.target', '\"click\"'])\n * \tpublic onClick(target: any, type: string){\n * \t\tconsole.log(target, type);\n * \t}\n * \n * }\n * ```\n * \n * window.addEventListener('load', $event => listener($event.target, 'load'));\n * \n * view.addEventListener('click', $event => listener($event.target, 'click'));\n * \n */\nexport class HostListenerHandler implements RenderHandler {\n\n\tprivate source: HTMLElement | Window;\n\tprivate eventName: string;\n\n\tprivate argumentsExpression: ArrayExpression;\n\tprivate stack: Stack;\n\n\tprivate scopeSubscription?: ScopeSubscription<ElementScope>;\n\n\n\tprivate listener = (event: Event) => {\n\t\tconst callback: Function | undefined = this.options.model[this.listenerRef.modelCallbackName];\n\t\tif (typeof callback !== 'function') {\n\t\t\treturn\n\t\t}\n\t\tconst eventScope = this.stack.pushBlockScopeFor({ $event: event });\n\t\tconst params = this.argumentsExpression.get(this.stack);\n\t\tthis.stack.clearTo(eventScope);\n\t\tthis.options.zone.run(\n\t\t\tcallback as () => void,\n\t\t\tthis.options.model,\n\t\t\tparams\n\t\t);\n\t\ttypeof event.preventDefault === 'function' && event.preventDefault();\n\t};\n\n\tconstructor(private listenerRef: ListenerRef, private options: HostListenerOptions) {\n\t\tthis.stack = new Stack(this.options.templateScope);\n\t}\n\tonInit(): void {\n\t\tconst args = this.listenerRef.args ?? [];\n\t\tconst array = `[${args.join(', ')}]`;\n\t\tthis.argumentsExpression = JavaScriptParser.parseScript(array) as ArrayExpression;\n\t\tif (this.listenerRef.eventName.includes(':')) {\n\t\t\tconst [eventSource, eventName] = this.listenerRef.eventName.split(':', 2);\n\t\t\tthis.eventName = eventName;\n\t\t\tif ('window' === eventSource.toLowerCase()) {\n\t\t\t\tthis.source = window;\n\t\t\t} else {\n\t\t\t\tlet source = this.options.templateScope.get(eventSource) as HTMLElement;\n\t\t\t\tthis.scopeSubscription = this.options.templateScope.subscribe(eventSource, (newValue: HTMLElement) => {\n\t\t\t\t\tif (source !== newValue) {\n\t\t\t\t\t\tif (source) {\n\t\t\t\t\t\t\tthis.removeEventListener();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (!newValue) {\n\t\t\t\t\t\tthis.removeEventListener();\n\t\t\t\t\t}\n\t\t\t\t\tsource = newValue;\n\t\t\t\t\tthis.addEventListener();\n\t\t\t\t});\n\t\t\t\tthis.source = source;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.eventName = this.listenerRef.eventName;\n\t\t\tthis.source = this.options.host;\n\t\t}\n\t\tthis.addEventListener();\n\t}\n\n\tprivate addEventListener() {\n\t\tthis.source?.addEventListener(this.eventName, this.listener);\n\t}\n\n\tprivate removeEventListener() {\n\t\tthis.source?.removeEventListener(this.eventName, this.listener);\n\t}\n\n\tonConnect() {\n\t\tthis.scopeSubscription?.resume();\n\t}\n\n\tonDisconnect() {\n\t\tthis.scopeSubscription?.pause();\n\t}\n\n\tonDestroy(): void {\n\t\tthis.scopeSubscription?.unsubscribe();\n\t\tthis.removeEventListener();\n\t}\n\n}\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { OnDestroy, OnInit } from '../component/lifecycle.js';
|
|
2
|
-
export interface RenderHandler extends Partial<OnInit>, Partial<OnDestroy> {
|
|
3
|
-
/**
|
|
4
|
-
* execute when element attached to parent from ui
|
|
5
|
-
*/
|
|
6
|
-
onConnect?(): void;
|
|
7
|
-
/**
|
|
8
|
-
* execute when element disconnected from ui
|
|
9
|
-
*/
|
|
10
|
-
onDisconnect?(): void;
|
|
11
|
-
}
|
package/render/render-handler.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-handler.js","sourceRoot":"","sources":["../../../src/core/render/render-handler.ts"],"names":[],"mappings":"","sourcesContent":["import { OnDestroy, OnInit } from '../component/lifecycle.js';\n\nexport interface RenderHandler extends Partial<OnInit>, Partial<OnDestroy> {\n\n\t/**\n\t * execute when element attached to parent from ui\n\t */\n\tonConnect?(): void;\n\n\t/**\n\t * execute when element disconnected from ui\n\t */\n\tonDisconnect?(): void;\n\n}\n"]}
|