@typed/template 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Directive.js +1 -1
- package/dist/cjs/Directive.js.map +1 -1
- package/dist/cjs/ElementRef.js +4 -4
- package/dist/cjs/ElementRef.js.map +1 -1
- package/dist/cjs/ElementSource.js +11 -7
- 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 +9 -9
- package/dist/cjs/Html.js.map +1 -1
- package/dist/cjs/Hydrate.js +4 -4
- package/dist/cjs/Hydrate.js.map +1 -1
- package/dist/cjs/Many.js +4 -4
- package/dist/cjs/Many.js.map +1 -1
- package/dist/cjs/Placeholder.js +2 -2
- package/dist/cjs/Placeholder.js.map +1 -1
- package/dist/cjs/Platform.js +10 -11
- package/dist/cjs/Platform.js.map +1 -1
- package/dist/cjs/Render.js +5 -5
- package/dist/cjs/Render.js.map +1 -1
- package/dist/cjs/RenderContext.js +3 -3
- package/dist/cjs/RenderContext.js.map +1 -1
- package/dist/cjs/RenderQueue.js +11 -9
- package/dist/cjs/RenderQueue.js.map +1 -1
- package/dist/cjs/RenderTemplate.js +2 -2
- package/dist/cjs/RenderTemplate.js.map +1 -1
- package/dist/cjs/Test.js +11 -11
- package/dist/cjs/Test.js.map +1 -1
- package/dist/cjs/Vitest.js +5 -5
- package/dist/cjs/Vitest.js.map +1 -1
- package/dist/cjs/compiler-tools.js +3 -3
- package/dist/cjs/compiler-tools.js.map +1 -1
- package/dist/cjs/index.js +6 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/EventSource.js +4 -4
- package/dist/cjs/internal/EventSource.js.map +1 -1
- package/dist/cjs/internal/browser.js +1 -1
- package/dist/cjs/internal/browser.js.map +1 -1
- package/dist/cjs/internal/indexRefCounter.js +4 -4
- package/dist/cjs/internal/indexRefCounter.js.map +1 -1
- package/dist/cjs/internal/parser.js +4 -4
- package/dist/cjs/internal/parser.js.map +1 -1
- package/dist/cjs/internal/parser2.js +1 -1
- package/dist/cjs/internal/parser2.js.map +1 -1
- package/dist/cjs/internal/server-parts.js +2 -2
- package/dist/cjs/internal/server-parts.js.map +1 -1
- package/dist/cjs/internal/server.js +1 -1
- package/dist/cjs/internal/server.js.map +1 -1
- package/dist/cjs/internal/utils.js +2 -2
- package/dist/cjs/internal/utils.js.map +1 -1
- package/dist/cjs/internal/v2/parts.js +1 -1
- package/dist/cjs/internal/v2/parts.js.map +1 -1
- package/dist/cjs/internal/v2/render-sync-parts.js +3 -3
- package/dist/cjs/internal/v2/render-sync-parts.js.map +1 -1
- package/dist/cjs/internal/v2/render.js +11 -11
- package/dist/cjs/internal/v2/render.js.map +1 -1
- package/dist/cjs/internal/v2/sync-parts.js +1 -1
- package/dist/cjs/internal/v2/sync-parts.js.map +1 -1
- package/dist/dts/ElementRef.d.ts.map +1 -1
- package/dist/dts/ElementSource.d.ts +3 -1
- 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/Platform.d.ts +5 -5
- package/dist/dts/Platform.d.ts.map +1 -1
- package/dist/dts/Render.d.ts.map +1 -1
- package/dist/dts/RenderQueue.d.ts.map +1 -1
- package/dist/dts/Template.d.ts.map +1 -1
- package/dist/dts/Vitest.d.ts.map +1 -1
- package/dist/dts/internal/server-parts.d.ts.map +1 -1
- package/dist/dts/internal/utils.d.ts.map +1 -1
- package/dist/dts/internal/v2/parts.d.ts.map +1 -1
- package/dist/dts/internal/v2/sync-parts.d.ts.map +1 -1
- package/dist/esm/ElementRef.js +1 -1
- package/dist/esm/ElementRef.js.map +1 -1
- package/dist/esm/ElementSource.js +14 -8
- package/dist/esm/ElementSource.js.map +1 -1
- package/dist/esm/Platform.js +3 -4
- package/dist/esm/Platform.js.map +1 -1
- package/dist/esm/RenderQueue.js +3 -1
- package/dist/esm/RenderQueue.js.map +1 -1
- package/package.json +12 -11
- package/src/ElementRef.ts +35 -13
- package/src/ElementSource.ts +131 -53
- package/src/Platform.ts +9 -10
- package/src/RenderQueue.ts +3 -1
package/dist/esm/Platform.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
5
|
-
import * as HttpServer from "@effect/platform/HttpServer";
|
|
4
|
+
import { Headers, HttpServerResponse } from "@effect/platform";
|
|
6
5
|
import { toStream } from "@typed/fx/Stream";
|
|
7
6
|
import * as Effect from "effect/Effect";
|
|
8
7
|
import * as Option from "effect/Option";
|
|
@@ -15,7 +14,7 @@ const HYPHENATED_CONTENT_TYPE = { "content-type": HTML_CONTENT_TYPE };
|
|
|
15
14
|
* @since 1.0.0
|
|
16
15
|
*/
|
|
17
16
|
export function htmlResponse(fx, options) {
|
|
18
|
-
return Effect.contextWithEffect((ctx) =>
|
|
17
|
+
return Effect.contextWithEffect((ctx) => HttpServerResponse.stream(Stream.provideContext(Stream.encodeText(toStream(renderToHtml(fx))), ctx), {
|
|
19
18
|
...CAMEL_CASE_CONTENT_TYPE,
|
|
20
19
|
...options,
|
|
21
20
|
headers: Headers.unsafeFromRecord({ ...HYPHENATED_CONTENT_TYPE, ...options?.headers })
|
|
@@ -25,7 +24,7 @@ export function htmlResponse(fx, options) {
|
|
|
25
24
|
* @since 1.0.0
|
|
26
25
|
*/
|
|
27
26
|
export function htmlResponseString(html, options) {
|
|
28
|
-
return
|
|
27
|
+
return HttpServerResponse.raw(html, {
|
|
29
28
|
...CAMEL_CASE_CONTENT_TYPE,
|
|
30
29
|
...options,
|
|
31
30
|
headers: Headers.unsafeFromRecord({ ...HYPHENATED_CONTENT_TYPE, ...options?.headers })
|
package/dist/esm/Platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Platform.js","sourceRoot":"","sources":["../../src/Platform.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"Platform.js","sourceRoot":"","sources":["../../src/Platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AACrC,MAAM,uBAAuB,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAA;AAClE,MAAM,uBAAuB,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAA;AAErE;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,EAAmC,EACnC,OAAoC;IAEpC,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,kBAAkB,CAAC,MAAM,CACvB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EACzE;QACE,GAAG,uBAAuB;QAC1B,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,uBAAuB,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;KACvF,CACF,CACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,OAAoC;IAEpC,OAAO,kBAAkB,CAAC,GAAG,CAC3B,IAAI,EACJ;QACE,GAAG,uBAAuB;QAC1B,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,uBAAuB,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;KACvF,CACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA4C;IAClF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,IAAI,CACxD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EACjD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CACpC,CAAA;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EACrD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAC/B,CAAA;IAED,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC,CAAA;AACtD,CAAC"}
|
package/dist/esm/RenderQueue.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderQueue.js","sourceRoot":"","sources":["../../src/RenderQueue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RenderQueue.js","sourceRoot":"","sources":["../../src/RenderQueue.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typed/template",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -9,19 +9,20 @@
|
|
|
9
9
|
},
|
|
10
10
|
"sideEffects": [],
|
|
11
11
|
"author": "Typed contributors",
|
|
12
|
+
"homepage": "https://github.com/tylors/typed",
|
|
12
13
|
"dependencies": {
|
|
13
|
-
"@effect/platform": "^0.
|
|
14
|
-
"@effect/schema": "^0.
|
|
15
|
-
"effect": "^3.
|
|
16
|
-
"fast-check": "^3.
|
|
14
|
+
"@effect/platform": "^0.66.2",
|
|
15
|
+
"@effect/schema": "^0.74.1",
|
|
16
|
+
"effect": "^3.8.4",
|
|
17
|
+
"fast-check": "^3.22.0",
|
|
17
18
|
"html5parser": "^2.0.2",
|
|
18
|
-
"typed-query-selector": "^2.
|
|
19
|
+
"typed-query-selector": "^2.12.0",
|
|
19
20
|
"udomdiff": "^1.1.0",
|
|
20
|
-
"@typed/context": "0.
|
|
21
|
-
"@typed/dom": "
|
|
22
|
-
"@typed/environment": "0.
|
|
23
|
-
"@typed/fx": "1.
|
|
24
|
-
"@typed/wire": "0.
|
|
21
|
+
"@typed/context": "0.30.0",
|
|
22
|
+
"@typed/dom": "18.0.0",
|
|
23
|
+
"@typed/environment": "0.11.0",
|
|
24
|
+
"@typed/fx": "1.32.0",
|
|
25
|
+
"@typed/wire": "0.6.0"
|
|
25
26
|
},
|
|
26
27
|
"main": "./dist/cjs/index.js",
|
|
27
28
|
"module": "./dist/esm/index.js",
|
package/src/ElementRef.ts
CHANGED
|
@@ -23,8 +23,17 @@ export type ElementRefTypeId = typeof ElementRefTypeId
|
|
|
23
23
|
* A reference to a rendered element.
|
|
24
24
|
* @since 1.0.0
|
|
25
25
|
*/
|
|
26
|
-
export interface ElementRef<T extends Rendered = Rendered>
|
|
27
|
-
|
|
26
|
+
export interface ElementRef<T extends Rendered = Rendered> extends
|
|
27
|
+
Versioned<
|
|
28
|
+
never,
|
|
29
|
+
never,
|
|
30
|
+
T,
|
|
31
|
+
never,
|
|
32
|
+
Scope.Scope,
|
|
33
|
+
T,
|
|
34
|
+
NoSuchElementException,
|
|
35
|
+
never
|
|
36
|
+
>
|
|
28
37
|
{
|
|
29
38
|
readonly [ElementRefTypeId]: RefSubject.RefSubject<Option.Option<T>>
|
|
30
39
|
|
|
@@ -39,7 +48,11 @@ const strictEqual = Option.getEquivalence((a, b) => a === b)
|
|
|
39
48
|
/**
|
|
40
49
|
* @since 1.0.0
|
|
41
50
|
*/
|
|
42
|
-
export function make<T extends Rendered = Rendered>(): Effect.Effect<
|
|
51
|
+
export function make<T extends Rendered = Rendered>(): Effect.Effect<
|
|
52
|
+
ElementRef<T>,
|
|
53
|
+
never,
|
|
54
|
+
Scope.Scope
|
|
55
|
+
> {
|
|
43
56
|
return Effect.map(
|
|
44
57
|
RefSubject.of(Option.none<T>(), { eq: strictEqual }),
|
|
45
58
|
(ref) => new ElementRefImpl(ref) as any as ElementRef<T>
|
|
@@ -49,23 +62,22 @@ export function make<T extends Rendered = Rendered>(): Effect.Effect<ElementRef<
|
|
|
49
62
|
/**
|
|
50
63
|
* @since 1.0.0
|
|
51
64
|
*/
|
|
52
|
-
export function of<T extends Rendered>(
|
|
65
|
+
export function of<T extends Rendered>(
|
|
66
|
+
rendered: T
|
|
67
|
+
): Effect.Effect<ElementRef<T>, never, Scope.Scope> {
|
|
53
68
|
return Effect.map(
|
|
54
69
|
RefSubject.of(Option.some<T>(rendered), { eq: strictEqual }),
|
|
55
70
|
(ref) => new ElementRefImpl(ref) as any as ElementRef<T>
|
|
56
71
|
)
|
|
57
72
|
}
|
|
58
73
|
|
|
59
|
-
// @ts-expect-error
|
|
74
|
+
// @ts-expect-error Missing PlaceholderTypeId
|
|
60
75
|
class ElementRefImpl<T extends Rendered> extends FxEffectBase<T, never, Scope.Scope, T, NoSuchElementException, never>
|
|
61
76
|
implements ElementRef<T>
|
|
62
77
|
{
|
|
63
78
|
readonly [ElementRefTypeId]: RefSubject.RefSubject<Option.Option<T>>
|
|
64
79
|
|
|
65
|
-
private source: ElementSource<
|
|
66
|
-
T,
|
|
67
|
-
DefaultEventMap<T>
|
|
68
|
-
>
|
|
80
|
+
private source: ElementSource<T, DefaultEventMap<T>>
|
|
69
81
|
|
|
70
82
|
readonly query: ElementRef<T>["query"]
|
|
71
83
|
readonly events: ElementRef<T>["events"]
|
|
@@ -97,16 +109,26 @@ class ElementRefImpl<T extends Rendered> extends FxEffectBase<T, never, Scope.Sc
|
|
|
97
109
|
* @since 1.0.0
|
|
98
110
|
*/
|
|
99
111
|
export const set: {
|
|
100
|
-
<A extends Rendered>(
|
|
112
|
+
<A extends Rendered>(
|
|
113
|
+
value: A
|
|
114
|
+
): (elementRef: ElementRef<A>) => Effect.Effect<A>
|
|
101
115
|
<A extends Rendered>(elementRef: ElementRef<A>, value: A): Effect.Effect<A>
|
|
102
|
-
} = dual(2, function set<
|
|
103
|
-
|
|
116
|
+
} = dual(2, function set<
|
|
117
|
+
A extends Rendered
|
|
118
|
+
>(elementRef: ElementRef<A>, value: A) {
|
|
119
|
+
return Effect.as(
|
|
120
|
+
RefSubject.set(elementRef[ElementRefTypeId], Option.some(value)),
|
|
121
|
+
value
|
|
122
|
+
)
|
|
104
123
|
})
|
|
105
124
|
|
|
106
125
|
/**
|
|
107
126
|
* @since 1.0.0
|
|
108
127
|
*/
|
|
109
|
-
export function dispatchEvent<T extends Rendered>(
|
|
128
|
+
export function dispatchEvent<T extends Rendered>(
|
|
129
|
+
ref: ElementRef<T>,
|
|
130
|
+
event: Event
|
|
131
|
+
) {
|
|
110
132
|
return ref.pipe(
|
|
111
133
|
Effect.flatMap((rendered) => {
|
|
112
134
|
const elements = getElements(rendered)
|
package/src/ElementSource.ts
CHANGED
|
@@ -40,7 +40,10 @@ export interface ElementSource<
|
|
|
40
40
|
readonly selector: Selector
|
|
41
41
|
|
|
42
42
|
readonly query: {
|
|
43
|
-
<
|
|
43
|
+
<
|
|
44
|
+
S extends string,
|
|
45
|
+
Ev extends {} = DefaultEventMap<ParseSelector<S, Element>>
|
|
46
|
+
>(
|
|
44
47
|
selector: S
|
|
45
48
|
): ElementSource<ParseSelector<S, Element>, Ev>
|
|
46
49
|
|
|
@@ -54,33 +57,44 @@ export interface ElementSource<
|
|
|
54
57
|
readonly events: <Type extends keyof EventMap>(
|
|
55
58
|
type: Type,
|
|
56
59
|
options?: AddEventListenerOptions
|
|
57
|
-
) => Fx.Fx<
|
|
60
|
+
) => Fx.Fx<
|
|
61
|
+
EventWithCurrentTarget<Rendered.Elements<T>[number], EventMap[Type]>,
|
|
62
|
+
never,
|
|
63
|
+
Scope.Scope
|
|
64
|
+
>
|
|
58
65
|
|
|
59
|
-
readonly dispatchEvent: (
|
|
66
|
+
readonly dispatchEvent: (
|
|
67
|
+
event: Event,
|
|
68
|
+
wait?: DurationInput
|
|
69
|
+
) => Effect.Effect<void, NoSuchElementException>
|
|
60
70
|
}
|
|
61
71
|
|
|
62
72
|
/**
|
|
63
73
|
* @since 1.0.0
|
|
64
74
|
*/
|
|
65
|
-
export function ElementSource<
|
|
66
|
-
|
|
67
|
-
|
|
75
|
+
export function ElementSource<
|
|
76
|
+
T extends Rendered,
|
|
77
|
+
EventMap extends {} = DefaultEventMap<T>
|
|
78
|
+
>(rootElement: RefSubject.Filtered<T>): ElementSource<T, EventMap> {
|
|
68
79
|
return new ElementSourceImpl<T, EventMap>(rootElement) as any
|
|
69
80
|
}
|
|
70
81
|
|
|
71
82
|
/**
|
|
72
83
|
* @since 1.0.0
|
|
73
84
|
*/
|
|
74
|
-
export function fromElement<
|
|
75
|
-
|
|
76
|
-
|
|
85
|
+
export function fromElement<
|
|
86
|
+
T extends Element,
|
|
87
|
+
EventMap extends {} = DefaultEventMap<T>
|
|
88
|
+
>(rootElement: T): ElementSource<T, EventMap> {
|
|
77
89
|
return ElementSourceImpl.fromElement(rootElement) as any
|
|
78
90
|
}
|
|
79
91
|
|
|
80
92
|
/**
|
|
81
93
|
* @since 1.0.0
|
|
82
94
|
*/
|
|
83
|
-
export type ParseSelector<T extends string, Fallback> = [T] extends [
|
|
95
|
+
export type ParseSelector<T extends string, Fallback> = [T] extends [
|
|
96
|
+
typeof ROOT_CSS_SELECTOR
|
|
97
|
+
] ? Fallback
|
|
84
98
|
: Fallback extends globalThis.Element ? Extract<TQS.ParseSelector<T, Fallback>, globalThis.Element>
|
|
85
99
|
: Fallback
|
|
86
100
|
|
|
@@ -106,7 +120,9 @@ type RenderedWithoutArray = Exclude<Rendered, ReadonlyArray<Rendered>>
|
|
|
106
120
|
/**
|
|
107
121
|
* @since 1.0.0
|
|
108
122
|
*/
|
|
109
|
-
export function getElements<T extends Rendered>(
|
|
123
|
+
export function getElements<T extends Rendered>(
|
|
124
|
+
element: T
|
|
125
|
+
): ReadonlyArray<Element> {
|
|
110
126
|
if (Array.isArray(element)) return element.flatMap(getElements)
|
|
111
127
|
if (isWire(element as RenderedWithoutArray)) {
|
|
112
128
|
return Array.from((element.valueOf() as DocumentFragment).children)
|
|
@@ -117,12 +133,16 @@ export function getElements<T extends Rendered>(element: T): ReadonlyArray<Eleme
|
|
|
117
133
|
}
|
|
118
134
|
|
|
119
135
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
120
|
-
if ((element as Node).parentElement)
|
|
136
|
+
if ((element as Node).parentElement) {
|
|
137
|
+
return [(element as Node).parentElement!]
|
|
138
|
+
}
|
|
121
139
|
|
|
122
140
|
return []
|
|
123
141
|
}
|
|
124
142
|
|
|
125
|
-
function findMostSpecificElement<T extends Element>(
|
|
143
|
+
function findMostSpecificElement<T extends Element>(
|
|
144
|
+
cssSelectors: ReadonlyArray<string>
|
|
145
|
+
) {
|
|
126
146
|
return function(element: Rendered): T {
|
|
127
147
|
const elements = getElements(element)
|
|
128
148
|
|
|
@@ -140,7 +160,9 @@ function findMostSpecificElement<T extends Element>(cssSelectors: ReadonlyArray<
|
|
|
140
160
|
}
|
|
141
161
|
}
|
|
142
162
|
|
|
143
|
-
function findMatchingElements<El extends Element = Element>(
|
|
163
|
+
function findMatchingElements<El extends Element = Element>(
|
|
164
|
+
cssSelectors: ReadonlyArray<string>
|
|
165
|
+
) {
|
|
144
166
|
if (cssSelectors.length === 0) return getElements
|
|
145
167
|
|
|
146
168
|
const cssSelector = cssSelectors.join(" ")
|
|
@@ -175,13 +197,15 @@ function makeEventStream<Ev extends Event>(
|
|
|
175
197
|
elements.map((element) =>
|
|
176
198
|
Fx.filter(
|
|
177
199
|
Fx.make<Ev>((sink) =>
|
|
178
|
-
Effect.scoped(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
200
|
+
Effect.scoped(
|
|
201
|
+
Effect.zipRight(
|
|
202
|
+
addEventListener(element, {
|
|
203
|
+
eventName,
|
|
204
|
+
handler: (ev) => sink.onSuccess(ev as any as Ev)
|
|
205
|
+
}),
|
|
206
|
+
Effect.never
|
|
207
|
+
)
|
|
208
|
+
)
|
|
185
209
|
),
|
|
186
210
|
(event: Ev) =>
|
|
187
211
|
ensureMatches(cssSelector, element, event, capture) ||
|
|
@@ -211,15 +235,20 @@ function makeElementEventStream<Ev extends Event>(
|
|
|
211
235
|
elements.map((element) =>
|
|
212
236
|
Fx.filter(
|
|
213
237
|
Fx.make<Ev>((sink) =>
|
|
214
|
-
Effect.scoped(
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
238
|
+
Effect.scoped(
|
|
239
|
+
Effect.zipRight(
|
|
240
|
+
addEventListener(element, {
|
|
241
|
+
eventName,
|
|
242
|
+
handler: (ev) => sink.onSuccess(ev as any as Ev)
|
|
243
|
+
}),
|
|
244
|
+
Effect.never
|
|
245
|
+
)
|
|
246
|
+
)
|
|
221
247
|
),
|
|
222
|
-
(event: Ev) =>
|
|
248
|
+
(event: Ev) =>
|
|
249
|
+
event.target
|
|
250
|
+
? currentTarget.contains(event.target as Element)
|
|
251
|
+
: false
|
|
223
252
|
)
|
|
224
253
|
)
|
|
225
254
|
)
|
|
@@ -262,24 +291,39 @@ const EVENT_PROPERTY_TO_REPLACE = "currentTarget"
|
|
|
262
291
|
function cloneEvent<E extends Event>(event: E, currentTarget: Element): E {
|
|
263
292
|
return new Proxy(event, {
|
|
264
293
|
get(target: E, property: string | symbol) {
|
|
265
|
-
return property === EVENT_PROPERTY_TO_REPLACE
|
|
294
|
+
return property === EVENT_PROPERTY_TO_REPLACE
|
|
295
|
+
? currentTarget
|
|
296
|
+
: target[property as keyof E]
|
|
266
297
|
}
|
|
267
298
|
})
|
|
268
299
|
}
|
|
269
300
|
|
|
270
|
-
function ensureMatches(
|
|
301
|
+
function ensureMatches(
|
|
302
|
+
cssSelector: string,
|
|
303
|
+
element: Element,
|
|
304
|
+
ev: Event,
|
|
305
|
+
capture = false
|
|
306
|
+
): boolean {
|
|
271
307
|
let target = ev.target as Element
|
|
272
308
|
|
|
273
|
-
if (!cssSelector)
|
|
309
|
+
if (!cssSelector) {
|
|
310
|
+
return (capture && element.contains(target)) || target === element
|
|
311
|
+
}
|
|
274
312
|
|
|
275
|
-
for (
|
|
313
|
+
for (
|
|
314
|
+
;
|
|
315
|
+
target && target !== element;
|
|
316
|
+
target = target.parentElement as Element
|
|
317
|
+
) {
|
|
276
318
|
if (target.matches(cssSelector)) return true
|
|
277
319
|
}
|
|
278
320
|
|
|
279
321
|
return element.matches(cssSelector)
|
|
280
322
|
}
|
|
281
323
|
|
|
282
|
-
function isDocumentFragment(
|
|
324
|
+
function isDocumentFragment(
|
|
325
|
+
element: RenderedWithoutArray
|
|
326
|
+
): element is DocumentFragment {
|
|
283
327
|
return element.nodeType === element.DOCUMENT_FRAGMENT_NODE
|
|
284
328
|
}
|
|
285
329
|
|
|
@@ -291,13 +335,18 @@ function isElement(element: RenderedWithoutArray): element is Element {
|
|
|
291
335
|
* @internal
|
|
292
336
|
* @since 1.0.0
|
|
293
337
|
*/
|
|
294
|
-
// @ts-expect-error
|
|
338
|
+
// @ts-expect-error Missing PlaceholderTypeId
|
|
295
339
|
export class ElementSourceImpl<
|
|
296
340
|
T extends Rendered,
|
|
297
341
|
EventMap extends {} = DefaultEventMap<Rendered.Elements<T>[number]>
|
|
298
|
-
> extends FxEffectBase<
|
|
299
|
-
|
|
300
|
-
|
|
342
|
+
> extends FxEffectBase<
|
|
343
|
+
Rendered.Elements<T>,
|
|
344
|
+
never,
|
|
345
|
+
Scope.Scope,
|
|
346
|
+
Rendered.Elements<T>,
|
|
347
|
+
NoSuchElementException,
|
|
348
|
+
never
|
|
349
|
+
> implements ElementSource<T, EventMap> {
|
|
301
350
|
private bubbleMap = new Map<any, Fx.Fx<any, never, Scope.Scope>>()
|
|
302
351
|
private captureMap = new Map<any, Fx.Fx<any, never, Scope.Scope>>()
|
|
303
352
|
|
|
@@ -312,18 +361,23 @@ export class ElementSourceImpl<
|
|
|
312
361
|
this.query = this.query.bind(this)
|
|
313
362
|
this.events = this.events.bind(this)
|
|
314
363
|
|
|
315
|
-
this.elements = this.selector._tag === "css"
|
|
316
|
-
RefSubject.map(
|
|
317
|
-
|
|
364
|
+
this.elements = this.selector._tag === "css"
|
|
365
|
+
? RefSubject.map(
|
|
366
|
+
this.rootElement,
|
|
367
|
+
findMatchingElements<any>(this.selector.selectors)
|
|
368
|
+
)
|
|
369
|
+
: (RefSubject.filterMapEffect(
|
|
318
370
|
Versioned.of(this.selector.element),
|
|
319
371
|
(x) => Effect.succeedSome([x] as any as Rendered.Elements<T>)
|
|
320
|
-
) as any
|
|
372
|
+
) as any)
|
|
321
373
|
|
|
322
374
|
this.version = this.elements.version
|
|
323
375
|
}
|
|
324
376
|
|
|
325
377
|
static fromElement<T extends Rendered>(rootElement: T): ElementSource<T> {
|
|
326
|
-
return new ElementSourceImpl<T>(
|
|
378
|
+
return new ElementSourceImpl<T>(
|
|
379
|
+
RefSubject.filterMapEffect(Versioned.of(rootElement), Effect.succeedSome)
|
|
380
|
+
) as any
|
|
327
381
|
}
|
|
328
382
|
|
|
329
383
|
toEffect(): Effect.Effect<Rendered.Elements<T>, NoSuchElementException> {
|
|
@@ -334,26 +388,39 @@ export class ElementSourceImpl<
|
|
|
334
388
|
return this.elements
|
|
335
389
|
}
|
|
336
390
|
|
|
337
|
-
query<
|
|
338
|
-
|
|
339
|
-
|
|
391
|
+
query<
|
|
392
|
+
S extends string,
|
|
393
|
+
Ev extends {} = DefaultEventMap<ParseSelector<S, Element>>
|
|
394
|
+
>(selector: S): ElementSource<ParseSelector<S, Element>, Ev> {
|
|
340
395
|
if (selector === ROOT_CSS_SELECTOR) {
|
|
341
396
|
return this as any
|
|
342
397
|
} else if (typeof selector === "string") {
|
|
343
398
|
if (this.selector._tag === "css") {
|
|
344
|
-
return new ElementSourceImpl(
|
|
399
|
+
return new ElementSourceImpl(
|
|
400
|
+
this.rootElement,
|
|
401
|
+
CssSelectors([...this.selector.selectors, selector])
|
|
402
|
+
) as any
|
|
345
403
|
} else {
|
|
346
|
-
return ElementSourceImpl.fromElement(this.selector.element).query(
|
|
404
|
+
return ElementSourceImpl.fromElement(this.selector.element).query(
|
|
405
|
+
selector
|
|
406
|
+
) as any
|
|
347
407
|
}
|
|
348
408
|
} else {
|
|
349
|
-
return new ElementSourceImpl(
|
|
409
|
+
return new ElementSourceImpl(
|
|
410
|
+
this.rootElement,
|
|
411
|
+
ElementSelector(selector)
|
|
412
|
+
) as any
|
|
350
413
|
}
|
|
351
414
|
}
|
|
352
415
|
|
|
353
416
|
events<Type extends keyof EventMap>(
|
|
354
417
|
type: Type,
|
|
355
418
|
options?: AddEventListenerOptions
|
|
356
|
-
): Fx.Fx<
|
|
419
|
+
): Fx.Fx<
|
|
420
|
+
EventWithCurrentTarget<Rendered.Elements<T>[number], EventMap[Type]>,
|
|
421
|
+
never,
|
|
422
|
+
Scope.Scope
|
|
423
|
+
> {
|
|
357
424
|
const capture = options?.capture === true
|
|
358
425
|
const map = capture ? this.captureMap : this.bubbleMap
|
|
359
426
|
|
|
@@ -361,13 +428,24 @@ export class ElementSourceImpl<
|
|
|
361
428
|
|
|
362
429
|
if (current === undefined) {
|
|
363
430
|
if (this.selector._tag === "css") {
|
|
364
|
-
current = RefSubject.map(
|
|
365
|
-
|
|
431
|
+
current = RefSubject.map(
|
|
432
|
+
this.rootElement,
|
|
433
|
+
findMostSpecificElement(this.selector.selectors)
|
|
434
|
+
).pipe(
|
|
435
|
+
Fx.switchMap(
|
|
436
|
+
makeEventStream(this.selector.selectors, type as any, options)
|
|
437
|
+
),
|
|
366
438
|
Fx.multicast
|
|
367
439
|
)
|
|
368
440
|
} else {
|
|
369
441
|
current = this.rootElement.pipe(
|
|
370
|
-
Fx.switchMap(
|
|
442
|
+
Fx.switchMap(
|
|
443
|
+
makeElementEventStream(
|
|
444
|
+
this.selector.element,
|
|
445
|
+
type as string,
|
|
446
|
+
options
|
|
447
|
+
)
|
|
448
|
+
),
|
|
371
449
|
Fx.multicast
|
|
372
450
|
)
|
|
373
451
|
}
|
package/src/Platform.ts
CHANGED
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import * as HttpServer from "@effect/platform/HttpServer"
|
|
5
|
+
import type { HttpServerRequest } from "@effect/platform"
|
|
6
|
+
import { Headers, HttpServerResponse } from "@effect/platform"
|
|
8
7
|
import type * as Fx from "@typed/fx/Fx"
|
|
9
8
|
import { toStream } from "@typed/fx/Stream"
|
|
10
9
|
import * as Effect from "effect/Effect"
|
|
@@ -22,10 +21,10 @@ const HYPHENATED_CONTENT_TYPE = { "content-type": HTML_CONTENT_TYPE }
|
|
|
22
21
|
*/
|
|
23
22
|
export function htmlResponse<E, R>(
|
|
24
23
|
fx: Fx.Fx<RenderEvent | null, E, R>,
|
|
25
|
-
options?:
|
|
26
|
-
): Effect.Effect<
|
|
24
|
+
options?: HttpServerResponse.Options
|
|
25
|
+
): Effect.Effect<HttpServerResponse.HttpServerResponse, E, R> {
|
|
27
26
|
return Effect.contextWithEffect((ctx) =>
|
|
28
|
-
|
|
27
|
+
HttpServerResponse.stream(
|
|
29
28
|
Stream.provideContext(Stream.encodeText(toStream(renderToHtml(fx))), ctx),
|
|
30
29
|
{
|
|
31
30
|
...CAMEL_CASE_CONTENT_TYPE,
|
|
@@ -41,9 +40,9 @@ export function htmlResponse<E, R>(
|
|
|
41
40
|
*/
|
|
42
41
|
export function htmlResponseString(
|
|
43
42
|
html: string,
|
|
44
|
-
options?:
|
|
45
|
-
):
|
|
46
|
-
return
|
|
43
|
+
options?: HttpServerResponse.Options
|
|
44
|
+
): HttpServerResponse.HttpServerResponse {
|
|
45
|
+
return HttpServerResponse.raw(
|
|
47
46
|
html,
|
|
48
47
|
{
|
|
49
48
|
...CAMEL_CASE_CONTENT_TYPE,
|
|
@@ -56,7 +55,7 @@ export function htmlResponseString(
|
|
|
56
55
|
/**
|
|
57
56
|
* @since 1.0.0
|
|
58
57
|
*/
|
|
59
|
-
export function getUrlFromServerRequest(request:
|
|
58
|
+
export function getUrlFromServerRequest(request: HttpServerRequest.HttpServerRequest): URL {
|
|
60
59
|
const { headers } = request
|
|
61
60
|
const host = Headers.get(headers, "x-forwarded-host").pipe(
|
|
62
61
|
Option.orElse(() => Headers.get(headers, "host")),
|