@typed/template 0.1.4 → 0.3.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/Directive/package.json +6 -0
- package/ElementRef/package.json +6 -0
- package/ElementSource/package.json +6 -0
- package/Entry/package.json +6 -0
- package/EventHandler/package.json +6 -0
- package/Html/package.json +6 -0
- package/HtmlChunk/package.json +6 -0
- package/Hydrate/package.json +6 -0
- package/Many/package.json +6 -0
- package/Meta/package.json +6 -0
- package/Parser/package.json +6 -0
- package/Part/package.json +6 -0
- package/Placeholder/package.json +6 -0
- package/Platform/package.json +6 -0
- package/Render/package.json +6 -0
- package/RenderContext/package.json +6 -0
- package/RenderEvent/package.json +6 -0
- package/RenderTemplate/package.json +6 -0
- package/Renderable/package.json +6 -0
- package/Template/package.json +6 -0
- package/TemplateInstance/package.json +6 -0
- package/Test/package.json +6 -0
- package/Vitest/package.json +6 -0
- package/dist/cjs/Directive.js +1 -1
- package/dist/cjs/Directive.js.map +1 -1
- package/dist/cjs/ElementRef.js +23 -13
- package/dist/cjs/ElementRef.js.map +1 -1
- package/dist/cjs/ElementSource.js +16 -18
- package/dist/cjs/ElementSource.js.map +1 -1
- package/dist/cjs/EventHandler.js +1 -1
- package/dist/cjs/EventHandler.js.map +1 -1
- package/dist/cjs/Html.js +31 -32
- package/dist/cjs/Html.js.map +1 -1
- package/dist/cjs/HtmlChunk.js +4 -1
- package/dist/cjs/HtmlChunk.js.map +1 -1
- package/dist/cjs/Hydrate.js +1 -1
- package/dist/cjs/Hydrate.js.map +1 -1
- package/dist/cjs/Many.js +14 -13
- package/dist/cjs/Many.js.map +1 -1
- package/dist/cjs/Parser.js +11 -323
- package/dist/cjs/Parser.js.map +1 -1
- package/dist/cjs/Placeholder.js +3 -3
- package/dist/cjs/Placeholder.js.map +1 -1
- package/dist/cjs/Platform.js +4 -4
- package/dist/cjs/Platform.js.map +1 -1
- package/dist/cjs/Render.js +1 -1
- package/dist/cjs/Render.js.map +1 -1
- package/dist/cjs/RenderContext.js +48 -27
- package/dist/cjs/RenderContext.js.map +1 -1
- package/dist/cjs/RenderTemplate.js +2 -17
- package/dist/cjs/RenderTemplate.js.map +1 -1
- package/dist/cjs/Template.js +27 -1
- package/dist/cjs/Template.js.map +1 -1
- package/dist/cjs/TemplateInstance.js +2 -2
- package/dist/cjs/TemplateInstance.js.map +1 -1
- package/dist/cjs/Test.js +20 -7
- package/dist/cjs/Test.js.map +1 -1
- package/dist/cjs/index.js +0 -12
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/EventSource.js +95 -0
- package/dist/cjs/internal/EventSource.js.map +1 -0
- package/dist/cjs/internal/browser.js +11 -11
- package/dist/cjs/internal/browser.js.map +1 -1
- package/dist/cjs/internal/hydrate.js +49 -50
- package/dist/cjs/internal/hydrate.js.map +1 -1
- package/dist/cjs/internal/indexRefCounter.js +49 -2
- package/dist/cjs/internal/indexRefCounter.js.map +1 -1
- package/dist/cjs/internal/parser.js +60 -17
- package/dist/cjs/internal/parser.js.map +1 -1
- package/dist/cjs/internal/parts.js +128 -28
- package/dist/cjs/internal/parts.js.map +1 -1
- package/dist/cjs/internal/render.js +486 -53
- package/dist/cjs/internal/render.js.map +1 -1
- package/dist/cjs/internal/server.js +5 -2
- package/dist/cjs/internal/server.js.map +1 -1
- package/dist/dts/Directive.d.ts.map +1 -1
- package/dist/dts/ElementRef.d.ts +4 -2
- package/dist/dts/ElementRef.d.ts.map +1 -1
- package/dist/dts/ElementSource.d.ts +10 -5
- package/dist/dts/ElementSource.d.ts.map +1 -1
- package/dist/dts/EventHandler.d.ts.map +1 -1
- package/dist/dts/Html.d.ts +1 -1
- package/dist/dts/Html.d.ts.map +1 -1
- package/dist/dts/HtmlChunk.d.ts.map +1 -1
- package/dist/dts/Many.d.ts +13 -11
- package/dist/dts/Many.d.ts.map +1 -1
- package/dist/dts/Parser.d.ts +3 -6
- package/dist/dts/Parser.d.ts.map +1 -1
- package/dist/dts/Part.d.ts +13 -3
- package/dist/dts/Part.d.ts.map +1 -1
- package/dist/dts/Placeholder.d.ts +2 -2
- package/dist/dts/Placeholder.d.ts.map +1 -1
- package/dist/dts/Render.d.ts +2 -1
- package/dist/dts/Render.d.ts.map +1 -1
- package/dist/dts/RenderContext.d.ts +5 -4
- package/dist/dts/RenderContext.d.ts.map +1 -1
- package/dist/dts/RenderTemplate.d.ts +2 -16
- package/dist/dts/RenderTemplate.d.ts.map +1 -1
- package/dist/dts/Renderable.d.ts +2 -2
- package/dist/dts/Renderable.d.ts.map +1 -1
- package/dist/dts/Template.d.ts +21 -3
- package/dist/dts/Template.d.ts.map +1 -1
- package/dist/dts/TemplateInstance.d.ts +3 -2
- package/dist/dts/TemplateInstance.d.ts.map +1 -1
- package/dist/dts/Test.d.ts +4 -6
- package/dist/dts/Test.d.ts.map +1 -1
- package/dist/dts/index.d.ts +0 -4
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/EventSource.d.ts +12 -0
- package/dist/dts/internal/EventSource.d.ts.map +1 -0
- package/dist/dts/internal/browser.d.ts.map +1 -1
- package/dist/dts/internal/hydrate.d.ts +5 -5
- package/dist/dts/internal/hydrate.d.ts.map +1 -1
- package/dist/dts/internal/indexRefCounter.d.ts +5 -0
- package/dist/dts/internal/indexRefCounter.d.ts.map +1 -1
- package/dist/dts/internal/module-augmentation.d.ts +0 -4
- package/dist/dts/internal/module-augmentation.d.ts.map +1 -1
- package/dist/dts/internal/parser.d.ts +8 -0
- package/dist/dts/internal/parser.d.ts.map +1 -1
- package/dist/dts/internal/parts.d.ts +66 -56
- package/dist/dts/internal/parts.d.ts.map +1 -1
- package/dist/dts/internal/render.d.ts +7 -7
- package/dist/dts/internal/render.d.ts.map +1 -1
- package/dist/dts/internal/server.d.ts.map +1 -1
- package/dist/esm/Directive.js +1 -1
- package/dist/esm/Directive.js.map +1 -1
- package/dist/esm/ElementRef.js +12 -7
- package/dist/esm/ElementRef.js.map +1 -1
- package/dist/esm/ElementSource.js +16 -13
- package/dist/esm/ElementSource.js.map +1 -1
- package/dist/esm/EventHandler.js +1 -1
- package/dist/esm/EventHandler.js.map +1 -1
- package/dist/esm/Html.js +29 -24
- package/dist/esm/Html.js.map +1 -1
- package/dist/esm/HtmlChunk.js +6 -1
- package/dist/esm/HtmlChunk.js.map +1 -1
- package/dist/esm/Hydrate.js +1 -1
- package/dist/esm/Hydrate.js.map +1 -1
- package/dist/esm/Many.js +14 -10
- package/dist/esm/Many.js.map +1 -1
- package/dist/esm/Parser.js +6 -335
- package/dist/esm/Parser.js.map +1 -1
- package/dist/esm/Placeholder.js +2 -2
- package/dist/esm/Placeholder.js.map +1 -1
- package/dist/esm/Platform.js +2 -2
- package/dist/esm/Platform.js.map +1 -1
- package/dist/esm/Render.js +1 -1
- package/dist/esm/Render.js.map +1 -1
- package/dist/esm/RenderContext.js +38 -17
- package/dist/esm/RenderContext.js.map +1 -1
- package/dist/esm/RenderTemplate.js +2 -12
- package/dist/esm/RenderTemplate.js.map +1 -1
- package/dist/esm/Template.js +24 -0
- package/dist/esm/Template.js.map +1 -1
- package/dist/esm/TemplateInstance.js +2 -2
- package/dist/esm/TemplateInstance.js.map +1 -1
- package/dist/esm/Test.js +20 -7
- package/dist/esm/Test.js.map +1 -1
- package/dist/esm/index.js +0 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/EventSource.js +91 -0
- package/dist/esm/internal/EventSource.js.map +1 -0
- package/dist/esm/internal/browser.js +12 -12
- package/dist/esm/internal/browser.js.map +1 -1
- package/dist/esm/internal/hydrate.js +45 -46
- package/dist/esm/internal/hydrate.js.map +1 -1
- package/dist/esm/internal/indexRefCounter.js +50 -2
- package/dist/esm/internal/indexRefCounter.js.map +1 -1
- package/dist/esm/internal/parser.js +84 -17
- package/dist/esm/internal/parser.js.map +1 -1
- package/dist/esm/internal/parts.js +110 -27
- package/dist/esm/internal/parts.js.map +1 -1
- package/dist/esm/internal/render.js +476 -58
- package/dist/esm/internal/render.js.map +1 -1
- package/dist/esm/internal/server.js +5 -4
- package/dist/esm/internal/server.js.map +1 -1
- package/package.json +10 -26
- package/src/Directive.ts +1 -1
- package/src/ElementRef.ts +18 -14
- package/src/ElementSource.ts +62 -47
- package/src/EventHandler.ts +1 -1
- package/src/Html.ts +58 -57
- package/src/HtmlChunk.ts +15 -1
- package/src/Hydrate.ts +1 -1
- package/src/Many.ts +53 -43
- package/src/Parser.ts +10 -453
- package/src/Part.ts +15 -3
- package/src/Placeholder.ts +4 -4
- package/src/Platform.ts +2 -2
- package/src/Render.ts +7 -2
- package/src/RenderContext.ts +49 -21
- package/src/RenderTemplate.ts +9 -54
- package/src/Renderable.ts +2 -1
- package/src/Template.ts +26 -0
- package/src/TemplateInstance.ts +9 -9
- package/src/Test.ts +40 -21
- package/src/index.ts +0 -4
- package/src/internal/EventSource.ts +153 -0
- package/src/internal/browser.ts +26 -25
- package/src/internal/hydrate.ts +68 -61
- package/src/internal/indexRefCounter.ts +63 -2
- package/src/internal/module-augmentation.ts +0 -4
- package/src/internal/parser.ts +92 -19
- package/src/internal/parts.ts +158 -73
- package/src/internal/render.ts +701 -89
- package/src/internal/server.ts +5 -3
- package/dist/cjs/Token.js +0 -270
- package/dist/cjs/Token.js.map +0 -1
- package/dist/cjs/Tokenizer.js +0 -18
- package/dist/cjs/Tokenizer.js.map +0 -1
- package/dist/cjs/internal/readAttribute.js +0 -34
- package/dist/cjs/internal/readAttribute.js.map +0 -1
- package/dist/cjs/internal/tokenizer.js +0 -264
- package/dist/cjs/internal/tokenizer.js.map +0 -1
- package/dist/dts/Token.d.ts +0 -202
- package/dist/dts/Token.d.ts.map +0 -1
- package/dist/dts/Tokenizer.d.ts +0 -6
- package/dist/dts/Tokenizer.d.ts.map +0 -1
- package/dist/dts/internal/readAttribute.d.ts +0 -9
- package/dist/dts/internal/readAttribute.d.ts.map +0 -1
- package/dist/dts/internal/tokenizer.d.ts +0 -3
- package/dist/dts/internal/tokenizer.d.ts.map +0 -1
- package/dist/esm/Token.js +0 -264
- package/dist/esm/Token.js.map +0 -1
- package/dist/esm/Tokenizer.js +0 -9
- package/dist/esm/Tokenizer.js.map +0 -1
- package/dist/esm/internal/readAttribute.js +0 -24
- package/dist/esm/internal/readAttribute.js.map +0 -1
- package/dist/esm/internal/tokenizer.js +0 -296
- package/dist/esm/internal/tokenizer.js.map +0 -1
- package/src/Token.ts +0 -269
- package/src/Tokenizer.ts +0 -10
- package/src/internal/readAttribute.ts +0 -28
- package/src/internal/tokenizer.ts +0 -338
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { type Rendered } from "@typed/wire";
|
|
2
1
|
import type { Cause } from "effect/Cause";
|
|
3
2
|
import * as Effect from "effect/Effect";
|
|
4
|
-
import
|
|
3
|
+
import * as Equivalence from "effect/Equivalence";
|
|
5
4
|
import type { Scope } from "effect/Scope";
|
|
6
|
-
import type { ElementRef } from "../ElementRef.js";
|
|
7
5
|
import type { ElementSource } from "../ElementSource.js";
|
|
8
|
-
import type {
|
|
6
|
+
import type { EventHandler } from "../EventHandler.js";
|
|
7
|
+
import type { AttributePart, BooleanPart, ClassNamePart, CommentPart, DataPart, EventPart, NodePart, PropertiesPart, PropertyPart, RefPart, SparseAttributePart, SparseClassNamePart, SparseCommentPart, StaticText, TextPart } from "../Part.js";
|
|
9
8
|
import type { RenderContext } from "../RenderContext.js";
|
|
10
9
|
declare const AttributePartImpl_base: {
|
|
11
10
|
new (index: number, commit: (params: {
|
|
12
11
|
previous: string | null | undefined;
|
|
13
12
|
value: string | null | undefined;
|
|
14
13
|
part: AttributePart;
|
|
15
|
-
}) => Effect.Effect<Scope, never, void>, value: string | null | undefined, eq?: Equivalence<string | null | undefined>): {
|
|
14
|
+
}) => Effect.Effect<Scope, never, void>, value: string | null | undefined, eq?: Equivalence.Equivalence<string | null | undefined>): {
|
|
16
15
|
readonly _tag: "attribute";
|
|
17
16
|
readonly index: number;
|
|
18
17
|
readonly commit: (params: {
|
|
@@ -21,8 +20,8 @@ declare const AttributePartImpl_base: {
|
|
|
21
20
|
part: AttributePart;
|
|
22
21
|
}) => Effect.Effect<Scope, never, void>;
|
|
23
22
|
value: string | null | undefined;
|
|
24
|
-
readonly eq: Equivalence<string | null | undefined>;
|
|
25
|
-
update(input: string | null | undefined): Effect.Effect<Scope, never,
|
|
23
|
+
readonly eq: Equivalence.Equivalence<string | null | undefined>;
|
|
24
|
+
update(input: string | null | undefined): Effect.Effect<Scope, never, any>;
|
|
26
25
|
getValue(value: unknown): unknown;
|
|
27
26
|
};
|
|
28
27
|
};
|
|
@@ -37,7 +36,7 @@ declare const BooleanPartImpl_base: {
|
|
|
37
36
|
previous: boolean | null | undefined;
|
|
38
37
|
value: boolean | null | undefined;
|
|
39
38
|
part: BooleanPart;
|
|
40
|
-
}) => Effect.Effect<Scope, never, void>, value: boolean | null | undefined, eq?: Equivalence<boolean | null | undefined>): {
|
|
39
|
+
}) => Effect.Effect<Scope, never, void>, value: boolean | null | undefined, eq?: Equivalence.Equivalence<boolean | null | undefined>): {
|
|
41
40
|
readonly _tag: "boolean";
|
|
42
41
|
readonly index: number;
|
|
43
42
|
readonly commit: (params: {
|
|
@@ -46,8 +45,8 @@ declare const BooleanPartImpl_base: {
|
|
|
46
45
|
part: BooleanPart;
|
|
47
46
|
}) => Effect.Effect<Scope, never, void>;
|
|
48
47
|
value: boolean | null | undefined;
|
|
49
|
-
readonly eq: Equivalence<boolean | null | undefined>;
|
|
50
|
-
update(input: boolean | null | undefined): Effect.Effect<Scope, never,
|
|
48
|
+
readonly eq: Equivalence.Equivalence<boolean | null | undefined>;
|
|
49
|
+
update(input: boolean | null | undefined): Effect.Effect<Scope, never, any>;
|
|
51
50
|
getValue(value: unknown): unknown;
|
|
52
51
|
};
|
|
53
52
|
};
|
|
@@ -62,7 +61,7 @@ declare const ClassNamePartImpl_base: {
|
|
|
62
61
|
previous: readonly string[] | null | undefined;
|
|
63
62
|
value: readonly string[] | null | undefined;
|
|
64
63
|
part: ClassNamePart;
|
|
65
|
-
}) => Effect.Effect<Scope, never, void>, value: readonly string[] | null | undefined, eq?: Equivalence<readonly string[] | null | undefined>): {
|
|
64
|
+
}) => Effect.Effect<Scope, never, void>, value: readonly string[] | null | undefined, eq?: Equivalence.Equivalence<readonly string[] | null | undefined>): {
|
|
66
65
|
readonly _tag: "className";
|
|
67
66
|
readonly index: number;
|
|
68
67
|
readonly commit: (params: {
|
|
@@ -71,8 +70,8 @@ declare const ClassNamePartImpl_base: {
|
|
|
71
70
|
part: ClassNamePart;
|
|
72
71
|
}) => Effect.Effect<Scope, never, void>;
|
|
73
72
|
value: readonly string[] | null | undefined;
|
|
74
|
-
readonly eq: Equivalence<readonly string[] | null | undefined>;
|
|
75
|
-
update(input: readonly string[] | null | undefined): Effect.Effect<Scope, never,
|
|
73
|
+
readonly eq: Equivalence.Equivalence<readonly string[] | null | undefined>;
|
|
74
|
+
update(input: readonly string[] | null | undefined): Effect.Effect<Scope, never, any>;
|
|
76
75
|
getValue(value: unknown): unknown;
|
|
77
76
|
};
|
|
78
77
|
};
|
|
@@ -87,7 +86,7 @@ declare const CommentPartImpl_base: {
|
|
|
87
86
|
previous: string | null | undefined;
|
|
88
87
|
value: string | null | undefined;
|
|
89
88
|
part: CommentPart;
|
|
90
|
-
}) => Effect.Effect<Scope, never, void>, value: string | null | undefined, eq?: Equivalence<string | null | undefined>): {
|
|
89
|
+
}) => Effect.Effect<Scope, never, void>, value: string | null | undefined, eq?: Equivalence.Equivalence<string | null | undefined>): {
|
|
91
90
|
readonly _tag: "comment";
|
|
92
91
|
readonly index: number;
|
|
93
92
|
readonly commit: (params: {
|
|
@@ -96,8 +95,8 @@ declare const CommentPartImpl_base: {
|
|
|
96
95
|
part: CommentPart;
|
|
97
96
|
}) => Effect.Effect<Scope, never, void>;
|
|
98
97
|
value: string | null | undefined;
|
|
99
|
-
readonly eq: Equivalence<string | null | undefined>;
|
|
100
|
-
update(input: string | null | undefined): Effect.Effect<Scope, never,
|
|
98
|
+
readonly eq: Equivalence.Equivalence<string | null | undefined>;
|
|
99
|
+
update(input: string | null | undefined): Effect.Effect<Scope, never, any>;
|
|
101
100
|
getValue(value: unknown): unknown;
|
|
102
101
|
};
|
|
103
102
|
};
|
|
@@ -110,7 +109,7 @@ declare const DataPartImpl_base: {
|
|
|
110
109
|
previous: Readonly<Record<string, string | undefined>> | null | undefined;
|
|
111
110
|
value: Readonly<Record<string, string | undefined>> | null | undefined;
|
|
112
111
|
part: DataPart;
|
|
113
|
-
}) => Effect.Effect<Scope, never, void>, value: Readonly<Record<string, string | undefined>> | null | undefined, eq?: Equivalence<Readonly<Record<string, string | undefined>> | null | undefined>): {
|
|
112
|
+
}) => Effect.Effect<Scope, never, void>, value: Readonly<Record<string, string | undefined>> | null | undefined, eq?: Equivalence.Equivalence<Readonly<Record<string, string | undefined>> | null | undefined>): {
|
|
114
113
|
readonly _tag: "data";
|
|
115
114
|
readonly index: number;
|
|
116
115
|
readonly commit: (params: {
|
|
@@ -119,8 +118,8 @@ declare const DataPartImpl_base: {
|
|
|
119
118
|
part: DataPart;
|
|
120
119
|
}) => Effect.Effect<Scope, never, void>;
|
|
121
120
|
value: Readonly<Record<string, string | undefined>> | null | undefined;
|
|
122
|
-
readonly eq: Equivalence<Readonly<Record<string, string | undefined>> | null | undefined>;
|
|
123
|
-
update(input: Readonly<Record<string, string | undefined>> | null | undefined): Effect.Effect<Scope, never,
|
|
121
|
+
readonly eq: Equivalence.Equivalence<Readonly<Record<string, string | undefined>> | null | undefined>;
|
|
122
|
+
update(input: Readonly<Record<string, string | undefined>> | null | undefined): Effect.Effect<Scope, never, any>;
|
|
124
123
|
getValue(value: unknown): unknown;
|
|
125
124
|
};
|
|
126
125
|
};
|
|
@@ -128,37 +127,22 @@ export declare class DataPartImpl extends DataPartImpl_base implements DataPart
|
|
|
128
127
|
static browser(index: number, element: HTMLElement | SVGElement, ctx: RenderContext): DataPartImpl;
|
|
129
128
|
static server(index: number, commit: DataPartImpl["commit"]): DataPartImpl;
|
|
130
129
|
}
|
|
131
|
-
declare
|
|
132
|
-
new (index: number, commit: (params: {
|
|
133
|
-
previous: import("../EventHandler.js").EventHandler<unknown, never, Event> | null | undefined;
|
|
134
|
-
value: import("../EventHandler.js").EventHandler<unknown, never, Event> | null | undefined;
|
|
135
|
-
part: EventPart;
|
|
136
|
-
}) => Effect.Effect<Scope, never, void>, value: import("../EventHandler.js").EventHandler<unknown, never, Event> | null | undefined, eq?: Equivalence<import("../EventHandler.js").EventHandler<unknown, never, Event> | null | undefined>): {
|
|
137
|
-
readonly _tag: "event";
|
|
138
|
-
readonly index: number;
|
|
139
|
-
readonly commit: (params: {
|
|
140
|
-
previous: import("../EventHandler.js").EventHandler<unknown, never, Event> | null | undefined;
|
|
141
|
-
value: import("../EventHandler.js").EventHandler<unknown, never, Event> | null | undefined;
|
|
142
|
-
part: EventPart;
|
|
143
|
-
}) => Effect.Effect<Scope, never, void>;
|
|
144
|
-
value: import("../EventHandler.js").EventHandler<unknown, never, Event> | null | undefined;
|
|
145
|
-
readonly eq: Equivalence<import("../EventHandler.js").EventHandler<unknown, never, Event> | null | undefined>;
|
|
146
|
-
update(input: import("../EventHandler.js").EventHandler<unknown, never, Event> | null | undefined): Effect.Effect<Scope, never, void>;
|
|
147
|
-
getValue(value: unknown): unknown;
|
|
148
|
-
};
|
|
149
|
-
};
|
|
150
|
-
export declare class EventPartImpl extends EventPartImpl_base implements EventPart {
|
|
130
|
+
export declare class EventPartImpl implements EventPart {
|
|
151
131
|
readonly name: string;
|
|
132
|
+
readonly index: number;
|
|
133
|
+
readonly source: ElementSource<any>;
|
|
152
134
|
readonly onCause: <E>(cause: Cause<E>) => Effect.Effect<never, never, unknown>;
|
|
153
|
-
|
|
154
|
-
|
|
135
|
+
readonly addEventListener: <Ev extends Event>(handler: EventHandler<never, never, Ev>) => void;
|
|
136
|
+
readonly _tag = "event";
|
|
137
|
+
readonly value: EventPart["value"];
|
|
138
|
+
constructor(name: string, index: number, source: ElementSource<any>, onCause: <E>(cause: Cause<E>) => Effect.Effect<never, never, unknown>, addEventListener: <Ev extends Event>(handler: EventHandler<never, never, Ev>) => void);
|
|
155
139
|
}
|
|
156
140
|
declare const NodePartImpl_base: {
|
|
157
141
|
new (index: number, commit: (params: {
|
|
158
142
|
previous: unknown;
|
|
159
143
|
value: unknown;
|
|
160
144
|
part: NodePart;
|
|
161
|
-
}) => Effect.Effect<Scope, never, void>, value: unknown, eq?: Equivalence<unknown>): {
|
|
145
|
+
}) => Effect.Effect<Scope, never, void>, value: unknown, eq?: Equivalence.Equivalence<unknown>): {
|
|
162
146
|
readonly _tag: "node";
|
|
163
147
|
readonly index: number;
|
|
164
148
|
readonly commit: (params: {
|
|
@@ -167,8 +151,8 @@ declare const NodePartImpl_base: {
|
|
|
167
151
|
part: NodePart;
|
|
168
152
|
}) => Effect.Effect<Scope, never, void>;
|
|
169
153
|
value: unknown;
|
|
170
|
-
readonly eq: Equivalence<unknown>;
|
|
171
|
-
update(input: unknown): Effect.Effect<Scope, never,
|
|
154
|
+
readonly eq: Equivalence.Equivalence<unknown>;
|
|
155
|
+
update(input: unknown): Effect.Effect<Scope, never, any>;
|
|
172
156
|
getValue(value: unknown): unknown;
|
|
173
157
|
};
|
|
174
158
|
};
|
|
@@ -179,7 +163,7 @@ declare const PropertyPartImpl_base: {
|
|
|
179
163
|
previous: unknown;
|
|
180
164
|
value: unknown;
|
|
181
165
|
part: PropertyPart;
|
|
182
|
-
}) => Effect.Effect<Scope, never, void>, value: unknown, eq?: Equivalence<unknown>): {
|
|
166
|
+
}) => Effect.Effect<Scope, never, void>, value: unknown, eq?: Equivalence.Equivalence<unknown>): {
|
|
183
167
|
readonly _tag: "property";
|
|
184
168
|
readonly index: number;
|
|
185
169
|
readonly commit: (params: {
|
|
@@ -188,8 +172,8 @@ declare const PropertyPartImpl_base: {
|
|
|
188
172
|
part: PropertyPart;
|
|
189
173
|
}) => Effect.Effect<Scope, never, void>;
|
|
190
174
|
value: unknown;
|
|
191
|
-
readonly eq: Equivalence<unknown>;
|
|
192
|
-
update(input: unknown): Effect.Effect<Scope, never,
|
|
175
|
+
readonly eq: Equivalence.Equivalence<unknown>;
|
|
176
|
+
update(input: unknown): Effect.Effect<Scope, never, any>;
|
|
193
177
|
getValue(value: unknown): unknown;
|
|
194
178
|
};
|
|
195
179
|
};
|
|
@@ -209,7 +193,7 @@ declare const TextPartImpl_base: {
|
|
|
209
193
|
previous: string | null | undefined;
|
|
210
194
|
value: string | null | undefined;
|
|
211
195
|
part: TextPart;
|
|
212
|
-
}) => Effect.Effect<Scope, never, void>, value: string | null | undefined, eq?: Equivalence<string | null | undefined>): {
|
|
196
|
+
}) => Effect.Effect<Scope, never, void>, value: string | null | undefined, eq?: Equivalence.Equivalence<string | null | undefined>): {
|
|
213
197
|
readonly _tag: "text";
|
|
214
198
|
readonly index: number;
|
|
215
199
|
readonly commit: (params: {
|
|
@@ -218,13 +202,39 @@ declare const TextPartImpl_base: {
|
|
|
218
202
|
part: TextPart;
|
|
219
203
|
}) => Effect.Effect<Scope, never, void>;
|
|
220
204
|
value: string | null | undefined;
|
|
221
|
-
readonly eq: Equivalence<string | null | undefined>;
|
|
222
|
-
update(input: string | null | undefined): Effect.Effect<Scope, never,
|
|
205
|
+
readonly eq: Equivalence.Equivalence<string | null | undefined>;
|
|
206
|
+
update(input: string | null | undefined): Effect.Effect<Scope, never, any>;
|
|
223
207
|
getValue(value: unknown): unknown;
|
|
224
208
|
};
|
|
225
209
|
};
|
|
226
210
|
export declare class TextPartImpl extends TextPartImpl_base implements TextPart {
|
|
227
211
|
static browser(document: Document, index: number, element: Element, ctx: RenderContext): TextPartImpl;
|
|
212
|
+
static fromText(text: Text, index: number, ctx: RenderContext): TextPartImpl;
|
|
213
|
+
static getOrCreateText(document: Document, index: number, element: Element): string | Text | null;
|
|
214
|
+
}
|
|
215
|
+
declare const PropertiesPartImpl_base: {
|
|
216
|
+
new (index: number, commit: (params: {
|
|
217
|
+
previous: Readonly<Record<string, any>> | null | undefined;
|
|
218
|
+
value: Readonly<Record<string, any>> | null | undefined;
|
|
219
|
+
part: PropertiesPart;
|
|
220
|
+
}) => Effect.Effect<Scope, never, void>, value: Readonly<Record<string, any>> | null | undefined, eq?: Equivalence.Equivalence<Readonly<Record<string, any>> | null | undefined>): {
|
|
221
|
+
readonly _tag: "properties";
|
|
222
|
+
readonly index: number;
|
|
223
|
+
readonly commit: (params: {
|
|
224
|
+
previous: Readonly<Record<string, any>> | null | undefined;
|
|
225
|
+
value: Readonly<Record<string, any>> | null | undefined;
|
|
226
|
+
part: PropertiesPart;
|
|
227
|
+
}) => Effect.Effect<Scope, never, void>;
|
|
228
|
+
value: Readonly<Record<string, any>> | null | undefined;
|
|
229
|
+
readonly eq: Equivalence.Equivalence<Readonly<Record<string, any>> | null | undefined>;
|
|
230
|
+
update(input: Readonly<Record<string, any>> | null | undefined): Effect.Effect<Scope, never, any>;
|
|
231
|
+
getValue(value: unknown): unknown;
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
export declare class PropertiesPartImpl extends PropertiesPartImpl_base implements PropertiesPart {
|
|
235
|
+
constructor(index: number, commit: PropertiesPartImpl["commit"], value: PropertiesPartImpl["value"]);
|
|
236
|
+
getValue(value: unknown): unknown;
|
|
237
|
+
static browser(index: number, element: HTMLElement | SVGElement, ctx: RenderContext): PropertiesPartImpl;
|
|
228
238
|
}
|
|
229
239
|
type SparseAttributeValues<T extends ReadonlyArray<AttributePart | ClassNamePart | CommentPart | StaticText>> = ReadonlyArray<SparseAttributeValue<T[number]>>;
|
|
230
240
|
type SparseAttributeValue<T extends AttributePart | ClassNamePart | CommentPart | StaticText> = T["value"];
|
|
@@ -233,7 +243,7 @@ declare const SparseAttributePartImpl_base: {
|
|
|
233
243
|
previous: SparseAttributeValues<readonly (AttributePart | StaticText)[]>;
|
|
234
244
|
value: SparseAttributeValues<readonly (AttributePart | StaticText)[]>;
|
|
235
245
|
part: SparseAttributePart;
|
|
236
|
-
}) => Effect.Effect<Scope, never, void>, value: SparseAttributeValues<readonly (AttributePart | StaticText)[]>, eq?: Equivalence<SparseAttributeValues<readonly (AttributePart | StaticText)[]>>): {
|
|
246
|
+
}) => Effect.Effect<Scope, never, void>, value: SparseAttributeValues<readonly (AttributePart | StaticText)[]>, eq?: Equivalence.Equivalence<SparseAttributeValues<readonly (AttributePart | StaticText)[]>>): {
|
|
237
247
|
readonly _tag: "sparse/attribute";
|
|
238
248
|
readonly commit: (params: {
|
|
239
249
|
previous: SparseAttributeValues<readonly (AttributePart | StaticText)[]>;
|
|
@@ -241,7 +251,7 @@ declare const SparseAttributePartImpl_base: {
|
|
|
241
251
|
part: SparseAttributePart;
|
|
242
252
|
}) => Effect.Effect<Scope, never, void>;
|
|
243
253
|
value: SparseAttributeValues<readonly (AttributePart | StaticText)[]>;
|
|
244
|
-
readonly eq: Equivalence<SparseAttributeValues<readonly (AttributePart | StaticText)[]>>;
|
|
254
|
+
readonly eq: Equivalence.Equivalence<SparseAttributeValues<readonly (AttributePart | StaticText)[]>>;
|
|
245
255
|
update: (value: SparseAttributeValues<readonly (AttributePart | StaticText)[]>) => Effect.Effect<Scope, never, void>;
|
|
246
256
|
};
|
|
247
257
|
};
|
|
@@ -256,7 +266,7 @@ declare const SparseClassNamePartImpl_base: {
|
|
|
256
266
|
previous: SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>;
|
|
257
267
|
value: SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>;
|
|
258
268
|
part: SparseClassNamePart;
|
|
259
|
-
}) => Effect.Effect<Scope, never, void>, value: SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>, eq?: Equivalence<SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>>): {
|
|
269
|
+
}) => Effect.Effect<Scope, never, void>, value: SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>, eq?: Equivalence.Equivalence<SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>>): {
|
|
260
270
|
readonly _tag: "sparse/className";
|
|
261
271
|
readonly commit: (params: {
|
|
262
272
|
previous: SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>;
|
|
@@ -264,7 +274,7 @@ declare const SparseClassNamePartImpl_base: {
|
|
|
264
274
|
part: SparseClassNamePart;
|
|
265
275
|
}) => Effect.Effect<Scope, never, void>;
|
|
266
276
|
value: SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>;
|
|
267
|
-
readonly eq: Equivalence<SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>>;
|
|
277
|
+
readonly eq: Equivalence.Equivalence<SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>>;
|
|
268
278
|
update: (value: SparseAttributeValues<readonly (ClassNamePart | StaticText)[]>) => Effect.Effect<Scope, never, void>;
|
|
269
279
|
};
|
|
270
280
|
};
|
|
@@ -278,7 +288,7 @@ declare const SparseCommentPartImpl_base: {
|
|
|
278
288
|
previous: SparseAttributeValues<readonly (CommentPart | StaticText)[]>;
|
|
279
289
|
value: SparseAttributeValues<readonly (CommentPart | StaticText)[]>;
|
|
280
290
|
part: SparseCommentPart;
|
|
281
|
-
}) => Effect.Effect<Scope, never, void>, value: SparseAttributeValues<readonly (CommentPart | StaticText)[]>, eq?: Equivalence<SparseAttributeValues<readonly (CommentPart | StaticText)[]>>): {
|
|
291
|
+
}) => Effect.Effect<Scope, never, void>, value: SparseAttributeValues<readonly (CommentPart | StaticText)[]>, eq?: Equivalence.Equivalence<SparseAttributeValues<readonly (CommentPart | StaticText)[]>>): {
|
|
282
292
|
readonly _tag: "sparse/comment";
|
|
283
293
|
readonly commit: (params: {
|
|
284
294
|
previous: SparseAttributeValues<readonly (CommentPart | StaticText)[]>;
|
|
@@ -286,7 +296,7 @@ declare const SparseCommentPartImpl_base: {
|
|
|
286
296
|
part: SparseCommentPart;
|
|
287
297
|
}) => Effect.Effect<Scope, never, void>;
|
|
288
298
|
value: SparseAttributeValues<readonly (CommentPart | StaticText)[]>;
|
|
289
|
-
readonly eq: Equivalence<SparseAttributeValues<readonly (CommentPart | StaticText)[]>>;
|
|
299
|
+
readonly eq: Equivalence.Equivalence<SparseAttributeValues<readonly (CommentPart | StaticText)[]>>;
|
|
290
300
|
update: (value: SparseAttributeValues<readonly (CommentPart | StaticText)[]>) => Effect.Effect<Scope, never, void>;
|
|
291
301
|
};
|
|
292
302
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../../../src/internal/parts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../../../src/internal/parts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { Rendered } from "@typed/wire";
|
|
2
1
|
import { Effect } from "effect";
|
|
3
2
|
import type { Cause } from "effect/Cause";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import * as Context from "effect/Context";
|
|
4
|
+
import { Scope } from "effect/Scope";
|
|
6
5
|
import type { BrowserEntry } from "../Entry.js";
|
|
7
6
|
import type { Part, Parts, SparsePart } from "../Part.js";
|
|
8
7
|
import type { Placeholder } from "../Placeholder.js";
|
|
@@ -12,6 +11,7 @@ import type { RenderContext } from "../RenderContext.js";
|
|
|
12
11
|
import type { RenderEvent } from "../RenderEvent.js";
|
|
13
12
|
import type { RenderTemplate } from "../RenderTemplate.js";
|
|
14
13
|
import type * as Template from "../Template.js";
|
|
14
|
+
import { type EventSource } from "./EventSource.js";
|
|
15
15
|
import { HydrateContext } from "./HydrateContext.js";
|
|
16
16
|
import type { IndexRefCounter } from "./indexRefCounter.js";
|
|
17
17
|
import type { ParentChildNodes } from "./utils.js";
|
|
@@ -19,12 +19,12 @@ import type { ParentChildNodes } from "./utils.js";
|
|
|
19
19
|
* Here for "standard" browser rendering, a TemplateInstance is effectively a live
|
|
20
20
|
* view into the contents rendered by the Template.
|
|
21
21
|
*/
|
|
22
|
-
export declare const renderTemplate: (document: Document,
|
|
23
|
-
export declare function renderValues<Values extends ReadonlyArray<Renderable<any, any>>>(values: Values, parts: Parts, refCounter: IndexRefCounter,
|
|
22
|
+
export declare const renderTemplate: (document: Document, renderContext: RenderContext) => RenderTemplate;
|
|
23
|
+
export declare function renderValues<Values extends ReadonlyArray<Renderable<any, any>>>(values: Values, parts: Parts, refCounter: IndexRefCounter, ctx: Context.Context<any> | Context.Context<never>, makeHydrateContext?: (index: number) => HydrateContext): Effect.Effect<Placeholder.Context<Values[number]> | Scope, never, void>;
|
|
24
24
|
export declare function renderSparsePart(values: ReadonlyArray<Renderable<any, any>>, part: SparsePart, refCounter: IndexRefCounter): Effect.Effect<unknown, never, import("effect/Fiber").RuntimeFiber<unknown, void>>;
|
|
25
|
-
export declare function renderPart<Values extends ReadonlyArray<Renderable<any, any>>>(values: Values, part: Part, refCounter: IndexRefCounter,
|
|
25
|
+
export declare function renderPart<Values extends ReadonlyArray<Renderable<any, any>>>(values: Values, part: Part, refCounter: IndexRefCounter, ctx: Context.Context<any> | Context.Context<never>, hydrateCtx?: () => HydrateContext): Effect.Effect<any, never, void>;
|
|
26
26
|
export declare function attachRoot<T extends RenderEvent | null>(cache: RenderContext["renderCache"], where: HTMLElement, what: RenderEvent | null): Effect.Effect<never, never, ToRendered<T>>;
|
|
27
27
|
export declare function getBrowserEntry(document: Document, ctx: RenderContext, templateStrings: TemplateStringsArray): BrowserEntry;
|
|
28
|
-
export declare function buildParts<
|
|
28
|
+
export declare function buildParts<E>(document: Document, ctx: RenderContext, template: Template.Template, content: ParentChildNodes, eventSource: EventSource, onCause: (cause: Cause<E>) => Effect.Effect<never, never, void>, isHydrating: boolean): Parts;
|
|
29
29
|
export declare function buildTemplate(document: Document, { nodes }: Template.Template): DocumentFragment;
|
|
30
30
|
//# sourceMappingURL=render.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/internal/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/internal/render.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAKpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAIV,IAAI,EACJ,KAAK,EAEL,UAAU,EAEX,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE/C,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,sBAAsB,CAAA;AAmB7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAgdlD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,KAAK,cAmEhF,CAAA;AAEH,wBAAgB,YAAY,CAAC,MAAM,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAC7E,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,eAAe,EAC3B,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAClD,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,GACrD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAkBzE;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAC3C,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,eAAe,qFAa5B;AAED,wBAAgB,UAAU,CAAC,MAAM,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAC3E,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,eAAe,EAC3B,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAClD,UAAU,CAAC,EAAE,MAAM,cAAc,GAChC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAoCjC;AA0GD,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,IAAI,EACrD,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,EACnC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,WAAW,GAAG,IAAI,GACvB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAiB5C;AAiBD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,aAAa,EAClB,eAAe,EAAE,oBAAoB,GACpC,YAAY,CAkBd;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/D,WAAW,EAAE,OAAO,GACnB,KAAK,CAIP;AAiID,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,gBAAgB,CAQhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/internal/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,KAAK,EAIV,IAAI,EAIJ,UAAU,EAEX,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAA0E,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/internal/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,KAAK,EAIV,IAAI,EAIJ,UAAU,EAEX,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAA0E,MAAM,gBAAgB,CAAA;AAiBtH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,IACxB,eAAe,GACf,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GACrB,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAE/B,qBAAa,eAAe;IAIxB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAJxB,QAAQ,CAAC,IAAI,UAAS;gBAGX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM;CAEzB;AAED,qBAAa,eAAe,CAAC,CAAC,EAAE,CAAC;IAI7B,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IANvC,QAAQ,CAAC,IAAI,UAAS;gBAGX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;CAExC;AAED,qBAAa,qBAAqB,CAAC,CAAC,EAAE,CAAC;IAInC,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,KAAK,EAAE,eAAe;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAN/C,QAAQ,CAAC,IAAI,iBAAgB;gBAGlB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAEhD;AAgCD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAC3C,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,EAChC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACvC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,uBAU7E;AA2BD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAC7D,IAAI,CAEN"}
|
package/dist/esm/Directive.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Directive.js","sourceRoot":"","sources":["../../src/Directive.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Directive.js","sourceRoot":"","sources":["../../src/Directive.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAetE;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,SAA4D;IAE5D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QACnD,CAAC,eAAe,CAAC,EAAE,eAAe;KACnC,CAAoB,CAAA;AACvB,CAAC;AAED,MAAM,OAAO,GAAG,CAA8B,GAAM,EAAE,EAAE,CACxD,CACE,SAA2F,EAC1E,EAAE,CACnB,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,GAAG,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC,CAC/G,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAEC,OAAO,CAAC,WAAW,CAAC,CAAA;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAClB,OAAO,CAAC,SAAS,CAAC,CAAA;AAEpB;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAEC,OAAO,CAAC,WAAW,CAAC,CAAA;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GACf,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAChB,OAAO,CAAC,OAAO,CAAC,CAAA;AAElB;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GACnB,OAAO,CAAC,UAAU,CAAC,CAAA;AAErB;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAA+F,OAAO,CACpH,KAAK,CACN,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAClB,OAAO,CAAC,SAAS,CAAC,CAAA;AAEpB;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GACf,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GACf,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB;;GAEG;AACH,MAAM,UAAU,WAAW,CAAO,UAAmB;IACnD,OAAO,OAAO,UAAU,KAAK,UAAU,IAAI,eAAe,IAAK,UAAkB,CAAA;AACnF,CAAC"}
|
package/dist/esm/ElementRef.js
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { compact, FxEffectBase } from "@typed/fx/Fx";
|
|
2
2
|
import * as RefSubject from "@typed/fx/RefSubject";
|
|
3
|
-
import
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
4
|
import { dual } from "effect/Function";
|
|
5
|
+
import * as Option from "effect/Option";
|
|
6
|
+
import { hasProperty } from "effect/Predicate";
|
|
5
7
|
import { ElementSource, getElements } from "./ElementSource.js";
|
|
6
8
|
import { adjustTime } from "./internal/utils.js";
|
|
7
|
-
export const ElementRefTypeId = Symbol.for("
|
|
9
|
+
export const ElementRefTypeId = Symbol.for("@typed/template/ElementRef");
|
|
8
10
|
const strictEqual = Option.getEquivalence((a, b) => a === b);
|
|
9
11
|
/**
|
|
10
12
|
* @since 1.0.0
|
|
11
13
|
*/
|
|
12
14
|
export function make() {
|
|
13
|
-
return Effect.map(RefSubject.of(Option.none(), strictEqual), (ref) => new ElementRefImpl(ref));
|
|
15
|
+
return Effect.map(RefSubject.of(Option.none(), { eq: strictEqual }), (ref) => new ElementRefImpl(ref));
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* @since 1.0.0
|
|
17
19
|
*/
|
|
18
20
|
export function of(rendered) {
|
|
19
|
-
return Effect.map(RefSubject.of(Option.some(rendered), strictEqual), (ref) => new ElementRefImpl(ref));
|
|
21
|
+
return Effect.map(RefSubject.of(Option.some(rendered), { eq: strictEqual }), (ref) => new ElementRefImpl(ref));
|
|
20
22
|
}
|
|
21
|
-
// @ts-expect-error
|
|
23
|
+
// @ts-expect-error does not implement Placeholder
|
|
22
24
|
class ElementRefImpl extends FxEffectBase {
|
|
23
25
|
ref;
|
|
24
26
|
[ElementRefTypeId];
|
|
@@ -43,14 +45,14 @@ class ElementRefImpl extends FxEffectBase {
|
|
|
43
45
|
return compact(this.ref);
|
|
44
46
|
}
|
|
45
47
|
toEffect() {
|
|
46
|
-
return Effect.flatten(this.ref
|
|
48
|
+
return Effect.flatten(this.ref);
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
/**
|
|
50
52
|
* @since 1.0.0
|
|
51
53
|
*/
|
|
52
54
|
export const set = dual(2, function set(elementRef, value) {
|
|
53
|
-
return Effect.as(elementRef[ElementRefTypeId]
|
|
55
|
+
return Effect.as(RefSubject.set(elementRef[ElementRefTypeId], Option.some(value)), value);
|
|
54
56
|
});
|
|
55
57
|
/**
|
|
56
58
|
* @since 1.0.0
|
|
@@ -68,4 +70,7 @@ export function dispatchEvent(ref, event) {
|
|
|
68
70
|
// Allow additional fibers to start
|
|
69
71
|
Effect.zipRight(adjustTime(1)));
|
|
70
72
|
}
|
|
73
|
+
export function isElementRef(value) {
|
|
74
|
+
return hasProperty(value, ElementRefTypeId);
|
|
75
|
+
}
|
|
71
76
|
//# sourceMappingURL=ElementRef.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementRef.js","sourceRoot":"","sources":["../../src/ElementRef.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"ElementRef.js","sourceRoot":"","sources":["../../src/ElementRef.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,22 +2,26 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import { addEventListener } from "@typed/dom/EventTarget";
|
|
5
|
-
import { Filtered } from "@typed/fx/Filtered";
|
|
6
5
|
import * as Fx from "@typed/fx/Fx";
|
|
7
6
|
import { FxEffectBase } from "@typed/fx/Fx";
|
|
8
7
|
import * as Versioned from "@typed/fx/Versioned";
|
|
9
8
|
import { isWire } from "@typed/wire";
|
|
10
9
|
import * as Effect from "effect/Effect";
|
|
11
10
|
import { pipe } from "effect/Function";
|
|
12
|
-
import * as Scope from "effect/Scope";
|
|
13
11
|
import { adjustTime } from "./internal/utils.js";
|
|
14
|
-
import
|
|
12
|
+
import * as RefSubject from "@typed/fx/RefSubject";
|
|
15
13
|
/**
|
|
16
14
|
* @since 1.0.0
|
|
17
15
|
*/
|
|
18
16
|
export function ElementSource(rootElement) {
|
|
19
17
|
return new ElementSourceImpl(rootElement);
|
|
20
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
*/
|
|
22
|
+
export function fromElement(rootElement) {
|
|
23
|
+
return ElementSourceImpl.fromElement(rootElement);
|
|
24
|
+
}
|
|
21
25
|
/**
|
|
22
26
|
* @since 1.0.0
|
|
23
27
|
*/
|
|
@@ -77,10 +81,10 @@ function makeEventStream(cssSelectors, eventName, options = {}) {
|
|
|
77
81
|
const cssSelector = cssSelectors.join(" ");
|
|
78
82
|
const lastTwoCssSelectors = cssSelectors.slice(-2).join("");
|
|
79
83
|
const elements = getElements(element);
|
|
80
|
-
const event$ = Fx.
|
|
84
|
+
const event$ = Fx.mergeAll(elements.map((element) => Fx.filter(Fx.make((sink) => Effect.scoped(Effect.zipRight(addEventListener(element, {
|
|
81
85
|
eventName,
|
|
82
86
|
handler: (ev) => sink.onSuccess(ev)
|
|
83
|
-
}),
|
|
87
|
+
}), Effect.never))), (event) => ensureMatches(cssSelector, element, event, capture) ||
|
|
84
88
|
ensureMatches(lastTwoCssSelectors, element, event, capture))));
|
|
85
89
|
if (capture) {
|
|
86
90
|
return pipe(event$, Fx.map(findCurrentTarget(cssSelector, element)));
|
|
@@ -92,10 +96,10 @@ function makeElementEventStream(currentTarget, eventName, options = {}) {
|
|
|
92
96
|
return function (rendered) {
|
|
93
97
|
const { capture } = options;
|
|
94
98
|
const elements = getElements(rendered);
|
|
95
|
-
const event$ = Fx.
|
|
99
|
+
const event$ = Fx.mergeAll(elements.map((element) => Fx.filter(Fx.make((sink) => Effect.scoped(Effect.zipRight(addEventListener(element, {
|
|
96
100
|
eventName,
|
|
97
101
|
handler: (ev) => sink.onSuccess(ev)
|
|
98
|
-
}),
|
|
102
|
+
}), Effect.never))), (event) => event.target ? currentTarget.contains(event.target) : false)));
|
|
99
103
|
if (capture) {
|
|
100
104
|
return event$.pipe(Fx.map((ev) => cloneEvent(ev, currentTarget)));
|
|
101
105
|
}
|
|
@@ -150,11 +154,10 @@ function isElement(element) {
|
|
|
150
154
|
* @internal
|
|
151
155
|
* @since 1.0.0
|
|
152
156
|
*/
|
|
153
|
-
// @ts-expect-error
|
|
157
|
+
// @ts-expect-error Doesn't implement Placeholder
|
|
154
158
|
export class ElementSourceImpl extends FxEffectBase {
|
|
155
159
|
rootElement;
|
|
156
160
|
selector;
|
|
157
|
-
[PlaceholderTypeId];
|
|
158
161
|
bubbleMap = new Map();
|
|
159
162
|
captureMap = new Map();
|
|
160
163
|
elements;
|
|
@@ -166,12 +169,12 @@ export class ElementSourceImpl extends FxEffectBase {
|
|
|
166
169
|
this.query = this.query.bind(this);
|
|
167
170
|
this.events = this.events.bind(this);
|
|
168
171
|
this.elements = this.selector._tag === "css" ?
|
|
169
|
-
this.rootElement
|
|
170
|
-
|
|
172
|
+
RefSubject.map(this.rootElement, findMatchingElements(this.selector.selectors)) :
|
|
173
|
+
RefSubject.filterMapEffect(Versioned.of(this.selector.element), (x) => Effect.succeedSome([x]));
|
|
171
174
|
this.version = this.elements.version;
|
|
172
175
|
}
|
|
173
176
|
static fromElement(rootElement) {
|
|
174
|
-
return new ElementSourceImpl(
|
|
177
|
+
return new ElementSourceImpl(RefSubject.filterMapEffect(Versioned.of(rootElement), Effect.succeedSome));
|
|
175
178
|
}
|
|
176
179
|
toEffect() {
|
|
177
180
|
return this.elements;
|
|
@@ -201,7 +204,7 @@ export class ElementSourceImpl extends FxEffectBase {
|
|
|
201
204
|
let current = map.get(type);
|
|
202
205
|
if (current === undefined) {
|
|
203
206
|
if (this.selector._tag === "css") {
|
|
204
|
-
current = this.rootElement
|
|
207
|
+
current = RefSubject.map(this.rootElement, findMostSpecificElement(this.selector.selectors)).pipe(Fx.switchMap(makeEventStream(this.selector.selectors, type, options)), Fx.multicast);
|
|
205
208
|
}
|
|
206
209
|
else {
|
|
207
210
|
current = this.rootElement.pipe(Fx.switchMap(makeElementEventStream(this.selector.element, type, options)), Fx.multicast);
|