@drayman/core 3.0.0 → 3.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/dist/component-processor.js +357 -61
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -2
- package/dist/utils.d.ts +2 -1
- package/dist/utils.js +18 -6
- package/package.json +2 -3
|
@@ -23,8 +23,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
require('source-map-support').install();
|
|
26
|
-
const consola = require('consola');
|
|
27
|
-
consola.setReporters(new consola.FancyReporter());
|
|
28
26
|
const utils_1 = require("./utils");
|
|
29
27
|
const fs_1 = __importDefault(require("fs"));
|
|
30
28
|
const path_1 = __importDefault(require("path"));
|
|
@@ -37,14 +35,102 @@ const stream_1 = require("stream");
|
|
|
37
35
|
const sendMessage = ({ type, payload }) => {
|
|
38
36
|
subject.next({ type, payload });
|
|
39
37
|
};
|
|
38
|
+
const normalizeAndTruncateLogLine = (value, maxBytes) => {
|
|
39
|
+
const normalized = (value === null || value === undefined) ? '' : `${value}`;
|
|
40
|
+
const normalizedBytes = Buffer.byteLength(normalized, 'utf8');
|
|
41
|
+
if (normalizedBytes <= maxBytes) {
|
|
42
|
+
return { text: normalized, bytes: normalizedBytes, truncated: false };
|
|
43
|
+
}
|
|
44
|
+
let text = Buffer.from(normalized, 'utf8').subarray(0, maxBytes).toString('utf8');
|
|
45
|
+
while (Buffer.byteLength(text, 'utf8') > maxBytes) {
|
|
46
|
+
text = text.slice(0, -1);
|
|
47
|
+
}
|
|
48
|
+
const suffix = '...';
|
|
49
|
+
let truncatedText = text;
|
|
50
|
+
while (truncatedText && Buffer.byteLength(`${truncatedText}${suffix}`, 'utf8') > maxBytes) {
|
|
51
|
+
truncatedText = truncatedText.slice(0, -1);
|
|
52
|
+
}
|
|
53
|
+
truncatedText = truncatedText ? `${truncatedText}${suffix}` : suffix;
|
|
54
|
+
return { text: truncatedText, bytes: Buffer.byteLength(truncatedText, 'utf8'), truncated: true };
|
|
55
|
+
};
|
|
56
|
+
let consoleBatchingEnabled = false;
|
|
57
|
+
let consoleFlushIntervalMs = 1000;
|
|
58
|
+
let maxLogLineBytes = 16 * 1024;
|
|
59
|
+
let maxBatchBytesPerWindow = 64 * 1024;
|
|
60
|
+
let maxForwardedBytesPerInstance = 512 * 1024;
|
|
61
|
+
const batchedConsoleLines = [];
|
|
62
|
+
let batchedConsoleBytes = 0;
|
|
63
|
+
let forwardedBytes = 0;
|
|
64
|
+
let isConsoleMuted = false;
|
|
65
|
+
let droppedInWindow = 0;
|
|
66
|
+
let truncatedInWindow = 0;
|
|
67
|
+
let flushTimer = null;
|
|
68
|
+
const clearFlushTimer = () => {
|
|
69
|
+
if (flushTimer) {
|
|
70
|
+
clearInterval(flushTimer);
|
|
71
|
+
flushTimer = null;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const resetBatchWindow = () => {
|
|
75
|
+
batchedConsoleLines.length = 0;
|
|
76
|
+
batchedConsoleBytes = 0;
|
|
77
|
+
droppedInWindow = 0;
|
|
78
|
+
truncatedInWindow = 0;
|
|
79
|
+
};
|
|
80
|
+
const flushConsoleBatch = () => {
|
|
81
|
+
if (!consoleBatchingEnabled || isConsoleMuted) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (!batchedConsoleLines.length && !droppedInWindow && !truncatedInWindow) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
let payload = batchedConsoleLines.join('\n');
|
|
88
|
+
if (droppedInWindow || truncatedInWindow) {
|
|
89
|
+
const limitMessage = 'Console output exceeded the allowed rate. Some logs were omitted.';
|
|
90
|
+
payload = payload ? `${payload}\n${limitMessage}` : limitMessage;
|
|
91
|
+
}
|
|
92
|
+
const payloadBytes = Buffer.byteLength(payload, 'utf8');
|
|
93
|
+
if ((forwardedBytes + payloadBytes) > maxForwardedBytesPerInstance) {
|
|
94
|
+
isConsoleMuted = true;
|
|
95
|
+
resetBatchWindow();
|
|
96
|
+
sendMessage({
|
|
97
|
+
type: 'console',
|
|
98
|
+
payload: { text: 'Console output exceeded the allowed volume. Logging is disabled for this execution.' },
|
|
99
|
+
});
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
forwardedBytes += payloadBytes;
|
|
103
|
+
sendMessage({ type: 'console', payload: { text: payload } });
|
|
104
|
+
resetBatchWindow();
|
|
105
|
+
};
|
|
40
106
|
const portWritable = new stream_1.Writable({
|
|
41
107
|
write(chunk, encoding, callback) {
|
|
42
|
-
|
|
108
|
+
const text = chunk.toString();
|
|
109
|
+
if (!consoleBatchingEnabled) {
|
|
110
|
+
sendMessage({ type: 'console', payload: { text } });
|
|
111
|
+
callback();
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (isConsoleMuted) {
|
|
115
|
+
callback();
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const normalized = normalizeAndTruncateLogLine(text, maxLogLineBytes);
|
|
119
|
+
if (normalized.truncated) {
|
|
120
|
+
truncatedInWindow += 1;
|
|
121
|
+
}
|
|
122
|
+
const separatorBytes = batchedConsoleLines.length ? 1 : 0;
|
|
123
|
+
if ((batchedConsoleBytes + separatorBytes + normalized.bytes) > maxBatchBytesPerWindow) {
|
|
124
|
+
droppedInWindow += 1;
|
|
125
|
+
callback();
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
batchedConsoleLines.push(normalized.text);
|
|
129
|
+
batchedConsoleBytes += separatorBytes + normalized.bytes;
|
|
43
130
|
callback();
|
|
44
131
|
},
|
|
45
132
|
});
|
|
46
133
|
process.stdout.write = process.stderr.write = portWritable.write.bind(portWritable);
|
|
47
|
-
consola.wrapAll();
|
|
48
134
|
setInterval(() => {
|
|
49
135
|
sendMessage({
|
|
50
136
|
type: 'heartbeat',
|
|
@@ -81,9 +167,12 @@ const EventHub = new EventHubClass();
|
|
|
81
167
|
const ComponentInstance = {};
|
|
82
168
|
const activeRequests = new Map();
|
|
83
169
|
const renderedComps = {};
|
|
170
|
+
const forceUpdateInitiators = new Set();
|
|
171
|
+
const pendingChildUpdates = new Set();
|
|
84
172
|
let currentGeneration = 0;
|
|
85
173
|
let browserCallbacks = {};
|
|
86
174
|
let treeEvents = {};
|
|
175
|
+
let eventOwners = {};
|
|
87
176
|
let forceUpdate;
|
|
88
177
|
let prevProps = {};
|
|
89
178
|
let props = {};
|
|
@@ -91,39 +180,100 @@ let defaultProps = {};
|
|
|
91
180
|
let extensions = { importable: null };
|
|
92
181
|
let updateId = 0;
|
|
93
182
|
let sentView;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
183
|
+
let onInitRan = false;
|
|
184
|
+
const isAbortError = (err) => {
|
|
185
|
+
const msg = String(err?.message || err || '');
|
|
186
|
+
return /aborted/i.test(msg) || msg.includes('Exclusive request aborted');
|
|
187
|
+
};
|
|
188
|
+
const isInvalidParamsError = (err) => String(err?.message || err || '').includes('Invalid Params');
|
|
189
|
+
const createChildComponentInstance = (cacheKey) => ({
|
|
190
|
+
id: `${ComponentInstance.id}:${cacheKey}`,
|
|
191
|
+
parentId: ComponentInstance.id,
|
|
192
|
+
__draymanDestroyed: false,
|
|
193
|
+
});
|
|
194
|
+
const runChildOnInit = (entry) => {
|
|
195
|
+
if (!entry.childInitCalled && entry.childInstance?.onInit) {
|
|
196
|
+
entry.childInitCalled = true;
|
|
197
|
+
queueMicrotask(async () => {
|
|
198
|
+
if (entry.childDestroyed || entry.childInstance?.__draymanDestroyed) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
try {
|
|
202
|
+
await entry.childInstance.onInit();
|
|
203
|
+
}
|
|
204
|
+
catch (err) {
|
|
205
|
+
if (!isAbortError(err) && !isInvalidParamsError(err)) {
|
|
206
|
+
console.error(err);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
});
|
|
98
210
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
211
|
+
};
|
|
212
|
+
const runChildOnDestroy = async (entry) => {
|
|
213
|
+
if (entry.childDestroyed) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
entry.childDestroyed = true;
|
|
217
|
+
if (entry.childInstance) {
|
|
218
|
+
entry.childInstance.__draymanDestroyed = true;
|
|
219
|
+
}
|
|
220
|
+
if (entry.childInstance?.onDestroy) {
|
|
221
|
+
await entry.childInstance.onDestroy();
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
const guardEventsWithInstance = (node, instance) => {
|
|
225
|
+
if (!node)
|
|
226
|
+
return;
|
|
227
|
+
if (Array.isArray(node)) {
|
|
228
|
+
node.forEach(child => guardEventsWithInstance(child, instance));
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
if (typeof node !== 'object')
|
|
232
|
+
return;
|
|
233
|
+
const wrap = (fn) => {
|
|
234
|
+
if (typeof fn !== 'function')
|
|
235
|
+
return fn;
|
|
236
|
+
return async (...args) => {
|
|
237
|
+
if (instance?.__draymanDestroyed)
|
|
238
|
+
return;
|
|
239
|
+
try {
|
|
240
|
+
return await fn(...args);
|
|
241
|
+
}
|
|
242
|
+
catch (err) {
|
|
243
|
+
if (instance?.__draymanDestroyed || isAbortError(err) || isInvalidParamsError(err))
|
|
244
|
+
return;
|
|
245
|
+
throw err;
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
};
|
|
249
|
+
const props = node.props;
|
|
250
|
+
if (props && typeof props === 'object') {
|
|
251
|
+
for (const key of Object.keys(props)) {
|
|
252
|
+
if (utils_1.isEvent(key)) {
|
|
253
|
+
const val = props[key];
|
|
254
|
+
if (typeof val === 'function') {
|
|
255
|
+
props[key] = wrap(val);
|
|
111
256
|
}
|
|
112
|
-
else {
|
|
113
|
-
|
|
257
|
+
else if (Array.isArray(val) && typeof val[0] === 'function') {
|
|
258
|
+
props[key] = [wrap(val[0]), val[1]];
|
|
114
259
|
}
|
|
115
260
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
};
|
|
121
|
-
sendMessage({ type: 'browserCommand', payload: { data: newData, callbackId, command, elements } });
|
|
122
|
-
});
|
|
261
|
+
}
|
|
262
|
+
if (props.children) {
|
|
263
|
+
guardEventsWithInstance(props.children, instance);
|
|
264
|
+
}
|
|
123
265
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
266
|
+
};
|
|
267
|
+
const findRenderedEntryByEvent = (eventName) => {
|
|
268
|
+
const cacheKey = eventOwners[eventName];
|
|
269
|
+
if (!cacheKey)
|
|
270
|
+
return undefined;
|
|
271
|
+
return renderedComps[cacheKey];
|
|
272
|
+
};
|
|
273
|
+
const buildCommandProxy = (commands, type) => {
|
|
274
|
+
const proxy = {};
|
|
275
|
+
for (const command of commands) {
|
|
276
|
+
proxy[command] = async (data = {}, elements) => new Promise((resolve) => {
|
|
127
277
|
const newData = {};
|
|
128
278
|
for (const key of Object.keys(data || {})) {
|
|
129
279
|
if (typeof data[key] === 'function') {
|
|
@@ -143,9 +293,35 @@ const initializeComponentInstance = async ({ componentInstanceId, browserCommand
|
|
|
143
293
|
callback: (response) => resolve(response),
|
|
144
294
|
once: true,
|
|
145
295
|
};
|
|
146
|
-
|
|
296
|
+
const payload = { data: newData, callbackId, command };
|
|
297
|
+
if (type === 'browserCommand') {
|
|
298
|
+
payload.elements = elements;
|
|
299
|
+
}
|
|
300
|
+
sendMessage({ type, payload });
|
|
147
301
|
});
|
|
148
302
|
}
|
|
303
|
+
return proxy;
|
|
304
|
+
};
|
|
305
|
+
const initializeComponentInstance = async ({ componentInstanceId, browserCommands = [], serverCommands = [], extensionsPath, extensionsOptions, componentRootDir, componentName, componentOptions, componentNamePrefix = '', logging = null }) => {
|
|
306
|
+
onInitRan = false;
|
|
307
|
+
clearFlushTimer();
|
|
308
|
+
consoleBatchingEnabled = !!logging?.batching?.enabled || consoleBatchingEnabled;
|
|
309
|
+
consoleFlushIntervalMs = logging?.batching?.flushIntervalMs || consoleFlushIntervalMs;
|
|
310
|
+
maxLogLineBytes = logging?.batching?.maxLogLineBytes || maxLogLineBytes;
|
|
311
|
+
maxBatchBytesPerWindow = logging?.batching?.maxBatchBytesPerWindow || maxBatchBytesPerWindow;
|
|
312
|
+
maxForwardedBytesPerInstance = logging?.batching?.maxForwardedBytesPerInstance || maxForwardedBytesPerInstance;
|
|
313
|
+
resetBatchWindow();
|
|
314
|
+
forwardedBytes = 0;
|
|
315
|
+
isConsoleMuted = false;
|
|
316
|
+
if (consoleBatchingEnabled) {
|
|
317
|
+
flushTimer = setInterval(flushConsoleBatch, consoleFlushIntervalMs);
|
|
318
|
+
}
|
|
319
|
+
ComponentInstance.id = componentInstanceId;
|
|
320
|
+
if (extensionsPath) {
|
|
321
|
+
extensions = await require(path_1.default.join(process.cwd(), extensionsPath))(extensionsOptions);
|
|
322
|
+
}
|
|
323
|
+
const Browser = buildCommandProxy(browserCommands, 'browserCommand');
|
|
324
|
+
const Server = buildCommandProxy(serverCommands, 'serverCommand');
|
|
149
325
|
props = componentOptions || {};
|
|
150
326
|
for (const key of Object.keys(props)) {
|
|
151
327
|
if (utils_1.isEvent(key)) {
|
|
@@ -162,27 +338,45 @@ const initializeComponentInstance = async ({ componentInstanceId, browserCommand
|
|
|
162
338
|
.replace('.js', ''));
|
|
163
339
|
const Components = {};
|
|
164
340
|
componentNames.forEach(x => Components[x] = x);
|
|
165
|
-
const
|
|
166
|
-
if (!componentNames.includes(type)) {
|
|
167
|
-
return null;
|
|
168
|
-
}
|
|
341
|
+
const resolveRenderedEntry = async (type, key, initialProps) => {
|
|
169
342
|
const cacheKey = `${type}::${key}`;
|
|
170
343
|
let entry = renderedComps[cacheKey];
|
|
171
344
|
if (!entry) {
|
|
172
|
-
const ready = (async () => await createComponent(type,
|
|
345
|
+
const ready = (async () => await createComponent(type, initialProps, cacheKey))();
|
|
173
346
|
entry = renderedComps[cacheKey] = { ready, generation: currentGeneration };
|
|
174
|
-
entry.renderer = await ready;
|
|
175
347
|
}
|
|
176
|
-
|
|
177
|
-
|
|
348
|
+
if (!entry.renderer) {
|
|
349
|
+
const created = await entry.ready;
|
|
350
|
+
entry.renderer = created.renderer;
|
|
351
|
+
entry.childInstance = created.childInstance;
|
|
178
352
|
}
|
|
179
353
|
entry.generation = currentGeneration;
|
|
180
|
-
return
|
|
354
|
+
return entry;
|
|
355
|
+
};
|
|
356
|
+
const childRenderer = async (type, key, props, parentDirty = false) => {
|
|
357
|
+
if (!componentNames.includes(type)) {
|
|
358
|
+
return null;
|
|
359
|
+
}
|
|
360
|
+
const cacheKey = `${type}::${key}`;
|
|
361
|
+
const entry = await resolveRenderedEntry(type, key, props);
|
|
362
|
+
const iAmDirty = parentDirty || forceUpdateInitiators.has(cacheKey);
|
|
363
|
+
if (!iAmDirty && entry.cachedResult !== undefined) {
|
|
364
|
+
return { result: entry.cachedResult, isDirty: false, cacheKey };
|
|
365
|
+
}
|
|
366
|
+
const result = await entry.renderer(props);
|
|
367
|
+
runChildOnInit(entry);
|
|
368
|
+
entry.cachedResult = result;
|
|
369
|
+
return { result, isDirty: iAmDirty, cacheKey };
|
|
181
370
|
};
|
|
182
|
-
const createComponent = async (componentKey, initialProps) => {
|
|
371
|
+
const createComponent = async (componentKey, initialProps, cacheKey) => {
|
|
183
372
|
const props = { ...initialProps };
|
|
184
373
|
let defaultProps = {};
|
|
185
374
|
let child_componentResult;
|
|
375
|
+
const childComponentInstance = createChildComponentInstance(cacheKey);
|
|
376
|
+
const scopedForceUpdate = async () => {
|
|
377
|
+
pendingChildUpdates.add(cacheKey);
|
|
378
|
+
await forceUpdate(true);
|
|
379
|
+
};
|
|
186
380
|
try {
|
|
187
381
|
const imported = await Promise.resolve().then(() => __importStar(require(path_1.default.join(process.cwd(), componentRootDir, `${componentNamePrefix}${componentKey}.js`))));
|
|
188
382
|
defaultProps = imported.defaultProps || {};
|
|
@@ -192,24 +386,32 @@ const initializeComponentInstance = async ({ componentInstanceId, browserCommand
|
|
|
192
386
|
}
|
|
193
387
|
}
|
|
194
388
|
child_componentResult = await imported.component({
|
|
195
|
-
forceUpdate,
|
|
389
|
+
forceUpdate: scopedForceUpdate,
|
|
196
390
|
props,
|
|
197
391
|
EventHub,
|
|
198
392
|
Components,
|
|
199
393
|
Browser,
|
|
200
394
|
Server,
|
|
201
|
-
ComponentInstance,
|
|
395
|
+
ComponentInstance: childComponentInstance,
|
|
202
396
|
...extensions.importable,
|
|
203
397
|
});
|
|
398
|
+
if (childComponentInstance.__draymanDestroyed) {
|
|
399
|
+
return { renderer: async () => null, childInstance: childComponentInstance };
|
|
400
|
+
}
|
|
204
401
|
}
|
|
205
402
|
catch (err) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
403
|
+
if (childComponentInstance.__draymanDestroyed || isAbortError(err)) {
|
|
404
|
+
child_componentResult = async () => null;
|
|
405
|
+
}
|
|
406
|
+
else {
|
|
407
|
+
console.error(err);
|
|
408
|
+
child_componentResult = async () => {
|
|
409
|
+
return errorComp(`Child component "${componentKey}" failed to initialize!`, err.message);
|
|
410
|
+
};
|
|
411
|
+
}
|
|
210
412
|
}
|
|
211
413
|
let prevChildProps = { ...defaultProps };
|
|
212
|
-
|
|
414
|
+
const renderer = async (newProps) => {
|
|
213
415
|
updatePreservingRef(props, newProps);
|
|
214
416
|
let res;
|
|
215
417
|
try {
|
|
@@ -218,17 +420,36 @@ const initializeComponentInstance = async ({ componentInstanceId, browserCommand
|
|
|
218
420
|
props[key] = defaultProps[key];
|
|
219
421
|
}
|
|
220
422
|
}
|
|
423
|
+
if (childComponentInstance.__draymanDestroyed) {
|
|
424
|
+
return null;
|
|
425
|
+
}
|
|
221
426
|
res = await child_componentResult({ prevProps: prevChildProps });
|
|
427
|
+
guardEventsWithInstance(res, childComponentInstance);
|
|
222
428
|
}
|
|
223
429
|
catch (err) {
|
|
430
|
+
if (childComponentInstance.__draymanDestroyed || isAbortError(err)) {
|
|
431
|
+
return null;
|
|
432
|
+
}
|
|
224
433
|
console.error(err);
|
|
225
434
|
res = errorComp(`Child component "${componentKey}" failed to render!`, err.message);
|
|
226
435
|
}
|
|
227
436
|
prevChildProps = { ...props };
|
|
228
437
|
return res;
|
|
229
438
|
};
|
|
439
|
+
return { renderer, childInstance: childComponentInstance };
|
|
230
440
|
};
|
|
231
|
-
|
|
441
|
+
let cachedParentResult = null;
|
|
442
|
+
let scheduledRender = null;
|
|
443
|
+
let renderPromise = null;
|
|
444
|
+
let resolveRender = null;
|
|
445
|
+
let rootNeedsUpdate = false;
|
|
446
|
+
let inFlightRender = null;
|
|
447
|
+
const doForceUpdate = async () => {
|
|
448
|
+
const currentEventOwners = {};
|
|
449
|
+
for (const key of pendingChildUpdates) {
|
|
450
|
+
forceUpdateInitiators.add(key);
|
|
451
|
+
}
|
|
452
|
+
pendingChildUpdates.clear();
|
|
232
453
|
updateId++;
|
|
233
454
|
currentGeneration++;
|
|
234
455
|
let compResult;
|
|
@@ -239,29 +460,81 @@ const initializeComponentInstance = async ({ componentInstanceId, browserCommand
|
|
|
239
460
|
props[key] = defaultProps[key];
|
|
240
461
|
}
|
|
241
462
|
}
|
|
242
|
-
|
|
243
|
-
|
|
463
|
+
const isRootInitiated = rootNeedsUpdate || forceUpdateInitiators.size === 0;
|
|
464
|
+
rootNeedsUpdate = false;
|
|
465
|
+
if (isRootInitiated || !cachedParentResult) {
|
|
466
|
+
compResult = await componentResult({ prevProps });
|
|
467
|
+
cachedParentResult = compResult;
|
|
468
|
+
}
|
|
469
|
+
else {
|
|
470
|
+
compResult = cachedParentResult;
|
|
471
|
+
}
|
|
472
|
+
result = await utils_1.render(compResult, childRenderer, [], {}, '', isRootInitiated, '', currentEventOwners);
|
|
244
473
|
}
|
|
245
474
|
catch (err) {
|
|
246
475
|
console.error(err);
|
|
247
476
|
compResult = errorComp(`Component "${componentName}" failed to render!`, err.message);
|
|
248
|
-
result = await utils_1.render(compResult, childRenderer);
|
|
477
|
+
result = await utils_1.render(compResult, childRenderer, [], {}, '', true, '', currentEventOwners);
|
|
249
478
|
}
|
|
250
479
|
prevProps = { ...props };
|
|
251
480
|
for (const key of Object.keys(renderedComps)) {
|
|
252
481
|
if (renderedComps[key].generation !== currentGeneration) {
|
|
482
|
+
await runChildOnDestroy(renderedComps[key]);
|
|
253
483
|
delete renderedComps[key];
|
|
254
484
|
}
|
|
255
485
|
}
|
|
256
486
|
treeEvents = result.events;
|
|
487
|
+
eventOwners = result.eventOwners || currentEventOwners;
|
|
257
488
|
const newView = JSON.stringify(result.tree);
|
|
258
489
|
if (sentView !== newView) {
|
|
259
490
|
sentView = newView;
|
|
260
491
|
sendMessage({ type: 'view', payload: { view: result.tree, updateId } });
|
|
261
492
|
}
|
|
262
|
-
|
|
263
|
-
|
|
493
|
+
forceUpdateInitiators.clear();
|
|
494
|
+
};
|
|
495
|
+
const runSerializedRender = async () => {
|
|
496
|
+
if (inFlightRender) {
|
|
497
|
+
try {
|
|
498
|
+
await inFlightRender;
|
|
499
|
+
}
|
|
500
|
+
catch {
|
|
501
|
+
}
|
|
264
502
|
}
|
|
503
|
+
const currentRender = doForceUpdate();
|
|
504
|
+
inFlightRender = currentRender.finally(() => {
|
|
505
|
+
if (inFlightRender === currentRender) {
|
|
506
|
+
inFlightRender = null;
|
|
507
|
+
}
|
|
508
|
+
});
|
|
509
|
+
await inFlightRender;
|
|
510
|
+
};
|
|
511
|
+
forceUpdate = async (isChildUpdate = false) => {
|
|
512
|
+
if (!isChildUpdate) {
|
|
513
|
+
rootNeedsUpdate = true;
|
|
514
|
+
}
|
|
515
|
+
if (scheduledRender) {
|
|
516
|
+
clearTimeout(scheduledRender);
|
|
517
|
+
}
|
|
518
|
+
if (!renderPromise) {
|
|
519
|
+
renderPromise = new Promise(resolve => {
|
|
520
|
+
resolveRender = resolve;
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
const currentPromise = renderPromise;
|
|
524
|
+
scheduledRender = setTimeout(async () => {
|
|
525
|
+
scheduledRender = null;
|
|
526
|
+
try {
|
|
527
|
+
await runSerializedRender();
|
|
528
|
+
}
|
|
529
|
+
finally {
|
|
530
|
+
if (resolveRender) {
|
|
531
|
+
resolveRender();
|
|
532
|
+
resolveRender = null;
|
|
533
|
+
renderPromise = null;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
}, 50);
|
|
537
|
+
return currentPromise;
|
|
265
538
|
};
|
|
266
539
|
let componentResult;
|
|
267
540
|
try {
|
|
@@ -290,7 +563,11 @@ const initializeComponentInstance = async ({ componentInstanceId, browserCommand
|
|
|
290
563
|
return errorComp(`Component "${componentName}" failed to initialize!`, err.message);
|
|
291
564
|
};
|
|
292
565
|
}
|
|
293
|
-
await
|
|
566
|
+
await runSerializedRender();
|
|
567
|
+
if (!onInitRan && ComponentInstance.onInit) {
|
|
568
|
+
onInitRan = true;
|
|
569
|
+
await ComponentInstance.onInit();
|
|
570
|
+
}
|
|
294
571
|
};
|
|
295
572
|
const handleBrowserCallback = async ({ callbackId, data }) => {
|
|
296
573
|
if (browserCallbacks[callbackId]) {
|
|
@@ -325,6 +602,11 @@ const updateComponentInstanceProps = async ({ options }) => {
|
|
|
325
602
|
};
|
|
326
603
|
const handleComponentEvent = async ({ requestId, options, files, eventName }) => {
|
|
327
604
|
try {
|
|
605
|
+
const entry = findRenderedEntryByEvent(eventName);
|
|
606
|
+
if (entry?.childInstance?.__draymanDestroyed || entry?.childDestroyed) {
|
|
607
|
+
sendMessage({ type: 'response', payload: { requestId, result: null } });
|
|
608
|
+
return;
|
|
609
|
+
}
|
|
328
610
|
if (treeEvents[eventName]) {
|
|
329
611
|
const abortContoller = new AbortController();
|
|
330
612
|
const { signal } = abortContoller;
|
|
@@ -334,7 +616,9 @@ const handleComponentEvent = async ({ requestId, options, files, eventName }) =>
|
|
|
334
616
|
}
|
|
335
617
|
}
|
|
336
618
|
catch (err) {
|
|
337
|
-
|
|
619
|
+
if (!isAbortError(err) && !isInvalidParamsError(err)) {
|
|
620
|
+
console.error(err);
|
|
621
|
+
}
|
|
338
622
|
sendMessage({ type: 'response', payload: { requestId, err } });
|
|
339
623
|
}
|
|
340
624
|
finally {
|
|
@@ -345,8 +629,20 @@ const handleEventHubEvent = async ({ type, data, groupId }) => {
|
|
|
345
629
|
await EventHub._execute(type, data, groupId);
|
|
346
630
|
};
|
|
347
631
|
const handleDestroyComponentInstance = async () => {
|
|
348
|
-
|
|
349
|
-
|
|
632
|
+
try {
|
|
633
|
+
for (const key of Object.keys(renderedComps)) {
|
|
634
|
+
await runChildOnDestroy(renderedComps[key]);
|
|
635
|
+
delete renderedComps[key];
|
|
636
|
+
}
|
|
637
|
+
eventOwners = {};
|
|
638
|
+
treeEvents = {};
|
|
639
|
+
if (ComponentInstance.onDestroy) {
|
|
640
|
+
await ComponentInstance.onDestroy();
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
finally {
|
|
644
|
+
flushConsoleBatch();
|
|
645
|
+
clearFlushTimer();
|
|
350
646
|
}
|
|
351
647
|
};
|
|
352
648
|
const cancelComponentEvent = async ({ requestId }) => {
|
|
@@ -370,4 +666,4 @@ worker_1.expose({
|
|
|
370
666
|
const errorComp = (errorHeader, error) => {
|
|
371
667
|
return { "type": "div", "props": { "style": { "width": "100%", "height": "100%", "color": "rgba(0, 0, 0, 0.85)", "backgroundColor": "rgb(255, 242, 240)", "borderRadius": "2px", "border": "1px solid", "borderColor": "rgb(255, 204, 199)" }, "children": { "type": "div", "props": { "style": { "margin": "25px", "display": "flex", "gap": "10px" }, "children": [{ "type": "div", "props": { "style": { "fontSize": "16px" }, "children": { "type": "svg", "props": { "style": { "color": "rgb(255, 77, 79)", "height": "25px", "width": "25px" }, "viewBox": "64 64 896 896", "focusable": "false", "data-icon": "close-circle", "width": "1em", "height": "1em", "fill": "currentColor", "aria-hidden": "true", "children": [{ "type": "path", "props": { "d": "M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 00-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z" } }, { "type": "path", "props": { "d": "M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }] } } } }, { "type": "div", "props": { "style": { "display": "flex", "flexDirection": "column" }, "children": [{ "type": "div", "props": { "style": { "fontSize": "18px" }, "children": errorHeader } }, { "type": "div", "props": { "style": { "fontSize": "14px" }, "children": error } }] } }] } } } };
|
|
372
668
|
};
|
|
373
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXByb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnQtcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3hDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNuQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7QUFFbEQsbUNBQTBDO0FBQzFDLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIsc0RBQThCO0FBQzlCLDRDQUFvQjtBQUVwQiwyQ0FBdUM7QUFDdkMsbURBQXdEO0FBRXhELElBQUksT0FBTyxHQUFHLElBQUksb0JBQU8sRUFBRSxDQUFDO0FBQzVCLG1DQUFrQztBQUNsQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQTtBQUNELE1BQU0sWUFBWSxHQUFHLElBQUksaUJBQVEsQ0FBQztJQUM5QixLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRO1FBQzNCLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNyRSxRQUFRLEVBQUUsQ0FBQztJQUNmLENBQUM7Q0FDSixDQUFDLENBQUM7QUFDSCxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxD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QUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLHdSQUF3UixFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLCtLQUErSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDdGdELENBQUMsQ0FBQSJ9
|
|
669
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXByb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnQtcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBRXhDLG1DQUEwQztBQUMxQyw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLHNEQUE4QjtBQUM5Qiw0Q0FBb0I7QUFFcEIsMkNBQXVDO0FBQ3ZDLG1EQUF3RDtBQUV4RCxJQUFJLE9BQU8sR0FBRyxJQUFJLG9CQUFPLEVBQUUsQ0FBQztBQUM1QixtQ0FBa0M7QUFDbEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUE7QUFFRCxNQUFNLDJCQUEyQixHQUFHLENBQUMsS0FBVSxFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUNqRSxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDN0UsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUQsSUFBSSxlQUFlLElBQUksUUFBUSxFQUFFO1FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQ3pFO0lBRUQsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFD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
|
package/dist/index.d.ts
CHANGED
|
@@ -65,10 +65,11 @@ export declare const saveComponent: ({ script, outputFile, scriptPath }: {
|
|
|
65
65
|
outputFile: any;
|
|
66
66
|
scriptPath: any;
|
|
67
67
|
}) => Promise<void>;
|
|
68
|
-
export declare const onInitializeComponentInstance: ({ namespaceId, extensionsPath, extensionsOptions, componentNamePrefix, componentName, componentRootDir, componentInstanceId, componentOptions, connectionId, emit, onComponentInstanceConsole, browserCommands, serverCommands, onEventHubEvent, heapLimit, externalLimit, heartbeatLimitMs, meta, }: {
|
|
68
|
+
export declare const onInitializeComponentInstance: ({ namespaceId, extensionsPath, extensionsOptions, logging, componentNamePrefix, componentName, componentRootDir, componentInstanceId, componentOptions, connectionId, emit, onComponentInstanceConsole, browserCommands, serverCommands, onEventHubEvent, heapLimit, externalLimit, heartbeatLimitMs, meta, }: {
|
|
69
69
|
namespaceId?: any;
|
|
70
70
|
extensionsPath?: any;
|
|
71
71
|
extensionsOptions?: any;
|
|
72
|
+
logging?: any;
|
|
72
73
|
componentNamePrefix?: string;
|
|
73
74
|
componentName: any;
|
|
74
75
|
componentRootDir: any;
|
package/dist/index.js
CHANGED
|
@@ -255,7 +255,7 @@ const saveComponent = async ({ script, outputFile, scriptPath }) => {
|
|
|
255
255
|
await fs_extra_1.default.outputFile(outputFile, transpiledComponentScript.outputText);
|
|
256
256
|
};
|
|
257
257
|
exports.saveComponent = saveComponent;
|
|
258
|
-
const onInitializeComponentInstance = async ({ namespaceId = null, extensionsPath = null, extensionsOptions = null, componentNamePrefix = '', componentName, componentRootDir, componentInstanceId, componentOptions, connectionId, emit, onComponentInstanceConsole, browserCommands, serverCommands, onEventHubEvent = null, heapLimit = 512, externalLimit = 512, heartbeatLimitMs = 3 * 1000, meta = null, }) => {
|
|
258
|
+
const onInitializeComponentInstance = async ({ namespaceId = null, extensionsPath = null, extensionsOptions = null, logging = null, componentNamePrefix = '', componentName, componentRootDir, componentInstanceId, componentOptions, connectionId, emit, onComponentInstanceConsole, browserCommands, serverCommands, onEventHubEvent = null, heapLimit = 512, externalLimit = 512, heartbeatLimitMs = 3 * 1000, meta = null, }) => {
|
|
259
259
|
componentOptions = safeParse(componentOptions);
|
|
260
260
|
const internalWorker = new threads_1.Worker(`./component-processor.js`, {
|
|
261
261
|
resourceLimits: {
|
|
@@ -365,6 +365,7 @@ const onInitializeComponentInstance = async ({ namespaceId = null, extensionsPat
|
|
|
365
365
|
componentInstanceId,
|
|
366
366
|
extensionsPath,
|
|
367
367
|
extensionsOptions,
|
|
368
|
+
logging,
|
|
368
369
|
});
|
|
369
370
|
}
|
|
370
371
|
catch {
|
|
@@ -381,4 +382,4 @@ const onDestroyComponentInstance = async ({ componentInstanceId }) => {
|
|
|
381
382
|
markComponentGarbage(componentInstanceId, { skipOnDestroy: false });
|
|
382
383
|
};
|
|
383
384
|
exports.onDestroyComponentInstance = onDestroyComponentInstance;
|
|
384
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQTBCO0FBQzFCLGdEQUF3QjtBQUN4QixzREFBOEI7QUFDOUIsNERBQTRCO0FBQzVCLHFDQUFnRDtBQUNoRCxpREFBcUM7QUErQnJDLE1BQU0sY0FBYyxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUU7SUFDdkMsT0FBTyxJQUFJLE9BQU8sQ0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ3JDLG9CQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLGVBQWUsR0FBRyxFQUFFLFVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNO1lBQzNFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNyRixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRTtJQUN6QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7SUFDdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUMvQyxDQUFDLENBQUE7QUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxH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
|
|
385
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQTBCO0FBQzFCLGdEQUF3QjtBQUN4QixzREFBOEI7QUFDOUIsNERBQTRCO0FBQzVCLHFDQUFnRDtBQUNoRCxpREFBcUM7QUErQnJDLE1BQU0sY0FBYyxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUU7SUFDdkMsT0FBTyxJQUFJLE9BQU8sQ0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ3JDLG9CQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLGVBQWUsR0FBRyxFQUFFLFVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNO1lBQzNFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNyRixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRTtJQUN6QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7SUFDdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUMvQyxDQUFDLENBQUE7QUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxH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
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const isEvent: (optionName: string) => boolean;
|
|
2
|
-
export declare const render: (raw: any, childRenderer?: any, renderedArr?: any[], events?: {}, parent?: string) => Promise<{
|
|
2
|
+
export declare const render: (raw: any, childRenderer?: any, renderedArr?: any[], events?: {}, parent?: string, parentDirty?: boolean, owner?: string, eventOwners?: {}) => Promise<{
|
|
3
3
|
tree: any[];
|
|
4
4
|
events: {};
|
|
5
|
+
eventOwners: {};
|
|
5
6
|
}>;
|
package/dist/utils.js
CHANGED
|
@@ -12,7 +12,7 @@ async function parseFnType(item) {
|
|
|
12
12
|
}
|
|
13
13
|
return item;
|
|
14
14
|
}
|
|
15
|
-
const render = async (raw, childRenderer = null, renderedArr = [], events = {}, parent = '') => {
|
|
15
|
+
const render = async (raw, childRenderer = null, renderedArr = [], events = {}, parent = '', parentDirty = false, owner = '', eventOwners = {}) => {
|
|
16
16
|
async function traverse(arr, renderedArr = [], parent = null) {
|
|
17
17
|
for (let item of (Array.isArray(arr) ? arr : [arr])) {
|
|
18
18
|
// console.log(1, item)
|
|
@@ -25,9 +25,15 @@ const render = async (raw, childRenderer = null, renderedArr = [], events = {},
|
|
|
25
25
|
// item = { ...rendered };
|
|
26
26
|
// }
|
|
27
27
|
item = { ...await parseFnType(item) };
|
|
28
|
-
const
|
|
29
|
-
if (
|
|
30
|
-
|
|
28
|
+
const childResult = await childRenderer?.(item.type, item.key ? `${parent}/${item.key}/${item.type}` : `${parent}/${renderedArr.length}/${item.type}`, item.props, parentDirty);
|
|
29
|
+
if (childResult) {
|
|
30
|
+
// Handle both old API (returns result directly) and new API (returns { result, isDirty })
|
|
31
|
+
const isObjectResult = typeof childResult === 'object' && childResult !== null;
|
|
32
|
+
const hasNewApi = isObjectResult && childResult.result !== undefined && 'isDirty' in childResult;
|
|
33
|
+
const result = hasNewApi ? childResult.result : childResult;
|
|
34
|
+
const isDirty = hasNewApi ? childResult.isDirty : false;
|
|
35
|
+
const ownerForChild = hasNewApi && childResult.cacheKey ? childResult.cacheKey : owner;
|
|
36
|
+
await exports.render(result, childRenderer, renderedArr, events, `${parent}`, isDirty, ownerForChild, eventOwners);
|
|
31
37
|
}
|
|
32
38
|
else {
|
|
33
39
|
const type = (item.type === 'container' || item.type === 'html') ? 'div' : item.type;
|
|
@@ -51,11 +57,17 @@ const render = async (raw, childRenderer = null, renderedArr = [], events = {},
|
|
|
51
57
|
}
|
|
52
58
|
if (type.includes('-')) {
|
|
53
59
|
events[`${itemName}/${optionKey}`] = eventFn;
|
|
60
|
+
if (owner) {
|
|
61
|
+
eventOwners[`${itemName}/${optionKey}`] = owner;
|
|
62
|
+
}
|
|
54
63
|
props[optionKey] = eventOptions;
|
|
55
64
|
}
|
|
56
65
|
else {
|
|
57
66
|
const eventName = optionKey.slice(2).toLowerCase();
|
|
58
67
|
events[`${itemName}/${eventName}`] = eventFn;
|
|
68
|
+
if (owner) {
|
|
69
|
+
eventOwners[`${itemName}/${eventName}`] = owner;
|
|
70
|
+
}
|
|
59
71
|
on[eventName] = eventOptions;
|
|
60
72
|
// delete options[optionKey];
|
|
61
73
|
}
|
|
@@ -163,7 +175,7 @@ const render = async (raw, childRenderer = null, renderedArr = [], events = {},
|
|
|
163
175
|
}
|
|
164
176
|
}
|
|
165
177
|
await traverse(raw, renderedArr, parent);
|
|
166
|
-
return { tree: renderedArr, events };
|
|
178
|
+
return { tree: renderedArr, events, eventOwners };
|
|
167
179
|
};
|
|
168
180
|
exports.render = render;
|
|
169
181
|
const formatStyle = (style) => {
|
|
@@ -225,4 +237,4 @@ const isUnitlessNumber = {
|
|
|
225
237
|
const toKebabCase = (string) => {
|
|
226
238
|
return string.replace(/\B(?:([A-Z])(?=[a-z]))|(?:(?<=[a-z0-9])([A-Z]))/g, '-$1$2').toLowerCase();
|
|
227
239
|
};
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQWtGO0FBRTNFLE1BQU0sT0FBTyxHQUFHLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQTVGLFFBQUEsT0FBTyxXQUFxRjtBQUN6Ryw2SkFBNko7QUFFN0osS0FBSyxVQUFVLFdBQVcsQ0FBQyxJQUFJO0lBQzNCLElBQUksT0FBTyxJQUFJLEVBQUUsSUFBSSxLQUFLLFVBQVUsRUFBRTtRQUNsQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ2hDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVNLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsYUFBYSxHQUFHLElBQUksRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxXQUFXLEdBQUcsS0FBSyxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsV0FBVyxHQUFHLEVBQUUsRUFBRSxFQUFFO0lBQ3JKLEtBQUssVUFBVSxRQUFRLENBQUMsR0FBdUQsRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLE1BQU0sR0FBRyxJQUFJO1FBQzVHLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNqRCx1QkFBdUI7WUFDdkIs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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@drayman/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"all-html-attributes": "^1.0.4",
|
|
34
|
-
"consola": "^2.15.3",
|
|
35
34
|
"fast-json-patch": "^3.0.0-1",
|
|
36
35
|
"fs-extra": "^9.1.0",
|
|
37
36
|
"lodash": "^4.17.21",
|
|
@@ -42,5 +41,5 @@
|
|
|
42
41
|
"ts-node": "^9.1.1",
|
|
43
42
|
"typescript": "~4.1.5"
|
|
44
43
|
},
|
|
45
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "86eefd49843ba056c11ed073244f25f504e1e7e1"
|
|
46
45
|
}
|