@typed/template 0.2.0 → 0.3.1
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/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/chunks.js +4 -1
- package/dist/cjs/internal/chunks.js.map +1 -1
- package/dist/cjs/internal/errors.js +4 -0
- package/dist/cjs/internal/errors.js.map +1 -1
- package/dist/cjs/internal/hydrate.js +113 -80
- 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 +72 -21
- 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 +460 -161
- 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/chunks.d.ts +1 -0
- package/dist/dts/internal/chunks.d.ts.map +1 -1
- package/dist/dts/internal/errors.d.ts +1 -0
- package/dist/dts/internal/errors.d.ts.map +1 -1
- package/dist/dts/internal/hydrate.d.ts +9 -16
- 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 +1 -15
- 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/chunks.js +2 -0
- package/dist/esm/internal/chunks.js.map +1 -1
- package/dist/esm/internal/errors.js +3 -0
- package/dist/esm/internal/errors.js.map +1 -1
- package/dist/esm/internal/hydrate.js +113 -76
- 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 +98 -22
- 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 +446 -157
- 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 +47 -19
- 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/chunks.ts +4 -0
- package/src/internal/errors.ts +4 -0
- package/src/internal/hydrate.ts +161 -107
- package/src/internal/indexRefCounter.ts +63 -2
- package/src/internal/module-augmentation.ts +0 -4
- package/src/internal/parser.ts +107 -25
- package/src/internal/parts.ts +158 -73
- package/src/internal/render.ts +638 -289
- package/src/internal/server.ts +5 -3
- package/Token/package.json +0 -6
- package/Tokenizer/package.json +0 -6
- 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,30 +1,16 @@
|
|
|
1
|
-
import type { Rendered } from "@typed/wire";
|
|
2
1
|
import { Effect } from "effect";
|
|
3
|
-
import type { Cause } from "effect/Cause";
|
|
4
|
-
import type { Scope } from "effect/Scope";
|
|
5
|
-
import * as ElementRef from "../ElementRef.js";
|
|
6
2
|
import type { BrowserEntry } from "../Entry.js";
|
|
7
|
-
import type { Part, Parts, SparsePart } from "../Part.js";
|
|
8
|
-
import type { Placeholder } from "../Placeholder.js";
|
|
9
3
|
import type { ToRendered } from "../Render.js";
|
|
10
|
-
import type { Renderable } from "../Renderable.js";
|
|
11
4
|
import type { RenderContext } from "../RenderContext.js";
|
|
12
5
|
import type { RenderEvent } from "../RenderEvent.js";
|
|
13
6
|
import type { RenderTemplate } from "../RenderTemplate.js";
|
|
14
7
|
import type * as Template from "../Template.js";
|
|
15
|
-
import { HydrateContext } from "./HydrateContext.js";
|
|
16
|
-
import type { IndexRefCounter } from "./indexRefCounter.js";
|
|
17
|
-
import type { ParentChildNodes } from "./utils.js";
|
|
18
8
|
/**
|
|
19
9
|
* Here for "standard" browser rendering, a TemplateInstance is effectively a live
|
|
20
10
|
* view into the contents rendered by the Template.
|
|
21
11
|
*/
|
|
22
|
-
export declare const renderTemplate: (document: Document,
|
|
23
|
-
export declare function renderValues<Values extends ReadonlyArray<Renderable<any, any>>>(values: Values, parts: Parts, refCounter: IndexRefCounter, onCause: (cause: Cause<Placeholder.Error<Values[number]>>) => Effect.Effect<never, never, unknown>, makeHydrateContext?: (index: number) => HydrateContext): Effect.Effect<Placeholder.Context<Values[number]> | Scope, never, void>;
|
|
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, onCause: (cause: Cause<Placeholder.Error<Values[number]>>) => Effect.Effect<never, never, unknown>, hydrateCtx?: () => HydrateContext): Effect.Effect<any, never, void>;
|
|
12
|
+
export declare const renderTemplate: (document: Document, renderContext: RenderContext) => RenderTemplate;
|
|
26
13
|
export declare function attachRoot<T extends RenderEvent | null>(cache: RenderContext["renderCache"], where: HTMLElement, what: RenderEvent | null): Effect.Effect<never, never, ToRendered<T>>;
|
|
27
14
|
export declare function getBrowserEntry(document: Document, ctx: RenderContext, templateStrings: TemplateStringsArray): BrowserEntry;
|
|
28
|
-
export declare function buildParts<T extends Rendered, E>(document: Document, ctx: RenderContext, template: Template.Template, content: ParentChildNodes, ref: ElementRef.ElementRef<T>, onCause: (cause: Cause<E>) => Effect.Effect<never, never, void>, isHydrating: boolean): Effect.Effect<Scope, never, Parts>;
|
|
29
15
|
export declare function buildTemplate(document: Document, { nodes }: Template.Template): DocumentFragment;
|
|
30
16
|
//# 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;AAS/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,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;AAsf/C;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,KAAK,cAmEhF,CAAA;AAkEH,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,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);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementSource.js","sourceRoot":"","sources":["../../src/ElementSource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"ElementSource.js","sourceRoot":"","sources":["../../src/ElementSource.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AA2ClD;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,WAAiD;IAEjD,OAAO,IAAI,iBAAiB,CAAc,WAAW,CAAQ,CAAA;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,WAAc;IAEd,OAAO,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAQ,CAAA;AAC1D,CAAC;AAqBD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAgB,CAAA;AAIjD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAqB,OAAU;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC/D,IAAI,MAAM,CAAC,OAA+B,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAE,OAAO,CAAC,OAAO,EAAuB,CAAC,QAAQ,CAAC,CAAA;IACrE,CAAC;IACD,IAAI,SAAS,CAAC,OAA+B,CAAC;QAAE,OAAO,CAAC,OAAkB,CAAC,CAAA;IAC3E,IAAI,kBAAkB,CAAC,OAA+B,CAAC,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC,IAAI,CAAE,OAA4B,CAAC,QAAQ,CAAC,CAAA;IAC3D,CAAC;IAED,oEAAoE;IACpE,IAAK,OAAgB,CAAC,aAAa;QAAE,OAAO,CAAE,OAAgB,CAAC,aAAc,CAAC,CAAA;IAE9E,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,uBAAuB,CAAoB,YAAmC;IACrF,OAAO,UAAS,OAAiB;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;gBAEnD,IAAI,IAAI;oBAAE,OAAO,IAAS,CAAA;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,OAAY,CAAA;IACrB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAA+B,YAAmC;IAC7F,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAA;IAEjD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC1C,OAAO,UAAS,OAAiB;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAK,WAAW,CAAC,CAAC,CAAC,CAAA;QAElG,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAc,CAAA;QAE/F,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,KAAK,CAAC,CAAA;QAErE,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,YAAmC;IAC9D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,SAAS,eAAe,CACtB,YAAmC,EACnC,SAAiB,EACjB,UAAgC,EAAE;IAElC,OAAO,UAAS,OAAiB;QAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC3B,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1C,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QAErC,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACvB,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,IAAI,CAAmB,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAC3B,gBAAgB,CAAC,OAAO,EAAE;YACxB,SAAS;YACT,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAe,CAAC;SACjD,CAAC,EACF,MAAM,CAAC,KAAK,CACb,CAAC,CACH,EACD,CAAC,KAAS,EAAE,EAAE,CACZ,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;YACnD,aAAa,CAAC,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAC9D,CACF,CACF,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,aAAsB,EACtB,SAAiB,EACjB,UAAgC,EAAE;IAElC,OAAO,UAAS,QAAkB;QAChC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;QAEtC,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACvB,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,IAAI,CAAmB,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAC3B,gBAAgB,CAAC,OAAO,EAAE;YACxB,SAAS;YACT,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAe,CAAC;SACjD,CAAC,EACF,MAAM,CAAC,KAAK,CACb,CAAC,CACH,EACD,CAAC,KAAS,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CACtF,CACF,CACF,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;QACnE,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB,EAAE,OAAiB;IAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAE9B,OAAO,UAA0B,KAAQ;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,eAAe,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YAEpE,IAAI,eAAe;gBAAE,OAAO,UAAU,CAAC,KAAK,EAAE,OAAO,CAAM,CAAA;YAE3D,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;YAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACrB,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAiB,CAAC,CAAA;gBAElE,IAAI,mBAAmB;oBAAE,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC;AAED,MAAM,yBAAyB,GAAG,eAAe,CAAA;AAEjD,SAAS,UAAU,CAAkB,KAAQ,EAAE,aAAsB;IACnE,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE;QACtB,GAAG,CAAC,MAAS,EAAE,QAAyB;YACtC,OAAO,QAAQ,KAAK,yBAAyB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAA;QAC7F,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,WAAmB,EAAE,OAAgB,EAAE,EAAS,EAAE,OAAO,GAAG,KAAK;IACtF,IAAI,MAAM,GAAG,EAAE,CAAC,MAAiB,CAAA;IAEjC,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,KAAK,OAAO,CAAA;IAEpF,OAAO,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,aAAwB,EAAE,CAAC;QAC9E,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAA;IAC9C,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA6B;IACvD,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,sBAAsB,CAAA;AAC5D,CAAC;AAED,SAAS,SAAS,CAAC,OAA6B;IAC9C,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,YAAY,CAAA;AAClD,CAAC;AAED;;;GAGG;AACH,iDAAiD;AACjD,MAAM,OAAO,iBAGX,SAAQ,YAA2G;IAUxG;IACA;IARH,SAAS,GAAG,IAAI,GAAG,EAAuC,CAAA;IAC1D,UAAU,GAAG,IAAI,GAAG,EAAuC,CAAA;IAE1D,QAAQ,CAAwC;IAChD,OAAO,CAAuC;IAEvD,YACW,WAAiD,EACjD,WAAqB,YAAY,CAAC,EAAE,CAAC;QAE9C,KAAK,EAAE,CAAA;QAHE,gBAAW,GAAX,WAAW,CAAsC;QACjD,aAAQ,GAAR,QAAQ,CAA6B;QAG9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YAC5C,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtF,UAAU,CAAC,eAAe,CACxB,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EACnC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAgC,CAAC,CACvD,CAAA;QAEV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,WAAW,CAAqB,WAAc;QACnD,OAAO,IAAI,iBAAiB,CAAI,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAQ,CAAA;IACnH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,KAAK,CACH,QAAW;QAEX,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YACnC,OAAO,IAAW,CAAA;QACpB,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACjC,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAQ,CAAA;YAC7G,CAAC;iBAAM,CAAC;gBACN,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAQ,CAAA;YACpF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAQ,CAAA;QAClF,CAAC;IACH,CAAC;IAED,MAAM,CACJ,IAAU,EACV,OAAiC;QAEjC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;QAEtD,IAAI,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE3B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACjC,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAC/F,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAW,EAAE,OAAO,CAAC,CAAC,EAC5E,EAAE,CAAC,SAAS,CACb,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAC7B,EAAE,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAc,EAAE,OAAO,CAAC,CAAC,EACpF,EAAE,CAAC,SAAS,CACb,CAAA;YACH,CAAC;YAED,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,OAAQ,CAAC,CAAA;QACzB,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,aAAa,CAAC,KAAY,EAAE,IAAoB;QAC9C,OAAO,MAAM,CAAC,QAAQ,CACpB,MAAM,CAAC,OAAO,CACZ,IAAI,CAAC,QAAQ,EACb,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAC/F;QACD,6BAA6B;QAC7B,UAAU,CAAC,IAAI,CAAC,CACjB,CAAA;IACH,CAAC;CACF;AAeD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAgC;IAC3D,OAAO;QACL,IAAI,EAAE,KAAK;QACX,SAAS;KACV,CAAA;AACH,CAAC;AAUD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO;KACR,CAAA;AACH,CAAC"}
|