@typed/template 0.1.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/LICENSE +21 -0
- package/README.md +5 -0
- package/dist/cjs/Directive.js +76 -0
- package/dist/cjs/Directive.js.map +1 -0
- package/dist/cjs/ElementRef.js +83 -0
- package/dist/cjs/ElementRef.js.map +1 -0
- package/dist/cjs/ElementSource.js +244 -0
- package/dist/cjs/ElementSource.js.map +1 -0
- package/dist/cjs/Entry.js +6 -0
- package/dist/cjs/Entry.js.map +1 -0
- package/dist/cjs/EventHandler.js +65 -0
- package/dist/cjs/EventHandler.js.map +1 -0
- package/dist/cjs/Html.js +169 -0
- package/dist/cjs/Html.js.map +1 -0
- package/dist/cjs/HtmlChunk.js +257 -0
- package/dist/cjs/HtmlChunk.js.map +1 -0
- package/dist/cjs/Hydrate.js +49 -0
- package/dist/cjs/Hydrate.js.map +1 -0
- package/dist/cjs/Many.js +45 -0
- package/dist/cjs/Many.js.map +1 -0
- package/dist/cjs/Meta.js +37 -0
- package/dist/cjs/Meta.js.map +1 -0
- package/dist/cjs/Parser.js +331 -0
- package/dist/cjs/Parser.js.map +1 -0
- package/dist/cjs/Part.js +6 -0
- package/dist/cjs/Part.js.map +1 -0
- package/dist/cjs/Placeholder.js +38 -0
- package/dist/cjs/Placeholder.js.map +1 -0
- package/dist/cjs/Platform.js +64 -0
- package/dist/cjs/Platform.js.map +1 -0
- package/dist/cjs/Render.js +39 -0
- package/dist/cjs/Render.js.map +1 -0
- package/dist/cjs/RenderContext.js +130 -0
- package/dist/cjs/RenderContext.js.map +1 -0
- package/dist/cjs/RenderEvent.js +44 -0
- package/dist/cjs/RenderEvent.js.map +1 -0
- package/dist/cjs/RenderTemplate.js +41 -0
- package/dist/cjs/RenderTemplate.js.map +1 -0
- package/dist/cjs/Renderable.js +6 -0
- package/dist/cjs/Renderable.js.map +1 -0
- package/dist/cjs/Template.js +266 -0
- package/dist/cjs/Template.js.map +1 -0
- package/dist/cjs/TemplateInstance.js +51 -0
- package/dist/cjs/TemplateInstance.js.map +1 -0
- package/dist/cjs/Test.js +90 -0
- package/dist/cjs/Test.js.map +1 -0
- package/dist/cjs/Token.js +270 -0
- package/dist/cjs/Token.js.map +1 -0
- package/dist/cjs/Tokenizer.js +18 -0
- package/dist/cjs/Tokenizer.js.map +1 -0
- package/dist/cjs/Vitest.js +44 -0
- package/dist/cjs/Vitest.js.map +1 -0
- package/dist/cjs/index.js +147 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/HydrateContext.js +13 -0
- package/dist/cjs/internal/HydrateContext.js.map +1 -0
- package/dist/cjs/internal/browser.js +109 -0
- package/dist/cjs/internal/browser.js.map +1 -0
- package/dist/cjs/internal/chunks.js +54 -0
- package/dist/cjs/internal/chunks.js.map +1 -0
- package/dist/cjs/internal/errors.js +23 -0
- package/dist/cjs/internal/errors.js.map +1 -0
- package/dist/cjs/internal/hydrate.js +197 -0
- package/dist/cjs/internal/hydrate.js.map +1 -0
- package/dist/cjs/internal/indexRefCounter.js +32 -0
- package/dist/cjs/internal/indexRefCounter.js.map +1 -0
- package/dist/cjs/internal/module-augmentation.js +6 -0
- package/dist/cjs/internal/module-augmentation.js.map +1 -0
- package/dist/cjs/internal/parser.js +492 -0
- package/dist/cjs/internal/parser.js.map +1 -0
- package/dist/cjs/internal/parts.js +350 -0
- package/dist/cjs/internal/parts.js.map +1 -0
- package/dist/cjs/internal/readAttribute.js +34 -0
- package/dist/cjs/internal/readAttribute.js.map +1 -0
- package/dist/cjs/internal/render.js +332 -0
- package/dist/cjs/internal/render.js.map +1 -0
- package/dist/cjs/internal/server.js +219 -0
- package/dist/cjs/internal/server.js.map +1 -0
- package/dist/cjs/internal/tokenizer.js +264 -0
- package/dist/cjs/internal/tokenizer.js.map +1 -0
- package/dist/cjs/internal/utils.js +68 -0
- package/dist/cjs/internal/utils.js.map +1 -0
- package/dist/dts/Directive.d.ts +70 -0
- package/dist/dts/Directive.d.ts.map +1 -0
- package/dist/dts/ElementRef.d.ts +40 -0
- package/dist/dts/ElementRef.d.ts.map +1 -0
- package/dist/dts/ElementSource.d.ts +72 -0
- package/dist/dts/ElementSource.d.ts.map +1 -0
- package/dist/dts/Entry.d.ts +26 -0
- package/dist/dts/Entry.d.ts.map +1 -0
- package/dist/dts/EventHandler.d.ts +61 -0
- package/dist/dts/EventHandler.d.ts.map +1 -0
- package/dist/dts/Html.d.ts +17 -0
- package/dist/dts/Html.d.ts.map +1 -0
- package/dist/dts/HtmlChunk.d.ts +56 -0
- package/dist/dts/HtmlChunk.d.ts.map +1 -0
- package/dist/dts/Hydrate.d.ts +20 -0
- package/dist/dts/Hydrate.d.ts.map +1 -0
- package/dist/dts/Many.d.ts +32 -0
- package/dist/dts/Many.d.ts.map +1 -0
- package/dist/dts/Meta.d.ts +24 -0
- package/dist/dts/Meta.d.ts.map +1 -0
- package/dist/dts/Parser.d.ts +16 -0
- package/dist/dts/Parser.d.ts.map +1 -0
- package/dist/dts/Part.d.ts +147 -0
- package/dist/dts/Part.d.ts.map +1 -0
- package/dist/dts/Placeholder.d.ts +51 -0
- package/dist/dts/Placeholder.d.ts.map +1 -0
- package/dist/dts/Platform.d.ts +23 -0
- package/dist/dts/Platform.d.ts.map +1 -0
- package/dist/dts/Render.d.ts +23 -0
- package/dist/dts/Render.d.ts.map +1 -0
- package/dist/dts/RenderContext.d.ts +88 -0
- package/dist/dts/RenderContext.d.ts.map +1 -0
- package/dist/dts/RenderEvent.d.ts +37 -0
- package/dist/dts/RenderEvent.d.ts.map +1 -0
- package/dist/dts/RenderTemplate.d.ts +38 -0
- package/dist/dts/RenderTemplate.d.ts.map +1 -0
- package/dist/dts/Renderable.d.ts +28 -0
- package/dist/dts/Renderable.d.ts.map +1 -0
- package/dist/dts/Template.d.ts +218 -0
- package/dist/dts/Template.d.ts.map +1 -0
- package/dist/dts/TemplateInstance.d.ts +32 -0
- package/dist/dts/TemplateInstance.d.ts.map +1 -0
- package/dist/dts/Test.d.ts +58 -0
- package/dist/dts/Test.d.ts.map +1 -0
- package/dist/dts/Token.d.ts +202 -0
- package/dist/dts/Token.d.ts.map +1 -0
- package/dist/dts/Tokenizer.d.ts +6 -0
- package/dist/dts/Tokenizer.d.ts.map +1 -0
- package/dist/dts/Vitest.d.ts +28 -0
- package/dist/dts/Vitest.d.ts.map +1 -0
- package/dist/dts/index.d.ts +65 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/internal/HydrateContext.d.ts +2 -0
- package/dist/dts/internal/HydrateContext.d.ts.map +1 -0
- package/dist/dts/internal/browser.d.ts +8 -0
- package/dist/dts/internal/browser.d.ts.map +1 -0
- package/dist/dts/internal/chunks.d.ts +22 -0
- package/dist/dts/internal/chunks.d.ts.map +1 -0
- package/dist/dts/internal/errors.d.ts +9 -0
- package/dist/dts/internal/errors.d.ts.map +1 -0
- package/dist/dts/internal/hydrate.d.ts +37 -0
- package/dist/dts/internal/hydrate.d.ts.map +1 -0
- package/dist/dts/internal/indexRefCounter.d.ts +6 -0
- package/dist/dts/internal/indexRefCounter.d.ts.map +1 -0
- package/dist/dts/internal/module-augmentation.d.ts +36 -0
- package/dist/dts/internal/module-augmentation.d.ts.map +1 -0
- package/dist/dts/internal/parser.d.ts +12 -0
- package/dist/dts/internal/parser.d.ts.map +1 -0
- package/dist/dts/internal/parts.d.ts +304 -0
- package/dist/dts/internal/parts.d.ts.map +1 -0
- package/dist/dts/internal/readAttribute.d.ts +9 -0
- package/dist/dts/internal/readAttribute.d.ts.map +1 -0
- package/dist/dts/internal/render.d.ts +30 -0
- package/dist/dts/internal/render.d.ts.map +1 -0
- package/dist/dts/internal/server.d.ts +31 -0
- package/dist/dts/internal/server.d.ts.map +1 -0
- package/dist/dts/internal/tokenizer.d.ts +3 -0
- package/dist/dts/internal/tokenizer.d.ts.map +1 -0
- package/dist/dts/internal/utils.d.ts +15 -0
- package/dist/dts/internal/utils.d.ts.map +1 -0
- package/dist/esm/Directive.js +64 -0
- package/dist/esm/Directive.js.map +1 -0
- package/dist/esm/ElementRef.js +72 -0
- package/dist/esm/ElementRef.js.map +1 -0
- package/dist/esm/ElementSource.js +237 -0
- package/dist/esm/ElementSource.js.map +1 -0
- package/dist/esm/Entry.js +2 -0
- package/dist/esm/Entry.js.map +1 -0
- package/dist/esm/EventHandler.js +52 -0
- package/dist/esm/EventHandler.js.map +1 -0
- package/dist/esm/Html.js +167 -0
- package/dist/esm/Html.js.map +1 -0
- package/dist/esm/HtmlChunk.js +274 -0
- package/dist/esm/HtmlChunk.js.map +1 -0
- package/dist/esm/Hydrate.js +37 -0
- package/dist/esm/Hydrate.js.map +1 -0
- package/dist/esm/Many.js +33 -0
- package/dist/esm/Many.js.map +1 -0
- package/dist/esm/Meta.js +29 -0
- package/dist/esm/Meta.js.map +1 -0
- package/dist/esm/Parser.js +342 -0
- package/dist/esm/Parser.js.map +1 -0
- package/dist/esm/Part.js +5 -0
- package/dist/esm/Part.js.map +1 -0
- package/dist/esm/Placeholder.js +30 -0
- package/dist/esm/Placeholder.js.map +1 -0
- package/dist/esm/Platform.js +41 -0
- package/dist/esm/Platform.js.map +1 -0
- package/dist/esm/Render.js +27 -0
- package/dist/esm/Render.js.map +1 -0
- package/dist/esm/RenderContext.js +113 -0
- package/dist/esm/RenderContext.js.map +1 -0
- package/dist/esm/RenderEvent.js +36 -0
- package/dist/esm/RenderEvent.js.map +1 -0
- package/dist/esm/RenderTemplate.js +26 -0
- package/dist/esm/RenderTemplate.js.map +1 -0
- package/dist/esm/Renderable.js +2 -0
- package/dist/esm/Renderable.js.map +1 -0
- package/dist/esm/Template.js +239 -0
- package/dist/esm/Template.js.map +1 -0
- package/dist/esm/TemplateInstance.js +43 -0
- package/dist/esm/TemplateInstance.js.map +1 -0
- package/dist/esm/Test.js +68 -0
- package/dist/esm/Test.js.map +1 -0
- package/dist/esm/Token.js +264 -0
- package/dist/esm/Token.js.map +1 -0
- package/dist/esm/Tokenizer.js +9 -0
- package/dist/esm/Tokenizer.js.map +1 -0
- package/dist/esm/Vitest.js +29 -0
- package/dist/esm/Vitest.js.map +1 -0
- package/dist/esm/index.js +65 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/HydrateContext.js +7 -0
- package/dist/esm/internal/HydrateContext.js.map +1 -0
- package/dist/esm/internal/browser.js +102 -0
- package/dist/esm/internal/browser.js.map +1 -0
- package/dist/esm/internal/chunks.js +47 -0
- package/dist/esm/internal/chunks.js.map +1 -0
- package/dist/esm/internal/errors.js +15 -0
- package/dist/esm/internal/errors.js.map +1 -0
- package/dist/esm/internal/hydrate.js +165 -0
- package/dist/esm/internal/hydrate.js.map +1 -0
- package/dist/esm/internal/indexRefCounter.js +24 -0
- package/dist/esm/internal/indexRefCounter.js.map +1 -0
- package/dist/esm/internal/module-augmentation.js +2 -0
- package/dist/esm/internal/module-augmentation.js.map +1 -0
- package/dist/esm/internal/parser.js +493 -0
- package/dist/esm/internal/parser.js.map +1 -0
- package/dist/esm/internal/parts.js +291 -0
- package/dist/esm/internal/parts.js.map +1 -0
- package/dist/esm/internal/readAttribute.js +24 -0
- package/dist/esm/internal/readAttribute.js.map +1 -0
- package/dist/esm/internal/render.js +329 -0
- package/dist/esm/internal/render.js.map +1 -0
- package/dist/esm/internal/server.js +174 -0
- package/dist/esm/internal/server.js.map +1 -0
- package/dist/esm/internal/tokenizer.js +296 -0
- package/dist/esm/internal/tokenizer.js.map +1 -0
- package/dist/esm/internal/utils.js +52 -0
- package/dist/esm/internal/utils.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +242 -0
- package/src/Directive.ts +114 -0
- package/src/ElementRef.ts +123 -0
- package/src/ElementSource.ts +417 -0
- package/src/Entry.ts +28 -0
- package/src/EventHandler.ts +104 -0
- package/src/Html.ts +258 -0
- package/src/HtmlChunk.ts +346 -0
- package/src/Hydrate.ts +53 -0
- package/src/Many.ts +128 -0
- package/src/Meta.ts +32 -0
- package/src/Parser.ts +457 -0
- package/src/Part.ts +186 -0
- package/src/Placeholder.ts +70 -0
- package/src/Platform.ts +71 -0
- package/src/Render.ts +45 -0
- package/src/RenderContext.ts +221 -0
- package/src/RenderEvent.ts +67 -0
- package/src/RenderTemplate.ts +88 -0
- package/src/Renderable.ts +34 -0
- package/src/Template.ts +284 -0
- package/src/TemplateInstance.ts +83 -0
- package/src/Test.ts +151 -0
- package/src/Token.ts +269 -0
- package/src/Tokenizer.ts +10 -0
- package/src/Vitest.ts +61 -0
- package/src/index.ts +66 -0
- package/src/internal/HydrateContext.ts +23 -0
- package/src/internal/browser.ts +132 -0
- package/src/internal/chunks.ts +73 -0
- package/src/internal/errors.ts +11 -0
- package/src/internal/external.d.ts +11 -0
- package/src/internal/hydrate.ts +262 -0
- package/src/internal/indexRefCounter.ts +33 -0
- package/src/internal/module-augmentation.ts +48 -0
- package/src/internal/parser.ts +637 -0
- package/src/internal/parts.ts +527 -0
- package/src/internal/readAttribute.ts +28 -0
- package/src/internal/render.ts +529 -0
- package/src/internal/server.ts +293 -0
- package/src/internal/tokenizer.ts +338 -0
- package/src/internal/utils.ts +73 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tokenize = tokenize;
|
|
7
|
+
var Token = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../Token"));
|
|
8
|
+
var _chunks = /*#__PURE__*/require("./chunks");
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
function tokenize(template) {
|
|
12
|
+
return new Tokenizer(template);
|
|
13
|
+
}
|
|
14
|
+
function templateWithParts(template) {
|
|
15
|
+
const length = template.length;
|
|
16
|
+
const lastIndex = length - 1;
|
|
17
|
+
let output = "";
|
|
18
|
+
for (let i = 0; i < length; i++) {
|
|
19
|
+
const str = template[i];
|
|
20
|
+
if (i === lastIndex) {
|
|
21
|
+
output += str;
|
|
22
|
+
} else {
|
|
23
|
+
output += str + (0, _chunks.PART_STRING)(i);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return output;
|
|
27
|
+
}
|
|
28
|
+
class Tokenizer {
|
|
29
|
+
template;
|
|
30
|
+
input = "";
|
|
31
|
+
pos = 0;
|
|
32
|
+
context = "text";
|
|
33
|
+
currentTag = null;
|
|
34
|
+
constructor(template) {
|
|
35
|
+
this.template = template;
|
|
36
|
+
}
|
|
37
|
+
*[Symbol.iterator]() {
|
|
38
|
+
this.init();
|
|
39
|
+
// eslint-disable-next-line no-constant-condition
|
|
40
|
+
while (this.pos < this.input.length) {
|
|
41
|
+
switch (this.context) {
|
|
42
|
+
case "element":
|
|
43
|
+
yield* this.nextElementToken();
|
|
44
|
+
break;
|
|
45
|
+
case "self-closing":
|
|
46
|
+
yield* this.nextSelfClosingToken();
|
|
47
|
+
break;
|
|
48
|
+
case "text-only":
|
|
49
|
+
yield* this.nextTextOnlyToken();
|
|
50
|
+
break;
|
|
51
|
+
default:
|
|
52
|
+
yield* this.nextTextToken();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
init() {
|
|
57
|
+
// Convert our template into a string for easier tokenization
|
|
58
|
+
// Remove any whitespace at the beginning or end of the template since we don't care about it.
|
|
59
|
+
this.input = this.template.length === 1 ? this.template[0] : templateWithParts(this.template);
|
|
60
|
+
}
|
|
61
|
+
*nextTextToken() {
|
|
62
|
+
const char = this.nextChar();
|
|
63
|
+
const isOpenBracket = char === "<";
|
|
64
|
+
let next;
|
|
65
|
+
if (isOpenBracket && (next = this.chunk(_chunks.getOpeningTag))) {
|
|
66
|
+
const name = next.match[2];
|
|
67
|
+
this.pushTag(name);
|
|
68
|
+
this.context = Token.SELF_CLOSING_TAGS.has(name) ? "self-closing" : Token.TEXT_ONLY_NODES_REGEX.has(name) ? "text-only" : "element";
|
|
69
|
+
yield new Token.OpeningTagToken(name);
|
|
70
|
+
} else if (isOpenBracket && (next = this.chunk(_chunks.getClosingTag))) {
|
|
71
|
+
yield new Token.ClosingTagToken(next.match[3]);
|
|
72
|
+
this.popTag();
|
|
73
|
+
} else if (isOpenBracket && (next = this.chunk(_chunks.getComment))) {
|
|
74
|
+
yield* this.parseComment(next.match[2]);
|
|
75
|
+
} else if (next = this.chunk(_chunks.getPart)) {
|
|
76
|
+
yield new Token.PartToken(parseInt(next.match[2], 10));
|
|
77
|
+
} else if (next = this.chunk(_chunks.getWhitespace)) {
|
|
78
|
+
yield new Token.TextToken(next.match[1]);
|
|
79
|
+
} else if (next = this.chunk(_chunks.getTextUntilCloseBrace)) {
|
|
80
|
+
yield* parseTextAndParts(next.match[1]);
|
|
81
|
+
} else {
|
|
82
|
+
yield new Token.TextToken(this.takeNextChar());
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
*nextElementToken() {
|
|
86
|
+
let next;
|
|
87
|
+
if (next = this.chunk(_chunks.getAttributeWithQuotes)) {
|
|
88
|
+
yield* this.parseAttribute(next.match[2], next.match[4]);
|
|
89
|
+
} else if (next = this.chunk(_chunks.getAttributeWithoutQuotes)) {
|
|
90
|
+
yield* this.parseAttribute(next.match[2], next.match[4]);
|
|
91
|
+
} else if (next = this.chunk(_chunks.getOpeningTagEnd)) {
|
|
92
|
+
this.context = "text";
|
|
93
|
+
yield new Token.OpeningTagEndToken(this.currentTag.value);
|
|
94
|
+
} else if (next = this.chunk(_chunks.getSelfClosingTagEnd)) {
|
|
95
|
+
yield new Token.OpeningTagEndToken(this.currentTag.value, false);
|
|
96
|
+
yield new Token.ClosingTagToken(this.currentTag.value);
|
|
97
|
+
this.popTag();
|
|
98
|
+
this.context = "text";
|
|
99
|
+
} else if (next = this.chunk(_chunks.getBooleanAttribute)) {
|
|
100
|
+
yield new Token.BooleanAttributeToken(next.match[2]);
|
|
101
|
+
} else if (next = this.chunk(_chunks.getWhitespace)) {
|
|
102
|
+
// Continue
|
|
103
|
+
} else {
|
|
104
|
+
this.invalidTemplate();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
*nextSelfClosingToken() {
|
|
108
|
+
let next;
|
|
109
|
+
if (next = this.chunk(_chunks.getAttributeWithQuotes)) {
|
|
110
|
+
yield* this.parseAttribute(next.match[2], next.match[4]);
|
|
111
|
+
} else if (next = this.chunk(_chunks.getAttributeWithoutQuotes)) {
|
|
112
|
+
yield* this.parseAttribute(next.match[2], next.match[4]);
|
|
113
|
+
} else if (next = this.chunk(_chunks.getSelfClosingTagEnd)) {
|
|
114
|
+
yield new Token.OpeningTagEndToken(this.currentTag.value, true);
|
|
115
|
+
this.popTag();
|
|
116
|
+
this.context = "text";
|
|
117
|
+
} else if (next = this.chunk(_chunks.getBooleanAttribute)) {
|
|
118
|
+
yield new Token.BooleanAttributeToken(next.match[2]);
|
|
119
|
+
} else {
|
|
120
|
+
this.invalidTemplate();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
*nextTextOnlyToken() {
|
|
124
|
+
let next;
|
|
125
|
+
if (next = this.chunk(_chunks.getAttributeWithQuotes)) {
|
|
126
|
+
yield* this.parseAttribute(next.match[2], next.match[4]);
|
|
127
|
+
} else if (next = this.chunk(_chunks.getAttributeWithoutQuotes)) {
|
|
128
|
+
yield* this.parseAttribute(next.match[2], next.match[4]);
|
|
129
|
+
} else if (next = this.chunk(_chunks.getOpeningTagEnd)) {
|
|
130
|
+
yield new Token.OpeningTagEndToken(this.currentTag.value);
|
|
131
|
+
} else if (next = this.chunk(_chunks.getClosingTag)) {
|
|
132
|
+
yield new Token.ClosingTagToken(next.match[3]);
|
|
133
|
+
this.context = "text";
|
|
134
|
+
} else if (next = this.chunk((0, _chunks.getAllTextUntilElementClose)(this.currentTag.value))) {
|
|
135
|
+
const text = next.match[1];
|
|
136
|
+
if (_chunks.PART_REGEX.test(text)) {
|
|
137
|
+
yield* parseTextAndParts(text);
|
|
138
|
+
} else {
|
|
139
|
+
yield new Token.TextToken(text);
|
|
140
|
+
}
|
|
141
|
+
this.context = "text";
|
|
142
|
+
} else {
|
|
143
|
+
this.invalidTemplate();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
*parseComment(comment) {
|
|
147
|
+
const parts = Array.from(parseTextAndParts(comment));
|
|
148
|
+
if (parts.length === 1 && parts[0]._tag === "text") {
|
|
149
|
+
yield new Token.CommentToken(parts[0].value);
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
yield new Token.CommentStartToken("<!--");
|
|
153
|
+
for (const part of parts) {
|
|
154
|
+
yield part;
|
|
155
|
+
}
|
|
156
|
+
yield new Token.CommentEndToken("-->");
|
|
157
|
+
}
|
|
158
|
+
*parseAttribute(name, value) {
|
|
159
|
+
const parts = Array.from(parseTextAndParts(value));
|
|
160
|
+
if (value === "") {
|
|
161
|
+
yield new Token.BooleanAttributeToken(name);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (parts.length === 1 && parts[0]._tag === "text") {
|
|
165
|
+
yield getAttributeToken(name, value);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
yield getAttributeTokenPartial(name, "start");
|
|
169
|
+
for (const part of parts) {
|
|
170
|
+
yield part;
|
|
171
|
+
}
|
|
172
|
+
yield getAttributeTokenPartial(name, "end");
|
|
173
|
+
}
|
|
174
|
+
nextChar() {
|
|
175
|
+
return this.input.charAt(this.pos);
|
|
176
|
+
}
|
|
177
|
+
takeNextChar() {
|
|
178
|
+
const text = this.input.substring(this.pos, this.pos + 1);
|
|
179
|
+
this.pos += 1;
|
|
180
|
+
return text;
|
|
181
|
+
}
|
|
182
|
+
chunk(f) {
|
|
183
|
+
const chunk = f(this.input, this.pos);
|
|
184
|
+
if (chunk) {
|
|
185
|
+
this.pos += chunk.length;
|
|
186
|
+
}
|
|
187
|
+
return chunk;
|
|
188
|
+
}
|
|
189
|
+
pushTag(name) {
|
|
190
|
+
this.currentTag = new Stack(name, this.currentTag);
|
|
191
|
+
}
|
|
192
|
+
popTag() {
|
|
193
|
+
if (this.currentTag) {
|
|
194
|
+
this.currentTag = this.currentTag.previous;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
invalidTemplate() {
|
|
198
|
+
let message = `Invalid template ${this.input}`;
|
|
199
|
+
message += "\n\nFrom:\n\n";
|
|
200
|
+
message += this.input.substring(this.pos);
|
|
201
|
+
throw new SyntaxError(message);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
class Stack {
|
|
205
|
+
value;
|
|
206
|
+
previous;
|
|
207
|
+
constructor(value, previous) {
|
|
208
|
+
this.value = value;
|
|
209
|
+
this.previous = previous;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
function* parseTextAndParts(s) {
|
|
213
|
+
let next;
|
|
214
|
+
let pos = 0;
|
|
215
|
+
while (pos < s.length) {
|
|
216
|
+
if (next = (0, _chunks.getPart)(s, pos)) {
|
|
217
|
+
yield new Token.PartToken(parseInt(next.match[2], 10));
|
|
218
|
+
pos += next.length;
|
|
219
|
+
} else if (next = (0, _chunks.getTextUntilPart)(s, pos)) {
|
|
220
|
+
yield new Token.TextToken(next.match[1]);
|
|
221
|
+
pos += next.length;
|
|
222
|
+
} else {
|
|
223
|
+
yield new Token.TextToken(s.substring(pos));
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
function getAttributeTokenPartial(name, ctx) {
|
|
229
|
+
switch (name[0]) {
|
|
230
|
+
case "?":
|
|
231
|
+
return ctx === "start" ? new Token.BooleanAttributeStartToken(name.substring(1)) : new Token.BooleanAttributeEndToken(name.substring(1));
|
|
232
|
+
case ".":
|
|
233
|
+
{
|
|
234
|
+
const propertyName = name.substring(1);
|
|
235
|
+
switch (propertyName) {
|
|
236
|
+
case "data":
|
|
237
|
+
return ctx === "start" ? new Token.DataAttributeStartToken() : new Token.DataAttributeEndToken();
|
|
238
|
+
default:
|
|
239
|
+
return ctx === "start" ? new Token.PropertyAttributeStartToken(propertyName) : new Token.PropertyAttributeEndToken(propertyName);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
case "@":
|
|
243
|
+
return ctx === "start" ? new Token.EventAttributeStartToken(name.substring(1)) : new Token.EventAttributeEndToken(name.substring(1));
|
|
244
|
+
case "o":
|
|
245
|
+
if (name[1] === "n") {
|
|
246
|
+
return ctx === "start" ? new Token.EventAttributeStartToken(name.substring(2)) : new Token.EventAttributeEndToken(name.substring(2));
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
switch (name.toLowerCase()) {
|
|
250
|
+
case "class":
|
|
251
|
+
case "classname":
|
|
252
|
+
return ctx === "start" ? new Token.ClassNameAttributeStartToken() : new Token.ClassNameAttributeEndToken();
|
|
253
|
+
case "ref":
|
|
254
|
+
return ctx === "start" ? new Token.RefAttributeStartToken() : new Token.RefAttributeEndToken();
|
|
255
|
+
}
|
|
256
|
+
return ctx === "start" ? new Token.AttributeStartToken(name) : new Token.AttributeEndToken(name);
|
|
257
|
+
}
|
|
258
|
+
function getAttributeToken(name, value) {
|
|
259
|
+
if (name[0] === "?") {
|
|
260
|
+
return new Token.BooleanAttributeToken(name.substring(1));
|
|
261
|
+
}
|
|
262
|
+
return new Token.AttributeToken(name, value);
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=tokenizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.js","names":["Token","_interopRequireWildcard","require","_chunks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","tokenize","template","Tokenizer","templateWithParts","length","lastIndex","output","str","PART_STRING","input","pos","context","currentTag","constructor","Symbol","iterator","init","nextElementToken","nextSelfClosingToken","nextTextOnlyToken","nextTextToken","char","nextChar","isOpenBracket","next","chunk","getOpeningTag","name","match","pushTag","SELF_CLOSING_TAGS","TEXT_ONLY_NODES_REGEX","OpeningTagToken","getClosingTag","ClosingTagToken","popTag","getComment","parseComment","getPart","PartToken","parseInt","getWhitespace","TextToken","getTextUntilCloseBrace","parseTextAndParts","takeNextChar","getAttributeWithQuotes","parseAttribute","getAttributeWithoutQuotes","getOpeningTagEnd","OpeningTagEndToken","value","getSelfClosingTagEnd","getBooleanAttribute","BooleanAttributeToken","invalidTemplate","getAllTextUntilElementClose","text","PART_REGEX","test","comment","parts","Array","from","_tag","CommentToken","CommentStartToken","part","CommentEndToken","getAttributeToken","getAttributeTokenPartial","charAt","substring","f","Stack","previous","message","SyntaxError","s","getTextUntilPart","ctx","BooleanAttributeStartToken","BooleanAttributeEndToken","propertyName","DataAttributeStartToken","DataAttributeEndToken","PropertyAttributeStartToken","PropertyAttributeEndToken","EventAttributeStartToken","EventAttributeEndToken","toLowerCase","ClassNameAttributeStartToken","ClassNameAttributeEndToken","RefAttributeStartToken","RefAttributeEndToken","AttributeStartToken","AttributeEndToken","AttributeToken"],"sources":["../../../src/internal/tokenizer.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.adjustTime = adjustTime;
|
|
7
|
+
exports.findHoleComment = findHoleComment;
|
|
8
|
+
exports.findPath = void 0;
|
|
9
|
+
exports.getPreviousNodes = getPreviousNodes;
|
|
10
|
+
exports.isComment = isComment;
|
|
11
|
+
exports.isCommentWithValue = isCommentWithValue;
|
|
12
|
+
exports.isHtmlElement = isHtmlElement;
|
|
13
|
+
var _context = /*#__PURE__*/require("@typed/context");
|
|
14
|
+
var Chunk = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Chunk"));
|
|
15
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
16
|
+
var _Option = /*#__PURE__*/require("effect/Option");
|
|
17
|
+
var _TestClock = /*#__PURE__*/require("effect/TestClock");
|
|
18
|
+
var _Meta = /*#__PURE__*/require("../Meta");
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
|
+
function isComment(node) {
|
|
22
|
+
return node.nodeType === node.COMMENT_NODE;
|
|
23
|
+
}
|
|
24
|
+
function isCommentWithValue(node, value) {
|
|
25
|
+
return isComment(node) && node.nodeValue === value;
|
|
26
|
+
}
|
|
27
|
+
function isHtmlElement(node) {
|
|
28
|
+
return node.nodeType === node.ELEMENT_NODE;
|
|
29
|
+
}
|
|
30
|
+
function findHoleComment(parent, index) {
|
|
31
|
+
const childNodes = parent.childNodes;
|
|
32
|
+
for (let i = 0; i < childNodes.length; ++i) {
|
|
33
|
+
const node = childNodes[i];
|
|
34
|
+
if (node.nodeType === 8 && node.nodeValue === `hole${index}`) {
|
|
35
|
+
return node;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
throw new Error(`Unable to find hole comment for index ${index}`);
|
|
39
|
+
}
|
|
40
|
+
const previousComments = /*#__PURE__*/new Set([_Meta.TEXT_START, _Meta.TYPED_START]);
|
|
41
|
+
function getPreviousNodes(comment, index) {
|
|
42
|
+
const nodes = [];
|
|
43
|
+
let node = comment.previousSibling;
|
|
44
|
+
const previousHole = `hole${index - 1}`;
|
|
45
|
+
previousComments.add(previousHole);
|
|
46
|
+
while (node && !previousComments.has(String(node.nodeValue))) {
|
|
47
|
+
nodes.unshift(node);
|
|
48
|
+
node = node.previousSibling;
|
|
49
|
+
}
|
|
50
|
+
previousComments.delete(previousHole);
|
|
51
|
+
return nodes;
|
|
52
|
+
}
|
|
53
|
+
const findPath = (node, path) => Chunk.reduce(path, node, ({
|
|
54
|
+
childNodes
|
|
55
|
+
}, index) => childNodes[index]);
|
|
56
|
+
exports.findPath = findPath;
|
|
57
|
+
function adjustTime(input) {
|
|
58
|
+
return Effect.gen(function* (_) {
|
|
59
|
+
const ctx = yield* _(Effect.context());
|
|
60
|
+
const testClock = (0, _context.getOption)(ctx, _TestClock.TestClock);
|
|
61
|
+
if ((0, _Option.isSome)(testClock)) {
|
|
62
|
+
yield* _(testClock.value.adjust(input ?? 1));
|
|
63
|
+
} else if (input) {
|
|
64
|
+
yield* _(Effect.sleep(input));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["_context","require","Chunk","_interopRequireWildcard","Effect","_Option","_TestClock","_Meta","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","isComment","node","nodeType","COMMENT_NODE","isCommentWithValue","value","nodeValue","isHtmlElement","ELEMENT_NODE","findHoleComment","parent","index","childNodes","length","Error","previousComments","Set","TEXT_START","TYPED_START","getPreviousNodes","comment","nodes","previousSibling","previousHole","add","String","unshift","delete","findPath","path","reduce","exports","adjustTime","input","gen","_","ctx","context","testClock","getOption","TestClock","isSome","adjust","sleep"],"sources":["../../../src/internal/utils.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import type * as Part from "./Part";
|
|
6
|
+
import type { Placeholder } from "./Placeholder";
|
|
7
|
+
/**
|
|
8
|
+
* @since 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
export declare const DirectiveTypeId: unique symbol;
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
*/
|
|
14
|
+
export type DirectiveTypeId = typeof DirectiveTypeId;
|
|
15
|
+
/**
|
|
16
|
+
* @since 1.0.0
|
|
17
|
+
*/
|
|
18
|
+
export interface Directive<R, E> extends Placeholder<R, E, unknown> {
|
|
19
|
+
readonly [DirectiveTypeId]: DirectiveTypeId;
|
|
20
|
+
(part: Part.Part): Effect.Effect<R, E, unknown>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @since 1.0.0
|
|
24
|
+
*/
|
|
25
|
+
export declare function Directive<R, E>(directive: (part: Part.Part) => Effect.Effect<R, E, unknown>): Directive<R, E>;
|
|
26
|
+
/**
|
|
27
|
+
* @since 1.0.0
|
|
28
|
+
*/
|
|
29
|
+
export declare const attribute: <R, E>(directive: (part: Part.AttributePart) => Effect.Effect<R, E, unknown>) => Directive<R, E>;
|
|
30
|
+
/**
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
*/
|
|
33
|
+
export declare const boolean: <R, E>(directive: (part: Part.BooleanPart) => Effect.Effect<R, E, unknown>) => Directive<R, E>;
|
|
34
|
+
/**
|
|
35
|
+
* @since 1.0.0
|
|
36
|
+
*/
|
|
37
|
+
export declare const className: <R, E>(directive: (part: Part.ClassNamePart) => Effect.Effect<R, E, unknown>) => Directive<R, E>;
|
|
38
|
+
/**
|
|
39
|
+
* @since 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
export declare const data: <R, E>(directive: (part: Part.DataPart) => Effect.Effect<R, E, unknown>) => Directive<R, E>;
|
|
42
|
+
/**
|
|
43
|
+
* @since 1.0.0
|
|
44
|
+
*/
|
|
45
|
+
export declare const event: <R, E>(directive: (part: Part.EventPart) => Effect.Effect<R, E, unknown>) => Directive<R, E>;
|
|
46
|
+
/**
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
*/
|
|
49
|
+
export declare const property: <R, E>(directive: (part: Part.PropertyPart) => Effect.Effect<R, E, unknown>) => Directive<R, E>;
|
|
50
|
+
/**
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
*/
|
|
53
|
+
export declare const ref: <R, E>(directive: (part: Part.RefPart) => Effect.Effect<R, E, unknown>) => Directive<R, E>;
|
|
54
|
+
/**
|
|
55
|
+
* @since 1.0.0
|
|
56
|
+
*/
|
|
57
|
+
export declare const comment: <R, E>(directive: (part: Part.CommentPart) => Effect.Effect<R, E, unknown>) => Directive<R, E>;
|
|
58
|
+
/**
|
|
59
|
+
* @since 1.0.0
|
|
60
|
+
*/
|
|
61
|
+
export declare const text: <R, E>(directive: (part: Part.TextPart) => Effect.Effect<R, E, unknown>) => Directive<R, E>;
|
|
62
|
+
/**
|
|
63
|
+
* @since 1.0.0
|
|
64
|
+
*/
|
|
65
|
+
export declare const node: <R, E>(directive: (part: Part.NodePart) => Effect.Effect<R, E, unknown>) => Directive<R, E>;
|
|
66
|
+
/**
|
|
67
|
+
* @since 1.0.0
|
|
68
|
+
*/
|
|
69
|
+
export declare function isDirective<R, E>(renderable: unknown): renderable is Directive<R, E>;
|
|
70
|
+
//# sourceMappingURL=Directive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Directive.d.ts","sourceRoot":"","sources":["../../src/Directive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as RefSubject from "@typed/fx/RefSubject";
|
|
2
|
+
import type { Versioned } from "@typed/fx/Versioned";
|
|
3
|
+
import { type Rendered } from "@typed/wire";
|
|
4
|
+
import type { Scope } from "effect";
|
|
5
|
+
import { Effect, Option } from "effect";
|
|
6
|
+
import type { NoSuchElementException } from "effect/Cause";
|
|
7
|
+
import { ElementSource } from "./ElementSource";
|
|
8
|
+
export declare const ElementRefTypeId: unique symbol;
|
|
9
|
+
export type ElementRefTypeId = typeof ElementRefTypeId;
|
|
10
|
+
/**
|
|
11
|
+
* A reference to a rendered element.
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
*/
|
|
14
|
+
export interface ElementRef<T extends Rendered = Rendered> extends Versioned<never, never, never, never, T, never, NoSuchElementException, T> {
|
|
15
|
+
readonly [ElementRefTypeId]: RefSubject.RefSubject<never, never, Option.Option<T>>;
|
|
16
|
+
readonly query: ElementSource<T>["query"];
|
|
17
|
+
readonly events: ElementSource<T>["events"];
|
|
18
|
+
readonly elements: ElementSource<T>["elements"];
|
|
19
|
+
readonly dispatchEvent: ElementSource<T>["dispatchEvent"];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
*/
|
|
24
|
+
export declare function make<T extends Rendered = Rendered>(): Effect.Effect<Scope.Scope, never, ElementRef<T>>;
|
|
25
|
+
/**
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
*/
|
|
28
|
+
export declare function of<T extends Rendered>(rendered: T): Effect.Effect<Scope.Scope, never, ElementRef<T>>;
|
|
29
|
+
/**
|
|
30
|
+
* @since 1.0.0
|
|
31
|
+
*/
|
|
32
|
+
export declare const set: {
|
|
33
|
+
<A extends Rendered>(value: A): (elementRef: ElementRef<A>) => Effect.Effect<never, never, A>;
|
|
34
|
+
<A extends Rendered>(elementRef: ElementRef<A>, value: A): Effect.Effect<never, never, A>;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* @since 1.0.0
|
|
38
|
+
*/
|
|
39
|
+
export declare function dispatchEvent<T extends Rendered>(ref: ElementRef<T>, event: Event): Effect.Effect<never, NoSuchElementException, void>;
|
|
40
|
+
//# sourceMappingURL=ElementRef.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElementRef.d.ts","sourceRoot":"","sources":["../../src/ElementRef.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAG1D,OAAO,EAAE,aAAa,EAAe,MAAM,iBAAiB,CAAA;AAI5D,eAAO,MAAM,gBAAgB,eAA6B,CAAA;AAC1D,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CACvD,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAElF,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAElF,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAC/C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;CAC1D;AAID;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAKtG;AAED;;GAEG;AACH,wBAAgB,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAKpG;AAwCD;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAC7F,CAAC,CAAC,SAAS,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;CAGzF,CAAA;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,sDAajF"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type { EventWithCurrentTarget } from "@typed/dom/EventTarget";
|
|
5
|
+
import { Filtered } from "@typed/fx/Filtered";
|
|
6
|
+
import * as Fx from "@typed/fx/Fx";
|
|
7
|
+
import * as Versioned from "@typed/fx/Versioned";
|
|
8
|
+
import type { Rendered } from "@typed/wire";
|
|
9
|
+
import type { NoSuchElementException } from "effect/Cause";
|
|
10
|
+
import type { DurationInput } from "effect/Duration";
|
|
11
|
+
import * as Effect from "effect/Effect";
|
|
12
|
+
import type * as TQS from "typed-query-selector/parser";
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
*/
|
|
16
|
+
export interface ElementSource<T extends Rendered = Element, EventMap extends {} = DefaultEventMap<Rendered.Elements<T>[number]>> extends Versioned.Versioned<never, never, never, never, Rendered.Elements<T>, never, never, Rendered.Elements<T>> {
|
|
17
|
+
readonly selector: Selector;
|
|
18
|
+
readonly query: {
|
|
19
|
+
<S extends string, Ev extends {} = DefaultEventMap<ParseSelector<S, Element>>>(selector: S): ElementSource<ParseSelector<S, Element>, Ev>;
|
|
20
|
+
<Target extends Rendered, EventMap extends {} = DefaultEventMap<Target>>(rendered: Target): ElementSource<Target, EventMap>;
|
|
21
|
+
};
|
|
22
|
+
readonly elements: Filtered<never, never, Rendered.Elements<T>>;
|
|
23
|
+
readonly events: <Type extends keyof EventMap>(type: Type, options?: AddEventListenerOptions) => Fx.Fx<never, never, EventWithCurrentTarget<Rendered.Elements<T>[number], EventMap[Type]>>;
|
|
24
|
+
readonly dispatchEvent: (event: Event, wait?: DurationInput) => Effect.Effect<never, NoSuchElementException, void>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @since 1.0.0
|
|
28
|
+
*/
|
|
29
|
+
export declare function ElementSource<T extends Rendered, EventMap extends {} = DefaultEventMap<T>>(rootElement: Filtered<never, never, T>): ElementSource<T, EventMap>;
|
|
30
|
+
/**
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
*/
|
|
33
|
+
export type ParseSelector<T extends string, Fallback> = [T] extends [typeof ROOT_CSS_SELECTOR] ? Fallback : Fallback extends globalThis.Element ? TQS.ParseSelector<T, Fallback> : Fallback;
|
|
34
|
+
/**
|
|
35
|
+
* @since 1.0.0
|
|
36
|
+
*/
|
|
37
|
+
export type DefaultEventMap<T> = T extends Window ? WindowEventMap : T extends Document ? DocumentEventMap : T extends HTMLVideoElement ? HTMLVideoElementEventMap : T extends HTMLMediaElement ? HTMLMediaElementEventMap : T extends HTMLElement ? HTMLElementEventMap : T extends SVGElement ? SVGElementEventMap : T extends Element ? ElementEventMap & Readonly<Record<string, Event>> : Readonly<Record<string, Event>>;
|
|
38
|
+
/**
|
|
39
|
+
* @since 1.0.0
|
|
40
|
+
*/
|
|
41
|
+
export declare const ROOT_CSS_SELECTOR: ":root";
|
|
42
|
+
/**
|
|
43
|
+
* @since 1.0.0
|
|
44
|
+
*/
|
|
45
|
+
export declare function getElements<T extends Rendered>(element: T): ReadonlyArray<Element>;
|
|
46
|
+
/**
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
*/
|
|
49
|
+
export type Selector = CssSelectors | ElementSelector;
|
|
50
|
+
/**
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
*/
|
|
53
|
+
export interface CssSelectors {
|
|
54
|
+
readonly _tag: "css";
|
|
55
|
+
readonly selectors: ReadonlyArray<string>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @since 1.0.0
|
|
59
|
+
*/
|
|
60
|
+
export declare function CssSelectors(selectors: ReadonlyArray<string>): CssSelectors;
|
|
61
|
+
/**
|
|
62
|
+
* @since 1.0.0
|
|
63
|
+
*/
|
|
64
|
+
export interface ElementSelector {
|
|
65
|
+
readonly _tag: "element";
|
|
66
|
+
readonly element: Element;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @since 1.0.0
|
|
70
|
+
*/
|
|
71
|
+
export declare function ElementSelector(element: Element): ElementSelector;
|
|
72
|
+
//# sourceMappingURL=ElementSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElementSource.d.ts","sourceRoot":"","sources":["../../src/ElementSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type { HtmlChunk } from "./HtmlChunk";
|
|
5
|
+
import type { Template } from "./Template";
|
|
6
|
+
/**
|
|
7
|
+
* @since 1.0.0
|
|
8
|
+
*/
|
|
9
|
+
export type Entry = BrowserEntry | ServerEntry;
|
|
10
|
+
/**
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
export interface BrowserEntry {
|
|
14
|
+
readonly _tag: "Browser";
|
|
15
|
+
readonly template: Template;
|
|
16
|
+
readonly content: DocumentFragment;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
*/
|
|
21
|
+
export interface ServerEntry {
|
|
22
|
+
readonly _tag: "Server";
|
|
23
|
+
readonly template: Template;
|
|
24
|
+
readonly chunks: ReadonlyArray<HtmlChunk>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=Entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Entry.d.ts","sourceRoot":"","sources":["../../src/Entry.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,YAAY,GAAG,WAAW,CAAA;AAE9C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAC1C"}
|