@typed/template 0.5.4 → 0.7.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/cjs/ElementRef.js.map +1 -1
- package/dist/cjs/ElementSource.js.map +1 -1
- package/dist/cjs/Html.js.map +1 -1
- package/dist/cjs/Many.js.map +1 -1
- package/dist/cjs/RenderContext.js.map +1 -1
- package/dist/cjs/RenderTemplate.js.map +1 -1
- package/dist/cjs/Test.js.map +1 -1
- package/dist/cjs/internal/EventSource.js.map +1 -1
- package/dist/cjs/internal/hydrate.js.map +1 -1
- package/dist/cjs/internal/indexRefCounter.js.map +1 -1
- package/dist/cjs/internal/parts.js.map +1 -1
- package/dist/cjs/internal/render.js +3 -2
- package/dist/cjs/internal/render.js.map +1 -1
- package/dist/cjs/internal/server.js +2 -6
- package/dist/cjs/internal/server.js.map +1 -1
- package/dist/dts/Directive.d.ts +14 -14
- package/dist/dts/Directive.d.ts.map +1 -1
- package/dist/dts/ElementRef.d.ts +7 -7
- package/dist/dts/ElementRef.d.ts.map +1 -1
- package/dist/dts/ElementSource.d.ts +5 -5
- package/dist/dts/ElementSource.d.ts.map +1 -1
- package/dist/dts/EventHandler.d.ts +12 -12
- package/dist/dts/EventHandler.d.ts.map +1 -1
- package/dist/dts/Html.d.ts +2 -2
- package/dist/dts/Html.d.ts.map +1 -1
- package/dist/dts/Hydrate.d.ts +2 -2
- package/dist/dts/Hydrate.d.ts.map +1 -1
- package/dist/dts/Many.d.ts +8 -8
- package/dist/dts/Many.d.ts.map +1 -1
- package/dist/dts/Part.d.ts +14 -14
- package/dist/dts/Part.d.ts.map +1 -1
- package/dist/dts/Placeholder.d.ts +6 -6
- package/dist/dts/Placeholder.d.ts.map +1 -1
- package/dist/dts/Platform.d.ts +1 -1
- package/dist/dts/Platform.d.ts.map +1 -1
- package/dist/dts/Render.d.ts +2 -2
- package/dist/dts/Render.d.ts.map +1 -1
- package/dist/dts/RenderContext.d.ts +5 -5
- package/dist/dts/RenderContext.d.ts.map +1 -1
- package/dist/dts/RenderTemplate.d.ts +2 -2
- package/dist/dts/RenderTemplate.d.ts.map +1 -1
- package/dist/dts/Renderable.d.ts +3 -3
- package/dist/dts/Renderable.d.ts.map +1 -1
- package/dist/dts/Test.d.ts +12 -12
- package/dist/dts/Test.d.ts.map +1 -1
- package/dist/dts/Vitest.d.ts +2 -2
- package/dist/dts/Vitest.d.ts.map +1 -1
- package/dist/dts/internal/EventSource.d.ts +2 -2
- package/dist/dts/internal/EventSource.d.ts.map +1 -1
- package/dist/dts/internal/hydrate.d.ts.map +1 -1
- package/dist/dts/internal/indexRefCounter.d.ts +5 -5
- package/dist/dts/internal/indexRefCounter.d.ts.map +1 -1
- package/dist/dts/internal/module-augmentation.d.ts +13 -13
- package/dist/dts/internal/module-augmentation.d.ts.map +1 -1
- package/dist/dts/internal/parts.d.ts +39 -39
- package/dist/dts/internal/parts.d.ts.map +1 -1
- package/dist/dts/internal/render.d.ts +1 -1
- package/dist/dts/internal/render.d.ts.map +1 -1
- package/dist/dts/internal/server.d.ts +2 -2
- package/dist/dts/internal/server.d.ts.map +1 -1
- package/dist/dts/internal/utils.d.ts +1 -1
- package/dist/esm/ElementRef.js.map +1 -1
- package/dist/esm/ElementSource.js.map +1 -1
- package/dist/esm/Html.js.map +1 -1
- package/dist/esm/Many.js.map +1 -1
- package/dist/esm/RenderContext.js.map +1 -1
- package/dist/esm/RenderTemplate.js.map +1 -1
- package/dist/esm/Test.js.map +1 -1
- package/dist/esm/internal/EventSource.js.map +1 -1
- package/dist/esm/internal/hydrate.js.map +1 -1
- package/dist/esm/internal/indexRefCounter.js.map +1 -1
- package/dist/esm/internal/parts.js +4 -4
- package/dist/esm/internal/parts.js.map +1 -1
- package/dist/esm/internal/render.js +3 -2
- package/dist/esm/internal/render.js.map +1 -1
- package/dist/esm/internal/server.js +2 -6
- package/dist/esm/internal/server.js.map +1 -1
- package/package.json +8 -16
- package/src/Directive.ts +24 -24
- package/src/ElementRef.ts +11 -11
- package/src/ElementSource.ts +18 -18
- package/src/EventHandler.ts +18 -18
- package/src/Html.ts +33 -33
- package/src/Hydrate.ts +4 -4
- package/src/Many.ts +26 -26
- package/src/Part.ts +14 -14
- package/src/Placeholder.ts +13 -13
- package/src/Platform.ts +3 -3
- package/src/Render.ts +5 -5
- package/src/RenderContext.ts +8 -8
- package/src/RenderTemplate.ts +2 -6
- package/src/Renderable.ts +6 -6
- package/src/Test.ts +13 -13
- package/src/Vitest.ts +2 -2
- package/src/internal/EventSource.ts +4 -4
- package/src/internal/hydrate.ts +3 -7
- package/src/internal/indexRefCounter.ts +9 -17
- package/src/internal/module-augmentation.ts +15 -15
- package/src/internal/parts.ts +61 -63
- package/src/internal/render.ts +29 -28
- package/src/internal/server.ts +8 -10
- package/TemplateInstance/package.json +0 -6
- package/dist/cjs/TemplateInstance.js +0 -51
- package/dist/cjs/TemplateInstance.js.map +0 -1
- package/dist/dts/TemplateInstance.d.ts +0 -33
- package/dist/dts/TemplateInstance.d.ts.map +0 -1
- package/dist/esm/TemplateInstance.js +0 -43
- package/dist/esm/TemplateInstance.js.map +0 -1
- package/src/TemplateInstance.ts +0 -83
package/src/internal/render.ts
CHANGED
|
@@ -55,7 +55,7 @@ export type RenderPartContext = {
|
|
|
55
55
|
readonly refCounter: IndexRefCounter2
|
|
56
56
|
readonly renderContext: RenderContext
|
|
57
57
|
readonly values: ReadonlyArray<Renderable<any, any>>
|
|
58
|
-
readonly onCause: (cause: Cause<any>) => Effect.Effect<
|
|
58
|
+
readonly onCause: (cause: Cause<any>) => Effect.Effect<void>
|
|
59
59
|
|
|
60
60
|
readonly makeHydrateContext?: (index: number) => HydrateContext
|
|
61
61
|
|
|
@@ -68,7 +68,7 @@ type RenderPartMap = {
|
|
|
68
68
|
part: Extract<Template.PartNode | Template.SparsePartNode, { _tag: K }>,
|
|
69
69
|
node: Node,
|
|
70
70
|
ctx: RenderPartContext
|
|
71
|
-
) => null | Effect.Effect<
|
|
71
|
+
) => null | Effect.Effect<void, any, any> | Array<Effect.Effect<void, any, any>>
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
const RenderPartMap: RenderPartMap = {
|
|
@@ -283,7 +283,7 @@ const RenderPartMap: RenderPartMap = {
|
|
|
283
283
|
added.forEach((a) => previous.add(a))
|
|
284
284
|
}
|
|
285
285
|
|
|
286
|
-
const effects: Array<Effect.Effect<
|
|
286
|
+
const effects: Array<Effect.Effect<void, any, any>> = []
|
|
287
287
|
const entries = Object.entries(renderable)
|
|
288
288
|
|
|
289
289
|
loop:
|
|
@@ -403,7 +403,7 @@ const RenderPartMap: RenderPartMap = {
|
|
|
403
403
|
return ctx.renderContext.queue.add(element, () => attr.value = values.join(""))
|
|
404
404
|
})
|
|
405
405
|
|
|
406
|
-
const effects: Array<Effect.Effect<
|
|
406
|
+
const effects: Array<Effect.Effect<void, any, any>> = []
|
|
407
407
|
|
|
408
408
|
for (let i = 0; i < templatePart.nodes.length; ++i) {
|
|
409
409
|
const node = templatePart.nodes[i]
|
|
@@ -420,7 +420,7 @@ const RenderPartMap: RenderPartMap = {
|
|
|
420
420
|
templatePart.name,
|
|
421
421
|
node.index,
|
|
422
422
|
({ value }) => setValue(value, index),
|
|
423
|
-
|
|
423
|
+
attr.value
|
|
424
424
|
),
|
|
425
425
|
(f) => Effect.zipRight(ctx.renderContext.queue.add(element, f), ctx.refCounter.release(node.index)),
|
|
426
426
|
() => ctx.expected++
|
|
@@ -461,7 +461,7 @@ const RenderPartMap: RenderPartMap = {
|
|
|
461
461
|
return ctx.renderContext.queue.add(comment, () => comment.textContent = values.join(""))
|
|
462
462
|
})
|
|
463
463
|
|
|
464
|
-
const effects: Array<Effect.Effect<
|
|
464
|
+
const effects: Array<Effect.Effect<void, any, any>> = []
|
|
465
465
|
|
|
466
466
|
for (let i = 0; i < templatePart.nodes.length; ++i) {
|
|
467
467
|
const node = templatePart.nodes[i]
|
|
@@ -551,7 +551,7 @@ export function renderPart2(
|
|
|
551
551
|
content: ParentChildNodes,
|
|
552
552
|
path: Chunk<number>,
|
|
553
553
|
ctx: RenderPartContext
|
|
554
|
-
): Effect.Effect<
|
|
554
|
+
): Effect.Effect<void, any, any> | Array<Effect.Effect<void, any, any>> | null {
|
|
555
555
|
return RenderPartMap[part._tag](part as any, findPath(content, path), ctx)
|
|
556
556
|
}
|
|
557
557
|
|
|
@@ -570,7 +570,7 @@ export const renderTemplate: (document: Document, renderContext: RenderContext)
|
|
|
570
570
|
return Fx.sync(() => DomRenderEvent(persistent(document.importNode(entry.content, true))))
|
|
571
571
|
}
|
|
572
572
|
|
|
573
|
-
return Fx.make<
|
|
573
|
+
return Fx.make<RenderEvent, Placeholder.Error<Values[number]>, Scope.Scope | Placeholder.Context<Values[number]>>((
|
|
574
574
|
sink
|
|
575
575
|
) => {
|
|
576
576
|
return Effect.gen(function*(_) {
|
|
@@ -592,13 +592,13 @@ export const renderTemplate: (document: Document, renderContext: RenderContext)
|
|
|
592
592
|
}
|
|
593
593
|
|
|
594
594
|
// Connect our interpolated values to our template parts
|
|
595
|
-
const effects: Array<Effect.Effect<Scope.Scope | Placeholder.Context<Values[number]
|
|
595
|
+
const effects: Array<Effect.Effect<void, never, Scope.Scope | Placeholder.Context<Values[number]>>> = []
|
|
596
596
|
for (const [part, path] of entry.template.parts) {
|
|
597
597
|
const eff = renderPart2(part, content, path, ctx)
|
|
598
598
|
if (eff !== null) {
|
|
599
599
|
effects.push(
|
|
600
600
|
...(Array.isArray(eff) ? eff : [eff]) as Array<
|
|
601
|
-
Effect.Effect<Scope.Scope | Placeholder.Context<Values[number]
|
|
601
|
+
Effect.Effect<void, never, Scope.Scope | Placeholder.Context<Values[number]>>
|
|
602
602
|
>
|
|
603
603
|
)
|
|
604
604
|
}
|
|
@@ -640,20 +640,20 @@ export const renderTemplate: (document: Document, renderContext: RenderContext)
|
|
|
640
640
|
})
|
|
641
641
|
}
|
|
642
642
|
|
|
643
|
-
function getEventHandler<
|
|
643
|
+
function getEventHandler<E, R>(
|
|
644
644
|
renderable: any,
|
|
645
645
|
ctx: Context.Context<any> | Context.Context<never>,
|
|
646
|
-
onCause: (cause: Cause<E>) => Effect.Effect<
|
|
646
|
+
onCause: (cause: Cause<E>) => Effect.Effect<unknown>
|
|
647
647
|
): EventHandler.EventHandler<never, never> | null {
|
|
648
648
|
if (renderable && typeof renderable === "object") {
|
|
649
649
|
if (EventHandler.EventHandlerTypeId in renderable) {
|
|
650
650
|
return EventHandler.make(
|
|
651
651
|
(ev) =>
|
|
652
652
|
Effect.provide(
|
|
653
|
-
Effect.catchAllCause((renderable as EventHandler.EventHandler<
|
|
653
|
+
Effect.catchAllCause((renderable as EventHandler.EventHandler<Event, E, R>).handler(ev), onCause),
|
|
654
654
|
ctx as any
|
|
655
655
|
),
|
|
656
|
-
(renderable as EventHandler.EventHandler<
|
|
656
|
+
(renderable as EventHandler.EventHandler<Event, E, R>).options
|
|
657
657
|
)
|
|
658
658
|
} else if (Effect.EffectTypeId in renderable) {
|
|
659
659
|
return EventHandler.make(() => Effect.provide(Effect.catchAllCause(renderable, onCause), ctx))
|
|
@@ -665,8 +665,8 @@ function getEventHandler<R, E>(
|
|
|
665
665
|
|
|
666
666
|
function handlePart<R, E, R2>(
|
|
667
667
|
renderable: unknown,
|
|
668
|
-
sink: Sink.Sink<
|
|
669
|
-
): Effect.Effect<R | R2 | Scope.Scope
|
|
668
|
+
sink: Sink.Sink<any, any, R2>
|
|
669
|
+
): Effect.Effect<any, never, R | R2 | Scope.Scope> {
|
|
670
670
|
switch (typeof renderable) {
|
|
671
671
|
case "undefined":
|
|
672
672
|
case "object": {
|
|
@@ -676,9 +676,9 @@ function handlePart<R, E, R2>(
|
|
|
676
676
|
? sink.onSuccess(null)
|
|
677
677
|
: Fx.tuple(renderable.map(unwrapRenderable)).run(sink) as any
|
|
678
678
|
} else if (TypeId in renderable) {
|
|
679
|
-
return (renderable as Fx.Fx<R | R2
|
|
679
|
+
return (renderable as Fx.Fx<any, any, R | R2>).run(sink)
|
|
680
680
|
} else if (Effect.EffectTypeId in renderable) {
|
|
681
|
-
return Effect.matchCauseEffect(renderable as Effect.Effect<
|
|
681
|
+
return Effect.matchCauseEffect(renderable as Effect.Effect<any, E, R>, sink)
|
|
682
682
|
} else return sink.onSuccess(renderable)
|
|
683
683
|
}
|
|
684
684
|
default:
|
|
@@ -686,7 +686,7 @@ function handlePart<R, E, R2>(
|
|
|
686
686
|
}
|
|
687
687
|
}
|
|
688
688
|
|
|
689
|
-
function unwrapRenderable<
|
|
689
|
+
function unwrapRenderable<E, R>(renderable: unknown): Fx.Fx<any, E, R> {
|
|
690
690
|
switch (typeof renderable) {
|
|
691
691
|
case "undefined":
|
|
692
692
|
case "object": {
|
|
@@ -698,7 +698,7 @@ function unwrapRenderable<R, E>(renderable: unknown): Fx.Fx<R, E, any> {
|
|
|
698
698
|
} else if (TypeId in renderable) {
|
|
699
699
|
return renderable as any
|
|
700
700
|
} else if (Effect.EffectTypeId in renderable) {
|
|
701
|
-
return Fx.fromFxEffect(Effect.map(renderable as any, unwrapRenderable<
|
|
701
|
+
return Fx.fromFxEffect(Effect.map(renderable as any, unwrapRenderable<E, R>))
|
|
702
702
|
} else return Fx.succeed(renderable as any)
|
|
703
703
|
}
|
|
704
704
|
default:
|
|
@@ -710,7 +710,7 @@ export function attachRoot<T extends RenderEvent | null>(
|
|
|
710
710
|
cache: RenderContext["renderCache"],
|
|
711
711
|
where: HTMLElement,
|
|
712
712
|
what: RenderEvent | null // TODO: Should we support HTML RenderEvents here too?
|
|
713
|
-
): Effect.Effect<
|
|
713
|
+
): Effect.Effect<ToRendered<T>> {
|
|
714
714
|
return Effect.sync(() => {
|
|
715
715
|
const wire = what?.valueOf() as ToRendered<T>
|
|
716
716
|
const previous = cache.get(where)
|
|
@@ -883,7 +883,7 @@ function matchSettablePart(
|
|
|
883
883
|
renderable: Renderable<any, any>,
|
|
884
884
|
setValue: (value: any) => void,
|
|
885
885
|
makePart: () => Part,
|
|
886
|
-
schedule: (f: () => void) => Effect.Effect<
|
|
886
|
+
schedule: (f: () => void) => Effect.Effect<void, never, Scope.Scope>,
|
|
887
887
|
expect: () => void
|
|
888
888
|
) {
|
|
889
889
|
return matchRenderable(renderable, {
|
|
@@ -897,7 +897,8 @@ function matchSettablePart(
|
|
|
897
897
|
},
|
|
898
898
|
Directive: (directive) => {
|
|
899
899
|
expect()
|
|
900
|
-
|
|
900
|
+
const part = makePart()
|
|
901
|
+
return Effect.flatMap(directive(part), () => schedule(() => setValue(part.value)))
|
|
901
902
|
},
|
|
902
903
|
Otherwise: (otherwise) => {
|
|
903
904
|
setValue(otherwise)
|
|
@@ -907,11 +908,11 @@ function matchSettablePart(
|
|
|
907
908
|
}
|
|
908
909
|
|
|
909
910
|
function matchRenderable(renderable: Renderable<any, any>, matches: {
|
|
910
|
-
Fx: (fx: Fx.Fx<any, any, any>) => Effect.Effect<
|
|
911
|
-
Effect: (effect: Effect.Effect<any, any, any>) => Effect.Effect<
|
|
912
|
-
Directive: (directive: Directive<any, any>) => Effect.Effect<
|
|
913
|
-
Otherwise: (_: Renderable<any, any>) => Effect.Effect<
|
|
914
|
-
}): Effect.Effect<
|
|
911
|
+
Fx: (fx: Fx.Fx<any, any, any>) => Effect.Effect<void, any, any> | null
|
|
912
|
+
Effect: (effect: Effect.Effect<any, any, any>) => Effect.Effect<void, any, any> | null
|
|
913
|
+
Directive: (directive: Directive<any, any>) => Effect.Effect<void, any, any> | null
|
|
914
|
+
Otherwise: (_: Renderable<any, any>) => Effect.Effect<void, any, any> | null
|
|
915
|
+
}): Effect.Effect<void, any, any> | null {
|
|
915
916
|
if (Fx.isFx(renderable)) {
|
|
916
917
|
return matches.Fx(renderable)
|
|
917
918
|
} else if (Effect.isEffect(renderable)) {
|
package/src/internal/server.ts
CHANGED
|
@@ -70,14 +70,13 @@ type RenderChunkMap = {
|
|
|
70
70
|
chunk: Extract<HtmlChunk, { _tag: K }>,
|
|
71
71
|
index: number,
|
|
72
72
|
values: ReadonlyArray<Renderable<any, any>>,
|
|
73
|
-
onChunk: (index: number, value: string) => Effect.Effect<
|
|
73
|
+
onChunk: (index: number, value: string) => Effect.Effect<void>
|
|
74
74
|
) => RenderChunk<R, E>
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
const renderChunkMap: RenderChunkMap = {
|
|
78
78
|
text: (chunk, index) => new TextRenderChunk(index, chunk.value),
|
|
79
79
|
part: (chunk, index, values, onChunk) =>
|
|
80
|
-
// @ts-expect-error
|
|
81
80
|
new PartRenderChunk(
|
|
82
81
|
index,
|
|
83
82
|
chunk,
|
|
@@ -85,7 +84,6 @@ const renderChunkMap: RenderChunkMap = {
|
|
|
85
84
|
values[chunk.node.index]
|
|
86
85
|
),
|
|
87
86
|
"sparse-part": (chunk, index, values, onChunk) =>
|
|
88
|
-
// @ts-expect-error
|
|
89
87
|
new SparsePartRenderChunk(
|
|
90
88
|
index,
|
|
91
89
|
chunk,
|
|
@@ -98,7 +96,7 @@ const renderChunkMap: RenderChunkMap = {
|
|
|
98
96
|
export function htmlChunksToRenderChunks<R, E>(
|
|
99
97
|
chunks: ReadonlyArray<HtmlChunk>,
|
|
100
98
|
values: ReadonlyArray<Renderable<R, E>>,
|
|
101
|
-
onChunk: (index: number, value: string) => Effect.Effect<
|
|
99
|
+
onChunk: (index: number, value: string) => Effect.Effect<void>
|
|
102
100
|
) {
|
|
103
101
|
const output: Array<RenderChunk<R, E>> = Array(chunks.length)
|
|
104
102
|
|
|
@@ -113,7 +111,7 @@ export function htmlChunksToRenderChunks<R, E>(
|
|
|
113
111
|
type PartNodeMap = {
|
|
114
112
|
readonly [K in PartNode["_tag"]]: (
|
|
115
113
|
node: Extract<PartNode, { _tag: K }>,
|
|
116
|
-
onChunk: (value: unknown) => Effect.Effect<
|
|
114
|
+
onChunk: (value: unknown) => Effect.Effect<void>
|
|
117
115
|
) => Part
|
|
118
116
|
}
|
|
119
117
|
|
|
@@ -137,14 +135,14 @@ const partNodeMap: PartNodeMap = {
|
|
|
137
135
|
|
|
138
136
|
export function partNodeToPart(
|
|
139
137
|
node: PartNode,
|
|
140
|
-
onChunk: (value: unknown) => Effect.Effect<
|
|
138
|
+
onChunk: (value: unknown) => Effect.Effect<void>
|
|
141
139
|
): Part {
|
|
142
140
|
return partNodeMap[node._tag](node as any, onChunk)
|
|
143
141
|
}
|
|
144
142
|
|
|
145
143
|
function sparsePartNodeToPart(
|
|
146
144
|
node: SparsePartNode,
|
|
147
|
-
onChunk: (value: string | null) => Effect.Effect<
|
|
145
|
+
onChunk: (value: string | null) => Effect.Effect<void>
|
|
148
146
|
) {
|
|
149
147
|
if (node._tag === "sparse-attr") {
|
|
150
148
|
return renderSparseAttr(node, onChunk)
|
|
@@ -157,7 +155,7 @@ function sparsePartNodeToPart(
|
|
|
157
155
|
|
|
158
156
|
function renderSparseAttr(
|
|
159
157
|
attrNode: SparseAttrNode,
|
|
160
|
-
setAttribute: (value: string | null) => Effect.Effect<
|
|
158
|
+
setAttribute: (value: string | null) => Effect.Effect<void>
|
|
161
159
|
): SparseAttributePart {
|
|
162
160
|
const { nodes } = attrNode
|
|
163
161
|
const values: Map<number, string | null> = new Map()
|
|
@@ -204,7 +202,7 @@ function renderSparseAttr(
|
|
|
204
202
|
|
|
205
203
|
function renderSparseClassName(
|
|
206
204
|
classNameNode: SparseClassNameNode,
|
|
207
|
-
setClassName: (value: string | null) => Effect.Effect<
|
|
205
|
+
setClassName: (value: string | null) => Effect.Effect<void>
|
|
208
206
|
): SparseClassNamePart {
|
|
209
207
|
const { nodes } = classNameNode
|
|
210
208
|
const values: Map<number, string | null> = new Map()
|
|
@@ -250,7 +248,7 @@ function renderSparseClassName(
|
|
|
250
248
|
|
|
251
249
|
function renderSparseComment(
|
|
252
250
|
commentNode: SparseCommentNode,
|
|
253
|
-
setComment: (value: string | null) => Effect.Effect<
|
|
251
|
+
setComment: (value: string | null) => Effect.Effect<void>
|
|
254
252
|
): SparseCommentPart {
|
|
255
253
|
const { nodes } = commentNode
|
|
256
254
|
const values: Map<number, string | null | undefined> = new Map()
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.TemplateInstance = TemplateInstance;
|
|
7
|
-
exports.TemplateInstanceTypeId = void 0;
|
|
8
|
-
var _Fx = /*#__PURE__*/require("@typed/fx/Fx");
|
|
9
|
-
var _ElementRef = /*#__PURE__*/require("./ElementRef.js");
|
|
10
|
-
/**
|
|
11
|
-
* @since 1.0.0
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @since 1.0.0
|
|
16
|
-
*/
|
|
17
|
-
const TemplateInstanceTypeId = exports.TemplateInstanceTypeId = /*#__PURE__*/Symbol.for("@typed/template/TemplateInstance");
|
|
18
|
-
/**
|
|
19
|
-
* @since 1.0.0
|
|
20
|
-
*/
|
|
21
|
-
function TemplateInstance(events, ref) {
|
|
22
|
-
return new TemplateInstanceImpl(events, ref);
|
|
23
|
-
}
|
|
24
|
-
// @ts-expect-error does not implement Placeholder
|
|
25
|
-
class TemplateInstanceImpl extends _Fx.FxEffectBase {
|
|
26
|
-
i0;
|
|
27
|
-
i1;
|
|
28
|
-
[TemplateInstanceTypeId] = TemplateInstanceTypeId;
|
|
29
|
-
query;
|
|
30
|
-
events;
|
|
31
|
-
elements;
|
|
32
|
-
dispatchEvent;
|
|
33
|
-
version;
|
|
34
|
-
constructor(i0, i1) {
|
|
35
|
-
super();
|
|
36
|
-
this.i0 = i0;
|
|
37
|
-
this.i1 = i1;
|
|
38
|
-
this.query = this.i1.query;
|
|
39
|
-
this.events = this.i1.events;
|
|
40
|
-
this.elements = this.i1.elements;
|
|
41
|
-
this.dispatchEvent = this.i1.dispatchEvent;
|
|
42
|
-
this.version = this.i1[_ElementRef.ElementRefTypeId].version;
|
|
43
|
-
}
|
|
44
|
-
toFx() {
|
|
45
|
-
return this.i0;
|
|
46
|
-
}
|
|
47
|
-
toEffect() {
|
|
48
|
-
return this.i1;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=TemplateInstance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateInstance.js","names":["_Fx","require","_ElementRef","TemplateInstanceTypeId","exports","Symbol","for","TemplateInstance","events","ref","TemplateInstanceImpl","FxEffectBase","i0","i1","query","elements","dispatchEvent","version","constructor","ElementRefTypeId","toFx","toEffect"],"sources":["../../src/TemplateInstance.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAKA,IAAAA,GAAA,gBAAAC,OAAA;AAMA,IAAAC,WAAA,gBAAAD,OAAA;AAXA;;;;AAcA;;;AAGO,MAAME,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAuBpF;;;AAGM,SAAUC,gBAAgBA,CAC9BC,MAAoC,EACpCC,GAAkB;EAElB,OAAO,IAAIC,oBAAoB,CAACF,MAAM,EAAEC,GAAG,CAAQ;AACrD;AAEA;AACA,MAAMC,oBACJ,SAAQC,gBAAyE;EAWtEC,EAAA;EACAC,EAAA;EATF,CAACV,sBAAsB,IAA4BA,sBAAsB;EAClFW,KAAK;EACLN,MAAM;EACNO,QAAQ;EACRC,aAAa;EACbC,OAAO;EAEPC,YACWN,EAAgC,EAChCC,EAAiB;IAE1B,KAAK,EAAE;IAHE,KAAAD,EAAE,GAAFA,EAAE;IACF,KAAAC,EAAE,GAAFA,EAAE;IAIX,IAAI,CAACC,KAAK,GAAG,IAAI,CAACD,EAAE,CAACC,KAAK;IAC1B,IAAI,CAACN,MAAM,GAAG,IAAI,CAACK,EAAE,CAACL,MAAM;IAC5B,IAAI,CAACO,QAAQ,GAAG,IAAI,CAACF,EAAE,CAACE,QAAQ;IAChC,IAAI,CAACC,aAAa,GAAG,IAAI,CAACH,EAAE,CAACG,aAAa;IAC1C,IAAI,CAACC,OAAO,GAAG,IAAI,CAACJ,EAAE,CAACM,4BAAgB,CAAC,CAACF,OAAO;EAClD;EAEAG,IAAIA,CAAA;IACF,OAAO,IAAI,CAACR,EAAE;EAChB;EAEAS,QAAQA,CAAA;IACN,OAAO,IAAI,CAACR,EAAE;EAChB"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 1.0.0
|
|
3
|
-
*/
|
|
4
|
-
import type * as Fx from "@typed/fx/Fx";
|
|
5
|
-
import type * as Versioned from "@typed/fx/Versioned";
|
|
6
|
-
import type { Rendered } from "@typed/wire";
|
|
7
|
-
import type { NoSuchElementException } from "effect/Cause";
|
|
8
|
-
import type { Scope } from "effect/Scope";
|
|
9
|
-
import { type ElementRef } from "./ElementRef.js";
|
|
10
|
-
import type { RenderEvent } from "./RenderEvent.js";
|
|
11
|
-
/**
|
|
12
|
-
* @since 1.0.0
|
|
13
|
-
*/
|
|
14
|
-
export declare const TemplateInstanceTypeId: unique symbol;
|
|
15
|
-
/**
|
|
16
|
-
* @since 1.0.0
|
|
17
|
-
*/
|
|
18
|
-
export type TemplateInstanceTypeId = typeof TemplateInstanceTypeId;
|
|
19
|
-
/**
|
|
20
|
-
* @since 1.0.0
|
|
21
|
-
*/
|
|
22
|
-
export interface TemplateInstance<E, T extends Rendered = Rendered> extends Versioned.Versioned<never, never, Scope, E, RenderEvent, never, E | NoSuchElementException, T> {
|
|
23
|
-
readonly [TemplateInstanceTypeId]: TemplateInstanceTypeId;
|
|
24
|
-
readonly query: ElementRef<T>["query"];
|
|
25
|
-
readonly events: ElementRef<T>["events"];
|
|
26
|
-
readonly elements: ElementRef<T>["elements"];
|
|
27
|
-
readonly dispatchEvent: ElementRef<T>["dispatchEvent"];
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* @since 1.0.0
|
|
31
|
-
*/
|
|
32
|
-
export declare function TemplateInstance<T extends Rendered = Rendered, E = never>(events: Fx.Fx<Scope, E, RenderEvent>, ref: ElementRef<T>): TemplateInstance<E, T>;
|
|
33
|
-
//# sourceMappingURL=TemplateInstance.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateInstance.d.ts","sourceRoot":"","sources":["../../src/TemplateInstance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,KAAK,KAAK,SAAS,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,iBAAiB,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,sBAAsB,eAAiD,CAAA;AACpF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAChE,SAAQ,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,sBAAsB,EAAE,CAAC,CAAC;IAEtG,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAEzD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAEtC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAExC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAE5C,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;CACvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,EACvE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,CAAC,EACpC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GACjB,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAExB"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 1.0.0
|
|
3
|
-
*/
|
|
4
|
-
import { FxEffectBase } from "@typed/fx/Fx";
|
|
5
|
-
import { ElementRefTypeId } from "./ElementRef.js";
|
|
6
|
-
/**
|
|
7
|
-
* @since 1.0.0
|
|
8
|
-
*/
|
|
9
|
-
export const TemplateInstanceTypeId = Symbol.for("@typed/template/TemplateInstance");
|
|
10
|
-
/**
|
|
11
|
-
* @since 1.0.0
|
|
12
|
-
*/
|
|
13
|
-
export function TemplateInstance(events, ref) {
|
|
14
|
-
return new TemplateInstanceImpl(events, ref);
|
|
15
|
-
}
|
|
16
|
-
// @ts-expect-error does not implement Placeholder
|
|
17
|
-
class TemplateInstanceImpl extends FxEffectBase {
|
|
18
|
-
i0;
|
|
19
|
-
i1;
|
|
20
|
-
[TemplateInstanceTypeId] = TemplateInstanceTypeId;
|
|
21
|
-
query;
|
|
22
|
-
events;
|
|
23
|
-
elements;
|
|
24
|
-
dispatchEvent;
|
|
25
|
-
version;
|
|
26
|
-
constructor(i0, i1) {
|
|
27
|
-
super();
|
|
28
|
-
this.i0 = i0;
|
|
29
|
-
this.i1 = i1;
|
|
30
|
-
this.query = this.i1.query;
|
|
31
|
-
this.events = this.i1.events;
|
|
32
|
-
this.elements = this.i1.elements;
|
|
33
|
-
this.dispatchEvent = this.i1.dispatchEvent;
|
|
34
|
-
this.version = this.i1[ElementRefTypeId].version;
|
|
35
|
-
}
|
|
36
|
-
toFx() {
|
|
37
|
-
return this.i0;
|
|
38
|
-
}
|
|
39
|
-
toEffect() {
|
|
40
|
-
return this.i1;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=TemplateInstance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateInstance.js","sourceRoot":"","sources":["../../src/TemplateInstance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAM3C,OAAO,EAAmB,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAGnE;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;AAuBpF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAoC,EACpC,GAAkB;IAElB,OAAO,IAAI,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAQ,CAAA;AACrD,CAAC;AAED,kDAAkD;AAClD,MAAM,oBACJ,SAAQ,YAAyE;IAWtE;IACA;IATF,CAAC,sBAAsB,CAAC,GAA2B,sBAAsB,CAAA;IAClF,KAAK,CAAiC;IACtC,MAAM,CAAkC;IACxC,QAAQ,CAAoC;IAC5C,aAAa,CAAyC;IACtD,OAAO,CAAqC;IAE5C,YACW,EAAgC,EAChC,EAAiB;QAE1B,KAAK,EAAE,CAAA;QAHE,OAAE,GAAF,EAAE,CAA8B;QAChC,OAAE,GAAF,EAAE,CAAe;QAI1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAA;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAA;IAClD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;CACF"}
|
package/src/TemplateInstance.ts
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 1.0.0
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import type * as Fx from "@typed/fx/Fx"
|
|
6
|
-
import { FxEffectBase } from "@typed/fx/Fx"
|
|
7
|
-
import type * as Versioned from "@typed/fx/Versioned"
|
|
8
|
-
import type { Rendered } from "@typed/wire"
|
|
9
|
-
import type { NoSuchElementException } from "effect/Cause"
|
|
10
|
-
import type * as Effect from "effect/Effect"
|
|
11
|
-
import type { Scope } from "effect/Scope"
|
|
12
|
-
import { type ElementRef, ElementRefTypeId } from "./ElementRef.js"
|
|
13
|
-
import type { RenderEvent } from "./RenderEvent.js"
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @since 1.0.0
|
|
17
|
-
*/
|
|
18
|
-
export const TemplateInstanceTypeId = Symbol.for("@typed/template/TemplateInstance")
|
|
19
|
-
/**
|
|
20
|
-
* @since 1.0.0
|
|
21
|
-
*/
|
|
22
|
-
export type TemplateInstanceTypeId = typeof TemplateInstanceTypeId
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* @since 1.0.0
|
|
26
|
-
*/
|
|
27
|
-
export interface TemplateInstance<E, T extends Rendered = Rendered>
|
|
28
|
-
extends Versioned.Versioned<never, never, Scope, E, RenderEvent, never, E | NoSuchElementException, T>
|
|
29
|
-
{
|
|
30
|
-
readonly [TemplateInstanceTypeId]: TemplateInstanceTypeId
|
|
31
|
-
|
|
32
|
-
readonly query: ElementRef<T>["query"]
|
|
33
|
-
|
|
34
|
-
readonly events: ElementRef<T>["events"]
|
|
35
|
-
|
|
36
|
-
readonly elements: ElementRef<T>["elements"]
|
|
37
|
-
|
|
38
|
-
readonly dispatchEvent: ElementRef<T>["dispatchEvent"]
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* @since 1.0.0
|
|
43
|
-
*/
|
|
44
|
-
export function TemplateInstance<T extends Rendered = Rendered, E = never>(
|
|
45
|
-
events: Fx.Fx<Scope, E, RenderEvent>,
|
|
46
|
-
ref: ElementRef<T>
|
|
47
|
-
): TemplateInstance<E, T> {
|
|
48
|
-
return new TemplateInstanceImpl(events, ref) as any
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// @ts-expect-error does not implement Placeholder
|
|
52
|
-
class TemplateInstanceImpl<E, T extends Rendered>
|
|
53
|
-
extends FxEffectBase<Scope, E, RenderEvent, never, E | NoSuchElementException, T>
|
|
54
|
-
implements TemplateInstance<E, T>
|
|
55
|
-
{
|
|
56
|
-
readonly [TemplateInstanceTypeId]: TemplateInstanceTypeId = TemplateInstanceTypeId
|
|
57
|
-
query: TemplateInstance<E, T>["query"]
|
|
58
|
-
events: TemplateInstance<E, T>["events"]
|
|
59
|
-
elements: TemplateInstance<E, T>["elements"]
|
|
60
|
-
dispatchEvent: TemplateInstance<E, T>["dispatchEvent"]
|
|
61
|
-
version: Effect.Effect<never, never, number>
|
|
62
|
-
|
|
63
|
-
constructor(
|
|
64
|
-
readonly i0: Fx.Fx<Scope, E, RenderEvent>,
|
|
65
|
-
readonly i1: ElementRef<T>
|
|
66
|
-
) {
|
|
67
|
-
super()
|
|
68
|
-
|
|
69
|
-
this.query = this.i1.query
|
|
70
|
-
this.events = this.i1.events
|
|
71
|
-
this.elements = this.i1.elements
|
|
72
|
-
this.dispatchEvent = this.i1.dispatchEvent
|
|
73
|
-
this.version = this.i1[ElementRefTypeId].version
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
toFx(): Fx.Fx<Scope, E, RenderEvent> {
|
|
77
|
-
return this.i0
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
toEffect(): Effect.Effect<never, E | NoSuchElementException, T> {
|
|
81
|
-
return this.i1
|
|
82
|
-
}
|
|
83
|
-
}
|