@typed/template 0.12.0 → 0.13.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.
Files changed (48) hide show
  1. package/compiler-tools/package.json +6 -0
  2. package/dist/cjs/Html.js +1 -1
  3. package/dist/cjs/Html.js.map +1 -1
  4. package/dist/cjs/Hydrate.js +0 -14
  5. package/dist/cjs/Hydrate.js.map +1 -1
  6. package/dist/cjs/Template.js.map +1 -1
  7. package/dist/cjs/Test.js +1 -1
  8. package/dist/cjs/Test.js.map +1 -1
  9. package/dist/cjs/compiler-tools.js +100 -0
  10. package/dist/cjs/compiler-tools.js.map +1 -0
  11. package/dist/cjs/internal/HydrateContext.js.map +1 -1
  12. package/dist/cjs/internal/v2/render.js +241 -66
  13. package/dist/cjs/internal/v2/render.js.map +1 -1
  14. package/dist/dts/Hydrate.d.ts +2 -9
  15. package/dist/dts/Hydrate.d.ts.map +1 -1
  16. package/dist/dts/Template.d.ts +3 -3
  17. package/dist/dts/Template.d.ts.map +1 -1
  18. package/dist/dts/compiler-tools.d.ts +143 -0
  19. package/dist/dts/compiler-tools.d.ts.map +1 -0
  20. package/dist/dts/internal/v2/render.d.ts +31 -10
  21. package/dist/dts/internal/v2/render.d.ts.map +1 -1
  22. package/dist/esm/Html.js +2 -2
  23. package/dist/esm/Html.js.map +1 -1
  24. package/dist/esm/Hydrate.js +0 -12
  25. package/dist/esm/Hydrate.js.map +1 -1
  26. package/dist/esm/Template.js.map +1 -1
  27. package/dist/esm/Test.js +2 -2
  28. package/dist/esm/Test.js.map +1 -1
  29. package/dist/esm/compiler-tools.js +91 -0
  30. package/dist/esm/compiler-tools.js.map +1 -0
  31. package/dist/esm/internal/HydrateContext.js.map +1 -1
  32. package/dist/esm/internal/v2/render.js +231 -63
  33. package/dist/esm/internal/v2/render.js.map +1 -1
  34. package/package.json +16 -8
  35. package/src/Html.ts +2 -2
  36. package/src/Hydrate.ts +2 -37
  37. package/src/Template.ts +4 -2
  38. package/src/Test.ts +2 -2
  39. package/src/compiler-tools.ts +250 -0
  40. package/src/internal/HydrateContext.ts +0 -2
  41. package/src/internal/v2/render.ts +279 -54
  42. package/dist/cjs/internal/v2/hydrate.js +0 -202
  43. package/dist/cjs/internal/v2/hydrate.js.map +0 -1
  44. package/dist/dts/internal/v2/hydrate.d.ts +0 -7
  45. package/dist/dts/internal/v2/hydrate.d.ts.map +0 -1
  46. package/dist/esm/internal/v2/hydrate.js +0 -195
  47. package/dist/esm/internal/v2/hydrate.js.map +0 -1
  48. package/src/internal/v2/hydrate.ts +0 -289
@@ -1,6 +1,9 @@
1
1
  import * as Context from "@typed/context";
2
2
  import * as Fx from "@typed/fx";
3
- import { persistent } from "@typed/wire";
3
+ import { isText, persistent } from "@typed/wire";
4
+ import { Option } from "effect";
5
+ import * as Cause from "effect/Cause";
6
+ import * as Chunk from "effect/Chunk";
4
7
  import * as Effect from "effect/Effect";
5
8
  import * as ExecutionStrategy from "effect/ExecutionStrategy";
6
9
  import { flow } from "effect/Function";
@@ -11,62 +14,96 @@ import * as ElementSource from "../../ElementSource.js";
11
14
  import * as EventHandler from "../../EventHandler.js";
