@ibyar/core 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/annotation/decorators.js +23 -23
- package/annotation/decorators.js.map +1 -1
- package/annotation/options.d.ts +26 -1
- package/annotation/options.d.ts.map +1 -1
- package/annotation/options.js.map +1 -1
- package/binding/binding.expressions.d.ts +1 -1
- package/binding/binding.expressions.d.ts.map +1 -1
- package/binding/binding.expressions.js +30 -18
- package/binding/binding.expressions.js.map +1 -1
- package/component/component.d.ts +2 -0
- package/component/component.d.ts.map +1 -1
- package/component/component.js +5 -4
- package/component/component.js.map +1 -1
- package/component/custom-element.d.ts +2 -4
- package/component/custom-element.d.ts.map +1 -1
- package/component/custom-element.js.map +1 -1
- package/component/events.js.map +1 -1
- package/component/reflect.d.ts +2 -2
- package/component/reflect.d.ts.map +1 -1
- package/component/reflect.js +2 -1
- package/component/reflect.js.map +1 -1
- package/context/subscription.d.ts +1 -1
- package/context/subscription.d.ts.map +1 -1
- package/context/subscription.js +1 -1
- package/context/subscription.js.map +1 -1
- package/directive/parser.js.map +1 -1
- package/directive/providers.js.map +1 -1
- package/html/deserialize.js.map +1 -1
- package/html/expression.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/linker/template-ref.js.map +1 -1
- package/linker/view-container-ref.d.ts.map +1 -1
- package/linker/view-container-ref.js +2 -1
- package/linker/view-container-ref.js.map +1 -1
- package/linker/view-ref.js.map +1 -1
- package/package.json +8 -8
- package/pipe/pipe.js.map +1 -1
- package/providers/provider.d.ts +1 -1
- package/providers/provider.d.ts.map +1 -1
- package/providers/provider.js +9 -8
- package/providers/provider.js.map +1 -1
- package/scope/scope.d.ts +29 -0
- package/scope/scope.d.ts.map +1 -0
- package/scope/scope.js +82 -0
- package/scope/scope.js.map +1 -0
- package/scope/signals.d.ts +15 -0
- package/scope/signals.d.ts.map +1 -0
- package/scope/signals.js +49 -0
- package/scope/signals.js.map +1 -0
- package/scope/stream.d.ts +1 -0
- package/scope/stream.d.ts.map +1 -0
- package/scope/stream.js +8 -0
- package/scope/stream.js.map +1 -0
- 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/scope/web-scope.d.ts +4 -0
- package/scope/web-scope.d.ts.map +1 -0
- package/scope/web-scope.js +2 -0
- package/scope/web-scope.js.map +1 -0
- package/signals/signals.d.ts +14 -0
- package/signals/signals.d.ts.map +1 -0
- package/signals/signals.js +56 -0
- package/signals/signals.js.map +1 -0
- package/utils/elements-util.js.map +1 -1
- package/utils/path.js.map +1 -1
- package/view/base-view.d.ts.map +1 -1
- package/view/base-view.js +18 -15
- package/view/base-view.js.map +1 -1
- package/view/form-view.js.map +1 -1
- package/view/mutation.js +1 -2
- package/view/mutation.js.map +1 -1
- package/view/render.d.ts +2 -0
- package/view/render.d.ts.map +1 -1
- package/view/render.js +35 -13
- package/view/render.js.map +1 -1
- package/view/utils.js.map +1 -1
- package/view/view.d.ts.map +1 -1
- package/view/view.js +19 -8
- package/view/view.js.map +1 -1
- package/zone/bootstrap.js.map +1 -1
- package/zone/proxy.js.map +1 -1
- package/zone/task.js.map +1 -1
- package/zone/zone.js.map +1 -1
- package/annotation/context.d.ts +0 -41
- package/annotation/context.d.ts.map +0 -1
- package/annotation/context.js +0 -79
- package/annotation/context.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/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/annotation/context.d.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import type { Class } from '../utils/typeof.js';
|
|
2
|
-
export interface MetadataContext extends Record<PropertyKey, any> {
|
|
3
|
-
}
|
|
4
|
-
declare global {
|
|
5
|
-
interface SymbolConstructor {
|
|
6
|
-
/**
|
|
7
|
-
* metadata symbol
|
|
8
|
-
*/
|
|
9
|
-
readonly metadata: unique symbol;
|
|
10
|
-
}
|
|
11
|
-
interface ClassDecoratorContext<Class extends abstract new (...args: any) => any = abstract new (...args: any) => any> {
|
|
12
|
-
metadata: MetadataContext;
|
|
13
|
-
}
|
|
14
|
-
interface ClassMethodDecoratorContext {
|
|
15
|
-
metadata: MetadataContext;
|
|
16
|
-
}
|
|
17
|
-
interface ClassGetterDecoratorContext {
|
|
18
|
-
metadata: MetadataContext;
|
|
19
|
-
}
|
|
20
|
-
interface ClassFieldDecoratorContext {
|
|
21
|
-
metadata: MetadataContext;
|
|
22
|
-
}
|
|
23
|
-
interface ClassSetterDecoratorContext {
|
|
24
|
-
metadata: MetadataContext;
|
|
25
|
-
}
|
|
26
|
-
interface ClassAccessorDecoratorContext {
|
|
27
|
-
metadata: MetadataContext;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
export declare class MetadataContext {
|
|
31
|
-
static create(): MetadataContext;
|
|
32
|
-
static inherits(context: MetadataContext): MetadataContext;
|
|
33
|
-
static assign(previous: MetadataContext, next: MetadataContext): MetadataContext;
|
|
34
|
-
static merge(previous: MetadataContext, next: MetadataContext): MetadataContext;
|
|
35
|
-
}
|
|
36
|
-
export declare function getCurrentMetadata(): MetadataContext;
|
|
37
|
-
export declare function updateCurrentMetadata(context?: MetadataContext): void;
|
|
38
|
-
export declare function makeClassDecoratorContext<V, T extends Class = Class>(decorator?: (opt: V, constructor: T, context: ClassDecoratorContext<T>) => (T | void)): (props: V) => (constructor: T, context: ClassDecoratorContext<T>) => T;
|
|
39
|
-
export declare const Metadata: (props: void) => (constructor: Class, context: ClassDecoratorContext<Class>) => Class;
|
|
40
|
-
export declare function makeClassMemberDecoratorContext<This, Value, Context extends ClassMemberDecoratorContext = ClassMemberDecoratorContext>(decorator?: (value: Value | undefined, context: Context) => void): (value: Value, context: Context) => void;
|
|
41
|
-
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/annotation/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAiB,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;CAEhE;AAED,OAAO,CAAC,MAAM,CAAC;IAEd,UAAU,iBAAiB;QAC1B;;WAEG;QACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,MAAM,CAAC;KACjC;IAED,UAAU,qBAAqB,CAAC,KAAK,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG;QACpH,QAAQ,EAAE,eAAe,CAAC;KAC1B;IAED,UAAU,2BAA2B;QACpC,QAAQ,EAAE,eAAe,CAAC;KAC1B;IAED,UAAU,2BAA2B;QACpC,QAAQ,EAAE,eAAe,CAAC;KAC1B;IAED,UAAU,0BAA0B;QACnC,QAAQ,EAAE,eAAe,CAAC;KAC1B;IAED,UAAU,2BAA2B;QACpC,QAAQ,EAAE,eAAe,CAAC;KAC1B;IAED,UAAU,6BAA6B;QACtC,QAAQ,EAAE,eAAe,CAAC;KAC1B;CACD;AAMD,qBAAa,eAAe;IAE3B,MAAM,CAAC,MAAM,IAAI,eAAe;IAIhC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe;IAI1D,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,eAAe;IAIhF,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,eAAe;CAkB/E;AAID,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAErE;AAmBD,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,EACnE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,WACtE,CAAC,mBAEM,CAAC,WAAW,sBAAsB,CAAC,CAAC,OAS1D;AAED,eAAO,MAAM,QAAQ,uFAAoC,CAAC;AAE1D,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,WACxL,KAAK,WAAW,OAAO,UAItC"}
|
package/annotation/context.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
if (!Symbol.metadata) {
|
|
2
|
-
Reflect.set(Symbol, 'metadata', Symbol('metadata'));
|
|
3
|
-
}
|
|
4
|
-
export class MetadataContext {
|
|
5
|
-
static create() {
|
|
6
|
-
return new MetadataContext();
|
|
7
|
-
}
|
|
8
|
-
static inherits(context) {
|
|
9
|
-
return Object.assign(MetadataContext.create(), context);
|
|
10
|
-
}
|
|
11
|
-
static assign(previous, next) {
|
|
12
|
-
return Object.assign(previous, next);
|
|
13
|
-
}
|
|
14
|
-
static merge(previous, next) {
|
|
15
|
-
for (const key in next) {
|
|
16
|
-
const previousValue = previous[key];
|
|
17
|
-
const nextValue = next[key];
|
|
18
|
-
if (typeof previousValue === 'object' && typeof nextValue === 'object') {
|
|
19
|
-
if (Array.isArray(previousValue) && Array.isArray(nextValue)) {
|
|
20
|
-
previous[key] = previousValue.concat(nextValue)
|
|
21
|
-
.filter((value, index, array) => index === array.indexOf(value));
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
previous[key] = Object.assign(previousValue, nextValue);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
previous[key] = nextValue;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return previous;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
let currentContext = MetadataContext.create();
|
|
35
|
-
export function getCurrentMetadata() {
|
|
36
|
-
return currentContext;
|
|
37
|
-
}
|
|
38
|
-
export function updateCurrentMetadata(context) {
|
|
39
|
-
currentContext = context ?? MetadataContext.create();
|
|
40
|
-
}
|
|
41
|
-
function updateConstructorMetadata(constructor) {
|
|
42
|
-
const pConstr = constructor.prototype?.constructor?.[Symbol.metadata];
|
|
43
|
-
if (pConstr) {
|
|
44
|
-
if (!constructor.hasOwnProperty(Symbol.metadata)) {
|
|
45
|
-
constructor[Symbol.metadata] = MetadataContext.inherits(pConstr);
|
|
46
|
-
}
|
|
47
|
-
MetadataContext.merge(constructor[Symbol.metadata], getCurrentMetadata());
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
if (constructor[Symbol.metadata]) {
|
|
51
|
-
MetadataContext.merge(constructor[Symbol.metadata], getCurrentMetadata());
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
constructor[Symbol.metadata] = getCurrentMetadata();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return constructor[Symbol.metadata];
|
|
58
|
-
}
|
|
59
|
-
export function makeClassDecoratorContext(decorator) {
|
|
60
|
-
return (props) => {
|
|
61
|
-
updateCurrentMetadata();
|
|
62
|
-
return (constructor, context) => {
|
|
63
|
-
context.metadata = updateConstructorMetadata(constructor);
|
|
64
|
-
context.addInitializer(() => {
|
|
65
|
-
updateCurrentMetadata();
|
|
66
|
-
console.log(context.metadata, props);
|
|
67
|
-
});
|
|
68
|
-
return decorator?.(props, constructor, context) ?? constructor;
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
export const Metadata = makeClassDecoratorContext();
|
|
73
|
-
export function makeClassMemberDecoratorContext(decorator) {
|
|
74
|
-
return (value, context) => {
|
|
75
|
-
context.metadata = getCurrentMetadata();
|
|
76
|
-
decorator?.(value, context);
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/annotation/context.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Class, MetadataClass } from '../utils/typeof.js';\n\nexport interface MetadataContext extends Record<PropertyKey, any> {\n\n}\n\ndeclare global {\n\n\tinterface SymbolConstructor {\n\t\t/**\n\t\t * metadata symbol\n\t\t */\n\t\treadonly metadata: unique symbol;\n\t}\n\n\tinterface ClassDecoratorContext<Class extends abstract new (...args: any) => any = abstract new (...args: any) => any,> {\n\t\tmetadata: MetadataContext;\n\t}\n\n\tinterface ClassMethodDecoratorContext {\n\t\tmetadata: MetadataContext;\n\t}\n\n\tinterface ClassGetterDecoratorContext {\n\t\tmetadata: MetadataContext;\n\t}\n\n\tinterface ClassFieldDecoratorContext {\n\t\tmetadata: MetadataContext;\n\t}\n\n\tinterface ClassSetterDecoratorContext {\n\t\tmetadata: MetadataContext;\n\t}\n\n\tinterface ClassAccessorDecoratorContext {\n\t\tmetadata: MetadataContext;\n\t}\n}\n\nif (!Symbol.metadata) {\n\tReflect.set(Symbol, 'metadata', Symbol('metadata'));\n}\n\nexport class MetadataContext {\n\n\tstatic create(): MetadataContext {\n\t\treturn new MetadataContext();\n\t}\n\n\tstatic inherits(context: MetadataContext): MetadataContext {\n\t\treturn Object.assign(MetadataContext.create(), context);\n\t}\n\n\tstatic assign(previous: MetadataContext, next: MetadataContext): MetadataContext {\n\t\treturn Object.assign(previous, next);\n\t}\n\n\tstatic merge(previous: MetadataContext, next: MetadataContext): MetadataContext {\n\t\tfor (const key in next) {\n\t\t\tconst previousValue = previous[key];\n\t\t\tconst nextValue = next[key];\n\t\t\tif (typeof previousValue === 'object' && typeof nextValue === 'object') {\n\t\t\t\tif (Array.isArray(previousValue) && Array.isArray(nextValue)) {\n\t\t\t\t\tprevious[key] = previousValue.concat(nextValue)\n\t\t\t\t\t\t.filter((value, index, array) => index === array.indexOf(value));\n\t\t\t\t} else {\n\t\t\t\t\tprevious[key] = Object.assign(previousValue, nextValue);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tprevious[key] = nextValue;\n\t\t\t}\n\t\t}\n\t\treturn previous;\n\t}\n\n}\n\nlet currentContext: MetadataContext = MetadataContext.create();\n\nexport function getCurrentMetadata(): MetadataContext {\n\treturn currentContext;\n}\n\nexport function updateCurrentMetadata(context?: MetadataContext): void {\n\tcurrentContext = context ?? MetadataContext.create();\n}\n\nfunction updateConstructorMetadata(constructor: MetadataClass): MetadataContext {\n\tconst pConstr = constructor.prototype?.constructor?.[Symbol.metadata];\n\tif (pConstr) {\n\t\tif (!constructor.hasOwnProperty(Symbol.metadata)) {\n\t\t\tconstructor[Symbol.metadata] = MetadataContext.inherits(pConstr);\n\t\t}\n\t\tMetadataContext.merge(constructor[Symbol.metadata], getCurrentMetadata());\n\t} else {\n\t\tif (constructor[Symbol.metadata]) {\n\t\t\tMetadataContext.merge(constructor[Symbol.metadata], getCurrentMetadata());\n\t\t} else {\n\t\t\tconstructor[Symbol.metadata] = getCurrentMetadata();\n\t\t}\n\t}\n\treturn constructor[Symbol.metadata];\n}\n\nexport function makeClassDecoratorContext<V, T extends Class = Class>(\n\tdecorator?: (opt: V, constructor: T, context: ClassDecoratorContext<T>) => (T | void)) {\n\treturn (props: V) => {\n\t\tupdateCurrentMetadata();\n\t\treturn (constructor: T, context: ClassDecoratorContext<T>) => {\n\t\t\tcontext.metadata = updateConstructorMetadata(constructor as any as MetadataClass);\n\t\t\tcontext.addInitializer(() => {\n\t\t\t\tupdateCurrentMetadata();\n\t\t\t\tconsole.log(context.metadata, props);\n\t\t\t});\n\t\t\treturn decorator?.(props, constructor, context) ?? constructor;\n\t\t};\n\t};\n}\n\nexport const Metadata = makeClassDecoratorContext<void>();\n\nexport function makeClassMemberDecoratorContext<This, Value, Context extends ClassMemberDecoratorContext = ClassMemberDecoratorContext>(decorator?: (value: Value | undefined, context: Context) => void) {\n\treturn (value: Value, context: Context) => {\n\t\tcontext.metadata = getCurrentMetadata();\n\t\tdecorator?.(value, context);\n\t};\n}\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"]}
|