@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
package/dist/cjs/Html.js
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.renderToHtml = renderToHtml;
|
|
7
|
+
exports.renderToHtmlString = renderToHtmlString;
|
|
8
|
+
var Fx = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/Fx"));
|
|
9
|
+
var _Sink = /*#__PURE__*/require("@typed/fx/Sink");
|
|
10
|
+
var _TypeId = /*#__PURE__*/require("@typed/fx/TypeId");
|
|
11
|
+
var _effect = /*#__PURE__*/require("effect");
|
|
12
|
+
var _ReadonlyArray = /*#__PURE__*/require("effect/ReadonlyArray");
|
|
13
|
+
var _Directive = /*#__PURE__*/require("./Directive");
|
|
14
|
+
var ElementRef = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./ElementRef"));
|
|
15
|
+
var _HtmlChunk = /*#__PURE__*/require("./HtmlChunk");
|
|
16
|
+
var _parser = /*#__PURE__*/require("./internal/parser");
|
|
17
|
+
var _server = /*#__PURE__*/require("./internal/server");
|
|
18
|
+
var _Meta = /*#__PURE__*/require("./Meta");
|
|
19
|
+
var _RenderContext = /*#__PURE__*/require("./RenderContext");
|
|
20
|
+
var _RenderEvent = /*#__PURE__*/require("./RenderEvent");
|
|
21
|
+
var _RenderTemplate = /*#__PURE__*/require("./RenderTemplate");
|
|
22
|
+
var _TemplateInstance = /*#__PURE__*/require("./TemplateInstance");
|
|
23
|
+
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); }
|
|
24
|
+
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; }
|
|
25
|
+
/**
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
const toHtml = r => r.html;
|
|
30
|
+
/**
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
*/
|
|
33
|
+
function renderToHtml(fx) {
|
|
34
|
+
return Fx.fromFxEffect(_RenderContext.RenderContext.with(ctx => fx.pipe(Fx.provide(_RenderTemplate.RenderTemplate.layer(renderHtml(ctx))), Fx.map(toHtml), Fx.startWith(_Meta.TYPED_START), Fx.endWith(_Meta.TYPED_END))));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @since 1.0.0
|
|
38
|
+
*/
|
|
39
|
+
function renderToHtmlString(fx) {
|
|
40
|
+
return _effect.Effect.map(Fx.toReadonlyArray(renderToHtml(fx)), (0, _ReadonlyArray.join)(""));
|
|
41
|
+
}
|
|
42
|
+
function renderHtml(ctx) {
|
|
43
|
+
return (templateStrings, values, providedRef) => {
|
|
44
|
+
return _effect.Effect.gen(function* (_) {
|
|
45
|
+
const ref = providedRef || (yield* _(ElementRef.make()));
|
|
46
|
+
const entry = getServerEntry(templateStrings, ctx.templateCache);
|
|
47
|
+
if (values.length === 0) {
|
|
48
|
+
return (0, _TemplateInstance.TemplateInstance)(Fx.succeed((0, _RenderEvent.HtmlRenderEvent)(entry.chunks[0].value)), ref);
|
|
49
|
+
} else {
|
|
50
|
+
return (0, _TemplateInstance.TemplateInstance)(Fx.filter(Fx.mergeBuffer(entry.chunks.map(chunk => renderChunk(chunk, values))), x => x.valueOf().length > 0), ref);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function renderChunk(chunk, values) {
|
|
56
|
+
if (chunk._tag === "text") {
|
|
57
|
+
return Fx.succeed((0, _RenderEvent.HtmlRenderEvent)(chunk.value));
|
|
58
|
+
} else if (chunk._tag === "part") {
|
|
59
|
+
return renderPart(chunk, values);
|
|
60
|
+
} else {
|
|
61
|
+
return renderSparsePart(chunk, values);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function renderNode(renderable) {
|
|
65
|
+
switch (typeof renderable) {
|
|
66
|
+
case "string":
|
|
67
|
+
case "number":
|
|
68
|
+
case "boolean":
|
|
69
|
+
case "bigint":
|
|
70
|
+
return Fx.succeed((0, _RenderEvent.HtmlRenderEvent)(_Meta.TEXT_START + renderable.toString()));
|
|
71
|
+
case "undefined":
|
|
72
|
+
case "object":
|
|
73
|
+
return renderObject(renderable);
|
|
74
|
+
default:
|
|
75
|
+
return Fx.empty;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function renderObject(renderable) {
|
|
79
|
+
if (renderable === null || renderable === undefined) {
|
|
80
|
+
return Fx.succeed((0, _RenderEvent.HtmlRenderEvent)(_Meta.TEXT_START));
|
|
81
|
+
} else if (Array.isArray(renderable)) {
|
|
82
|
+
return Fx.mergeBuffer(renderable.map(renderNode));
|
|
83
|
+
} else if (Fx.isFx(renderable)) {
|
|
84
|
+
return Fx.concatMap(takeOneIfNotRenderEvent(renderable), renderNode);
|
|
85
|
+
} else if (_effect.Effect.isEffect(renderable)) {
|
|
86
|
+
return Fx.switchMap(Fx.fromEffect(renderable), renderNode);
|
|
87
|
+
} else if ((0, _RenderEvent.isRenderEvent)(renderable)) {
|
|
88
|
+
return Fx.succeed(renderable);
|
|
89
|
+
} else {
|
|
90
|
+
return Fx.empty;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function renderPart(chunk, values) {
|
|
94
|
+
const {
|
|
95
|
+
node,
|
|
96
|
+
render
|
|
97
|
+
} = chunk;
|
|
98
|
+
const renderable = values[node.index];
|
|
99
|
+
// Refs and events are not rendered into HTML
|
|
100
|
+
if ((0, _Directive.isDirective)(renderable)) {
|
|
101
|
+
return Fx.fromSink(sink => {
|
|
102
|
+
const part = (0, _server.partNodeToPart)(node, value => sink.onSuccess((0, _RenderEvent.HtmlRenderEvent)(render(value))));
|
|
103
|
+
return _effect.Effect.catchAllCause(renderable(part), sink.onFailure);
|
|
104
|
+
});
|
|
105
|
+
} else if (node._tag === "node") {
|
|
106
|
+
return Fx.endWith(renderNode(renderable), (0, _RenderEvent.HtmlRenderEvent)((0, _Meta.TYPED_HOLE)(node.index)));
|
|
107
|
+
} else {
|
|
108
|
+
const html = Fx.filterMap(Fx.take(unwrapRenderable(renderable), 1), value => {
|
|
109
|
+
const s = render(value);
|
|
110
|
+
return s ? _effect.Option.some((0, _RenderEvent.HtmlRenderEvent)(s)) : _effect.Option.none();
|
|
111
|
+
});
|
|
112
|
+
if (node._tag === "text-part") {
|
|
113
|
+
return Fx.endWith(Fx.startWith(html, (0, _RenderEvent.HtmlRenderEvent)(_Meta.TEXT_START)), (0, _RenderEvent.HtmlRenderEvent)((0, _Meta.TYPED_HOLE)(node.index)));
|
|
114
|
+
}
|
|
115
|
+
return html;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function renderSparsePart(chunk, values) {
|
|
119
|
+
const {
|
|
120
|
+
node,
|
|
121
|
+
render
|
|
122
|
+
} = chunk;
|
|
123
|
+
return Fx.map(Fx.take(Fx.combine(node.nodes.map(node => {
|
|
124
|
+
if (node._tag === "text") return Fx.succeed(node.value);
|
|
125
|
+
const renderable = values[node.index];
|
|
126
|
+
if ((0, _Directive.isDirective)(renderable)) {
|
|
127
|
+
return Fx.fromSink(sink => _effect.Effect.catchAllCause(renderable((0, _server.partNodeToPart)(node, value => sink.onSuccess(value))), sink.onFailure));
|
|
128
|
+
}
|
|
129
|
+
return unwrapRenderable(renderable);
|
|
130
|
+
})), 1), value => (0, _RenderEvent.HtmlRenderEvent)(render(value)));
|
|
131
|
+
}
|
|
132
|
+
function takeOneIfNotRenderEvent(fx) {
|
|
133
|
+
return Fx.withEarlyExit(({
|
|
134
|
+
fork,
|
|
135
|
+
sink
|
|
136
|
+
}) => Fx.run(fx, (0, _Sink.Sink)(sink.onFailure, event => (0, _RenderEvent.isRenderEvent)(event) ? sink.onSuccess(event) : _effect.Effect.zipRight(sink.onSuccess(event), sink.earlyExit))).pipe(fork, _effect.Effect.fromFiberEffect));
|
|
137
|
+
}
|
|
138
|
+
function getServerEntry(templateStrings, templateCache) {
|
|
139
|
+
const cached = templateCache.get(templateStrings);
|
|
140
|
+
if (cached === undefined || cached._tag === "Browser") {
|
|
141
|
+
const template = (0, _parser.parse)(templateStrings);
|
|
142
|
+
const entry = {
|
|
143
|
+
_tag: "Server",
|
|
144
|
+
template,
|
|
145
|
+
chunks: (0, _HtmlChunk.templateToHtmlChunks)(template)
|
|
146
|
+
};
|
|
147
|
+
return entry;
|
|
148
|
+
} else {
|
|
149
|
+
return cached;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function unwrapRenderable(renderable) {
|
|
153
|
+
switch (typeof renderable) {
|
|
154
|
+
case "undefined":
|
|
155
|
+
case "object":
|
|
156
|
+
{
|
|
157
|
+
if (renderable === null || renderable === undefined) return Fx.succeed(null);else if (Array.isArray(renderable)) {
|
|
158
|
+
return Fx.combine(renderable.map(unwrapRenderable));
|
|
159
|
+
} else if (_TypeId.TypeId in renderable) {
|
|
160
|
+
return renderable;
|
|
161
|
+
} else if (_effect.Effect.EffectTypeId in renderable) {
|
|
162
|
+
return Fx.fromFxEffect(_effect.Effect.map(renderable, unwrapRenderable));
|
|
163
|
+
} else return Fx.succeed(renderable);
|
|
164
|
+
}
|
|
165
|
+
default:
|
|
166
|
+
return Fx.succeed(renderable);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=Html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Html.js","names":["Fx","_interopRequireWildcard","require","_Sink","_TypeId","_effect","_ReadonlyArray","_Directive","ElementRef","_HtmlChunk","_parser","_server","_Meta","_RenderContext","_RenderEvent","_RenderTemplate","_TemplateInstance","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","toHtml","html","renderToHtml","fx","fromFxEffect","RenderContext","with","ctx","pipe","provide","RenderTemplate","layer","renderHtml","map","startWith","TYPED_START","endWith","TYPED_END","renderToHtmlString","Effect","toReadonlyArray","join","templateStrings","values","providedRef","gen","_","ref","make","entry","getServerEntry","templateCache","length","TemplateInstance","succeed","HtmlRenderEvent","chunks","value","filter","mergeBuffer","chunk","renderChunk","x","valueOf","_tag","renderPart","renderSparsePart","renderNode","renderable","TEXT_START","toString","renderObject","empty","undefined","Array","isArray","isFx","concatMap","takeOneIfNotRenderEvent","isEffect","switchMap","fromEffect","isRenderEvent","node","render","index","isDirective","fromSink","sink","part","partNodeToPart","onSuccess","catchAllCause","onFailure","TYPED_HOLE","filterMap","take","unwrapRenderable","s","Option","some","none","combine","nodes","withEarlyExit","fork","run","Sink","event","zipRight","earlyExit","fromFiberEffect","cached","template","parse","templateToHtmlChunks","TypeId","EffectTypeId"],"sources":["../../src/Html.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TextChunk = exports.SparsePartChunk = exports.PartChunk = void 0;
|
|
7
|
+
exports.escape = escape;
|
|
8
|
+
exports.escapeHtml = escapeHtml;
|
|
9
|
+
exports.templateToHtmlChunks = templateToHtmlChunks;
|
|
10
|
+
exports.unescape = unescape;
|
|
11
|
+
exports.unescapeHtml = unescapeHtml;
|
|
12
|
+
var _Meta = /*#__PURE__*/require("./Meta");
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
*/
|
|
20
|
+
class TextChunk {
|
|
21
|
+
value;
|
|
22
|
+
_tag = "text";
|
|
23
|
+
constructor(value) {
|
|
24
|
+
this.value = value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
*/
|
|
30
|
+
exports.TextChunk = TextChunk;
|
|
31
|
+
class PartChunk {
|
|
32
|
+
node;
|
|
33
|
+
render;
|
|
34
|
+
_tag = "part";
|
|
35
|
+
constructor(node, render) {
|
|
36
|
+
this.node = node;
|
|
37
|
+
this.render = render;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
*/
|
|
43
|
+
exports.PartChunk = PartChunk;
|
|
44
|
+
class SparsePartChunk {
|
|
45
|
+
node;
|
|
46
|
+
render;
|
|
47
|
+
_tag = "sparse-part";
|
|
48
|
+
constructor(node, render) {
|
|
49
|
+
this.node = node;
|
|
50
|
+
this.render = render;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// TODO: Should we escape more things?
|
|
54
|
+
// TODO: We should manually optimize the text fusion
|
|
55
|
+
/**
|
|
56
|
+
* @since 1.0.0
|
|
57
|
+
*/
|
|
58
|
+
exports.SparsePartChunk = SparsePartChunk;
|
|
59
|
+
function templateToHtmlChunks({
|
|
60
|
+
hash,
|
|
61
|
+
nodes
|
|
62
|
+
}) {
|
|
63
|
+
return fuseTextChunks(nodes.flatMap(node => nodeToHtmlChunk(node, hash)));
|
|
64
|
+
}
|
|
65
|
+
function fuseTextChunks(chunks) {
|
|
66
|
+
const output = [];
|
|
67
|
+
for (let i = 0; i < chunks.length; i++) {
|
|
68
|
+
if (i > 0) {
|
|
69
|
+
const prevIndex = output.length - 1;
|
|
70
|
+
const prev = output[prevIndex];
|
|
71
|
+
const curr = chunks[i];
|
|
72
|
+
if (prev._tag === "text" && curr._tag === "text") {
|
|
73
|
+
output[prevIndex] = new TextChunk(prev.value + curr.value);
|
|
74
|
+
} else {
|
|
75
|
+
output.push(curr);
|
|
76
|
+
}
|
|
77
|
+
} else {
|
|
78
|
+
output.push(chunks[i]);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return output;
|
|
82
|
+
}
|
|
83
|
+
const nodeMap = {
|
|
84
|
+
element: elementToHtmlChunks,
|
|
85
|
+
node: node => [new PartChunk(node, String)],
|
|
86
|
+
"self-closing-element": selfClosingElementToHtmlChunks,
|
|
87
|
+
text: node => [textToHtmlChunks(node)],
|
|
88
|
+
"text-only-element": textOnlyElementToHtmlChunks,
|
|
89
|
+
comment: node => [new TextChunk(`<!--${node.value}-->`)],
|
|
90
|
+
"comment-part": node => [new PartChunk(node, value => `<!--${value}-->`)],
|
|
91
|
+
"sparse-comment": node => [new TextChunk("<!--"), ...node.nodes.map(node => {
|
|
92
|
+
if (node._tag === "text") {
|
|
93
|
+
return textToHtmlChunks(node);
|
|
94
|
+
} else {
|
|
95
|
+
return new PartChunk(node, value => `${value}`);
|
|
96
|
+
}
|
|
97
|
+
}), new TextChunk("-->")]
|
|
98
|
+
};
|
|
99
|
+
function nodeToHtmlChunk(node, hash) {
|
|
100
|
+
return nodeMap[node._tag](node, hash);
|
|
101
|
+
}
|
|
102
|
+
function elementToHtmlChunks({
|
|
103
|
+
attributes,
|
|
104
|
+
children,
|
|
105
|
+
tagName
|
|
106
|
+
}, hash) {
|
|
107
|
+
if (attributes.length === 0) {
|
|
108
|
+
return [new TextChunk(openTag(tagName, hash) + ">"), ...children.flatMap(c => nodeToHtmlChunk(c)), new TextChunk(closeTag(tagName))];
|
|
109
|
+
}
|
|
110
|
+
const chunks = [new TextChunk(openTag(tagName, hash)), ...attributes.map(a => attributeToHtmlChunk(a)), new TextChunk(">"), ...children.flatMap(c => nodeToHtmlChunk(c)), new TextChunk(closeTag(tagName))];
|
|
111
|
+
return chunks;
|
|
112
|
+
}
|
|
113
|
+
function selfClosingElementToHtmlChunks({
|
|
114
|
+
attributes,
|
|
115
|
+
tagName
|
|
116
|
+
}, hash) {
|
|
117
|
+
if (attributes.length === 0) {
|
|
118
|
+
return [new TextChunk(openTag(tagName, hash) + "/>")];
|
|
119
|
+
}
|
|
120
|
+
const chunks = [new TextChunk(openTag(tagName, hash)), ...attributes.map(a => attributeToHtmlChunk(a)), new TextChunk(`/>`)];
|
|
121
|
+
return chunks;
|
|
122
|
+
}
|
|
123
|
+
function textToHtmlChunks(text) {
|
|
124
|
+
return text._tag === "text" ? new TextChunk(text.value) : new PartChunk(text, String);
|
|
125
|
+
}
|
|
126
|
+
function textOnlyElementToHtmlChunks({
|
|
127
|
+
attributes,
|
|
128
|
+
children,
|
|
129
|
+
tagName
|
|
130
|
+
}, hash) {
|
|
131
|
+
if (attributes.length === 0) {
|
|
132
|
+
return [new TextChunk(openTag(tagName, hash) + ">"), ...children.map(c => textToHtmlChunks(c)), new TextChunk(closeTag(tagName))];
|
|
133
|
+
}
|
|
134
|
+
const chunks = [new TextChunk(openTag(tagName, hash)), ...attributes.map(a => attributeToHtmlChunk(a)), new TextChunk(">"), ...children.map(c => textToHtmlChunks(c)), new TextChunk(closeTag(tagName))];
|
|
135
|
+
return chunks;
|
|
136
|
+
}
|
|
137
|
+
const attrMap = {
|
|
138
|
+
attribute: attr => new TextChunk(` ${attr.name}="${attr.value}"`),
|
|
139
|
+
attr: attr => new PartChunk(attr, value => value == null ? `` : ` ${attr.name}="${value}"`),
|
|
140
|
+
boolean: attr => new TextChunk(" " + attr.name),
|
|
141
|
+
"boolean-part": attr => new PartChunk(attr, value => value ? ` ${attr.name}` : ""),
|
|
142
|
+
"className-part": attr => new PartChunk(attr, value => value ? ` class="${value}"` : ""),
|
|
143
|
+
data: attr => new PartChunk(attr, value => value == null ? `` : datasetToString(value)),
|
|
144
|
+
event: () => new TextChunk(""),
|
|
145
|
+
property: attr => new PartChunk(attr, value => value == null ? `` : ` ${attr.name}="${escape(value)}"`),
|
|
146
|
+
ref: () => new TextChunk(""),
|
|
147
|
+
"sparse-attr": attr => new SparsePartChunk(attr, values => {
|
|
148
|
+
return values == null ? `` : ` ${attr.name}="${Array.isArray(values) ? values.filter(isString).join("") : values}"`;
|
|
149
|
+
}),
|
|
150
|
+
"sparse-class-name": attr => new SparsePartChunk(attr, values => {
|
|
151
|
+
return values == null ? `` : ` class="${Array.isArray(values) ? values.filter(isString).join(" ") : values}"`;
|
|
152
|
+
}),
|
|
153
|
+
text: attr => new TextChunk(attr.value)
|
|
154
|
+
};
|
|
155
|
+
function attributeToHtmlChunk(attr) {
|
|
156
|
+
return attrMap[attr._tag](attr);
|
|
157
|
+
}
|
|
158
|
+
function isString(value) {
|
|
159
|
+
return typeof value === "string";
|
|
160
|
+
}
|
|
161
|
+
function datasetToString(dataset) {
|
|
162
|
+
const s = Object.entries(dataset).map(([key, value]) => value === undefined ? `data-${key}` : `data-${key}="${value}"`).join(" ");
|
|
163
|
+
return s.length === 0 ? "" : " " + s;
|
|
164
|
+
}
|
|
165
|
+
function openTag(tagName, hash) {
|
|
166
|
+
if (hash === undefined) return `<${tagName}`;
|
|
167
|
+
return `<${tagName} ${(0, _Meta.TYPED_HASH)(hash)}`;
|
|
168
|
+
}
|
|
169
|
+
function closeTag(tagName) {
|
|
170
|
+
return `</${tagName}>`;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* @since 1.0.0
|
|
174
|
+
*/
|
|
175
|
+
function escape(s) {
|
|
176
|
+
switch (typeof s) {
|
|
177
|
+
case "string":
|
|
178
|
+
case "number":
|
|
179
|
+
case "boolean":
|
|
180
|
+
return escapeHtml(String(s));
|
|
181
|
+
default:
|
|
182
|
+
return escapeHtml(JSON.stringify(s));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* @since 1.0.0
|
|
187
|
+
*/
|
|
188
|
+
function unescape(s) {
|
|
189
|
+
const unescaped = unescapeHtml(s);
|
|
190
|
+
const couldBeJson = unescaped[0] === "[" || unescaped === "{";
|
|
191
|
+
if (couldBeJson) {
|
|
192
|
+
try {
|
|
193
|
+
return JSON.parse(unescaped);
|
|
194
|
+
} catch {
|
|
195
|
+
return unescaped;
|
|
196
|
+
}
|
|
197
|
+
} else {
|
|
198
|
+
return unescaped;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
const unescapeHtmlRules = [[/"/g, "\""], [/'/g, "'"], [/:/g, ":"], [/</g, "<"], [/>/g, ">"], [/&/g, "&"]];
|
|
202
|
+
const matchHtmlRegExp = /["'&<>]/;
|
|
203
|
+
/**
|
|
204
|
+
* @since 1.0.0
|
|
205
|
+
*/
|
|
206
|
+
function escapeHtml(str) {
|
|
207
|
+
const match = matchHtmlRegExp.exec(str);
|
|
208
|
+
if (!match) {
|
|
209
|
+
return str;
|
|
210
|
+
}
|
|
211
|
+
let escape;
|
|
212
|
+
let html = "";
|
|
213
|
+
let index = 0;
|
|
214
|
+
let lastIndex = 0;
|
|
215
|
+
for (index = match.index; index < str.length; index++) {
|
|
216
|
+
switch (str.charCodeAt(index)) {
|
|
217
|
+
case 34:
|
|
218
|
+
// "
|
|
219
|
+
escape = """;
|
|
220
|
+
break;
|
|
221
|
+
case 38:
|
|
222
|
+
// &
|
|
223
|
+
escape = "&";
|
|
224
|
+
break;
|
|
225
|
+
case 39:
|
|
226
|
+
// '
|
|
227
|
+
escape = "'";
|
|
228
|
+
break;
|
|
229
|
+
case 60:
|
|
230
|
+
// <
|
|
231
|
+
escape = "<";
|
|
232
|
+
break;
|
|
233
|
+
case 62:
|
|
234
|
+
// >
|
|
235
|
+
escape = ">";
|
|
236
|
+
break;
|
|
237
|
+
default:
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
if (lastIndex !== index) {
|
|
241
|
+
html += str.substring(lastIndex, index);
|
|
242
|
+
}
|
|
243
|
+
lastIndex = index + 1;
|
|
244
|
+
html += escape;
|
|
245
|
+
}
|
|
246
|
+
return lastIndex !== index ? html + str.substring(lastIndex, index) : html;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* @since 1.0.0
|
|
250
|
+
*/
|
|
251
|
+
function unescapeHtml(html) {
|
|
252
|
+
for (const [from, to] of unescapeHtmlRules) {
|
|
253
|
+
html = html.replace(from, to);
|
|
254
|
+
}
|
|
255
|
+
return html;
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=HtmlChunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HtmlChunk.js","names":["_Meta","require","TextChunk","value","_tag","constructor","exports","PartChunk","node","render","SparsePartChunk","templateToHtmlChunks","hash","nodes","fuseTextChunks","flatMap","nodeToHtmlChunk","chunks","output","i","length","prevIndex","prev","curr","push","nodeMap","element","elementToHtmlChunks","String","selfClosingElementToHtmlChunks","text","textToHtmlChunks","textOnlyElementToHtmlChunks","comment","map","attributes","children","tagName","openTag","c","closeTag","a","attributeToHtmlChunk","attrMap","attribute","attr","name","boolean","data","datasetToString","event","property","escape","ref","values","Array","isArray","filter","isString","join","dataset","s","Object","entries","key","undefined","TYPED_HASH","escapeHtml","JSON","stringify","unescape","unescaped","unescapeHtml","couldBeJson","parse","unescapeHtmlRules","matchHtmlRegExp","str","match","exec","html","index","lastIndex","charCodeAt","substring","from","to","replace"],"sources":["../../src/HtmlChunk.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.hydrate = hydrate;
|
|
7
|
+
exports.hydrateLayer = hydrateLayer;
|
|
8
|
+
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/context"));
|
|
9
|
+
var _Document = /*#__PURE__*/require("@typed/dom/Document");
|
|
10
|
+
var _RootElement = /*#__PURE__*/require("@typed/dom/RootElement");
|
|
11
|
+
var Fx = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/Fx"));
|
|
12
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
13
|
+
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
|
|
14
|
+
var _hydrate = /*#__PURE__*/require("./internal/hydrate");
|
|
15
|
+
var _HydrateContext = /*#__PURE__*/require("./internal/HydrateContext");
|
|
16
|
+
var _render = /*#__PURE__*/require("./internal/render");
|
|
17
|
+
var _RenderContext = /*#__PURE__*/require("./RenderContext");
|
|
18
|
+
var _RenderTemplate = /*#__PURE__*/require("./RenderTemplate");
|
|
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
|
+
/**
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
*/
|
|
28
|
+
function hydrate(rendered) {
|
|
29
|
+
return Fx.fromFxEffect(Effect.contextWith(context => {
|
|
30
|
+
const [document, renderContext, {
|
|
31
|
+
rootElement
|
|
32
|
+
}] = Context.getMany(context, _Document.Document, _RenderContext.RenderContext, _RootElement.RootElement);
|
|
33
|
+
const ctx = {
|
|
34
|
+
where: (0, _hydrate.findRootParentChildNodes)(rootElement),
|
|
35
|
+
rootIndex: -1,
|
|
36
|
+
parentTemplate: null,
|
|
37
|
+
hydrate: true
|
|
38
|
+
};
|
|
39
|
+
const layer = Layer.provideMerge(_HydrateContext.HydrateContext.layer(ctx), _RenderTemplate.RenderTemplate.layer((0, _hydrate.hydrateTemplate)(document, renderContext)));
|
|
40
|
+
return Fx.provide(Fx.mapEffect(rendered, what => (0, _render.attachRoot)(renderContext.renderCache, rootElement, what)), layer);
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @since 1.0.0
|
|
45
|
+
*/
|
|
46
|
+
function hydrateLayer(rendered) {
|
|
47
|
+
return Fx.drainLayer(Fx.switchMapCause(hydrate(rendered), Effect.logError));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=Hydrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hydrate.js","names":["Context","_interopRequireWildcard","require","_Document","_RootElement","Fx","Effect","Layer","_hydrate","_HydrateContext","_render","_RenderContext","_RenderTemplate","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","hydrate","rendered","fromFxEffect","contextWith","context","document","renderContext","rootElement","getMany","Document","RenderContext","RootElement","ctx","where","findRootParentChildNodes","rootIndex","parentTemplate","layer","provideMerge","HydrateContext","RenderTemplate","hydrateTemplate","provide","mapEffect","what","attachRoot","renderCache","hydrateLayer","drainLayer","switchMapCause","logError"],"sources":["../../src/Hydrate.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/dist/cjs/Many.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.many = many;
|
|
7
|
+
exports.manyAsyncData = void 0;
|
|
8
|
+
var Fx = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/Fx"));
|
|
9
|
+
var _coreSubject = /*#__PURE__*/require("@typed/fx/internal/core-subject");
|
|
10
|
+
var RefAsyncData = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/RefAsyncData"));
|
|
11
|
+
var RefSubject = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/RefSubject"));
|
|
12
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
13
|
+
var _Function = /*#__PURE__*/require("effect/Function");
|
|
14
|
+
var _RenderContext = /*#__PURE__*/require("./RenderContext");
|
|
15
|
+
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); }
|
|
16
|
+
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; }
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
*/
|
|
20
|
+
function many(values, getKey, f) {
|
|
21
|
+
return Fx.fromFxEffect(_RenderContext.RenderContext.with(ctx => {
|
|
22
|
+
if (ctx.environment === "browser") {
|
|
23
|
+
return Fx.keyed(values, getKey, f);
|
|
24
|
+
}
|
|
25
|
+
return Fx.fromFxEffect(Effect.map(Fx.first(values), values => values._tag === "None" ? Fx.empty : Fx.mergeBuffer(values.value.map(value => {
|
|
26
|
+
const ref = RefSubject.unsafeMake(Effect.succeed(value), (0, _coreSubject.makeHoldSubject)());
|
|
27
|
+
return f({
|
|
28
|
+
...ref,
|
|
29
|
+
...Fx.take(ref, 1)
|
|
30
|
+
}, getKey(value));
|
|
31
|
+
}))));
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @since 1.0.0
|
|
36
|
+
*/
|
|
37
|
+
const manyAsyncData = exports.manyAsyncData = /*#__PURE__*/(0, _Function.dual)(3, (fx, matchers, getKey) => {
|
|
38
|
+
return RefAsyncData.matchKeyed(fx, {
|
|
39
|
+
NoData: matchers.NoData,
|
|
40
|
+
Loading: matchers.Loading,
|
|
41
|
+
Failure: matchers.Failure,
|
|
42
|
+
Success: (ref, computed) => many(ref, getKey, ref => matchers.Success(ref, computed))
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=Many.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Many.js","names":["Fx","_interopRequireWildcard","require","_coreSubject","RefAsyncData","RefSubject","Effect","_Function","_RenderContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","many","values","getKey","f","fromFxEffect","RenderContext","with","ctx","environment","keyed","map","first","_tag","empty","mergeBuffer","value","ref","unsafeMake","succeed","makeHoldSubject","take","manyAsyncData","exports","dual","fx","matchers","matchKeyed","NoData","Loading","Failure","Success","computed"],"sources":["../../src/Many.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/dist/cjs/Meta.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TYPED_START = exports.TYPED_HOLE = exports.TYPED_HASH = exports.TYPED_END = exports.TEXT_START = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* @since 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
// Used to mark where the typed templates are in the html.
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
*/
|
|
14
|
+
const TYPED_START = exports.TYPED_START = `<!--typed-start-->`;
|
|
15
|
+
/**
|
|
16
|
+
* @since 1.0.0
|
|
17
|
+
*/
|
|
18
|
+
const TYPED_END = exports.TYPED_END = `<!--typed-end-->`;
|
|
19
|
+
/**
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
*/
|
|
22
|
+
const TYPED_HASH = hash => `data-typed="${hash}"`;
|
|
23
|
+
// Inserted into the html to mark where the text starts and ensure separate
|
|
24
|
+
// text nodes are created.
|
|
25
|
+
/**
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
*/
|
|
28
|
+
exports.TYPED_HASH = TYPED_HASH;
|
|
29
|
+
const TEXT_START = exports.TEXT_START = "<!--text-->";
|
|
30
|
+
// Used to mark where a NodePart is in the DOM. It can be found directly after the
|
|
31
|
+
// elements or text nodes it is managing.
|
|
32
|
+
/**
|
|
33
|
+
* @since 1.0.0
|
|
34
|
+
*/
|
|
35
|
+
const TYPED_HOLE = index => `<!--hole${index}-->`;
|
|
36
|
+
exports.TYPED_HOLE = TYPED_HOLE;
|
|
37
|
+
//# sourceMappingURL=Meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Meta.js","names":["TYPED_START","exports","TYPED_END","TYPED_HASH","hash","TEXT_START","TYPED_HOLE","index"],"sources":["../../src/Meta.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA;;;AAIA;AACA;;;AAGO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,oBAAoB;AAC/C;;;AAGO,MAAME,SAAS,GAAAD,OAAA,CAAAC,SAAA,GAAG,kBAAkB;AAE3C;;;AAGO,MAAMC,UAAU,GAAIC,IAAY,IAAK,eAAeA,IAAI,GAAG;AAElE;AACA;AACA;;;AAAAH,OAAA,CAAAE,UAAA,GAAAA,UAAA;AAGO,MAAME,UAAU,GAAAJ,OAAA,CAAAI,UAAA,GAAG,aAAa;AAEvC;AACA;AACA;;;AAGO,MAAMC,UAAU,GAAIC,KAAa,IAAK,WAAWA,KAAK,KAAK;AAAAN,OAAA,CAAAK,UAAA,GAAAA,UAAA"}
|