12
15
  import { DomRenderEvent } from "../../RenderEvent.js";
13
16
  import { DEFAULT_PRIORITY, RenderQueue } from "../../RenderQueue.js";
17
+ import { CouldNotFindCommentError, isHydrationError } from "../errors.js";
14
18
  import { makeEventSource } from "../EventSource.js";
19
+ import { HydrateContext } from "../HydrateContext.js";
15
20
  import { makeRefCounter } from "../indexRefCounter.js";
16
- import { findHoleComment, findPath, keyToPartType } from "../utils.js";
21
+ import { findHoleComment, findHydratePath, findPath, isCommentWithValue, keyToPartType } from "../utils.js";
17
22
  import { isNullOrUndefined } from "./helpers.js";
23
+ import { findHydrationHole, findHydrationMany, findHydrationTemplate, getChildNodes, getNodes, getPreviousNodes } from "./hydration-template.js";
18
24
  import { EventPartImpl, RefPartImpl, syncPartToPart } from "./parts.js";
19
25
  import { getBrowserEntry } from "./render-entry.js";
20
26
  import * as SyncPartsInternal from "./render-sync-parts.js";
21
27
  export const renderTemplate = (document, renderContext) => (templateStrings, values) => {
22
28
  const entry = getBrowserEntry(document, renderContext, templateStrings);
23
- if (entry.template.parts.length === 0) {
24
- return Fx.succeed(DomRenderEvent(persistent(document, document.importNode(entry.content, true))));
25
- }
26
- return Fx.make((sink) => Effect.catchAllCause(Effect.gen(function* () {
27
- // Create a context for rendering our template
28
- const ctx = yield* makeTemplateContext(entry.content, document, renderContext, values, sink.onFailure);
29
- // Setup all parts
30
- const effects = setupParts(entry.template.parts, ctx);
31
- if (effects.length > 0) {
32
- yield* Effect.forEach(effects, flow(Effect.catchAllCause(ctx.onCause), Effect.forkIn(ctx.scope)));
33
- }
34
- // If there's anything to wait on and it's not already done, wait for an initial value
35
- // for all asynchronous sources.
36
- if (ctx.expected > 0 && (yield* ctx.refCounter.expect(ctx.expected))) {
37
- yield* ctx.refCounter.wait;
38
- }
39
- // Create a persistent wire from our content
40
- const wire = persistent(document, ctx.content);
41
- // Setup our event listeners for our wire.
42
- // We use the parentScope to allow event listeners to exist
43
- // beyond the lifetime of the current Fiber, but no further than its parent template.
44
- yield* ctx.eventSource.setup(wire, ctx.parentScope);
45
- // Emit our DomRenderEvent
46
- yield* sink.onSuccess(DomRenderEvent(wire)).pipe(
47
- // Ensure our templates last forever in the DOM environment
48
- // so event listeners are kept attached to the current Scope.
49
- Effect.zipRight(Effect.never),
50
- // Close our scope whenever the current Fiber is interrupted
51
- Effect.onExit((exit) => Scope.close(ctx.scope, exit)));
52
- }), sink.onFailure));
29
+ return Fx.make(function render(sink) {
30
+ return Effect.catchAllCause(Effect.gen(function* () {
31
+ // Create a context for rendering our template
32
+ const ctx = yield* makeTemplateContext(document, renderContext, values, sink.onFailure);
33
+ const hydration = attemptHydration(ctx, entry.template.hash);
34
+ let effects;
35
+ let content;
36
+ let wire;
37
+ if (Option.isSome(hydration)) {
38
+ const { hydrateCtx, where } = hydration.value;
39
+ effects = setupHydrateParts(entry.template.parts, {
40
+ ...ctx,
41
+ where,
42
+ manyKey: hydrateCtx.manyKey,
43
+ makeHydrateContext: (where) => ({
44
+ where,
45
+ hydrate: true
46
+ })
47
+ });
48
+ wire = getWire(where);
49
+ }
50
+ else {
51
+ content = ctx.document.importNode(entry.content, true);
52
+ effects = setupRenderParts(entry.template.parts, content, ctx);
53
+ }
54
+ if (effects.length > 0) {
55
+ yield* Effect.forEach(effects, flow(Effect.catchAllCause(ctx.onCause), Effect.forkIn(ctx.scope)));
56
+ }
57
+ // If there's anything to wait on and it's not already done, wait for an initial value
58
+ // for all asynchronous sources.
59
+ if (ctx.expected > 0 && (yield* ctx.refCounter.expect(ctx.expected))) {
60
+ yield* ctx.refCounter.wait;
61
+ }
62
+ // If we're not hydrating, we need to create our wire from our content
63
+ if (wire === undefined) {
64
+ wire = persistent(ctx.document, content);
65
+ }
66
+ // Setup our event listeners for our wire.
67
+ // We use the parentScope to allow event listeners to exist
68
+ // beyond the lifetime of the current Fiber, but no further than its parent template.
69
+ yield* ctx.eventSource.setup(wire, ctx.parentScope);
70
+ // If we're hydrating, we need to mark this part of the stack as hydrated
71
+ if (Option.isSome(hydration)) {
72
+ hydration.value.hydrateCtx.hydrate = false;
73
+ }
74
+ // Emit our DomRenderEvent
75
+ yield* sink.onSuccess(DomRenderEvent(wire)).pipe(
76
+ // Ensure our templates last forever in the DOM environment
77
+ // so event listeners are kept attached to the current Scope.
78
+ Effect.zipRight(Effect.never),
79
+ // Close our scope whenever the current Fiber is interrupted
80
+ Effect.onExit((exit) => Scope.close(ctx.scope, exit)));
81
+ }), (cause) => {
82
+ const hydrationFailure = Chunk.findFirst(Cause.defects(cause), isHydrationError);
83
+ if (Option.isSome(hydrationFailure)) {
84
+ return HydrateContext.pipe(Effect.tap((ctx) => ctx.hydrate = false), Effect.flatMap(() => render(sink)));
85
+ }
86
+ return sink.onFailure(cause);
87
+ });
88
+ });
53
89
  };
