@typed/template 0.9.6 → 0.11.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/RenderQueue/package.json +6 -0
- package/dist/cjs/Directive.js +1 -1
- package/dist/cjs/Directive.js.map +1 -1
- package/dist/cjs/ElementRef.js +1 -1
- package/dist/cjs/ElementRef.js.map +1 -1
- package/dist/cjs/ElementSource.js +1 -1
- package/dist/cjs/ElementSource.js.map +1 -1
- package/dist/cjs/EventHandler.js +15 -4
- package/dist/cjs/EventHandler.js.map +1 -1
- package/dist/cjs/Html.js +84 -44
- package/dist/cjs/Html.js.map +1 -1
- package/dist/cjs/HtmlChunk.js +67 -21
- package/dist/cjs/HtmlChunk.js.map +1 -1
- package/dist/cjs/Hydrate.js +6 -6
- 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/Meta.js +10 -3
- package/dist/cjs/Meta.js.map +1 -1
- package/dist/cjs/Parser.js +1 -1
- package/dist/cjs/Placeholder.js +5 -9
- package/dist/cjs/Placeholder.js.map +1 -1
- package/dist/cjs/Platform.js +7 -5
- package/dist/cjs/Platform.js.map +1 -1
- package/dist/cjs/Render.js +8 -7
- package/dist/cjs/Render.js.map +1 -1
- package/dist/cjs/RenderContext.js +8 -92
- package/dist/cjs/RenderContext.js.map +1 -1
- package/dist/cjs/RenderEvent.js +9 -1
- package/dist/cjs/RenderEvent.js.map +1 -1
- package/dist/cjs/RenderQueue.js +341 -0
- package/dist/cjs/RenderQueue.js.map +1 -0
- package/dist/cjs/RenderTemplate.js +1 -1
- package/dist/cjs/RenderTemplate.js.map +1 -1
- package/dist/cjs/Template.js +12 -0
- package/dist/cjs/Template.js.map +1 -1
- package/dist/cjs/Test.js +64 -33
- package/dist/cjs/Test.js.map +1 -1
- package/dist/cjs/Vitest.js +12 -20
- package/dist/cjs/Vitest.js.map +1 -1
- package/dist/cjs/index.js +6 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/EventSource.js +16 -9
- package/dist/cjs/internal/EventSource.js.map +1 -1
- package/dist/cjs/internal/HydrateContext.js.map +1 -1
- package/dist/cjs/internal/browser.js +11 -10
- package/dist/cjs/internal/browser.js.map +1 -1
- package/dist/cjs/internal/character-entities.js +2141 -0
- package/dist/cjs/internal/character-entities.js.map +1 -0
- package/dist/cjs/internal/errors.js +19 -2
- package/dist/cjs/internal/errors.js.map +1 -1
- package/dist/cjs/internal/indexRefCounter.js +36 -63
- package/dist/cjs/internal/indexRefCounter.js.map +1 -1
- package/dist/cjs/internal/parser.js +18 -17
- package/dist/cjs/internal/parser.js.map +1 -1
- package/dist/cjs/internal/parser2.js +382 -0
- package/dist/cjs/internal/parser2.js.map +1 -0
- package/dist/cjs/internal/server-parts.js +124 -0
- package/dist/cjs/internal/server-parts.js.map +1 -0
- package/dist/cjs/internal/server.js +15 -185
- package/dist/cjs/internal/server.js.map +1 -1
- package/dist/cjs/internal/utils.js +73 -9
- package/dist/cjs/internal/utils.js.map +1 -1
- package/dist/cjs/internal/v2/SyncPart.js +6 -0
- package/dist/cjs/internal/v2/SyncPart.js.map +1 -0
- package/dist/cjs/internal/v2/helpers.js +15 -0
- package/dist/cjs/internal/v2/helpers.js.map +1 -0
- package/dist/cjs/internal/v2/hydrate.js +202 -0
- package/dist/cjs/internal/v2/hydrate.js.map +1 -0
- package/dist/cjs/internal/v2/hydration-template.js +269 -0
- package/dist/cjs/internal/v2/hydration-template.js.map +1 -0
- package/dist/cjs/internal/v2/parts.js +169 -0
- package/dist/cjs/internal/v2/parts.js.map +1 -0
- package/dist/cjs/internal/v2/render-entry.js +110 -0
- package/dist/cjs/internal/v2/render-entry.js.map +1 -0
- package/dist/cjs/internal/v2/render-sync-parts.js +318 -0
- package/dist/cjs/internal/v2/render-sync-parts.js.map +1 -0
- package/dist/cjs/internal/v2/render.js +417 -0
- package/dist/cjs/internal/v2/render.js.map +1 -0
- package/dist/cjs/internal/v2/sync-parts.js +115 -0
- package/dist/cjs/internal/v2/sync-parts.js.map +1 -0
- package/dist/dts/ElementRef.d.ts +1 -1
- package/dist/dts/ElementRef.d.ts.map +1 -1
- package/dist/dts/ElementSource.d.ts +1 -1
- package/dist/dts/ElementSource.d.ts.map +1 -1
- package/dist/dts/EventHandler.d.ts +20 -8
- package/dist/dts/EventHandler.d.ts.map +1 -1
- package/dist/dts/Html.d.ts +6 -5
- package/dist/dts/Html.d.ts.map +1 -1
- package/dist/dts/HtmlChunk.d.ts.map +1 -1
- package/dist/dts/Hydrate.d.ts +1 -3
- package/dist/dts/Hydrate.d.ts.map +1 -1
- package/dist/dts/Many.d.ts +9 -11
- package/dist/dts/Many.d.ts.map +1 -1
- package/dist/dts/Meta.d.ts +5 -1
- package/dist/dts/Meta.d.ts.map +1 -1
- package/dist/dts/Parser.d.ts +1 -1
- package/dist/dts/Parser.d.ts.map +1 -1
- package/dist/dts/Part.d.ts +20 -56
- package/dist/dts/Part.d.ts.map +1 -1
- package/dist/dts/Placeholder.d.ts +6 -10
- package/dist/dts/Placeholder.d.ts.map +1 -1
- package/dist/dts/Platform.d.ts +2 -4
- package/dist/dts/Platform.d.ts.map +1 -1
- package/dist/dts/Render.d.ts +4 -8
- package/dist/dts/Render.d.ts.map +1 -1
- package/dist/dts/RenderContext.d.ts +3 -22
- package/dist/dts/RenderContext.d.ts.map +1 -1
- package/dist/dts/RenderEvent.d.ts +6 -1
- package/dist/dts/RenderEvent.d.ts.map +1 -1
- package/dist/dts/RenderQueue.d.ts +103 -0
- package/dist/dts/RenderQueue.d.ts.map +1 -0
- package/dist/dts/RenderTemplate.d.ts +3 -2
- package/dist/dts/RenderTemplate.d.ts.map +1 -1
- package/dist/dts/Renderable.d.ts +1 -1
- package/dist/dts/Template.d.ts +14 -1
- package/dist/dts/Template.d.ts.map +1 -1
- package/dist/dts/Test.d.ts +14 -1
- package/dist/dts/Test.d.ts.map +1 -1
- package/dist/dts/Vitest.d.ts +11 -8
- package/dist/dts/Vitest.d.ts.map +1 -1
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/EventSource.d.ts +2 -1
- package/dist/dts/internal/EventSource.d.ts.map +1 -1
- package/dist/dts/internal/browser.d.ts +3 -3
- package/dist/dts/internal/browser.d.ts.map +1 -1
- package/dist/dts/internal/character-entities.d.ts +2133 -0
- package/dist/dts/internal/character-entities.d.ts.map +1 -0
- package/dist/dts/internal/errors.d.ts +9 -1
- package/dist/dts/internal/errors.d.ts.map +1 -1
- package/dist/dts/internal/indexRefCounter.d.ts +0 -4
- package/dist/dts/internal/indexRefCounter.d.ts.map +1 -1
- package/dist/dts/internal/parser.d.ts +13 -0
- package/dist/dts/internal/parser.d.ts.map +1 -1
- package/dist/dts/internal/parser2.d.ts +12 -0
- package/dist/dts/internal/parser2.d.ts.map +1 -0
- package/dist/dts/internal/server-parts.d.ts +223 -0
- package/dist/dts/internal/server-parts.d.ts.map +1 -0
- package/dist/dts/internal/server.d.ts +2 -28
- package/dist/dts/internal/server.d.ts.map +1 -1
- package/dist/dts/internal/utils.d.ts +4 -1
- package/dist/dts/internal/utils.d.ts.map +1 -1
- package/dist/dts/internal/v2/SyncPart.d.ts +87 -0
- package/dist/dts/internal/v2/SyncPart.d.ts.map +1 -0
- package/dist/dts/internal/v2/helpers.d.ts +3 -0
- package/dist/dts/internal/v2/helpers.d.ts.map +1 -0
- package/dist/dts/internal/v2/hydrate.d.ts +7 -0
- package/dist/dts/internal/v2/hydrate.d.ts.map +1 -0
- package/dist/dts/internal/v2/hydration-template.d.ts +54 -0
- package/dist/dts/internal/v2/hydration-template.d.ts.map +1 -0
- package/dist/dts/internal/v2/parts.d.ts +245 -0
- package/dist/dts/internal/v2/parts.d.ts.map +1 -0
- package/dist/dts/internal/v2/render-entry.d.ts +6 -0
- package/dist/dts/internal/v2/render-entry.d.ts.map +1 -0
- package/dist/dts/internal/v2/render-sync-parts.d.ts +22 -0
- package/dist/dts/internal/v2/render-sync-parts.d.ts.map +1 -0
- package/dist/dts/internal/v2/render.d.ts +62 -0
- package/dist/dts/internal/v2/render.d.ts.map +1 -0
- package/dist/dts/internal/v2/sync-parts.d.ts +129 -0
- package/dist/dts/internal/v2/sync-parts.d.ts.map +1 -0
- package/dist/esm/ElementRef.js.map +1 -1
- package/dist/esm/EventHandler.js +20 -4
- package/dist/esm/EventHandler.js.map +1 -1
- package/dist/esm/Html.js +91 -50
- package/dist/esm/Html.js.map +1 -1
- package/dist/esm/HtmlChunk.js +75 -24
- package/dist/esm/HtmlChunk.js.map +1 -1
- package/dist/esm/Hydrate.js +5 -5
- package/dist/esm/Hydrate.js.map +1 -1
- package/dist/esm/Many.js +3 -3
- package/dist/esm/Many.js.map +1 -1
- package/dist/esm/Meta.js +7 -1
- package/dist/esm/Meta.js.map +1 -1
- package/dist/esm/Parser.js +1 -1
- package/dist/esm/Parser.js.map +1 -1
- package/dist/esm/Placeholder.js +4 -8
- package/dist/esm/Placeholder.js.map +1 -1
- package/dist/esm/Platform.js +3 -1
- package/dist/esm/Platform.js.map +1 -1
- package/dist/esm/Render.js +6 -5
- package/dist/esm/Render.js.map +1 -1
- package/dist/esm/RenderContext.js +5 -85
- package/dist/esm/RenderContext.js.map +1 -1
- package/dist/esm/RenderEvent.js +8 -1
- package/dist/esm/RenderEvent.js.map +1 -1
- package/dist/esm/RenderQueue.js +336 -0
- package/dist/esm/RenderQueue.js.map +1 -0
- package/dist/esm/RenderTemplate.js.map +1 -1
- package/dist/esm/Template.js +12 -0
- package/dist/esm/Template.js.map +1 -1
- package/dist/esm/Test.js +71 -30
- package/dist/esm/Test.js.map +1 -1
- package/dist/esm/Vitest.js +11 -8
- package/dist/esm/Vitest.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/EventSource.js +12 -7
- package/dist/esm/internal/EventSource.js.map +1 -1
- package/dist/esm/internal/HydrateContext.js.map +1 -1
- package/dist/esm/internal/browser.js +10 -9
- package/dist/esm/internal/browser.js.map +1 -1
- package/dist/esm/internal/character-entities.js +2134 -0
- package/dist/esm/internal/character-entities.js.map +1 -0
- package/dist/esm/internal/errors.js +22 -2
- package/dist/esm/internal/errors.js.map +1 -1
- package/dist/esm/internal/indexRefCounter.js +36 -61
- package/dist/esm/internal/indexRefCounter.js.map +1 -1
- package/dist/esm/internal/parser.js +18 -18
- package/dist/esm/internal/parser.js.map +1 -1
- package/dist/esm/internal/parser2.js +393 -0
- package/dist/esm/internal/parser2.js.map +1 -0
- package/dist/esm/internal/server-parts.js +109 -0
- package/dist/esm/internal/server-parts.js.map +1 -0
- package/dist/esm/internal/server.js +12 -161
- package/dist/esm/internal/server.js.map +1 -1
- package/dist/esm/internal/utils.js +71 -7
- package/dist/esm/internal/utils.js.map +1 -1
- package/dist/esm/internal/v2/SyncPart.js +5 -0
- package/dist/esm/internal/v2/SyncPart.js.map +1 -0
- package/dist/esm/internal/v2/helpers.js +12 -0
- package/dist/esm/internal/v2/helpers.js.map +1 -0
- package/dist/esm/internal/v2/hydrate.js +195 -0
- package/dist/esm/internal/v2/hydrate.js.map +1 -0
- package/dist/esm/internal/v2/hydration-template.js +265 -0
- package/dist/esm/internal/v2/hydration-template.js.map +1 -0
- package/dist/esm/internal/v2/parts.js +150 -0
- package/dist/esm/internal/v2/parts.js.map +1 -0
- package/dist/esm/internal/v2/render-entry.js +102 -0
- package/dist/esm/internal/v2/render-entry.js.map +1 -0
- package/dist/esm/internal/v2/render-sync-parts.js +265 -0
- package/dist/esm/internal/v2/render-sync-parts.js.map +1 -0
- package/dist/esm/internal/v2/render.js +353 -0
- package/dist/esm/internal/v2/render.js.map +1 -0
- package/dist/esm/internal/v2/sync-parts.js +102 -0
- package/dist/esm/internal/v2/sync-parts.js.map +1 -0
- package/package.json +20 -13
- package/src/ElementRef.ts +1 -1
- package/src/ElementSource.ts +1 -1
- package/src/EventHandler.ts +50 -12
- package/src/Html.ts +207 -98
- package/src/HtmlChunk.ts +77 -30
- package/src/Hydrate.ts +20 -14
- package/src/Many.ts +17 -14
- package/src/Meta.ts +8 -1
- package/src/Parser.ts +1 -1
- package/src/Part.ts +22 -66
- package/src/Placeholder.ts +17 -15
- package/src/Platform.ts +5 -5
- package/src/Render.ts +23 -26
- package/src/RenderContext.ts +14 -142
- package/src/RenderEvent.ts +10 -1
- package/src/RenderQueue.ts +445 -0
- package/src/RenderTemplate.ts +7 -2
- package/src/Renderable.ts +1 -1
- package/src/Template.ts +15 -1
- package/src/Test.ts +122 -38
- package/src/Vitest.ts +20 -10
- package/src/index.ts +4 -0
- package/src/internal/EventSource.ts +14 -8
- package/src/internal/HydrateContext.ts +3 -4
- package/src/internal/browser.ts +26 -21
- package/src/internal/character-entities.ts +2136 -0
- package/src/internal/errors.ts +30 -3
- package/src/internal/indexRefCounter.ts +38 -70
- package/src/internal/parser.ts +19 -19
- package/src/internal/parser2.ts +468 -0
- package/src/internal/server-parts.ts +161 -0
- package/src/internal/server.ts +16 -272
- package/src/internal/utils.ts +83 -7
- package/src/internal/v2/SyncPart.ts +112 -0
- package/src/internal/v2/helpers.ts +13 -0
- package/src/internal/v2/hydrate.ts +289 -0
- package/src/internal/v2/hydration-template.ts +308 -0
- package/src/internal/v2/parts.ts +254 -0
- package/src/internal/v2/render-entry.ts +131 -0
- package/src/internal/v2/render-sync-parts.ts +440 -0
- package/src/internal/v2/render.ts +588 -0
- package/src/internal/v2/sync-parts.ts +133 -0
- package/dist/cjs/internal/hydrate.js +0 -274
- package/dist/cjs/internal/hydrate.js.map +0 -1
- package/dist/cjs/internal/parts.js +0 -451
- package/dist/cjs/internal/parts.js.map +0 -1
- package/dist/cjs/internal/render.js +0 -704
- package/dist/cjs/internal/render.js.map +0 -1
- package/dist/dts/internal/hydrate.d.ts +0 -33
- package/dist/dts/internal/hydrate.d.ts.map +0 -1
- package/dist/dts/internal/parts.d.ts +0 -314
- package/dist/dts/internal/parts.d.ts.map +0 -1
- package/dist/dts/internal/render.d.ts +0 -16
- package/dist/dts/internal/render.d.ts.map +0 -1
- package/dist/esm/internal/hydrate.js +0 -239
- package/dist/esm/internal/hydrate.js.map +0 -1
- package/dist/esm/internal/parts.js +0 -373
- package/dist/esm/internal/parts.js.map +0 -1
- package/dist/esm/internal/render.js +0 -689
- package/dist/esm/internal/render.js.map +0 -1
- package/src/internal/hydrate.ts +0 -366
- package/src/internal/parts.ts +0 -609
- package/src/internal/render.ts +0 -971
|
@@ -8,19 +8,15 @@ exports.getRenderCache = getRenderCache;
|
|
|
8
8
|
exports.getTemplateCache = getTemplateCache;
|
|
9
9
|
exports.make = make;
|
|
10
10
|
exports.static = exports.server = void 0;
|
|
11
|
-
exports.unsafeMake = unsafeMake;
|
|
12
11
|
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/context"));
|
|
13
12
|
var _DomServices = /*#__PURE__*/require("@typed/dom/DomServices");
|
|
14
13
|
var _GlobalThis = /*#__PURE__*/require("@typed/dom/GlobalThis");
|
|
15
14
|
var _Window = /*#__PURE__*/require("@typed/dom/Window");
|
|
16
15
|
var _environment = /*#__PURE__*/require("@typed/environment");
|
|
17
|
-
var Idle = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/Idle"));
|
|
18
|
-
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
19
16
|
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
|
|
20
17
|
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
|
|
21
|
-
var Scope = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Scope"));
|
|
22
18
|
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); }
|
|
23
|
-
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 &&
|
|
19
|
+
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 && {}.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; }
|
|
24
20
|
/**
|
|
25
21
|
* The context in which templates are rendered within
|
|
26
22
|
* @since 1.0.0
|
|
@@ -30,31 +26,17 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
30
26
|
* The context in which templates are rendered within
|
|
31
27
|
* @since 1.0.0
|
|
32
28
|
*/
|
|
33
|
-
const RenderContext = exports.RenderContext = /*#__PURE__*/Context.Tagged("
|
|
29
|
+
const RenderContext = exports.RenderContext = /*#__PURE__*/Context.Tagged("@typed/template/RenderContext");
|
|
34
30
|
/**
|
|
35
31
|
* @since 1.0.0
|
|
36
32
|
*/
|
|
37
33
|
function make({
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
return Effect.scopeWith(scope => Effect.succeed(unsafeMake({
|
|
41
|
-
...options,
|
|
42
|
-
scope
|
|
43
|
-
}, skipRenderScheduling)));
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* @since 1.0.0
|
|
47
|
-
*/
|
|
48
|
-
function unsafeMake({
|
|
49
|
-
environment,
|
|
50
|
-
scope,
|
|
51
|
-
...options
|
|
52
|
-
}, skipRenderScheduling) {
|
|
34
|
+
environment
|
|
35
|
+
}) {
|
|
53
36
|
return {
|
|
54
37
|
environment,
|
|
55
38
|
renderCache: new WeakMap(),
|
|
56
|
-
templateCache: new WeakMap()
|
|
57
|
-
queue: new RenderQueueImpl(scope, options, skipRenderScheduling ?? false)
|
|
39
|
+
templateCache: new WeakMap()
|
|
58
40
|
};
|
|
59
41
|
}
|
|
60
42
|
/**
|
|
@@ -69,83 +51,17 @@ function getRenderCache(renderCache, key) {
|
|
|
69
51
|
function getTemplateCache(templateCache, key) {
|
|
70
52
|
return Option.fromNullable(templateCache.get(key));
|
|
71
53
|
}
|
|
72
|
-
const buildWithCurrentEnvironment =
|
|
54
|
+
const buildWithCurrentEnvironment = environment => Layer.mergeAll(RenderContext.layer(make({
|
|
73
55
|
environment
|
|
74
|
-
}
|
|
56
|
+
})), _environment.CurrentEnvironment.layer(environment));
|
|
75
57
|
/**
|
|
76
58
|
* @since 1.0.0
|
|
77
59
|
*/
|
|
78
|
-
const dom = (window, options) => Layer.provideMerge(Layer.mergeAll(buildWithCurrentEnvironment("dom"
|
|
60
|
+
const dom = (window, options) => Layer.provideMerge(Layer.mergeAll(buildWithCurrentEnvironment("dom"), (0, _DomServices.domServices)(options)), Layer.mergeAll(_Window.Window.layer(window), _GlobalThis.GlobalThis.layer(window)));
|
|
79
61
|
/**
|
|
80
62
|
* @since 1.0.0
|
|
81
63
|
*/
|
|
82
64
|
exports.dom = dom;
|
|
83
65
|
const server = exports.server = /*#__PURE__*/buildWithCurrentEnvironment("server");
|
|
84
66
|
const static_ = exports.static = /*#__PURE__*/buildWithCurrentEnvironment("static");
|
|
85
|
-
class RenderQueueImpl {
|
|
86
|
-
scope;
|
|
87
|
-
options;
|
|
88
|
-
skipRenderScheduling;
|
|
89
|
-
queue = new Map();
|
|
90
|
-
scheduled = false;
|
|
91
|
-
run;
|
|
92
|
-
constructor(scope, options, skipRenderScheduling = false) {
|
|
93
|
-
this.scope = scope;
|
|
94
|
-
this.options = options;
|
|
95
|
-
this.skipRenderScheduling = skipRenderScheduling;
|
|
96
|
-
this.add.bind(this);
|
|
97
|
-
this.run = typeof requestAnimationFrame === "undefined" ? this.runIdle : this.runAnimationFrame;
|
|
98
|
-
}
|
|
99
|
-
add(part, task) {
|
|
100
|
-
if (this.skipRenderScheduling) return Effect.sync(task);
|
|
101
|
-
return Effect.suspend(() => {
|
|
102
|
-
this.queue.set(part, task);
|
|
103
|
-
return Effect.zipRight(Effect.addFinalizer(() => Effect.sync(() => {
|
|
104
|
-
const currentTask = this.queue.get(part);
|
|
105
|
-
// If the current task is still the same we'll delete it from the queue
|
|
106
|
-
if (currentTask === task) {
|
|
107
|
-
this.queue.delete(part);
|
|
108
|
-
}
|
|
109
|
-
})), this.scheduleNextRun);
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
scheduleNextRun = Effect.suspend(() => {
|
|
113
|
-
if (this.queue.size === 0 || this.scheduled) return Effect.unit;
|
|
114
|
-
this.scheduled = true;
|
|
115
|
-
return this.run.pipe(Scope.extend(this.scope), Effect.forkIn(this.scope));
|
|
116
|
-
});
|
|
117
|
-
runIdle = Effect.suspend(() => {
|
|
118
|
-
return Effect.flatMap(Idle.whenIdle(this.options), deadline => Effect.suspend(() => {
|
|
119
|
-
const iterator = this.queue.entries();
|
|
120
|
-
while (Idle.shouldContinue(deadline) && this.runTask(iterator)) {
|
|
121
|
-
// Continue
|
|
122
|
-
}
|
|
123
|
-
// If we have more work to do, schedule another run
|
|
124
|
-
if (this.queue.size > 0) {
|
|
125
|
-
return this.runIdle;
|
|
126
|
-
}
|
|
127
|
-
this.scheduled = false;
|
|
128
|
-
return Effect.unit;
|
|
129
|
-
}));
|
|
130
|
-
});
|
|
131
|
-
runAnimationFrame = Effect.zipRight(Effect.async(cb => {
|
|
132
|
-
const id = requestAnimationFrame(() => cb(Effect.unit));
|
|
133
|
-
return Effect.sync(() => cancelAnimationFrame(id));
|
|
134
|
-
}), Effect.sync(() => {
|
|
135
|
-
const iterator = this.queue.entries();
|
|
136
|
-
while (this.runTask(iterator)) {
|
|
137
|
-
// Continue
|
|
138
|
-
}
|
|
139
|
-
this.scheduled = false;
|
|
140
|
-
}));
|
|
141
|
-
runTask = iterator => {
|
|
142
|
-
const result = iterator.next();
|
|
143
|
-
if (result.done) return false;else {
|
|
144
|
-
const [part, task] = result.value;
|
|
145
|
-
this.queue.delete(part);
|
|
146
|
-
task();
|
|
147
|
-
return true;
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
67
|
//# sourceMappingURL=RenderContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderContext.js","names":["Context","_interopRequireWildcard","require","_DomServices","_GlobalThis","_Window","_environment","
|
|
1
|
+
{"version":3,"file":"RenderContext.js","names":["Context","_interopRequireWildcard","require","_DomServices","_GlobalThis","_Window","_environment","Layer","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","RenderContext","exports","Tagged","make","environment","renderCache","templateCache","getRenderCache","key","some","none","getTemplateCache","fromNullable","buildWithCurrentEnvironment","mergeAll","layer","CurrentEnvironment","dom","window","options","provideMerge","domServices","Window","GlobalThis","server","static_","static"],"sources":["../../src/RenderContext.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/RenderEvent.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.DomRenderEvent = DomRenderEvent;
|
|
7
7
|
exports.HtmlRenderEvent = HtmlRenderEvent;
|
|
8
|
+
exports.isHtmlRenderEvent = isHtmlRenderEvent;
|
|
8
9
|
exports.isRenderEvent = isRenderEvent;
|
|
9
10
|
/**
|
|
10
11
|
* @since 1.0.0
|
|
@@ -22,10 +23,11 @@ function DomRenderEvent(rendered) {
|
|
|
22
23
|
/**
|
|
23
24
|
* @since 1.0.0
|
|
24
25
|
*/
|
|
25
|
-
function HtmlRenderEvent(html) {
|
|
26
|
+
function HtmlRenderEvent(html, done) {
|
|
26
27
|
return {
|
|
27
28
|
_tag: "html",
|
|
28
29
|
html,
|
|
30
|
+
done,
|
|
29
31
|
valueOf: () => html
|
|
30
32
|
};
|
|
31
33
|
}
|
|
@@ -35,6 +37,12 @@ function HtmlRenderEvent(html) {
|
|
|
35
37
|
function isRenderEvent(value) {
|
|
36
38
|
return isTaggedObject(value) && (value._tag === "html" || value._tag === "dom");
|
|
37
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
*/
|
|
43
|
+
function isHtmlRenderEvent(value) {
|
|
44
|
+
return isTaggedObject(value) && value._tag === "html";
|
|
45
|
+
}
|
|
38
46
|
function isTaggedObject(value) {
|
|
39
47
|
return isObject(value) && "_tag" in value;
|
|
40
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderEvent.js","names":["DomRenderEvent","rendered","_tag","valueOf","HtmlRenderEvent","html","isRenderEvent","value","isTaggedObject","isObject"],"sources":["../../src/RenderEvent.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"RenderEvent.js","names":["DomRenderEvent","rendered","_tag","valueOf","HtmlRenderEvent","html","done","isRenderEvent","value","isTaggedObject","isHtmlRenderEvent","isObject"],"sources":["../../src/RenderEvent.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;AAAA;;;AAoBA;;;AAGM,SAAUA,cAAcA,CAACC,QAAkB;EAC/C,OAAO;IACLC,IAAI,EAAE,KAAK;IACXD,QAAQ;IACRE,OAAO,EAAEA,CAAA,KAAMF;GAChB;AACH;AAYA;;;AAGM,SAAUG,eAAeA,CAACC,IAAY,EAAEC,IAAa;EACzD,OAAO;IACLJ,IAAI,EAAE,MAAM;IACZG,IAAI;IACJC,IAAI;IACJH,OAAO,EAAEA,CAAA,KAAME;GAChB;AACH;AAEA;;;AAGM,SAAUE,aAAaA,CAACC,KAAc;EAC1C,OAAOC,cAAc,CAACD,KAAK,CAAC,KAAKA,KAAK,CAACN,IAAI,KAAK,MAAM,IAAIM,KAAK,CAACN,IAAI,KAAK,KAAK,CAAC;AACjF;AAEA;;;AAGM,SAAUQ,iBAAiBA,CAACF,KAAc;EAC9C,OAAOC,cAAc,CAACD,KAAK,CAAC,IAAIA,KAAK,CAACN,IAAI,KAAK,MAAM;AACvD;AAEA,SAASO,cAAcA,CACrBD,KAAc;EAEd,OAAOG,QAAQ,CAACH,KAAK,CAAC,IAAI,MAAM,IAAIA,KAAK;AAC3C;AAEA,SAASG,QAAQA,CAACH,KAAc;EAC9B,OAAO,CAAC,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ;AAC7C","ignoreList":[]}
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.withCurrentPriority = exports.usingCurrentPriority = exports.unsafeMakeSyncRenderQueue = exports.unsafeMakeRafRenderQueue = exports.unsafeMakeMicrotaskRenderQueue = exports.unsafeMakeIdleRenderQueue = exports.sync = exports.raf = exports.mixed = exports.microtask = exports.idle = exports.currentPriority = exports.RenderQueue = exports.Priority = exports.DEFAULT_PRIORITY = void 0;
|
|
7
|
+
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/context"));
|
|
8
|
+
var Idle = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/Idle"));
|
|
9
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
10
|
+
var FiberRef = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/FiberRef"));
|
|
11
|
+
var _Function = /*#__PURE__*/require("effect/Function");
|
|
12
|
+
var Scope = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Scope"));
|
|
13
|
+
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); }
|
|
14
|
+
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 && {}.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; }
|
|
15
|
+
/**
|
|
16
|
+
* The context in which templates are rendered within
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @since 1.0.0
|
|
22
|
+
*/
|
|
23
|
+
const DEFAULT_PRIORITY = exports.DEFAULT_PRIORITY = 10;
|
|
24
|
+
/**
|
|
25
|
+
* The context in which templates are rendered within
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
*/
|
|
28
|
+
const RenderQueue = exports.RenderQueue = /*#__PURE__*/Context.Tagged("@typed/template/RenderQueue");
|
|
29
|
+
/**
|
|
30
|
+
* @since 1.0.0
|
|
31
|
+
*/
|
|
32
|
+
const currentPriority = exports.currentPriority = /*#__PURE__*/FiberRef.unsafeMake(DEFAULT_PRIORITY);
|
|
33
|
+
/**
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
*/
|
|
36
|
+
const unsafeMakeIdleRenderQueue = ({
|
|
37
|
+
scope,
|
|
38
|
+
...options
|
|
39
|
+
}) => new IdleImpl(scope, options);
|
|
40
|
+
/**
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
*/
|
|
43
|
+
exports.unsafeMakeIdleRenderQueue = unsafeMakeIdleRenderQueue;
|
|
44
|
+
const unsafeMakeRafRenderQueue = scope => new RafImpl(scope);
|
|
45
|
+
/**
|
|
46
|
+
* @since 1.0.0
|
|
47
|
+
*/
|
|
48
|
+
exports.unsafeMakeRafRenderQueue = unsafeMakeRafRenderQueue;
|
|
49
|
+
const unsafeMakeMicrotaskRenderQueue = scope => new MicroTaskImpl(scope);
|
|
50
|
+
/**
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
*/
|
|
53
|
+
exports.unsafeMakeMicrotaskRenderQueue = unsafeMakeMicrotaskRenderQueue;
|
|
54
|
+
const unsafeMakeSyncRenderQueue = () => new SyncImpl();
|
|
55
|
+
/**
|
|
56
|
+
* @since 1.0.0
|
|
57
|
+
*/
|
|
58
|
+
exports.unsafeMakeSyncRenderQueue = unsafeMakeSyncRenderQueue;
|
|
59
|
+
const idle = options => RenderQueue.scoped(Effect.scopeWith(scope => Effect.succeed(unsafeMakeIdleRenderQueue({
|
|
60
|
+
scope,
|
|
61
|
+
...options
|
|
62
|
+
}))));
|
|
63
|
+
/**
|
|
64
|
+
* @since 1.0.0
|
|
65
|
+
*/
|
|
66
|
+
exports.idle = idle;
|
|
67
|
+
const raf = exports.raf = /*#__PURE__*/RenderQueue.scoped( /*#__PURE__*/Effect.scopeWith(scope => Effect.succeed(unsafeMakeRafRenderQueue(scope))));
|
|
68
|
+
/**
|
|
69
|
+
* @since 1.0.0
|
|
70
|
+
*/
|
|
71
|
+
const microtask = exports.microtask = /*#__PURE__*/RenderQueue.scoped( /*#__PURE__*/Effect.scopeWith(scope => Effect.succeed(unsafeMakeMicrotaskRenderQueue(scope))));
|
|
72
|
+
/**
|
|
73
|
+
* @since 1.0.0
|
|
74
|
+
*/
|
|
75
|
+
const sync = exports.sync = /*#__PURE__*/RenderQueue.layer( /*#__PURE__*/Effect.sync(unsafeMakeSyncRenderQueue));
|
|
76
|
+
const MICRO_TASK_END = DEFAULT_PRIORITY - 1;
|
|
77
|
+
const RAF_END = DEFAULT_PRIORITY + 9;
|
|
78
|
+
const IDLE_START = RAF_END + 1;
|
|
79
|
+
/**
|
|
80
|
+
* @since 1.0.0
|
|
81
|
+
*/
|
|
82
|
+
const mixed = options => RenderQueue.scoped(Effect.gen(function* () {
|
|
83
|
+
const scope = yield* Effect.scope;
|
|
84
|
+
const queues = [[[-1, -1], new SyncImpl()], [[0, MICRO_TASK_END], new MicroTaskImpl(scope)], [[DEFAULT_PRIORITY, RAF_END], new RafImpl(scope)], [[IDLE_START, Number.MAX_SAFE_INTEGER], new IdleImpl(scope, options)]];
|
|
85
|
+
return new MixedImpl(queues);
|
|
86
|
+
}));
|
|
87
|
+
/**
|
|
88
|
+
* @since 1.0.0
|
|
89
|
+
*/
|
|
90
|
+
exports.mixed = mixed;
|
|
91
|
+
const Priority = exports.Priority = {
|
|
92
|
+
Sync: -1,
|
|
93
|
+
/**
|
|
94
|
+
* @example
|
|
95
|
+
* RenderPriority.MicroTask(0-9)
|
|
96
|
+
*/
|
|
97
|
+
MicroTask: priority => Math.min(Math.max(0, priority), MICRO_TASK_END),
|
|
98
|
+
/**
|
|
99
|
+
* @example
|
|
100
|
+
* RenderPriority.Raf(0-9)
|
|
101
|
+
*/
|
|
102
|
+
Raf: priority => Math.min(Math.max(DEFAULT_PRIORITY, DEFAULT_PRIORITY + priority), RAF_END),
|
|
103
|
+
/**
|
|
104
|
+
* @example
|
|
105
|
+
* RenderPriority.Idle(0-9)
|
|
106
|
+
*/
|
|
107
|
+
Idle: priority => Math.max(IDLE_START, IDLE_START + priority)
|
|
108
|
+
};
|
|
109
|
+
class PriorityQueue {
|
|
110
|
+
tasks = new Map();
|
|
111
|
+
priority = new Map();
|
|
112
|
+
priorities = new Map();
|
|
113
|
+
add(part, task, priority) {
|
|
114
|
+
this.tasks.set(part, task);
|
|
115
|
+
this.setPriority(part, priority);
|
|
116
|
+
}
|
|
117
|
+
get(part) {
|
|
118
|
+
return this.tasks.get(part);
|
|
119
|
+
}
|
|
120
|
+
delete(part) {
|
|
121
|
+
this.tasks.delete(part);
|
|
122
|
+
const priority = this.priority.get(part);
|
|
123
|
+
if (priority === undefined) {
|
|
124
|
+
return false;
|
|
125
|
+
} else {
|
|
126
|
+
this.priorities.get(priority)?.delete(part);
|
|
127
|
+
this.priority.delete(part);
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
get isEmpty() {
|
|
132
|
+
return this.priorities.size === 0;
|
|
133
|
+
}
|
|
134
|
+
*entries() {
|
|
135
|
+
for (const priority of Array.from(this.priorities.keys()).sort((a, b) => a - b)) {
|
|
136
|
+
const parts = this.priorities.get(priority);
|
|
137
|
+
this.priorities.delete(priority);
|
|
138
|
+
yield this.getTasks(parts);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
getTasks(parts) {
|
|
142
|
+
return Array.from(parts.values()).flatMap(part => {
|
|
143
|
+
const task = this.tasks.get(part);
|
|
144
|
+
if (task === undefined) return [];
|
|
145
|
+
this.tasks.delete(part);
|
|
146
|
+
this.priority.delete(part);
|
|
147
|
+
return [task];
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
setPriority(task, priority) {
|
|
151
|
+
const current = this.priority.get(task);
|
|
152
|
+
if (current === undefined) {
|
|
153
|
+
this.priority.set(task, priority);
|
|
154
|
+
this.addTaskToPriority(task, priority);
|
|
155
|
+
return priority;
|
|
156
|
+
} else if (priority < current) {
|
|
157
|
+
this.priorities.get(current)?.delete(task);
|
|
158
|
+
this.priority.set(task, priority);
|
|
159
|
+
this.addTaskToPriority(task, priority);
|
|
160
|
+
return priority;
|
|
161
|
+
} else {
|
|
162
|
+
return current;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
addTaskToPriority(task, priority) {
|
|
166
|
+
let set = this.priorities.get(priority);
|
|
167
|
+
if (set === undefined) {
|
|
168
|
+
set = new Set();
|
|
169
|
+
this.priorities.set(priority, set);
|
|
170
|
+
}
|
|
171
|
+
set.add(task);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
class BaseImpl {
|
|
175
|
+
scope;
|
|
176
|
+
queue = new PriorityQueue();
|
|
177
|
+
scheduled = false;
|
|
178
|
+
constructor(scope) {
|
|
179
|
+
this.scope = scope;
|
|
180
|
+
this.add.bind(this);
|
|
181
|
+
}
|
|
182
|
+
add(part, task, priority) {
|
|
183
|
+
return Effect.suspend(() => {
|
|
184
|
+
this.queue.add(part, task, priority);
|
|
185
|
+
return Effect.zipRight(Effect.addFinalizer(() => Effect.sync(() => {
|
|
186
|
+
const currentTask = this.queue.get(part);
|
|
187
|
+
// If the current task is still the same we'll delete it from the queue
|
|
188
|
+
if (currentTask === task) {
|
|
189
|
+
this.queue.delete(part);
|
|
190
|
+
}
|
|
191
|
+
})), this.scheduleNextRun);
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
scheduleNextRun = Effect.suspend(() => {
|
|
195
|
+
if (this.queue.isEmpty || this.scheduled) return Effect.void;
|
|
196
|
+
this.scheduled = true;
|
|
197
|
+
return this.run.pipe(Scope.extend(this.scope), Effect.forkIn(this.scope));
|
|
198
|
+
});
|
|
199
|
+
runTasks = iterator => {
|
|
200
|
+
const result = iterator.next();
|
|
201
|
+
if (result.done) return false;else {
|
|
202
|
+
for (const task of result.value) {
|
|
203
|
+
this.tryRunTask(task);
|
|
204
|
+
}
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
tryRunTask = task => {
|
|
209
|
+
try {
|
|
210
|
+
task();
|
|
211
|
+
} catch (error) {
|
|
212
|
+
// TODO: We should probably be able to report this back to a template
|
|
213
|
+
console.error(error);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
class IdleImpl extends BaseImpl {
|
|
218
|
+
options;
|
|
219
|
+
constructor(scope, options) {
|
|
220
|
+
super(scope);
|
|
221
|
+
this.options = options;
|
|
222
|
+
}
|
|
223
|
+
run = Effect.suspend(() => {
|
|
224
|
+
return Effect.flatMap(Idle.whenIdle(this.options), deadline => Effect.suspend(() => {
|
|
225
|
+
const iterator = this.queue.entries();
|
|
226
|
+
while (Idle.shouldContinue(deadline) && this.runTasks(iterator)) {
|
|
227
|
+
// Continue
|
|
228
|
+
}
|
|
229
|
+
// If we have more work to do, schedule another run
|
|
230
|
+
if (!this.queue.isEmpty) {
|
|
231
|
+
return this.run;
|
|
232
|
+
}
|
|
233
|
+
this.scheduled = false;
|
|
234
|
+
return Effect.void;
|
|
235
|
+
}));
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
class RafImpl extends BaseImpl {
|
|
239
|
+
scope;
|
|
240
|
+
_set;
|
|
241
|
+
_clear;
|
|
242
|
+
constructor(scope) {
|
|
243
|
+
super(scope);
|
|
244
|
+
this.scope = scope;
|
|
245
|
+
const [set, clear] = typeof globalThis.requestAnimationFrame === "function" ? [requestAnimationFrame.bind(globalThis), cancelAnimationFrame.bind(globalThis)] : [setTimeout, clearTimeout];
|
|
246
|
+
this._set = set;
|
|
247
|
+
this._clear = clear;
|
|
248
|
+
}
|
|
249
|
+
run = Effect.async(cb => {
|
|
250
|
+
const id = this._set(() => {
|
|
251
|
+
this.runAllTasks();
|
|
252
|
+
return cb(Effect.void);
|
|
253
|
+
});
|
|
254
|
+
return Effect.sync(() => {
|
|
255
|
+
this.scheduled = false;
|
|
256
|
+
this._clear(id);
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
runAllTasks = () => {
|
|
260
|
+
const iterator = this.queue.entries();
|
|
261
|
+
while (this.runTasks(iterator)) {
|
|
262
|
+
// Continue
|
|
263
|
+
}
|
|
264
|
+
this.scheduled = false;
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
const noOp = () => void 0;
|
|
268
|
+
class MicroTaskImpl extends BaseImpl {
|
|
269
|
+
scope;
|
|
270
|
+
_set;
|
|
271
|
+
_clear;
|
|
272
|
+
constructor(scope) {
|
|
273
|
+
super(scope);
|
|
274
|
+
this.scope = scope;
|
|
275
|
+
const [set, clear] = typeof globalThis.queueMicrotask === "function" ? [globalThis.queueMicrotask.bind(globalThis), noOp] : [setTimeout, clearTimeout];
|
|
276
|
+
this._set = set;
|
|
277
|
+
this._clear = clear;
|
|
278
|
+
}
|
|
279
|
+
run = Effect.async(cb => {
|
|
280
|
+
const id = this._set(() => {
|
|
281
|
+
this.runAllTasks();
|
|
282
|
+
return cb(Effect.void);
|
|
283
|
+
});
|
|
284
|
+
return Effect.sync(() => {
|
|
285
|
+
this.scheduled = false;
|
|
286
|
+
id && this._clear(id);
|
|
287
|
+
});
|
|
288
|
+
});
|
|
289
|
+
runAllTasks = () => {
|
|
290
|
+
const iterator = this.queue.entries();
|
|
291
|
+
while (this.runTasks(iterator)) {
|
|
292
|
+
// Continue
|
|
293
|
+
}
|
|
294
|
+
this.scheduled = false;
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
class SyncImpl {
|
|
298
|
+
constructor() {
|
|
299
|
+
this.add.bind(this);
|
|
300
|
+
}
|
|
301
|
+
add(_, task) {
|
|
302
|
+
return Effect.sync(task);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
class MixedImpl {
|
|
306
|
+
queues;
|
|
307
|
+
_priorityCache = new Map();
|
|
308
|
+
constructor(queues) {
|
|
309
|
+
this.queues = queues;
|
|
310
|
+
this.queues.sort(([a], [b]) => a[0] - b[0]);
|
|
311
|
+
this.add.bind(this);
|
|
312
|
+
}
|
|
313
|
+
add(part, task, priority) {
|
|
314
|
+
let queue = this.getQueueForPriority(priority);
|
|
315
|
+
if (queue === undefined) {
|
|
316
|
+
queue = this.queues[this.queues.length - 1][1];
|
|
317
|
+
}
|
|
318
|
+
return queue.add(part, task, priority);
|
|
319
|
+
}
|
|
320
|
+
getQueueForPriority(priority) {
|
|
321
|
+
if (this._priorityCache.has(priority)) {
|
|
322
|
+
return this._priorityCache.get(priority);
|
|
323
|
+
}
|
|
324
|
+
const q = this.queues.find(([range]) => priority >= range[0] && priority <= range[1]);
|
|
325
|
+
if (q) {
|
|
326
|
+
this._priorityCache.set(priority, q[1]);
|
|
327
|
+
return q[1];
|
|
328
|
+
}
|
|
329
|
+
return q;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* @since 1.0.0
|
|
334
|
+
*/
|
|
335
|
+
const withCurrentPriority = f => Effect.flatMap(FiberRef.get(currentPriority), f);
|
|
336
|
+
/**
|
|
337
|
+
* @since 1.0.0
|
|
338
|
+
*/
|
|
339
|
+
exports.withCurrentPriority = withCurrentPriority;
|
|
340
|
+
const usingCurrentPriority = exports.usingCurrentPriority = /*#__PURE__*/(0, _Function.dual)(2, (effect, priority) => Effect.locally(effect, currentPriority, priority));
|
|
341
|
+
//# sourceMappingURL=RenderQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderQueue.js","names":["Context","_interopRequireWildcard","require","Idle","Effect","FiberRef","_Function","Scope","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_PRIORITY","exports","RenderQueue","Tagged","currentPriority","unsafeMake","unsafeMakeIdleRenderQueue","scope","options","IdleImpl","unsafeMakeRafRenderQueue","RafImpl","unsafeMakeMicrotaskRenderQueue","MicroTaskImpl","unsafeMakeSyncRenderQueue","SyncImpl","idle","scoped","scopeWith","succeed","raf","microtask","sync","layer","MICRO_TASK_END","RAF_END","IDLE_START","mixed","gen","queues","Number","MAX_SAFE_INTEGER","MixedImpl","Priority","Sync","MicroTask","priority","Math","min","max","Raf","PriorityQueue","tasks","Map","priorities","add","part","task","setPriority","delete","undefined","isEmpty","size","entries","Array","from","keys","sort","b","parts","getTasks","values","flatMap","current","addTaskToPriority","Set","BaseImpl","queue","scheduled","constructor","bind","suspend","zipRight","addFinalizer","currentTask","scheduleNextRun","void","run","pipe","extend","forkIn","runTasks","iterator","result","next","done","value","tryRunTask","error","console","whenIdle","deadline","shouldContinue","_set","_clear","clear","globalThis","requestAnimationFrame","cancelAnimationFrame","setTimeout","clearTimeout","async","cb","id","runAllTasks","noOp","queueMicrotask","_","_priorityCache","getQueueForPriority","length","q","find","range","withCurrentPriority","f","usingCurrentPriority","dual","effect","locally"],"sources":["../../src/RenderQueue.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ exports.html = html;
|
|
|
8
8
|
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/context"));
|
|
9
9
|
var Fx = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/fx/Fx"));
|
|
10
10
|
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); }
|
|
11
|
-
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 &&
|
|
11
|
+
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 && {}.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; }
|
|
12
12
|
/**
|
|
13
13
|
* @since 1.0.0
|
|
14
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderTemplate.js","names":["Context","_interopRequireWildcard","require","Fx","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","
|
|
1
|
+
{"version":3,"file":"RenderTemplate.js","names":["Context","_interopRequireWildcard","require","Fx","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","RenderTemplate","exports","Tagged","html","template","values","fromFxEffect","with","render"],"sources":["../../src/RenderTemplate.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAIA,IAAAA,OAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,EAAA,gBAAAF,uBAAA,eAAAC,OAAA;AAAkC,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AALlC;;;;AAsBA;;;AAGO,MAAMW,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAmDxB,OAAO,CAAC0B,MAAM,CAI1F,gCAAgC,CACjC;AACD;;;AAGM,SAAUC,IAAIA,CAClBC,QAA8B,EAC9B,GAAGC,MAAc;EAMjB,OAAO1B,EAAE,CAAC2B,YAAY,CAACN,cAAc,CAACO,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACJ,QAAQ,EAAEC,MAAM,CAAC,CAAC,CAAC;AACnF","ignoreList":[]}
|
package/dist/cjs/Template.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.TextPartNode = exports.TextOnlyElement = exports.TextNode = exports.Template = exports.SparseCommentNode = exports.SparseClassNameNode = exports.SparseAttrNode = exports.SelfClosingElementNode = exports.RefPartNode = exports.PropertyPartNode = exports.PropertiesPartNode = exports.NodePart = exports.EventPartNode = exports.ElementNode = exports.DocType = exports.DataPartNode = exports.CommentPartNode = exports.CommentNode = exports.ClassNamePartNode = exports.BooleanPartNode = exports.BooleanNode = exports.AttributeNode = exports.AttrPartNode = void 0;
|
|
7
|
+
var _Inspectable = /*#__PURE__*/require("effect/Inspectable");
|
|
7
8
|
/**
|
|
8
9
|
* @since 1.0.0
|
|
9
10
|
*/
|
|
@@ -20,6 +21,17 @@ class Template {
|
|
|
20
21
|
this.hash = hash;
|
|
21
22
|
this.parts = parts;
|
|
22
23
|
}
|
|
24
|
+
toJSON() {
|
|
25
|
+
return {
|
|
26
|
+
_tag: "template",
|
|
27
|
+
nodes: this.nodes,
|
|
28
|
+
hash: this.hash,
|
|
29
|
+
parts: this.parts.map(([part, path]) => [part, path.toJSON()])
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
[_Inspectable.NodeInspectSymbol]() {
|
|
33
|
+
return this.toJSON();
|
|
34
|
+
}
|
|
23
35
|
}
|
|
24
36
|
/**
|
|
25
37
|
* @since 1.0.0
|