@spearwolf/shadow-objects 0.30.2 → 0.32.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/CHANGELOG.md +23 -1
- package/bundle.js +13 -13
- package/package.json +3 -3
- package/src/bundle.js +4 -4
- package/src/bundle.js.map +7 -1
- package/src/constants.js +53 -40
- package/src/constants.js.map +7 -1
- package/src/create-worker.bundle.js +6 -8
- package/src/create-worker.bundle.js.map +7 -1
- package/src/create-worker.js +5 -2
- package/src/create-worker.js.map +7 -1
- package/src/elements/ShaeElement.js +57 -54
- package/src/elements/ShaeElement.js.map +7 -1
- package/src/elements/ShaeEntElement.d.ts.map +1 -1
- package/src/elements/ShaeEntElement.js +320 -341
- package/src/elements/ShaeEntElement.js.map +7 -1
- package/src/elements/ShaePropElement.js +312 -320
- package/src/elements/ShaePropElement.js.map +7 -1
- package/src/elements/ShaeWorkerElement.js +234 -229
- package/src/elements/ShaeWorkerElement.js.map +7 -1
- package/src/elements/constants.js +37 -22
- package/src/elements/constants.js.map +7 -1
- package/src/elements/events.d.ts +1 -1
- package/src/elements/events.d.ts.map +1 -1
- package/src/elements/events.js +1 -2
- package/src/elements/events.js.map +7 -1
- package/src/elements.js +4 -4
- package/src/elements.js.map +7 -1
- package/src/in-the-dark/Entity.d.ts +1 -1
- package/src/in-the-dark/Entity.d.ts.map +1 -1
- package/src/in-the-dark/Entity.js +299 -293
- package/src/in-the-dark/Entity.js.map +7 -1
- package/src/in-the-dark/Kernel.d.ts.map +1 -1
- package/src/in-the-dark/Kernel.js +556 -533
- package/src/in-the-dark/Kernel.js.map +7 -1
- package/src/in-the-dark/Registry.d.ts.map +1 -1
- package/src/in-the-dark/Registry.js +101 -104
- package/src/in-the-dark/Registry.js.map +7 -1
- package/src/in-the-dark/ShadowObject.d.ts.map +1 -1
- package/src/in-the-dark/ShadowObject.js +21 -23
- package/src/in-the-dark/ShadowObject.js.map +7 -1
- package/src/in-the-dark/SignalsPath.d.ts.map +1 -1
- package/src/in-the-dark/SignalsPath.js +139 -123
- package/src/in-the-dark/SignalsPath.js.map +7 -1
- package/src/in-the-dark/events.js +11 -9
- package/src/in-the-dark/events.js.map +7 -1
- package/src/in-the-dark/importModule.js +31 -29
- package/src/in-the-dark/importModule.js.map +7 -1
- package/src/index.d.ts +2 -2
- package/src/index.d.ts.map +1 -1
- package/src/index.js +14 -14
- package/src/index.js.map +7 -1
- package/src/shadow-objects.js +6 -6
- package/src/shadow-objects.js.map +7 -1
- package/src/shadow-objects.worker.js +3 -3
- package/src/shadow-objects.worker.js.map +7 -1
- package/src/shae-ent.js +3 -3
- package/src/shae-ent.js.map +7 -1
- package/src/shae-prop.js +3 -3
- package/src/shae-prop.js.map +7 -1
- package/src/shae-worker.js +3 -3
- package/src/shae-worker.js.map +7 -1
- package/src/types.d.ts +3 -2
- package/src/types.d.ts.map +1 -1
- package/src/types.js +1 -2
- package/src/types.js.map +7 -1
- package/src/utils/ConsoleLogger.js +179 -185
- package/src/utils/ConsoleLogger.js.map +7 -1
- package/src/utils/FrameLoop.js +41 -40
- package/src/utils/FrameLoop.js.map +7 -1
- package/src/utils/array-utils.js +22 -24
- package/src/utils/array-utils.js.map +7 -1
- package/src/utils/attr-utils.js +15 -11
- package/src/utils/attr-utils.js.map +7 -1
- package/src/utils/constants.js +5 -2
- package/src/utils/constants.js.map +7 -1
- package/src/utils/generateUUID.d.ts.map +1 -1
- package/src/utils/generateUUID.js +269 -32
- package/src/utils/generateUUID.js.map +7 -1
- package/src/utils/props-utils.js +34 -43
- package/src/utils/props-utils.js.map +7 -1
- package/src/utils/toMaybe.js +5 -2
- package/src/utils/toMaybe.js.map +7 -1
- package/src/utils/toNamespace.js +6 -3
- package/src/utils/toNamespace.js.map +7 -1
- package/src/utils/toUrlString.js +9 -6
- package/src/utils/toUrlString.js.map +7 -1
- package/src/utils/waitForMessageOfType.js +30 -32
- package/src/utils/waitForMessageOfType.js.map +7 -1
- package/src/view/ComponentChanges.d.ts +1 -1
- package/src/view/ComponentChanges.d.ts.map +1 -1
- package/src/view/ComponentChanges.js +249 -251
- package/src/view/ComponentChanges.js.map +7 -1
- package/src/view/ComponentContext.d.ts.map +1 -1
- package/src/view/ComponentContext.js +303 -331
- package/src/view/ComponentContext.js.map +7 -1
- package/src/view/ComponentMemory.d.ts +1 -0
- package/src/view/ComponentMemory.d.ts.map +1 -1
- package/src/view/ComponentMemory.js +73 -76
- package/src/view/ComponentMemory.js.map +7 -1
- package/src/view/IShadowObjectEnvProxy.js +1 -2
- package/src/view/IShadowObjectEnvProxy.js.map +7 -1
- package/src/view/LocalShadowObjectEnv.d.ts.map +1 -1
- package/src/view/LocalShadowObjectEnv.js +57 -52
- package/src/view/LocalShadowObjectEnv.js.map +7 -1
- package/src/view/RemoteWorkerEnv.js +134 -123
- package/src/view/RemoteWorkerEnv.js.map +7 -1
- package/src/view/ShadowEnv.d.ts.map +1 -1
- package/src/view/ShadowEnv.js +232 -228
- package/src/view/ShadowEnv.js.map +7 -1
- package/src/view/ViewComponent.d.ts +9 -0
- package/src/view/ViewComponent.d.ts.map +1 -1
- package/src/view/ViewComponent.js +142 -130
- package/src/view/ViewComponent.js.map +7 -1
- package/src/view/cloneChangeTrail.js +13 -11
- package/src/view/cloneChangeTrail.js.map +7 -1
- package/src/worker/MessageRouter.d.ts.map +1 -1
- package/src/worker/MessageRouter.js +78 -67
- package/src/worker/MessageRouter.js.map +7 -1
- package/src/worker/WorkerRuntime.js +22 -21
- package/src/worker/WorkerRuntime.js.map +7 -1
- package/tsconfig.lib.tsbuildinfo +0 -1
|
@@ -1,133 +1,145 @@
|
|
|
1
|
-
import { emit, eventize } from
|
|
2
|
-
import { VoidToken } from
|
|
3
|
-
import { generateUUID } from
|
|
4
|
-
import { ComponentContext } from
|
|
1
|
+
import { emit, eventize } from "@spearwolf/eventize";
|
|
2
|
+
import { VoidToken } from "../constants.js";
|
|
3
|
+
import { generateUUID } from "../utils/generateUUID.js";
|
|
4
|
+
import { ComponentContext } from "./ComponentContext.js";
|
|
5
5
|
class ViewComponentError extends Error {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
constructor(message) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = "ViewComponentError";
|
|
9
|
+
}
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
11
|
+
class ViewComponent {
|
|
12
|
+
#uuid;
|
|
13
|
+
#token;
|
|
14
|
+
#context;
|
|
15
|
+
#parent;
|
|
16
|
+
#order = 0;
|
|
17
|
+
#autoDestructionOnParentRemoval;
|
|
18
|
+
get uuid() {
|
|
19
|
+
return this.#uuid;
|
|
20
|
+
}
|
|
21
|
+
get token() {
|
|
22
|
+
return this.#token;
|
|
23
|
+
}
|
|
24
|
+
set token(token) {
|
|
25
|
+
token ??= VoidToken;
|
|
26
|
+
if (token === this.#token) return;
|
|
27
|
+
this.#token = token;
|
|
28
|
+
this.#context?.changeToken(this, token);
|
|
29
|
+
}
|
|
30
|
+
get parent() {
|
|
31
|
+
return this.#parent;
|
|
32
|
+
}
|
|
33
|
+
set parent(parent) {
|
|
34
|
+
if (parent) {
|
|
35
|
+
if (parent.#context !== this.#context) {
|
|
36
|
+
throw new ViewComponentError("cannot set parent from different context");
|
|
37
|
+
}
|
|
38
|
+
parent.addChild(this);
|
|
39
|
+
} else {
|
|
40
|
+
this.removeFromParent();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
get context() {
|
|
44
|
+
return this.#context;
|
|
45
|
+
}
|
|
46
|
+
set context(context) {
|
|
47
|
+
if (this.#context != context) {
|
|
48
|
+
if (this.#context) {
|
|
49
|
+
this.destroy();
|
|
50
|
+
}
|
|
51
|
+
this.#context = context;
|
|
52
|
+
if (context) {
|
|
53
|
+
context.addComponent(this);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The order property sets the order to lay out a component in a children array of the parent component.
|
|
59
|
+
*
|
|
60
|
+
* Items in a children array are sorted by ascending order value and then by their insertion order.
|
|
61
|
+
*/
|
|
62
|
+
get order() {
|
|
63
|
+
return this.#order;
|
|
64
|
+
}
|
|
65
|
+
set order(order) {
|
|
66
|
+
const prevOrder = this.#order;
|
|
67
|
+
this.#order = order ?? 0;
|
|
68
|
+
if (prevOrder !== this.#order) {
|
|
69
|
+
this.#context.changeOrder(this);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Whether the corresponding entity should be destroyed when its parent entity is destroyed.
|
|
74
|
+
*
|
|
75
|
+
* Set via the constructor option of the same name; immutable after creation.
|
|
76
|
+
* Children that opt out (the default) are promoted to root entities when their
|
|
77
|
+
* parent is destroyed, so they remain reachable.
|
|
78
|
+
*/
|
|
79
|
+
get autoDestructionOnParentRemoval() {
|
|
80
|
+
return this.#autoDestructionOnParentRemoval;
|
|
81
|
+
}
|
|
82
|
+
constructor(token, options) {
|
|
83
|
+
eventize(this);
|
|
84
|
+
if (options instanceof ViewComponent) {
|
|
85
|
+
options = { parent: options };
|
|
86
|
+
}
|
|
87
|
+
this.#uuid = options?.uuid ?? generateUUID();
|
|
88
|
+
this.#token = token;
|
|
89
|
+
this.#order = options?.order ?? 0;
|
|
90
|
+
this.#parent = options?.parent;
|
|
91
|
+
this.#autoDestructionOnParentRemoval = options?.autoDestructionOnParentRemoval ?? false;
|
|
92
|
+
const ctx = options?.context ?? ComponentContext.get();
|
|
93
|
+
if (this.#parent && this.#parent.#context !== ctx) {
|
|
94
|
+
throw new ViewComponentError("cannot set parent from different context");
|
|
95
|
+
}
|
|
96
|
+
this.context = ctx;
|
|
97
|
+
}
|
|
98
|
+
isChildOf(parent) {
|
|
99
|
+
return this.#parent === parent;
|
|
100
|
+
}
|
|
101
|
+
removeFromParent() {
|
|
102
|
+
if (this.#parent) {
|
|
103
|
+
this.#context?.removeFromParent(this.uuid, this.#parent);
|
|
104
|
+
this.#parent = void 0;
|
|
105
|
+
} else {
|
|
106
|
+
this.#context?.moveToRoot(this.uuid);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
addChild(child) {
|
|
110
|
+
if (child.#context !== this.#context) {
|
|
111
|
+
throw new ViewComponentError("cannot add a child from another context");
|
|
112
|
+
}
|
|
113
|
+
if (!child.isChildOf(this)) {
|
|
114
|
+
child.removeFromParent();
|
|
115
|
+
child.#parent = this;
|
|
116
|
+
this.#context.addToChildren(this, child);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
setProperty(name, value, isEqual) {
|
|
120
|
+
this.#context.setProperty(this, name, value, isEqual);
|
|
121
|
+
}
|
|
122
|
+
removeProperty(name) {
|
|
123
|
+
this.#context.removeProperty(this, name);
|
|
124
|
+
}
|
|
125
|
+
dispatchShadowObjectsEvent(type, data, transferables) {
|
|
126
|
+
this.#context.dispatchShadowObjectsEvent(this, type, data, transferables);
|
|
127
|
+
}
|
|
128
|
+
dispatchEvent(type, data, traverseChildren) {
|
|
129
|
+
emit(this, type, data);
|
|
130
|
+
if (traverseChildren) {
|
|
131
|
+
for (const child of this.#context.getChildren(this)) {
|
|
132
|
+
child.dispatchEvent(type, data, traverseChildren);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
destroy() {
|
|
137
|
+
this.removeFromParent();
|
|
138
|
+
this.#context?.destroyComponent(this);
|
|
139
|
+
this.#context = void 0;
|
|
140
|
+
}
|
|
132
141
|
}
|
|
133
|
-
|
|
142
|
+
export {
|
|
143
|
+
ViewComponent
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=ViewComponent.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/view/ViewComponent.ts"],
|
|
4
|
+
"sourcesContent": ["import {emit, eventize} from '@spearwolf/eventize';\nimport {VoidToken} from '../constants.js';\nimport {generateUUID} from '../utils/generateUUID.js';\nimport {ComponentContext} from './ComponentContext.js';\n\nclass ViewComponentError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'ViewComponentError';\n }\n}\n\nexport class ViewComponent {\n readonly #uuid: string;\n\n #token: string;\n\n #context?: ComponentContext;\n\n #parent?: ViewComponent;\n #order = 0;\n readonly #autoDestructionOnParentRemoval: boolean;\n\n get uuid() {\n return this.#uuid;\n }\n\n get token() {\n return this.#token;\n }\n\n set token(token: string | undefined) {\n token ??= VoidToken;\n if (token === this.#token) return;\n this.#token = token;\n this.#context?.changeToken(this, token);\n }\n\n get parent(): ViewComponent | undefined {\n return this.#parent;\n }\n\n set parent(parent: ViewComponent | null | undefined) {\n if (parent) {\n if (parent.#context !== this.#context) {\n throw new ViewComponentError('cannot set parent from different context');\n }\n parent.addChild(this);\n } else {\n this.removeFromParent();\n }\n }\n\n get context(): ComponentContext | undefined {\n return this.#context;\n }\n\n set context(context: ComponentContext | null | undefined) {\n if (this.#context != context) {\n if (this.#context) {\n this.destroy();\n }\n this.#context = context;\n if (context) {\n context.addComponent(this);\n }\n }\n }\n\n /**\n * The order property sets the order to lay out a component in a children array of the parent component.\n *\n * Items in a children array are sorted by ascending order value and then by their insertion order.\n */\n get order(): number {\n return this.#order;\n }\n\n set order(order: number | null | undefined) {\n const prevOrder = this.#order;\n this.#order = order ?? 0;\n if (prevOrder !== this.#order) {\n this.#context.changeOrder(this);\n }\n }\n\n /**\n * Whether the corresponding entity should be destroyed when its parent entity is destroyed.\n *\n * Set via the constructor option of the same name; immutable after creation.\n * Children that opt out (the default) are promoted to root entities when their\n * parent is destroyed, so they remain reachable.\n */\n get autoDestructionOnParentRemoval(): boolean {\n return this.#autoDestructionOnParentRemoval;\n }\n\n constructor(\n token: string,\n options?: {\n parent?: ViewComponent;\n order?: number;\n context?: ComponentContext;\n uuid?: string;\n autoDestructionOnParentRemoval?: boolean;\n },\n ) {\n eventize(this);\n\n if (options instanceof ViewComponent) {\n options = {parent: options};\n }\n\n this.#uuid = options?.uuid ?? generateUUID();\n\n this.#token = token;\n this.#order = options?.order ?? 0;\n this.#parent = options?.parent;\n this.#autoDestructionOnParentRemoval = options?.autoDestructionOnParentRemoval ?? false;\n\n const ctx = options?.context ?? ComponentContext.get();\n\n if (this.#parent && this.#parent.#context !== ctx) {\n throw new ViewComponentError('cannot set parent from different context');\n }\n\n this.context = ctx;\n }\n\n isChildOf(parent: ViewComponent) {\n return this.#parent === parent;\n }\n\n removeFromParent() {\n if (this.#parent) {\n this.#context?.removeFromParent(this.uuid, this.#parent);\n this.#parent = undefined;\n } else {\n this.#context?.moveToRoot(this.uuid);\n }\n }\n\n addChild(child: ViewComponent) {\n if (child.#context !== this.#context) {\n throw new ViewComponentError('cannot add a child from another context');\n }\n if (!child.isChildOf(this)) {\n child.removeFromParent();\n child.#parent = this;\n this.#context.addToChildren(this, child);\n }\n }\n\n setProperty<T = unknown>(name: string, value: T, isEqual?: (a: T, b: T) => boolean) {\n this.#context.setProperty(this, name, value, isEqual);\n }\n\n removeProperty(name: string) {\n this.#context.removeProperty(this, name);\n }\n\n dispatchShadowObjectsEvent(type: string, data: unknown, transferables?: Transferable[]) {\n this.#context.dispatchShadowObjectsEvent(this, type, data, transferables);\n }\n\n dispatchEvent(type: string, data: unknown, traverseChildren: boolean) {\n emit(this as ViewComponent, type, data);\n\n if (traverseChildren) {\n for (const child of this.#context!.getChildren(this)) {\n child.dispatchEvent(type, data, traverseChildren);\n }\n }\n }\n\n destroy() {\n this.removeFromParent();\n this.#context?.destroyComponent(this);\n this.#context = undefined;\n }\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
});
|
|
1
|
+
function cloneChangeTrail(trails) {
|
|
2
|
+
return trails.map((trail) => {
|
|
3
|
+
if (trail.transferables && trail.transferables.length > 0) {
|
|
4
|
+
const { transferables, ...data } = trail;
|
|
5
|
+
return structuredClone(data, { transfer: transferables });
|
|
6
|
+
} else {
|
|
7
|
+
return structuredClone(trail);
|
|
8
|
+
}
|
|
9
|
+
});
|
|
11
10
|
}
|
|
12
|
-
|
|
11
|
+
export {
|
|
12
|
+
cloneChangeTrail
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=cloneChangeTrail.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/view/cloneChangeTrail.ts"],
|
|
4
|
+
"sourcesContent": ["import type {ChangeTrailType} from '../types.js';\n\nexport function cloneChangeTrail(trails: ChangeTrailType): ChangeTrailType {\n return trails.map((trail) => {\n if (trail.transferables && trail.transferables.length > 0) {\n const {transferables, ...data} = trail;\n return structuredClone(data, {transfer: transferables as any});\n } else {\n return structuredClone(trail);\n }\n });\n}"],
|
|
5
|
+
"mappings": "AAEO,SAAS,iBAAiB,QAA0C;AACzE,SAAO,OAAO,IAAI,CAAC,UAAU;AAC3B,QAAI,MAAM,iBAAiB,MAAM,cAAc,SAAS,GAAG;AACzD,YAAM,EAAC,eAAe,GAAG,KAAI,IAAI;AACjC,aAAO,gBAAgB,MAAM,EAAC,UAAU,cAAoB,CAAC;AAAA,IAC/D,OAAO;AACL,aAAO,gBAAgB,KAAK;AAAA,IAC9B;AAAA,EACF,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageRouter.d.ts","sourceRoot":"","sources":["../../../src/worker/MessageRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MessageRouter.d.ts","sourceRoot":"","sources":["../../../src/worker/MessageRouter.ts"],"names":[],"mappings":"AAYA,OAAO,EAAC,MAAM,EAAE,KAAK,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAQzE,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC;CACvC;AAED,qBAAa,aAAa;;IAGxB,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC;gBAEzB,OAAO,CAAC,EAAE,oBAAoB;IAQ1C,KAAK,CAAC,KAAK,EAAE,YAAY;IAmBzB,eAAe,CAAC,KAAK,EAAE,kBAAkB;CA6C1C"}
|
|
@@ -1,72 +1,83 @@
|
|
|
1
|
-
import { off, on } from
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { off, on } from "@spearwolf/eventize";
|
|
2
|
+
import {
|
|
3
|
+
AppliedChangeTrail,
|
|
4
|
+
ChangeTrail,
|
|
5
|
+
Configure,
|
|
6
|
+
Destroy,
|
|
7
|
+
Destroyed,
|
|
8
|
+
ImportedModule,
|
|
9
|
+
MessageToView,
|
|
10
|
+
ShadowObjectsExport
|
|
11
|
+
} from "../constants.js";
|
|
12
|
+
import { importModule } from "../in-the-dark/importModule.js";
|
|
13
|
+
import { Kernel } from "../in-the-dark/Kernel.js";
|
|
14
|
+
import { toUrlString } from "../utils/toUrlString.js";
|
|
15
|
+
class MessageRouter {
|
|
16
|
+
#importedModules = /* @__PURE__ */ new Set();
|
|
17
|
+
constructor(options) {
|
|
18
|
+
this.kernel = options?.kernel ?? new Kernel();
|
|
19
|
+
this.postMessage = options?.postMessage ?? self.postMessage.bind(self);
|
|
20
|
+
on(this.kernel, MessageToView, "onMessageToView", this);
|
|
21
|
+
}
|
|
22
|
+
route(event) {
|
|
23
|
+
switch (event.data.type) {
|
|
24
|
+
case Configure:
|
|
25
|
+
this.#configure(event.data);
|
|
26
|
+
break;
|
|
27
|
+
case ChangeTrail:
|
|
28
|
+
this.#onChangeTrail(event.data);
|
|
29
|
+
break;
|
|
30
|
+
case Destroy:
|
|
31
|
+
this.#onDestroy(event.data);
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
console.warn("[MessageRouter] unknown message", event.data.type ?? event.data);
|
|
12
35
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
36
|
+
}
|
|
37
|
+
onMessageToView(event) {
|
|
38
|
+
const { transferables: transfer, ...data } = event;
|
|
39
|
+
this.postMessage({ type: MessageToView, data }, { transfer });
|
|
40
|
+
}
|
|
41
|
+
async #configure(data) {
|
|
42
|
+
try {
|
|
43
|
+
const module = await import(
|
|
44
|
+
/* @vite-ignore */
|
|
45
|
+
toUrlString(data.importModule)
|
|
46
|
+
);
|
|
47
|
+
if (module[ShadowObjectsExport]) {
|
|
48
|
+
await importModule(this.kernel, module[ShadowObjectsExport], this.#importedModules);
|
|
49
|
+
this.postMessage({ type: ImportedModule, url: data.importModule });
|
|
50
|
+
} else {
|
|
51
|
+
this.postMessage({
|
|
52
|
+
type: ImportedModule,
|
|
53
|
+
url: data.importModule,
|
|
54
|
+
error: `module has no "${ShadowObjectsExport}" export`
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
} catch (error) {
|
|
58
|
+
console.error("[MessageRouter] failed to import module", error);
|
|
59
|
+
this.postMessage({ type: ImportedModule, url: data.importModule, error: `${error}` });
|
|
27
60
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
61
|
+
}
|
|
62
|
+
#onChangeTrail(data) {
|
|
63
|
+
try {
|
|
64
|
+
this.kernel.run(data);
|
|
65
|
+
} catch (error) {
|
|
66
|
+
console.error("[MessageRouter] failed to apply change trail", error);
|
|
67
|
+
this.postMessage({ type: AppliedChangeTrail, serial: data.serial, error: error.toString() });
|
|
31
68
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const module = await import(/* @vite-ignore */ toUrlString(data.importModule));
|
|
35
|
-
if (module[ShadowObjectsExport]) {
|
|
36
|
-
await importModule(this.kernel, module[ShadowObjectsExport], this.#importedModules);
|
|
37
|
-
this.postMessage({ type: ImportedModule, url: data.importModule });
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.postMessage({
|
|
41
|
-
type: ImportedModule,
|
|
42
|
-
url: data.importModule,
|
|
43
|
-
error: `module has no "${ShadowObjectsExport}" export`,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
console.error('[MessageRouter] failed to import module', error);
|
|
49
|
-
this.postMessage({ type: ImportedModule, url: data.importModule, error: `${error}` });
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
#onChangeTrail(data) {
|
|
53
|
-
// console.debug('[MessageRouter] parseChangeTrail', {data, kernel: this.kernel});
|
|
54
|
-
try {
|
|
55
|
-
this.kernel.run(data);
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
console.error('[MessageRouter] failed to apply change trail', error);
|
|
59
|
-
this.postMessage({ type: AppliedChangeTrail, serial: data.serial, error: error.toString() });
|
|
60
|
-
}
|
|
61
|
-
if (data.serial) {
|
|
62
|
-
this.postMessage({ type: AppliedChangeTrail, serial: data.serial });
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
#onDestroy(data) {
|
|
66
|
-
console.debug('[MessageRouter] on destroy', data);
|
|
67
|
-
off(this.kernel, this);
|
|
68
|
-
this.#importedModules.clear();
|
|
69
|
-
this.postMessage({ type: Destroyed });
|
|
69
|
+
if (data.serial) {
|
|
70
|
+
this.postMessage({ type: AppliedChangeTrail, serial: data.serial });
|
|
70
71
|
}
|
|
72
|
+
}
|
|
73
|
+
#onDestroy(data) {
|
|
74
|
+
console.debug("[MessageRouter] on destroy", data);
|
|
75
|
+
off(this.kernel, this);
|
|
76
|
+
this.#importedModules.clear();
|
|
77
|
+
this.postMessage({ type: Destroyed });
|
|
78
|
+
}
|
|
71
79
|
}
|
|
72
|
-
|
|
80
|
+
export {
|
|
81
|
+
MessageRouter
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=MessageRouter.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/worker/MessageRouter.ts"],
|
|
4
|
+
"sourcesContent": ["import {off, on} from '@spearwolf/eventize';\nimport {\n AppliedChangeTrail,\n ChangeTrail,\n Configure,\n Destroy,\n Destroyed,\n ImportedModule,\n MessageToView,\n ShadowObjectsExport,\n} from '../constants.js';\nimport {importModule} from '../in-the-dark/importModule.js';\nimport {Kernel, type MessageToViewEvent} from '../in-the-dark/Kernel.js';\nimport type {AppliedChangeTrailEvent, ImportedModuleEvent, ShadowObjectsModule, SyncEvent} from '../types.js';\nimport {toUrlString} from '../utils/toUrlString.js';\n\ninterface ConfigurePayloadData {\n importModule?: string;\n}\n\nexport interface MessageRouterOptions {\n kernel?: Kernel;\n postMessage?: typeof self.postMessage;\n}\n\nexport class MessageRouter {\n #importedModules: Set<ShadowObjectsModule> = new Set();\n\n kernel: Kernel;\n\n postMessage: typeof self.postMessage;\n\n constructor(options?: MessageRouterOptions) {\n this.kernel = options?.kernel ?? new Kernel();\n\n this.postMessage = options?.postMessage ?? self.postMessage.bind(self);\n\n on(this.kernel, MessageToView, 'onMessageToView', this);\n }\n\n route(event: MessageEvent) {\n switch (event.data.type) {\n case Configure:\n this.#configure(event.data);\n break;\n\n case ChangeTrail:\n this.#onChangeTrail(event.data);\n break;\n\n case Destroy:\n this.#onDestroy(event.data);\n break;\n\n default:\n console.warn('[MessageRouter] unknown message', event.data.type ?? event.data);\n }\n }\n\n onMessageToView(event: MessageToViewEvent) {\n const {transferables: transfer, ...data} = event;\n this.postMessage({type: MessageToView, data}, {transfer});\n }\n\n async #configure(data: ConfigurePayloadData) {\n try {\n const module = await import(/* @vite-ignore */ toUrlString(data.importModule));\n if (module[ShadowObjectsExport]) {\n await importModule(this.kernel, module[ShadowObjectsExport], this.#importedModules);\n this.postMessage({type: ImportedModule, url: data.importModule});\n } else {\n this.postMessage({\n type: ImportedModule,\n url: data.importModule,\n error: `module has no \"${ShadowObjectsExport}\" export`,\n } as ImportedModuleEvent);\n }\n } catch (error) {\n console.error('[MessageRouter] failed to import module', error);\n this.postMessage({type: ImportedModule, url: data.importModule, error: `${error}`} as ImportedModuleEvent);\n }\n }\n\n #onChangeTrail(data: SyncEvent) {\n // console.debug('[MessageRouter] parseChangeTrail', {data, kernel: this.kernel});\n\n try {\n this.kernel.run(data);\n } catch (error) {\n console.error('[MessageRouter] failed to apply change trail', error);\n this.postMessage({type: AppliedChangeTrail, serial: data.serial, error: error.toString()} as AppliedChangeTrailEvent);\n }\n\n if (data.serial) {\n this.postMessage({type: AppliedChangeTrail, serial: data.serial} as AppliedChangeTrailEvent);\n }\n }\n\n #onDestroy(data: any) {\n console.debug('[MessageRouter] on destroy', data);\n off(this.kernel, this);\n this.#importedModules.clear();\n this.postMessage({type: Destroyed});\n }\n}"],
|
|
5
|
+
"mappings": "AAAA,SAAQ,KAAK,UAAS;AACtB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAQ,oBAAmB;AAC3B,SAAQ,cAAsC;AAE9C,SAAQ,mBAAkB;AAWnB,MAAM,cAAc;AAAA,EACzB,mBAA6C,oBAAI,IAAI;AAAA,EAMrD,YAAY,SAAgC;AAC1C,SAAK,SAAS,SAAS,UAAU,IAAI,OAAO;AAE5C,SAAK,cAAc,SAAS,eAAe,KAAK,YAAY,KAAK,IAAI;AAErE,OAAG,KAAK,QAAQ,eAAe,mBAAmB,IAAI;AAAA,EACxD;AAAA,EAEA,MAAM,OAAqB;AACzB,YAAQ,MAAM,KAAK,MAAM;AAAA,MACvB,KAAK;AACH,aAAK,WAAW,MAAM,IAAI;AAC1B;AAAA,MAEF,KAAK;AACH,aAAK,eAAe,MAAM,IAAI;AAC9B;AAAA,MAEF,KAAK;AACH,aAAK,WAAW,MAAM,IAAI;AAC1B;AAAA,MAEF;AACE,gBAAQ,KAAK,mCAAmC,MAAM,KAAK,QAAQ,MAAM,IAAI;AAAA,IACjF;AAAA,EACF;AAAA,EAEA,gBAAgB,OAA2B;AACzC,UAAM,EAAC,eAAe,UAAU,GAAG,KAAI,IAAI;AAC3C,SAAK,YAAY,EAAC,MAAM,eAAe,KAAI,GAAG,EAAC,SAAQ,CAAC;AAAA,EAC1D;AAAA,EAEA,MAAM,WAAW,MAA4B;AAC3C,QAAI;AACF,YAAM,SAAS,MAAM;AAAA;AAAA,QAA0B,YAAY,KAAK,YAAY;AAAA;AAC5E,UAAI,OAAO,mBAAmB,GAAG;AAC/B,cAAM,aAAa,KAAK,QAAQ,OAAO,mBAAmB,GAAG,KAAK,gBAAgB;AAClF,aAAK,YAAY,EAAC,MAAM,gBAAgB,KAAK,KAAK,aAAY,CAAC;AAAA,MACjE,OAAO;AACL,aAAK,YAAY;AAAA,UACf,MAAM;AAAA,UACN,KAAK,KAAK;AAAA,UACV,OAAO,kBAAkB,mBAAmB;AAAA,QAC9C,CAAwB;AAAA,MAC1B;AAAA,IACF,SAAS,OAAO;AACd,cAAQ,MAAM,2CAA2C,KAAK;AAC9D,WAAK,YAAY,EAAC,MAAM,gBAAgB,KAAK,KAAK,cAAc,OAAO,GAAG,KAAK,GAAE,CAAwB;AAAA,IAC3G;AAAA,EACF;AAAA,EAEA,eAAe,MAAiB;AAG9B,QAAI;AACF,WAAK,OAAO,IAAI,IAAI;AAAA,IACtB,SAAS,OAAO;AACd,cAAQ,MAAM,gDAAgD,KAAK;AACnE,WAAK,YAAY,EAAC,MAAM,oBAAoB,QAAQ,KAAK,QAAQ,OAAO,MAAM,SAAS,EAAC,CAA4B;AAAA,IACtH;AAEA,QAAI,KAAK,QAAQ;AACf,WAAK,YAAY,EAAC,MAAM,oBAAoB,QAAQ,KAAK,OAAM,CAA4B;AAAA,IAC7F;AAAA,EACF;AAAA,EAEA,WAAW,MAAW;AACpB,YAAQ,MAAM,8BAA8B,IAAI;AAChD,QAAI,KAAK,QAAQ,IAAI;AACrB,SAAK,iBAAiB,MAAM;AAC5B,SAAK,YAAY,EAAC,MAAM,UAAS,CAAC;AAAA,EACpC;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import { Loaded } from
|
|
2
|
-
import { CONSOLE_LOGGER, CONSOLE_LOGGER_STORAGE } from
|
|
3
|
-
import { MessageRouter } from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
self.postMessage({ type: Loaded }); // inform the main thread that we are ready
|
|
20
|
-
}
|
|
1
|
+
import { Loaded } from "../constants.js";
|
|
2
|
+
import { CONSOLE_LOGGER, CONSOLE_LOGGER_STORAGE } from "../utils/ConsoleLogger.js";
|
|
3
|
+
import { MessageRouter } from "./MessageRouter.js";
|
|
4
|
+
class WorkerRuntime {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.onmessage = (event) => {
|
|
7
|
+
if (event.data.type === CONSOLE_LOGGER) {
|
|
8
|
+
globalThis[CONSOLE_LOGGER_STORAGE] = event.data.config;
|
|
9
|
+
} else {
|
|
10
|
+
this.router ??= new MessageRouter();
|
|
11
|
+
this.router.route(event);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
start() {
|
|
16
|
+
self.addEventListener("message", this.onmessage);
|
|
17
|
+
self.postMessage({ type: Loaded });
|
|
18
|
+
}
|
|
21
19
|
}
|
|
22
|
-
|
|
20
|
+
export {
|
|
21
|
+
WorkerRuntime
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=WorkerRuntime.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/worker/WorkerRuntime.ts"],
|
|
4
|
+
"sourcesContent": ["import {Loaded} from '../constants.js';\nimport {CONSOLE_LOGGER, CONSOLE_LOGGER_STORAGE} from '../utils/ConsoleLogger.js';\nimport {MessageRouter} from './MessageRouter.js';\n\nexport class WorkerRuntime {\n router?: MessageRouter;\n\n onmessage = (event: MessageEvent): void => {\n if (event.data.type === CONSOLE_LOGGER) {\n // @ts-ignore\n globalThis[CONSOLE_LOGGER_STORAGE] = event.data.config;\n } else {\n this.router ??= new MessageRouter();\n this.router.route(event);\n }\n };\n\n start() {\n self.addEventListener('message', this.onmessage);\n self.postMessage({type: Loaded}); // inform the main thread that we are ready\n }\n}"],
|
|
5
|
+
"mappings": "AAAA,SAAQ,cAAa;AACrB,SAAQ,gBAAgB,8BAA6B;AACrD,SAAQ,qBAAoB;AAErB,MAAM,cAAc;AAAA,EAApB;AAGL,qBAAY,CAAC,UAA8B;AACzC,UAAI,MAAM,KAAK,SAAS,gBAAgB;AAEtC,mBAAW,sBAAsB,IAAI,MAAM,KAAK;AAAA,MAClD,OAAO;AACL,aAAK,WAAW,IAAI,cAAc;AAClC,aAAK,OAAO,MAAM,KAAK;AAAA,MACzB;AAAA,IACF;AAAA;AAAA,EAEA,QAAQ;AACN,SAAK,iBAAiB,WAAW,KAAK,SAAS;AAC/C,SAAK,YAAY,EAAC,MAAM,OAAM,CAAC;AAAA,EACjC;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/tsconfig.lib.tsbuildinfo
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"root":["../src/bundle.ts","../src/constants.ts","../src/create-worker.bundle.ts","../src/create-worker.ts","../src/elements.ts","../src/index.ts","../src/shadow-objects.ts","../src/shadow-objects.worker.js","../src/shae-ent.ts","../src/shae-prop.ts","../src/shae-worker.ts","../src/types.ts","../src/elements/ShaeElement.ts","../src/elements/ShaeEntElement.ts","../src/elements/ShaePropElement.ts","../src/elements/ShaeWorkerElement.ts","../src/elements/constants.ts","../src/elements/events.ts","../src/in-the-dark/Entity.ts","../src/in-the-dark/Kernel.ts","../src/in-the-dark/Registry.ts","../src/in-the-dark/ShadowObject.ts","../src/in-the-dark/SignalsPath.ts","../src/in-the-dark/events.ts","../src/in-the-dark/importModule.ts","../src/utils/ConsoleLogger.ts","../src/utils/FrameLoop.ts","../src/utils/array-utils.ts","../src/utils/attr-utils.ts","../src/utils/constants.ts","../src/utils/generateUUID.ts","../src/utils/props-utils.ts","../src/utils/toMaybe.ts","../src/utils/toNamespace.ts","../src/utils/toUrlString.ts","../src/utils/waitForMessageOfType.ts","../src/view/ComponentChanges.ts","../src/view/ComponentContext.ts","../src/view/ComponentMemory.ts","../src/view/IShadowObjectEnvProxy.ts","../src/view/LocalShadowObjectEnv.ts","../src/view/RemoteWorkerEnv.ts","../src/view/ShadowEnv.ts","../src/view/ViewComponent.ts","../src/view/cloneChangeTrail.ts","../src/worker/MessageRouter.ts","../src/worker/WorkerRuntime.ts"],"version":"5.9.3"}
|