54
- export function makeTemplateContext(entry, document, renderContext, values, onCause) {
90
+ export function makeTemplateContext(document, renderContext, values, onCause) {
55
91
  return Effect.gen(function* () {
56
92
  const refCounter = yield* makeRefCounter;
57
93
  const context = yield* Effect.context();
58
94
  const queue = Context.get(context, RenderQueue);
59
95
  const parentScope = Context.get(context, Scope.Scope);
60
96
  const eventSource = makeEventSource();
61
- const content = document.importNode(entry, true);
62
97
  const scope = yield* Scope.fork(parentScope, ExecutionStrategy.sequential);
98
+ const hydrateContext = Context.getOption(context, HydrateContext);
63
99
  const templateContext = {
64
100
  context: Context.add(context, Scope.Scope, scope),
65
101
  expected: 0,
66
- content,
67
102
  document,
68
103
  eventSource,
104
+ hydrateContext,
69
105
  parentScope,
106
+ manyKey: undefined,
70
107
  queue,
71
108
  refCounter,
72
109
  renderContext,
@@ -78,49 +115,63 @@ export function makeTemplateContext(entry, document, renderContext, values, onCa
78
115
  return templateContext;
79
116
  });
80
117
  }
81
- function setupParts(parts, ctx) {
118
+ export function attemptHydration(ctx, hash) {
119
+ if (Option.isSome(ctx.hydrateContext) && ctx.hydrateContext.value.hydrate) {
120
+ const hydrateCtx = ctx.hydrateContext.value;
121
+ const where = findHydrationTemplateByHash(hydrateCtx, hash);
122
+ if (where === null) {
123
+ hydrateCtx.hydrate = false;
124
+ return Option.none();
125
+ }
126
+ else {
127
+ return Option.some({ where, hydrateCtx });
128
+ }
129
+ }
130
+ return Option.none();
131
+ }
132
+ function setupRenderParts(parts, content, ctx) {
82
133
  const effects = [];
83
134
  for (const [part, path] of parts) {
84
- const effect = setupPart(part, path, ctx);
135
+ const effect = setupRenderPart(part, content, path, ctx);
85
136
  if (effect) {
86
137
  effects.push(effect);
87
138
  }
88
139
  }
89
140
  return effects;
90
141
  }
91
- function setupPart(part, path, ctx) {
142
+ function setupRenderPart(part, content, path, ctx) {
92
143
  switch (part._tag) {
93
144
  case "attr":
94
- return setupAttrPart(part, findPath(ctx.content, path), ctx, ctx.values[part.index]);
145
+ return setupAttrPart(part, findPath(content, path), ctx, ctx.values[part.index]);
95
146
  case "boolean-part":
96
- return setupBooleanPart(part, findPath(ctx.content, path), ctx, ctx.values[part.index]);
147
+ return setupBooleanPart(part, findPath(content, path), ctx, ctx.values[part.index]);
97
148
  case "className-part":
98
- return setupClassNamePart(part, findPath(ctx.content, path), ctx, ctx.values[part.index]);
149
+ return setupClassNamePart(part, findPath(content, path), ctx, ctx.values[part.index]);
99
150
  case "comment-part":
100
- return setupCommentPart(part, findPath(ctx.content, path), ctx);
151
+ return setupCommentPart(part, findPath(content, path), ctx, ctx.values[part.index]);
101
152
  case "data":
102
- return setupDataPart(part, findPath(ctx.content, path), ctx, ctx.values[part.index]);
153
+ return setupDataPart(part, findPath(content, path), ctx, ctx.values[part.index]);
103
154
  case "event":
104
- return setupEventPart(part, findPath(ctx.content, path), ctx, ctx.values[part.index]);
155
+ return setupEventPart(part, findPath(content, path), ctx, ctx.values[part.index]);
105
156
  case "node": {
106
- const parent = findPath(ctx.content, path);
157
+ const parent = findPath(content, path);
107
158
  const comment = findHoleComment(parent, part.index);
108
159
  return setupNodePart(part, comment, ctx, null, []);
109
160
  }
110
161
  case "properties":
111
- return setupPropertiesPart(part, findPath(ctx.content, path), ctx);
162
+ return setupPropertiesPart(findPath(content, path), ctx, ctx.values[part.index]);
112
163
  case "property":
113
- return setupPropertyPart(part, findPath(ctx.content, path), ctx, ctx.values[part.index]);
164
+ return setupPropertyPart(part, findPath(content, path), ctx, ctx.values[part.index]);
114
165
  case "ref":
115
- return setupRefPart(part, findPath(ctx.content, path), ctx);
166
+ return setupRefPart(part, findPath(content, path), ctx);
116
167
  case "sparse-attr":
117
- return setupSparseAttrPart(part, findPath(ctx.content, path), ctx);
168
+ return setupSparseAttrPart(part, findPath(content, path), ctx);
118
169
  case "sparse-class-name":
119
- return setupSparseClassNamePart(part, findPath(ctx.content, path), ctx);
170
+ return setupSparseClassNamePart(part, findPath(content, path), ctx);
120
171
  case "sparse-comment":
121
- return setupSparseCommentPart(part, findPath(ctx.content, path), ctx);
172
+ return setupSparseCommentPart(part, findPath(content, path), ctx);
122
173
  case "text-part": {
123
- const parent = findPath(ctx.content, path);
174
+ const parent = findPath(content, path);
124
175
  const comment = findHoleComment(parent, part.index);
125
176
  return setupTextPart(part, comment, ctx);
126
177
  }
@@ -139,9 +190,8 @@ export function setupClassNamePart({ index }, element, ctx, renderable) {
139
190
  const part = SyncPartsInternal.makeClassNamePart(index, element);
140
191
  return matchSyncPart(renderable, ctx, part);
141
192
  }
142
- export function setupCommentPart({ index }, comment, ctx) {
193
+ export function setupCommentPart({ index }, comment, ctx, renderable) {
143
194
  const part = SyncPartsInternal.makeCommentPart(index, comment);
144
- const renderable = ctx.values[index];
145
195
  return matchSyncPart(renderable, ctx, part);
146
196
  }
147
197
  export function setupDataPart({ index }, element, ctx, renderable) {
@@ -182,8 +232,7 @@ export function setupPropertyPart({ index, name }, element, ctx, renderable) {
182
232
  const part = SyncPartsInternal.makePropertyPart(name, index, element);
183
233
  return matchSyncPart(renderable, ctx, part);
184
234
  }
185
- export function setupRefPart({ index }, element, ctx) {
186
- const renderable = ctx.values[index];
235
+ export function setupRefPart({ index }, element, renderable) {
187
236
  if (isNullOrUndefined(renderable))
188
237
  return null;
189
238
  else if (isDirective(renderable)) {
@@ -197,8 +246,7 @@ export function setupRefPart({ index }, element, ctx) {
197
246
  return null;
198
247
  }
199
248
  }
200
- export function setupPropertiesPart({ index }, element, ctx) {
201
- const renderable = ctx.values[index];
249
+ export function setupPropertiesPart(element, ctx, renderable) {
202
250
  if (renderable && typeof renderable === "object") {
203
251
  const effects = [];
204
252
  const addEffect = (effect) => {
@@ -283,10 +331,9 @@ function unwrapRenderable(renderable) {
283
331
  else if (Array.isArray(renderable)) {
284
332
  return renderable.length === 0
285
333
  ? Fx.succeed(null)
286
- // TODO: We need to ensure the ordering of these values in server environments
287
334
  : Fx.map(Fx.tuple(renderable.map(unwrapRenderable)), (xs) => xs.flat());
288
335
  }
289
- else if (Fx.TypeId in renderable) {
336
+ else if (Fx.FxTypeId in renderable) {
290
337
  return renderable;
291
338
  }
292
339
  else if (Effect.EffectTypeId in renderable) {
@@ -339,15 +386,136 @@ export function attachRoot(cache, where, what // TODO: Should we support HTML Re
339
386
  });
340
387
  }
341
388
  export function removeChildren(where, previous) {
342
- for (const node of getNodes(previous)) {
389
+ for (const node of getNodesFromRendered(previous)) {
343
390
  where.removeChild(node);
344
391
  }
345
392
  }
346
393
  export function replaceChildren(where, wire) {
347
- where.replaceChildren(...getNodes(wire));
394
+ where.replaceChildren(...getNodesFromRendered(wire));
348
395
  }
349
- export function getNodes(rendered) {
396
+ export function getNodesFromRendered(rendered) {
350
397
  const value = rendered.valueOf();
351
398
  return Array.isArray(value) ? value : [value];
352
399
  }
400
+ export function findHydrationTemplateByHash(hydrateCtx, hash) {
401
+ // If there is not a manyKey, we can just find the template by its hash
402
+ if (hydrateCtx.manyKey === undefined) {
403
+ return findHydrationTemplate(getChildNodes(hydrateCtx.where), hash);
404
+ }
405
+ // If there is a manyKey, we need to find the many node first
406
+ const many = findHydrationMany(getChildNodes(hydrateCtx.where), hydrateCtx.manyKey);
407
+ if (many === null)
408
+ return null;
409
+ // Then we can find the template by its hash
410
+ return findHydrationTemplate(getChildNodes(many), hash);
411
+ }
412
+ export function setupHydrateParts(parts, ctx) {
413
+ const effects = [];
414
+ for (const [part, path] of parts) {
415
+ const effect = setupHydratePart(part, path, ctx);
416
+ if (effect) {
417
+ effects.push(effect);
418
+ }
419
+ }
420
+ return effects;
421
+ }
422
+ export function setupHydratePart(part, path, ctx) {
423
+ switch (part._tag) {
424
+ case "attr":
425
+ return setupAttrPart(part, findHydratePath(ctx.where, path), ctx, ctx.values[part.index]);
426
+ case "boolean-part":
427
+ return setupBooleanPart(part, findHydratePath(ctx.where, path), ctx, ctx.values[part.index]);
428
+ case "className-part":
429
+ return setupClassNamePart(part, findHydratePath(ctx.where, path), ctx, ctx.values[part.index]);
430
+ case "comment-part":
431
+ return setupCommentPart(part, findHydratePath(ctx.where, path), ctx, ctx.values[part.index]);
432
+ case "data":
433
+ return setupDataPart(part, findHydratePath(ctx.where, path), ctx, ctx.values[part.index]);
434
+ case "event":
435
+ return setupEventPart(part, findHydratePath(ctx.where, path), ctx, ctx.values[part.index]);
436
+ case "node": {
437
+ const hole = findHydrationHole(getChildNodes(ctx.where), part.index);
438
+ if (hole === null) {
439
+ throw new CouldNotFindCommentError(part.index);
440
+ }
441
+ return setupHydratedNodePart(part, hole, ctx);
442
+ }
443
+ case "properties":
444
+ return setupPropertiesPart(findHydratePath(ctx.where, path), ctx, ctx.values[part.index]);
445
+ case "property":
446
+ return setupPropertyPart(part, findHydratePath(ctx.where, path), ctx, ctx.values[part.index]);
447
+ case "ref":
448
+ return setupRefPart(part, findHydratePath(ctx.where, path), ctx.values[part.index]);
449
+ case "sparse-attr":
450
+ return setupSparseAttrPart(part, findHydratePath(ctx.where, path), ctx);
451
+ case "sparse-class-name":
452
+ return setupSparseClassNamePart(part, findHydratePath(ctx.where, path), ctx);
453
+ case "sparse-comment":
454
+ return setupSparseCommentPart(part, findHydratePath(ctx.where, path), ctx);
455
+ case "text-part": {
456
+ const hole = findHydrationHole(getChildNodes(ctx.where), part.index);
457
+ if (hole === null)
458
+ throw new CouldNotFindCommentError(part.index);
459
+ return setupTextPart(part, hole.endComment, ctx);
460
+ }
461
+ }
462
+ }
463
+ export function setupHydratedNodePart(part, hole, ctx) {
464
+ const nestedCtx = ctx.makeHydrateContext(hole, part.index);
465
+ const previousNodes = getPreviousNodes(hole);
466
+ const text = previousNodes.length === 2 && isCommentWithValue(previousNodes[0], "text") && isText(previousNodes[1])
467
+ ? previousNodes[1]
468
+ : null;
469
+ const effect = setupNodePart(part, hole.endComment, ctx, text, text === null ? previousNodes : [text]);
470
+ if (effect === null)
471
+ return null;
472
+ return Effect.provideService(effect, HydrateContext, nestedCtx);
473
+ }
474
+ export function findRootParentChildNodes(where) {
475
+ const childNodes = findRootChildNodes(where);
476
+ return {
477
+ parentNode: where,
478
+ childNodes
479
+ };
480
+ }
481
+ const START = "typed-start";
482
+ const END = "typed-end";
483
+ // Finds all of the childNodes between the "typed-start" and "typed-end" comments
484
+ export function findRootChildNodes(where) {
485
+ let start = -1;
486
+ let end = -1;
487
+ const { childNodes } = where;
488
+ const length = childNodes.length;
489
+ for (let i = 0; i < length; i++) {
490
+ const node = childNodes[i];
491
+ if (node.nodeType === node.COMMENT_NODE && node.nodeValue === START) {
492
+ start = i;
493
+ break;
494
+ }
495
+ }
496
+ for (let i = length - 1; i >= Math.max(start, 0); i--) {
497
+ const node = childNodes[i];
498
+ if (node.nodeType === node.COMMENT_NODE && node.nodeValue === END) {
499
+ end = i;
500
+ break;
501
+ }
502
+ }
503
+ // If we can't find the start and end comments, just return all childNodes
504
+ if (start === -1 && end === -1) {
505
+ return Array.from(childNodes);
506
+ }
507
+ start = start === -1 ? 0 : start;
508
+ end = end === -1 ? length - 1 : end;
509
+ const rootChildNodes = Array(end - start);
510
+ for (let i = start + 1, j = 0; i <= end; i++) {
511
+ rootChildNodes[j++] = childNodes[i];
512
+ }
513
+ return rootChildNodes;
514
+ }
515
+ export function getWire(where) {
516
+ const nodes = getNodes(where);
517
+ if (nodes.length === 1)
518
+ return nodes[0];
519
+ return nodes;
520
+ }
353
521
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/internal/v2/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/internal/v2/render.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typed/template",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -10,17 +10,17 @@
10
10
  "sideEffects": [],
11
11
  "author": "Typed contributors",
12
12
  "dependencies": {
13
- "@effect/platform": "^0.55.1",
14
- "@effect/schema": "^0.67.14",
15
- "effect": "^3.2.5",
13
+ "@effect/platform": "^0.57.4",
14
+ "@effect/schema": "^0.68.1",
15
+ "effect": "^3.3.5",
16
16
  "fast-check": "^3.19.0",
17
17
  "html5parser": "^2.0.2",
18
18
  "typed-query-selector": "^2.11.2",
19
19
  "udomdiff": "^1.1.0",
20
- "@typed/context": "0.28.0",
21
- "@typed/dom": "16.0.0",
22
- "@typed/environment": "0.9.0",
23
- "@typed/fx": "1.30.0",
20
+ "@typed/context": "0.29.0",
21
+ "@typed/dom": "17.0.0",
22
+ "@typed/environment": "0.10.0",
23
+ "@typed/fx": "1.31.0",
24
24
  "@typed/wire": "0.5.0"
25
25
  },
26
26
  "main": "./dist/cjs/index.js",
@@ -147,6 +147,11 @@
147
147
  "types": "./dist/dts/Vitest.d.ts",
148
148
  "import": "./dist/esm/Vitest.js",
149
149
  "default": "./dist/cjs/Vitest.js"
150
+ },
151
+ "./compiler-tools": {
152
+ "types": "./dist/dts/compiler-tools.d.ts",
153
+ "import": "./dist/esm/compiler-tools.js",
154
+ "default": "./dist/cjs/compiler-tools.js"
150
155
  }
151
156
  },
152
157
  "typesVersions": {
@@ -219,6 +224,9 @@
219
224
  ],
220
225
  "Vitest": [
221
226
  "./dist/dts/Vitest.d.ts"
227
+ ],
228
+ "compiler-tools": [
229
+ "./dist/dts/compiler-tools.d.ts"
222
230
  ]
223
231
  }
224
232
  }
package/src/Html.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  import type { CurrentEnvironment } from "@typed/environment"
6
6
  import * as Fx from "@typed/fx/Fx"
7
7
  import * as Sink from "@typed/fx/Sink"
8
- import { TypeId } from "@typed/fx/TypeId"
8
+ import { FxTypeId } from "@typed/fx/TypeId"
9
9
  import { join } from "effect/Array"
10
10
  import * as Effect from "effect/Effect"
11
11
  import * as Layer from "effect/Layer"
@@ -380,7 +380,7 @@ function unwrapRenderable<E, R>(
380
380
  return Fx.fromFxEffect(
381
381
  Effect.map(renderable as any, unwrapRenderable<any, any>)
382
382
  )
383
- } else if (TypeId in renderable) {
383
+ } else if (FxTypeId in renderable) {
384
384
  return renderable as any
385
385
  } else return Fx.succeed(renderable as any)
386
386
  }
package/src/Hydrate.ts CHANGED
@@ -3,51 +3,17 @@
3
3
  */
4
4
 
5
5
  import * as Context from "@typed/context"
6
- import { Document } from "@typed/dom/Document"
7
- import type { DomServices, DomServicesElementParams } from "@typed/dom/DomServices"
8
- import type { GlobalThis } from "@typed/dom/GlobalThis"
9
6
  import { RootElement } from "@typed/dom/RootElement"
10
- import type { CurrentEnvironment } from "@typed/environment"
11
7
  import * as Fx from "@typed/fx/Fx"
12
8
  import * as Effect from "effect/Effect"
13
- import * as Layer from "effect/Layer"
9
+ import type * as Layer from "effect/Layer"
14
10
  import { HydrateContext } from "./internal/HydrateContext.js"
15
- import { hydrateTemplate } from "./internal/v2/hydrate.js"
16
11
  import { getHydrationRoot } from "./internal/v2/hydration-template.js"
17
12
  import { attachRoot } from "./internal/v2/render.js"
18
13
  import type { ToRendered } from "./Render.js"
19
14
  import * as RenderContext from "./RenderContext.js"
20
15
  import { type RenderEvent } from "./RenderEvent.js"
21
- import { RenderTemplate } from "./RenderTemplate.js"
22
-
23
- /**
24
- * @since 1.0.0
25
- */
26
- export const hydrateLayer = (
27
- window: Window & GlobalThis,
28
- options?: DomServicesElementParams
29
- ): Layer.Layer<
30
- | RenderTemplate
31
- | RenderContext.RenderContext
32
- | CurrentEnvironment
33
- | DomServices
34
- > =>
35
- Layer.provideMerge(
36
- RenderTemplate.layer(
37
- Effect.contextWith(
38
- (context: Context.Context<Document | RenderContext.RenderContext>) => {
39
- const [document, ctx] = Context.getMany(
40
- context,
41
- Document,
42
- RenderContext.RenderContext
43
- )
44
-
45
- return hydrateTemplate(document, ctx)
46
- }
47
- )
48
- ),
49
- RenderContext.dom(window, options)
50
- )
16
+ import type { RenderTemplate } from "./RenderTemplate.js"
51
17
 
52
18
  /**
53
19
  * @since 1.0.0
@@ -63,7 +29,6 @@ export function hydrate<R, E, T extends RenderEvent | null>(
63
29
  )
64
30
  const ctx: HydrateContext = {
65
31
  where: getHydrationRoot(rootElement),
66
- parentTemplate: null,
67
32
  hydrate: true
68
33
  }
69
34
 
package/src/Template.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import type { Chunk } from "effect/Chunk"
4
+ import type { Chunk, NonEmptyChunk } from "effect/Chunk"
5
5
  import { type Inspectable, NodeInspectSymbol } from "effect/Inspectable"
6
6
 
7
7
  /**
@@ -15,7 +15,9 @@ export class Template implements Inspectable {
15
15
  readonly hash: string,
16
16
  // Parts are a array of Parts to the respective path from the root node to access it prior to rendering
17
17
  /// any nodes/elements into the template.
18
- readonly parts: ReadonlyArray<readonly [part: PartNode | SparsePartNode, path: Chunk<number>]>
18
+ readonly parts: ReadonlyArray<
19
+ readonly [part: PartNode | SparsePartNode, path: Chunk<number> | NonEmptyChunk<number>]
20
+ >
19
21
  ) {}
20
22
 
21
23
  toJSON() {