octane 0.2.11 → 0.2.13
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/README.md +5 -0
- package/dist/behavior-root.d.ts +13 -3
- package/dist/behavior-root.js +28 -5
- package/dist/cjs/behavior-root.cjs +32 -6
- package/dist/cjs/class-names.cjs +49 -0
- package/dist/cjs/constants.cjs +9 -0
- package/dist/cjs/context-epoch.cjs +38 -0
- package/dist/cjs/css.cjs +6 -27
- package/dist/cjs/data-encoding.cjs +160 -0
- package/dist/cjs/dom-binding-handoff.cjs +93 -0
- package/dist/cjs/dom-binding-protocol.cjs +115 -0
- package/dist/cjs/dom-binding-styles.cjs +292 -0
- package/dist/cjs/dom-bindings.cjs +700 -0
- package/dist/cjs/dom-focused-move.cjs +66 -0
- package/dist/cjs/dom-stage.cjs +896 -0
- package/dist/cjs/dom-tables.cjs +4 -94
- package/dist/cjs/error-codes.client.generated.cjs +33 -0
- package/dist/cjs/error-codes.server.generated.cjs +24 -0
- package/dist/cjs/hydration/control-capture.cjs +244 -0
- package/dist/cjs/hydration/event-capture.cjs +125 -43
- package/dist/cjs/hydration/interaction-config.cjs +50 -2
- package/dist/cjs/hydration-markers.cjs +37 -0
- package/dist/cjs/independent-hydration-protocol.cjs +106 -0
- package/dist/cjs/index.cjs +9 -0
- package/dist/cjs/runtime.cjs +6397 -1683
- package/dist/cjs/runtime.server.cjs +1465 -213
- package/dist/cjs/server/early-signals.cjs +45 -0
- package/dist/cjs/server/index.cjs +47 -0
- package/dist/cjs/server/rpc-batch.cjs +149 -0
- package/dist/cjs/server/rpc-stream.cjs +146 -0
- package/dist/cjs/server/rpc.cjs +34 -15
- package/dist/cjs/server/signal-query-observation.cjs +158 -0
- package/dist/cjs/server/streamed-region.cjs +52 -0
- package/dist/cjs/server/streamed-signals.cjs +512 -0
- package/dist/cjs/server-call.cjs +103 -0
- package/dist/cjs/server-rpc-batch-client.cjs +141 -0
- package/dist/cjs/server-rpc-client.cjs +94 -27
- package/dist/cjs/server-rpc-protocol.cjs +141 -0
- package/dist/cjs/server-rpc-stream-client.cjs +118 -0
- package/dist/cjs/signals/actions.cjs +474 -0
- package/dist/cjs/signals/client.cjs +4 -1
- package/dist/cjs/signals/computations.cjs +460 -0
- package/dist/cjs/signals/control-binding.cjs +368 -0
- package/dist/cjs/signals/derived-facade.cjs +50 -0
- package/dist/cjs/signals/document-owner.cjs +71 -0
- package/dist/cjs/signals/early-values.cjs +155 -0
- package/dist/cjs/signals/encoding.cjs +6 -95
- package/dist/cjs/signals/engine.cjs +276 -12
- package/dist/cjs/signals/errors.cjs +18 -0
- package/dist/cjs/signals/facade.cjs +477 -0
- package/dist/cjs/signals/graph.cjs +166 -20
- package/dist/cjs/signals/handle-protocol.cjs +36 -0
- package/dist/cjs/signals/index.cjs +81 -2
- package/dist/cjs/signals/native-read-client.cjs +10 -0
- package/dist/cjs/signals/owner-context.cjs +112 -0
- package/dist/cjs/signals/query-attempt-observer.cjs +68 -0
- package/dist/cjs/signals/query-facade.cjs +72 -0
- package/dist/cjs/signals/read-protocol.cjs +54 -0
- package/dist/cjs/signals/requests.cjs +287 -14
- package/dist/cjs/signals/scalar-computations.cjs +76 -0
- package/dist/cjs/signals/server.cjs +4 -1
- package/dist/cjs/signals/transition-candidate.cjs +567 -0
- package/dist/cjs/signals/transition-state.cjs +106 -0
- package/dist/cjs/signals/types.cjs +50 -0
- package/dist/cjs/stream-protocol.cjs +3 -0
- package/dist/cjs/streamed-signals-protocol.cjs +159 -0
- package/dist/cjs/style-values.cjs +122 -0
- package/dist/cjs/trusted-html.cjs +30 -0
- package/dist/cjs/version.cjs +1 -1
- package/dist/class-names.d.ts +5 -0
- package/dist/class-names.js +25 -0
- package/dist/compiler/bundler.js +51 -22
- package/dist/compiler/compile.js +2534 -581
- package/dist/compiler/dom-binding-program.js +935 -0
- package/dist/compiler/dom-binding-request.js +57 -0
- package/dist/compiler/dom-bindings.js +2245 -0
- package/dist/compiler/hook-deps.js +759 -10
- package/dist/compiler/hydrate-boundaries.js +358 -15
- package/dist/compiler/index.d.ts +39 -2
- package/dist/compiler/index.js +1 -0
- package/dist/compiler/native-attribute-reads.js +127 -0
- package/dist/compiler/native-change-diagnostics.js +32 -38
- package/dist/compiler/native-read-diagnostics.js +69 -8
- package/dist/compiler/native-read-types.js +80 -34
- package/dist/compiler/parser.node.js +1 -1
- package/dist/compiler/renderer-boundaries.js +40 -0
- package/dist/compiler/server-context.js +118 -0
- package/dist/compiler/signal-attempt-reads.js +479 -0
- package/dist/compiler/signal-declarations.js +557 -0
- package/dist/compiler/signal-start-reads.js +413 -0
- package/dist/compiler/slot-hooks.d.ts +3 -1
- package/dist/compiler/slot-hooks.js +168 -34
- package/dist/compiler/strong-auto-memo.js +90 -0
- package/dist/compiler/strong-html.js +143 -0
- package/dist/compiler/strong-mode.js +764 -66
- package/dist/compiler/strong-template-policy.js +307 -0
- package/dist/compiler/template-ir.js +200 -0
- package/dist/compiler/typescript.d.ts +2 -0
- package/dist/compiler/typescript.js +2 -0
- package/dist/compiler/vite.d.ts +3 -1
- package/dist/compiler/vite.js +122 -4
- package/dist/compiler/volar.LICENSES.txt +1 -1
- package/dist/compiler/volar.d.ts +6 -1
- package/dist/compiler/volar.js +750 -1433
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +10 -0
- package/dist/context-epoch.d.ts +2 -0
- package/dist/context-epoch.js +13 -0
- package/dist/css.d.ts +2 -5
- package/dist/css.js +2 -23
- package/dist/data-encoding.d.ts +9 -0
- package/dist/data-encoding.js +134 -0
- package/dist/dom-binding-classes.d.ts +15 -0
- package/dist/dom-binding-classes.js +129 -0
- package/dist/dom-binding-controls.d.ts +2 -0
- package/dist/dom-binding-controls.js +6 -0
- package/dist/dom-binding-handoff.d.ts +55 -0
- package/dist/dom-binding-handoff.js +62 -0
- package/dist/dom-binding-program.d.ts +300 -0
- package/dist/dom-binding-program.js +1625 -0
- package/dist/dom-binding-projections.d.ts +15 -0
- package/dist/dom-binding-projections.js +187 -0
- package/dist/dom-binding-protocol.d.ts +13 -0
- package/dist/dom-binding-protocol.js +88 -0
- package/dist/dom-binding-signals.d.ts +21 -0
- package/dist/dom-binding-signals.js +109 -0
- package/dist/dom-binding-styles.d.ts +17 -0
- package/dist/dom-binding-styles.js +272 -0
- package/dist/dom-bindings.d.ts +89 -0
- package/dist/dom-bindings.js +670 -0
- package/dist/dom-focused-move.d.ts +6 -0
- package/dist/dom-focused-move.js +42 -0
- package/dist/dom-stage.d.ts +52 -0
- package/dist/dom-stage.js +872 -0
- package/dist/dom-tables.d.ts +1 -3
- package/dist/dom-tables.js +1 -91
- package/dist/error-codes.client.generated.d.ts +9 -0
- package/dist/error-codes.client.generated.js +33 -0
- package/dist/error-codes.server.generated.d.ts +6 -0
- package/dist/error-codes.server.generated.js +24 -0
- package/dist/hydration/control-capture.d.ts +62 -0
- package/dist/hydration/control-capture.js +223 -0
- package/dist/hydration/document-lifecycle.d.ts +23 -0
- package/dist/hydration/document-lifecycle.js +80 -0
- package/dist/hydration/event-capture.d.ts +20 -1
- package/dist/hydration/event-capture.js +128 -42
- package/dist/hydration/independent-island.d.ts +45 -0
- package/dist/hydration/independent-island.js +233 -0
- package/dist/hydration/index.d.ts +8 -1
- package/dist/hydration/index.js +55 -1
- package/dist/hydration/interaction-config.d.ts +5 -0
- package/dist/hydration/interaction-config.js +44 -1
- package/dist/hydration/stream-delivery.d.ts +32 -0
- package/dist/hydration/stream-delivery.js +333 -0
- package/dist/hydration/stream-receiver.d.ts +26 -0
- package/dist/hydration/stream-receiver.js +204 -0
- package/dist/hydration/stream-result-receiver.d.ts +70 -0
- package/dist/hydration/stream-result-receiver.js +246 -0
- package/dist/hydration/streamed-signals.d.ts +44 -0
- package/dist/hydration/streamed-signals.js +186 -0
- package/dist/hydration/types.d.ts +6 -0
- package/dist/hydration-markers.d.ts +7 -0
- package/dist/hydration-markers.js +10 -0
- package/dist/independent-hydration-protocol.d.ts +31 -0
- package/dist/independent-hydration-protocol.js +80 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +6 -0
- package/dist/internal/signal-read.d.ts +1 -0
- package/dist/internal/signal-read.js +4 -0
- package/dist/jsx-runtime-strong.d.ts +33 -0
- package/dist/jsx-runtime.d.ts +58 -2
- package/dist/public-types.d.ts +15 -1
- package/dist/runtime.d.ts +297 -23
- package/dist/runtime.js +6405 -1679
- package/dist/runtime.server.d.ts +110 -27
- package/dist/runtime.server.js +1458 -213
- package/dist/server/early-signals.d.ts +14 -0
- package/dist/server/early-signals.js +34 -0
- package/dist/server/index.d.ts +11 -2
- package/dist/server/index.js +50 -1
- package/dist/server/rpc-batch.d.ts +17 -0
- package/dist/server/rpc-batch.js +129 -0
- package/dist/server/rpc-stream.d.ts +9 -0
- package/dist/server/rpc-stream.js +125 -0
- package/dist/server/rpc.d.ts +5 -1
- package/dist/server/rpc.js +37 -13
- package/dist/server/signal-query-observation.d.ts +3 -0
- package/dist/server/signal-query-observation.js +134 -0
- package/dist/server/streamed-region.d.ts +15 -0
- package/dist/server/streamed-region.js +30 -0
- package/dist/server/streamed-signals.d.ts +45 -0
- package/dist/server/streamed-signals.js +488 -0
- package/dist/server-call.d.ts +41 -0
- package/dist/server-call.js +75 -0
- package/dist/server-rpc-batch-client.d.ts +7 -0
- package/dist/server-rpc-batch-client.js +119 -0
- package/dist/server-rpc-client.d.ts +3 -1
- package/dist/server-rpc-client.js +99 -27
- package/dist/server-rpc-protocol.d.ts +47 -0
- package/dist/server-rpc-protocol.js +109 -0
- package/dist/server-rpc-stream-client.d.ts +5 -0
- package/dist/server-rpc-stream-client.js +98 -0
- package/dist/signals/actions.d.ts +12 -0
- package/dist/signals/actions.js +466 -0
- package/dist/signals/client.d.ts +2 -0
- package/dist/signals/client.js +1 -0
- package/dist/signals/computations.d.ts +37 -0
- package/dist/signals/computations.js +455 -0
- package/dist/signals/control-binding.d.ts +31 -0
- package/dist/signals/control-binding.js +353 -0
- package/dist/signals/derived-facade.d.ts +3 -0
- package/dist/signals/derived-facade.js +25 -0
- package/dist/signals/document-owner.d.ts +10 -0
- package/dist/signals/document-owner.js +43 -0
- package/dist/signals/early-values.d.ts +24 -0
- package/dist/signals/early-values.js +124 -0
- package/dist/signals/encoding.d.ts +1 -3
- package/dist/signals/encoding.js +3 -93
- package/dist/signals/engine.d.ts +53 -4
- package/dist/signals/engine.js +275 -16
- package/dist/signals/errors.d.ts +7 -0
- package/dist/signals/errors.js +16 -0
- package/dist/signals/facade.d.ts +74 -0
- package/dist/signals/facade.js +452 -0
- package/dist/signals/graph.d.ts +52 -6
- package/dist/signals/graph.js +174 -19
- package/dist/signals/handle-protocol.d.ts +4 -0
- package/dist/signals/handle-protocol.js +11 -0
- package/dist/signals/index.d.ts +12 -3
- package/dist/signals/index.js +71 -2
- package/dist/signals/native-read-client.d.ts +3 -0
- package/dist/signals/native-read-client.js +10 -0
- package/dist/signals/owner-context.d.ts +22 -0
- package/dist/signals/owner-context.js +77 -0
- package/dist/signals/query-attempt-observer.d.ts +49 -0
- package/dist/signals/query-attempt-observer.js +41 -0
- package/dist/signals/query-facade.d.ts +3 -0
- package/dist/signals/query-facade.js +49 -0
- package/dist/signals/read-protocol.d.ts +37 -2
- package/dist/signals/read-protocol.js +44 -0
- package/dist/signals/requests.d.ts +38 -5
- package/dist/signals/requests.js +298 -15
- package/dist/signals/scalar-computations.d.ts +2 -0
- package/dist/signals/scalar-computations.js +60 -0
- package/dist/signals/server.d.ts +2 -0
- package/dist/signals/server.js +1 -0
- package/dist/signals/transition-candidate.d.ts +71 -0
- package/dist/signals/transition-candidate.js +557 -0
- package/dist/signals/transition-state.d.ts +51 -0
- package/dist/signals/transition-state.js +70 -0
- package/dist/signals/types.d.ts +95 -5
- package/dist/signals/types.js +20 -0
- package/dist/stream-protocol.d.ts +0 -5
- package/dist/stream-protocol.js +3 -0
- package/dist/streamed-signals-protocol.d.ts +60 -0
- package/dist/streamed-signals-protocol.js +130 -0
- package/dist/style-values.d.ts +3 -0
- package/dist/style-values.js +96 -0
- package/dist/trusted-html.d.ts +17 -0
- package/dist/trusted-html.js +6 -0
- package/dist/universal-core.d.ts +6 -0
- package/dist/universal-core.js +214 -202
- package/dist/version.js +1 -1
- package/package.json +48 -5
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var early_signals_exports = {};
|
|
20
|
+
__export(early_signals_exports, {
|
|
21
|
+
earlySignalBootstrapScript: () => earlySignalBootstrapScript,
|
|
22
|
+
streamedSignalBootstrapJs: () => streamedSignalBootstrapJs
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(early_signals_exports);
|
|
25
|
+
var import_constants = require("../constants.cjs");
|
|
26
|
+
var import_interaction_config = require("../hydration/interaction-config.cjs");
|
|
27
|
+
function earlySignalBootstrapScript(options = {}) {
|
|
28
|
+
const nonce = options.nonce === void 0 ? "" : ' nonce="' + options.nonce.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">") + '"';
|
|
29
|
+
return "<script " + import_constants.STREAM_SCRIPT_ATTR + nonce + ">" + streamedSignalBootstrapJs(options.independentHydration) + "</script>";
|
|
30
|
+
}
|
|
31
|
+
let STREAMED_SIGNAL_BOOTSTRAP_JS;
|
|
32
|
+
let STREAMED_SIGNAL_INDEPENDENT_BOOTSTRAP_JS;
|
|
33
|
+
function streamedSignalBootstrapJs(independentHydration = false) {
|
|
34
|
+
const signals = STREAMED_SIGNAL_BOOTSTRAP_JS ??= '(function(g){var z="__octaneStreamedSignalSelections",v=g[z];if(!v){var a=[];g[z]={version:1,identities:a,register:function(i){if(a.length>=256){this.overflow=true;return;}a.push(i);}};}var k="__octaneStreamedRenderer",e=g[k];if(e)return;var q=[];g[k]={version:1,frames:q,receive:function(f){if(q.length>=512){this.overflow=true;return;}q.push(f);}};var s=g.__octaneEarlySignalControls||(g.__octaneEarlySignalControls={q:[],n:0});if(!s.l){s.l=1;document.addEventListener("input",function(e){var t=e.target;if(!t||!t.getAttribute||!t.getAttribute("' + import_constants.SIGNAL_CONTROL_ATTR + '"))return;var r=++s.n,p=g.__octanePublishSignalControl;if(p){p(t,r);return;}for(var i=0;i<s.q.length;i++)if(s.q[i][0]===t){s.q[i]=[t,r];return;}if(s.q.length<256)s.q.push([t,r]);},true);}})(globalThis);';
|
|
35
|
+
if (!independentHydration) return signals;
|
|
36
|
+
return STREAMED_SIGNAL_INDEPENDENT_BOOTSTRAP_JS ??= signals + // A completed client build can contain its first independent widget only
|
|
37
|
+
// in a later streamed wave. Capture its intent before module evaluation,
|
|
38
|
+
// with no activation dependency on its parent or sidecar being present.
|
|
39
|
+
"(function(d){var h=" + JSON.stringify(import_interaction_config.EARLY_HYDRATION_INTENTS_KEY) + ";if(d[h])return;var u=d[h]={version:1,q:[]},es=" + JSON.stringify(import_interaction_config.HYDRATE_SUPPORTED_INTERACTION_EVENTS) + ",ds=" + JSON.stringify(import_interaction_config.HYDRATE_DEFAULT_INTERACTION_EVENTS) + ",ns=" + JSON.stringify(import_interaction_config.HYDRATE_NATIVE_DEFAULT_INTERACTION_EVENTS) + ',is="[' + import_constants.HYDRATE_INDEPENDENT_ATTR + ']",ms="[' + import_constants.HYDRATE_ID_ATTR + ']";function c(e){var t=e.target;if(!t||!t.closest)return;var b=t.closest(is);if(!b)return;var id=b.getAttribute("' + import_constants.HYDRATE_ID_ATTR + '");if(id===null)return;var w=b.getAttribute("' + import_constants.HYDRATE_WHEN_ATTR + '"),a=b.getAttribute("' + import_interaction_config.HYDRATE_INTERACTION_EVENTS_ATTR + '");if(w===null||w==="never")return;var link=t.closest("a[href],area[href]");if(link&&b.contains(link))return;if((e.type==="pointerenter"||e.type==="mouseenter")&&d.elementFromPoint){var hit=d.elementFromPoint(e.clientX,e.clientY),nested=hit&&hit.closest(is);if(nested&&nested!==b&&b.contains(nested))return;}var m=t.closest(ms),ok=false;while(m){var x=m.getAttribute("' + import_constants.HYDRATE_WHEN_ATTR + '"),y=m.getAttribute("' + import_interaction_config.HYDRATE_INTERACTION_EVENTS_ATTR + '");if(x==="dynamic"&&e.type==="click"||x==="interaction"&&(y===null?ds:y.split(/\\s+/)).indexOf(e.type)!==-1)ok=true;if(m===b)break;m=m.parentElement&&m.parentElement.closest(ms);}if(!ok)return;var c=null,g=null,p=u.q[u.q.length-1];if(e.type==="click"&&e.button===0&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey){c=t.closest("button[' + import_interaction_config.HYDRATE_SELECTION_ATTR + ']");if(c&&c.type==="button"&&c.closest(is)===b)g=c.getAttribute("' + import_interaction_config.HYDRATE_SELECTION_ATTR + '");}var v=g?[e,t,b,id,w,a,c,g]:[e,t,b,id,w,a];if(g&&p&&p[2]===b&&p[7]===g&&p[6].isConnected&&p[6].contains(p[1])&&p[6].type==="button"&&p[6].getAttribute("' + import_interaction_config.HYDRATE_SELECTION_ATTR + '")===g){u.q[u.q.length-1]=v;}else{if(u.q.length>=' + import_interaction_config.EARLY_HYDRATION_INTENTS_LIMIT + "){u.overflow=true;u.q.length=0;u.stop();return;}u.q.push(v);}if(e.bubbles){if(e.cancelable&&ns.indexOf(e.type)===-1)e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();}}u.stop=function(){for(var i=0;i<es.length;i++)d.removeEventListener(es[i],c,true);u.stop=null;};for(var j=0;j<es.length;j++)d.addEventListener(es[j],c,true);})(document);";
|
|
40
|
+
}
|
|
41
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
42
|
+
0 && (module.exports = {
|
|
43
|
+
earlySignalBootstrapScript,
|
|
44
|
+
streamedSignalBootstrapJs
|
|
45
|
+
});
|
|
@@ -29,25 +29,39 @@ __export(server_exports, {
|
|
|
29
29
|
Suspense: () => import_runtime_server.Suspense,
|
|
30
30
|
ViewTransition: () => import_runtime_server.ViewTransition,
|
|
31
31
|
__methodDep: () => import_method_dep.__methodDep,
|
|
32
|
+
__registerServerFunction: () => import_server_call.__registerServerFunction,
|
|
33
|
+
__serverCall: () => import_server_call.__serverCall,
|
|
34
|
+
__setServerCallContextSource: () => import_server_call.__setServerCallContextSource,
|
|
32
35
|
__useLinkedStateWithGetter: () => import_runtime_server.__useLinkedStateWithGetter,
|
|
33
36
|
__useReducerWithGetter: () => import_runtime_server.__useReducerWithGetter,
|
|
34
37
|
__useStateWithGetter: () => import_runtime_server.__useStateWithGetter,
|
|
35
38
|
addTransitionType: () => import_runtime_server.addTransitionType,
|
|
39
|
+
batchServerCalls: () => import_rpc_batch.batchServerCalls,
|
|
36
40
|
cloneElement: () => import_runtime_server.cloneElement,
|
|
41
|
+
createAutomaticStreamedSignalInjection: () => import_streamed_signals.createAutomaticStreamedSignalInjection,
|
|
37
42
|
createContext: () => import_runtime_server.createContext,
|
|
38
43
|
createElement: () => import_runtime_server.createElement,
|
|
39
44
|
createPortal: () => import_runtime_server.createPortal,
|
|
40
45
|
createScopedElement: () => import_runtime_server.createScopedElement,
|
|
41
46
|
createScopedValue: () => import_runtime_server.createScopedValue,
|
|
47
|
+
createStreamedRegionPlacementFrame: () => import_streamed_region.createStreamedRegionPlacementFrame,
|
|
48
|
+
createStreamedRendererFrameStream: () => import_streamed_signals.createStreamedRendererFrameStream,
|
|
49
|
+
createStreamedSignalInjection: () => import_streamed_signals.createStreamedSignalInjection,
|
|
50
|
+
createStreamedSignalResultFrames: () => import_streamed_signals.createStreamedSignalResultFrames,
|
|
42
51
|
createSubSlot: () => import_sub_slot.createSubSlot,
|
|
43
52
|
descriptorChildren: () => import_runtime_server.descriptorChildren,
|
|
53
|
+
earlySignalBootstrapScript: () => import_early_signals.earlySignalBootstrapScript,
|
|
54
|
+
enableServerSignalBindings: () => import_runtime_server.enableServerSignalBindings,
|
|
44
55
|
escapeAttr: () => import_runtime_server.escapeAttr,
|
|
45
56
|
escapeHtml: () => import_runtime_server.escapeHtml,
|
|
46
57
|
executeServerFunction: () => import_rpc.executeServerFunction,
|
|
58
|
+
executeServerFunctionBatch: () => import_rpc_batch.executeServerFunctionBatch,
|
|
59
|
+
executeServerFunctionStream: () => import_rpc.executeServerFunctionStream,
|
|
47
60
|
flushSync: () => import_runtime_server.flushSync,
|
|
48
61
|
getSsrSuspenseTimeout: () => import_runtime_server.getSsrSuspenseTimeout,
|
|
49
62
|
hookSlots: () => import_runtime_server.hookSlots,
|
|
50
63
|
injectStyle: () => import_runtime_server.injectStyle,
|
|
64
|
+
installSignalOwnerEnvironment: () => import_owner_context.installSignalOwnerEnvironment,
|
|
51
65
|
invokeManualHook: () => import_runtime_server.invokeManualHook,
|
|
52
66
|
isChildrenBlock: () => import_runtime_server.isChildrenBlock,
|
|
53
67
|
isValidElement: () => import_runtime_server.isValidElement,
|
|
@@ -74,6 +88,7 @@ __export(server_exports, {
|
|
|
74
88
|
renderToStaticMarkup: () => import_runtime_server.renderToStaticMarkup,
|
|
75
89
|
renderToString: () => import_runtime_server.renderToString,
|
|
76
90
|
requestFormReset: () => import_runtime_server.requestFormReset,
|
|
91
|
+
retireSignalOwnerIdentity: () => import_owner_context.retireSignalOwnerIdentity,
|
|
77
92
|
setSsrSuspenseTimeout: () => import_runtime_server.setSsrSuspenseTimeout,
|
|
78
93
|
ssrActivity: () => import_runtime_server.ssrActivity,
|
|
79
94
|
ssrArm: () => import_runtime_server.ssrArm,
|
|
@@ -110,6 +125,9 @@ __export(server_exports, {
|
|
|
110
125
|
ssrSelectAttrs: () => import_runtime_server.ssrSelectAttrs,
|
|
111
126
|
ssrSelectScope: () => import_runtime_server.ssrSelectScope,
|
|
112
127
|
ssrSelectScopeSources: () => import_runtime_server.ssrSelectScopeSources,
|
|
128
|
+
ssrSignalControlAttrs: () => import_runtime_server.ssrSignalControlAttrs,
|
|
129
|
+
ssrSignalControlValue: () => import_runtime_server.ssrSignalControlValue,
|
|
130
|
+
ssrSignalValue: () => import_runtime_server.ssrSignalValue,
|
|
113
131
|
ssrSnapshotSpread: () => import_runtime_server.ssrSnapshotSpread,
|
|
114
132
|
ssrSpread: () => import_runtime_server.ssrSpread,
|
|
115
133
|
ssrSpreadContent: () => import_runtime_server.ssrSpreadContent,
|
|
@@ -124,9 +142,11 @@ __export(server_exports, {
|
|
|
124
142
|
ssrValueAttr: () => import_runtime_server.ssrValueAttr,
|
|
125
143
|
ssrVoidContent: () => import_runtime_server.ssrVoidContent,
|
|
126
144
|
startTransition: () => import_runtime_server.startTransition,
|
|
145
|
+
streamedRendererFrameScript: () => import_streamed_signals.streamedRendererFrameScript,
|
|
127
146
|
styleMap: () => import_runtime_server.styleMap,
|
|
128
147
|
subSlot: () => import_sub_slot.subSlot,
|
|
129
148
|
touchStyleMap: () => import_runtime_server.touchStyleMap,
|
|
149
|
+
trustHTML: () => import_trusted_html.trustHTML,
|
|
130
150
|
unstable_Activity: () => import_runtime_server.Activity,
|
|
131
151
|
unstable_ViewTransition: () => import_runtime_server.ViewTransition,
|
|
132
152
|
unstable_addTransitionType: () => import_runtime_server.addTransitionType,
|
|
@@ -159,7 +179,14 @@ __export(server_exports, {
|
|
|
159
179
|
withSlot: () => import_runtime_server.withSlot
|
|
160
180
|
});
|
|
161
181
|
module.exports = __toCommonJS(server_exports);
|
|
182
|
+
var import_trusted_html = require("../trusted-html.cjs");
|
|
162
183
|
var import_rpc = require("./rpc.cjs");
|
|
184
|
+
var import_early_signals = require("./early-signals.cjs");
|
|
185
|
+
var import_rpc_batch = require("./rpc-batch.cjs");
|
|
186
|
+
var import_streamed_region = require("./streamed-region.cjs");
|
|
187
|
+
var import_streamed_signals = require("./streamed-signals.cjs");
|
|
188
|
+
var import_owner_context = require("../signals/owner-context.cjs");
|
|
189
|
+
var import_server_call = require("../server-call.cjs");
|
|
163
190
|
var import_version = require("../version.cjs");
|
|
164
191
|
var import_compatibility = require("../compatibility.cjs");
|
|
165
192
|
var import_sub_slot = require("../sub-slot.cjs");
|
|
@@ -178,25 +205,39 @@ var import_runtime_server = require("../runtime.server.cjs");
|
|
|
178
205
|
Suspense,
|
|
179
206
|
ViewTransition,
|
|
180
207
|
__methodDep,
|
|
208
|
+
__registerServerFunction,
|
|
209
|
+
__serverCall,
|
|
210
|
+
__setServerCallContextSource,
|
|
181
211
|
__useLinkedStateWithGetter,
|
|
182
212
|
__useReducerWithGetter,
|
|
183
213
|
__useStateWithGetter,
|
|
184
214
|
addTransitionType,
|
|
215
|
+
batchServerCalls,
|
|
185
216
|
cloneElement,
|
|
217
|
+
createAutomaticStreamedSignalInjection,
|
|
186
218
|
createContext,
|
|
187
219
|
createElement,
|
|
188
220
|
createPortal,
|
|
189
221
|
createScopedElement,
|
|
190
222
|
createScopedValue,
|
|
223
|
+
createStreamedRegionPlacementFrame,
|
|
224
|
+
createStreamedRendererFrameStream,
|
|
225
|
+
createStreamedSignalInjection,
|
|
226
|
+
createStreamedSignalResultFrames,
|
|
191
227
|
createSubSlot,
|
|
192
228
|
descriptorChildren,
|
|
229
|
+
earlySignalBootstrapScript,
|
|
230
|
+
enableServerSignalBindings,
|
|
193
231
|
escapeAttr,
|
|
194
232
|
escapeHtml,
|
|
195
233
|
executeServerFunction,
|
|
234
|
+
executeServerFunctionBatch,
|
|
235
|
+
executeServerFunctionStream,
|
|
196
236
|
flushSync,
|
|
197
237
|
getSsrSuspenseTimeout,
|
|
198
238
|
hookSlots,
|
|
199
239
|
injectStyle,
|
|
240
|
+
installSignalOwnerEnvironment,
|
|
200
241
|
invokeManualHook,
|
|
201
242
|
isChildrenBlock,
|
|
202
243
|
isValidElement,
|
|
@@ -223,6 +264,7 @@ var import_runtime_server = require("../runtime.server.cjs");
|
|
|
223
264
|
renderToStaticMarkup,
|
|
224
265
|
renderToString,
|
|
225
266
|
requestFormReset,
|
|
267
|
+
retireSignalOwnerIdentity,
|
|
226
268
|
setSsrSuspenseTimeout,
|
|
227
269
|
ssrActivity,
|
|
228
270
|
ssrArm,
|
|
@@ -259,6 +301,9 @@ var import_runtime_server = require("../runtime.server.cjs");
|
|
|
259
301
|
ssrSelectAttrs,
|
|
260
302
|
ssrSelectScope,
|
|
261
303
|
ssrSelectScopeSources,
|
|
304
|
+
ssrSignalControlAttrs,
|
|
305
|
+
ssrSignalControlValue,
|
|
306
|
+
ssrSignalValue,
|
|
262
307
|
ssrSnapshotSpread,
|
|
263
308
|
ssrSpread,
|
|
264
309
|
ssrSpreadContent,
|
|
@@ -273,9 +318,11 @@ var import_runtime_server = require("../runtime.server.cjs");
|
|
|
273
318
|
ssrValueAttr,
|
|
274
319
|
ssrVoidContent,
|
|
275
320
|
startTransition,
|
|
321
|
+
streamedRendererFrameScript,
|
|
276
322
|
styleMap,
|
|
277
323
|
subSlot,
|
|
278
324
|
touchStyleMap,
|
|
325
|
+
trustHTML,
|
|
279
326
|
unstable_Activity,
|
|
280
327
|
unstable_ViewTransition,
|
|
281
328
|
unstable_addTransitionType,
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var rpc_batch_exports = {};
|
|
20
|
+
__export(rpc_batch_exports, {
|
|
21
|
+
batchServerCalls: () => batchServerCalls,
|
|
22
|
+
executeServerFunctionBatch: () => executeServerFunctionBatch
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(rpc_batch_exports);
|
|
25
|
+
var import_server_call = require("../server-call.cjs");
|
|
26
|
+
var import_server_rpc_protocol = require("../server-rpc-protocol.cjs");
|
|
27
|
+
var import_server_rpc_stream_client = require("../server-rpc-stream-client.cjs");
|
|
28
|
+
var import_rpc_stream = require("./rpc-stream.cjs");
|
|
29
|
+
function batchServerCalls(options, callback) {
|
|
30
|
+
(0, import_server_rpc_protocol.validateServerCallBatch)(options);
|
|
31
|
+
return callback();
|
|
32
|
+
}
|
|
33
|
+
function executeServerFunctionBatch(body, invoke, options = {}) {
|
|
34
|
+
const limits = (0, import_server_rpc_protocol.serverResultLimits)(options);
|
|
35
|
+
let members;
|
|
36
|
+
try {
|
|
37
|
+
const envelope = JSON.parse(body);
|
|
38
|
+
if (!Array.isArray(envelope) || envelope.length !== 2 || envelope[0] !== 1 || !Array.isArray(envelope[1]) || envelope[1].length === 0 || envelope[1].length > 32) {
|
|
39
|
+
throw new Error("Invalid batch");
|
|
40
|
+
}
|
|
41
|
+
members = envelope[1].map((member, id) => {
|
|
42
|
+
if (!Array.isArray(member) || member.length !== 3 || member[0] !== id || typeof member[1] !== "string" || !/^[a-f0-9]{8}$/.test(member[1]) || typeof member[2] !== "string") {
|
|
43
|
+
throw new Error("Invalid batch member");
|
|
44
|
+
}
|
|
45
|
+
(0, import_server_rpc_protocol.decodeServerArguments)(member[2]);
|
|
46
|
+
return { id, hash: member[1], body: member[2] };
|
|
47
|
+
});
|
|
48
|
+
} catch (error) {
|
|
49
|
+
throw new import_server_call.InvalidServerFunctionPayloadError(error);
|
|
50
|
+
}
|
|
51
|
+
const cancellation = new AbortController();
|
|
52
|
+
const signal = options.signal === void 0 ? cancellation.signal : AbortSignal.any([options.signal, cancellation.signal]);
|
|
53
|
+
async function* results() {
|
|
54
|
+
const ready = [];
|
|
55
|
+
let wake;
|
|
56
|
+
let remaining = members.length;
|
|
57
|
+
let closed = false;
|
|
58
|
+
let sequence = 1;
|
|
59
|
+
for (const member of members) {
|
|
60
|
+
void (async () => {
|
|
61
|
+
const timeout = new AbortController();
|
|
62
|
+
const memberSignal = AbortSignal.any([signal, timeout.signal]);
|
|
63
|
+
const timer = setTimeout(
|
|
64
|
+
() => timeout.abort(new DOMException("Server batch member timed out", "TimeoutError")),
|
|
65
|
+
limits.timeoutMs
|
|
66
|
+
);
|
|
67
|
+
let abort;
|
|
68
|
+
const aborted = new Promise((_, reject) => {
|
|
69
|
+
abort = () => reject(memberSignal.reason);
|
|
70
|
+
memberSignal.addEventListener("abort", abort, { once: true });
|
|
71
|
+
if (memberSignal.aborted) abort();
|
|
72
|
+
});
|
|
73
|
+
let outcome;
|
|
74
|
+
try {
|
|
75
|
+
const work = (async () => {
|
|
76
|
+
memberSignal.throwIfAborted();
|
|
77
|
+
const response = await invoke(member, memberSignal);
|
|
78
|
+
if (memberSignal.aborted) {
|
|
79
|
+
void response.body?.cancel().catch(() => {
|
|
80
|
+
});
|
|
81
|
+
memberSignal.throwIfAborted();
|
|
82
|
+
}
|
|
83
|
+
if (!response.ok) {
|
|
84
|
+
void response.body?.cancel().catch(() => {
|
|
85
|
+
});
|
|
86
|
+
return [
|
|
87
|
+
member.id,
|
|
88
|
+
response.headers.get("Octane-RPC-Outcome") === "rejected" ? "rejected" : "uncertain",
|
|
89
|
+
`Server function failed with status ${response.status}`
|
|
90
|
+
];
|
|
91
|
+
}
|
|
92
|
+
const value = await (0, import_server_rpc_stream_client.readServerResult)(response, { ...limits, signal: memberSignal });
|
|
93
|
+
if (value !== null && typeof value === "object" && Symbol.asyncIterator in value) {
|
|
94
|
+
await value[Symbol.asyncIterator]().return?.();
|
|
95
|
+
throw new Error("Subscriptions cannot join a finite server-call batch");
|
|
96
|
+
}
|
|
97
|
+
return [member.id, "value", value];
|
|
98
|
+
})();
|
|
99
|
+
outcome = await Promise.race([work, aborted]);
|
|
100
|
+
} catch {
|
|
101
|
+
outcome = [
|
|
102
|
+
member.id,
|
|
103
|
+
"uncertain",
|
|
104
|
+
"Server batch member did not produce an authoritative result"
|
|
105
|
+
];
|
|
106
|
+
} finally {
|
|
107
|
+
clearTimeout(timer);
|
|
108
|
+
memberSignal.removeEventListener("abort", abort);
|
|
109
|
+
}
|
|
110
|
+
if (!closed) {
|
|
111
|
+
ready.push(outcome);
|
|
112
|
+
wake?.();
|
|
113
|
+
}
|
|
114
|
+
})();
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
while (remaining > 0) {
|
|
118
|
+
if (ready.length === 0)
|
|
119
|
+
await new Promise((resolve) => {
|
|
120
|
+
wake = resolve;
|
|
121
|
+
});
|
|
122
|
+
wake = void 0;
|
|
123
|
+
while (ready.length > 0) {
|
|
124
|
+
remaining--;
|
|
125
|
+
let outcome = ready.shift();
|
|
126
|
+
if ((0, import_server_rpc_protocol.encodeServerResultFrame)(sequence, { kind: "value", value: outcome }).byteLength > limits.maxFrameBytes) {
|
|
127
|
+
outcome = [outcome[0], "uncertain", "Server batch member exceeded its frame budget"];
|
|
128
|
+
}
|
|
129
|
+
sequence++;
|
|
130
|
+
yield outcome;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
} finally {
|
|
134
|
+
closed = true;
|
|
135
|
+
cancellation.abort();
|
|
136
|
+
ready.length = 0;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return (0, import_rpc_stream.createServerResultStream)(results(), {
|
|
140
|
+
...limits,
|
|
141
|
+
signal,
|
|
142
|
+
cancel: () => cancellation.abort()
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
146
|
+
0 && (module.exports = {
|
|
147
|
+
batchServerCalls,
|
|
148
|
+
executeServerFunctionBatch
|
|
149
|
+
});
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var rpc_stream_exports = {};
|
|
20
|
+
__export(rpc_stream_exports, {
|
|
21
|
+
createServerResultStream: () => createServerResultStream
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(rpc_stream_exports);
|
|
24
|
+
var import_server_rpc_protocol = require("../server-rpc-protocol.cjs");
|
|
25
|
+
function createServerResultStream(result, options = {}) {
|
|
26
|
+
const limits = (0, import_server_rpc_protocol.serverResultLimits)(options);
|
|
27
|
+
let sequence = 0;
|
|
28
|
+
let totalBytes = 0;
|
|
29
|
+
let iterator;
|
|
30
|
+
let finished = false;
|
|
31
|
+
let terminal = false;
|
|
32
|
+
let streaming = false;
|
|
33
|
+
let initialized = false;
|
|
34
|
+
let pending = Promise.resolve(result);
|
|
35
|
+
void pending.catch(() => {
|
|
36
|
+
});
|
|
37
|
+
let controller;
|
|
38
|
+
let timer;
|
|
39
|
+
const cleanup = () => {
|
|
40
|
+
clearTimeout(timer);
|
|
41
|
+
options.signal?.removeEventListener("abort", abort);
|
|
42
|
+
};
|
|
43
|
+
const closeIterator = () => {
|
|
44
|
+
try {
|
|
45
|
+
void Promise.resolve(iterator?.return?.()).catch(() => {
|
|
46
|
+
});
|
|
47
|
+
} catch {
|
|
48
|
+
}
|
|
49
|
+
iterator = void 0;
|
|
50
|
+
};
|
|
51
|
+
const write = (frame) => {
|
|
52
|
+
const encoded = (0, import_server_rpc_protocol.encodeServerResultFrame)(sequence, frame);
|
|
53
|
+
if (encoded.byteLength > limits.maxFrameBytes || totalBytes + encoded.byteLength > limits.maxTotalBytes) {
|
|
54
|
+
throw new Error("Server result exceeded its response budget");
|
|
55
|
+
}
|
|
56
|
+
sequence++;
|
|
57
|
+
totalBytes += encoded.byteLength;
|
|
58
|
+
controller.enqueue(encoded);
|
|
59
|
+
};
|
|
60
|
+
const fail = (message) => {
|
|
61
|
+
if (finished) return;
|
|
62
|
+
finished = true;
|
|
63
|
+
pending = void 0;
|
|
64
|
+
cleanup();
|
|
65
|
+
options.cancel?.();
|
|
66
|
+
closeIterator();
|
|
67
|
+
try {
|
|
68
|
+
write({ kind: "error", error: message });
|
|
69
|
+
controller.close();
|
|
70
|
+
} catch (error) {
|
|
71
|
+
controller.error(error);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const abort = () => fail("Server function was canceled");
|
|
75
|
+
return new ReadableStream(
|
|
76
|
+
{
|
|
77
|
+
start(streamController) {
|
|
78
|
+
controller = streamController;
|
|
79
|
+
timer = setTimeout(() => fail("Server function timed out"), limits.timeoutMs);
|
|
80
|
+
options.signal?.addEventListener("abort", abort, { once: true });
|
|
81
|
+
if (options.signal?.aborted) abort();
|
|
82
|
+
},
|
|
83
|
+
async pull() {
|
|
84
|
+
if (finished) return;
|
|
85
|
+
try {
|
|
86
|
+
if (terminal) {
|
|
87
|
+
write({ kind: "complete" });
|
|
88
|
+
finished = true;
|
|
89
|
+
cleanup();
|
|
90
|
+
controller.close();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (!initialized) {
|
|
94
|
+
const value = await pending;
|
|
95
|
+
pending = void 0;
|
|
96
|
+
if (finished) {
|
|
97
|
+
if (value !== null && typeof value === "object" && Symbol.asyncIterator in value) {
|
|
98
|
+
iterator = value[Symbol.asyncIterator]();
|
|
99
|
+
closeIterator();
|
|
100
|
+
}
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
initialized = true;
|
|
104
|
+
if (value !== null && typeof value === "object" && Symbol.asyncIterator in value) {
|
|
105
|
+
iterator = value[Symbol.asyncIterator]();
|
|
106
|
+
streaming = true;
|
|
107
|
+
write({ kind: "stream" });
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
write({ kind: "value", value });
|
|
111
|
+
terminal = true;
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (streaming) {
|
|
115
|
+
const item = await iterator.next();
|
|
116
|
+
if (finished) return;
|
|
117
|
+
if (item.done) {
|
|
118
|
+
iterator = void 0;
|
|
119
|
+
write({ kind: "complete" });
|
|
120
|
+
finished = true;
|
|
121
|
+
cleanup();
|
|
122
|
+
controller.close();
|
|
123
|
+
} else {
|
|
124
|
+
write({ kind: "value", value: item.value });
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
} catch {
|
|
128
|
+
fail("Server function failed");
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
cancel() {
|
|
132
|
+
if (finished) return;
|
|
133
|
+
finished = true;
|
|
134
|
+
pending = void 0;
|
|
135
|
+
cleanup();
|
|
136
|
+
options.cancel?.();
|
|
137
|
+
closeIterator();
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
{ highWaterMark: 0 }
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
144
|
+
0 && (module.exports = {
|
|
145
|
+
createServerResultStream
|
|
146
|
+
});
|
package/dist/cjs/server/rpc.cjs
CHANGED
|
@@ -28,31 +28,50 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var rpc_exports = {};
|
|
30
30
|
__export(rpc_exports, {
|
|
31
|
-
executeServerFunction: () => executeServerFunction
|
|
31
|
+
executeServerFunction: () => executeServerFunction,
|
|
32
|
+
executeServerFunctionStream: () => executeServerFunctionStream
|
|
32
33
|
});
|
|
33
34
|
module.exports = __toCommonJS(rpc_exports);
|
|
34
35
|
var devalue = __toESM(require("devalue"), 1);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
this.name = "InvalidServerFunctionPayloadError";
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async function executeServerFunction(fn, body) {
|
|
36
|
+
var import_server_call = require("../server-call.cjs");
|
|
37
|
+
var import_rpc_stream = require("./rpc-stream.cjs");
|
|
38
|
+
var import_server_rpc_protocol = require("../server-rpc-protocol.cjs");
|
|
39
|
+
function serverArguments(body) {
|
|
43
40
|
let args;
|
|
44
41
|
try {
|
|
45
42
|
args = devalue.parse(body);
|
|
46
43
|
} catch (error) {
|
|
47
|
-
throw new InvalidServerFunctionPayloadError(error);
|
|
48
|
-
}
|
|
49
|
-
if (!Array.isArray(args)) {
|
|
50
|
-
throw new InvalidServerFunctionPayloadError();
|
|
44
|
+
throw new import_server_call.InvalidServerFunctionPayloadError(error);
|
|
51
45
|
}
|
|
52
|
-
|
|
46
|
+
if (!Array.isArray(args)) throw new import_server_call.InvalidServerFunctionPayloadError();
|
|
47
|
+
return args;
|
|
48
|
+
}
|
|
49
|
+
async function executeServerFunction(fn, body, context) {
|
|
50
|
+
const args = serverArguments(body);
|
|
51
|
+
const value = await (0, import_server_call.invokeServerFunction)(fn, args, context);
|
|
53
52
|
return devalue.stringify({ value });
|
|
54
53
|
}
|
|
54
|
+
function executeServerFunctionStream(fn, body, context, limits) {
|
|
55
|
+
const resolvedLimits = (0, import_server_rpc_protocol.serverResultLimits)(limits);
|
|
56
|
+
let args;
|
|
57
|
+
try {
|
|
58
|
+
args = (0, import_server_rpc_protocol.decodeServerArguments)(body);
|
|
59
|
+
} catch (error) {
|
|
60
|
+
throw new import_server_call.InvalidServerFunctionPayloadError(error);
|
|
61
|
+
}
|
|
62
|
+
const cancellation = new AbortController();
|
|
63
|
+
const signal = context === void 0 ? cancellation.signal : AbortSignal.any([context.signal, cancellation.signal]);
|
|
64
|
+
const trusted = context === void 0 ? void 0 : { ...context, signal };
|
|
65
|
+
return (0, import_rpc_stream.createServerResultStream)(
|
|
66
|
+
Promise.resolve().then(() => {
|
|
67
|
+
signal.throwIfAborted();
|
|
68
|
+
return (0, import_server_call.invokeServerFunction)(fn, args, trusted);
|
|
69
|
+
}),
|
|
70
|
+
{ ...resolvedLimits, signal, cancel: () => cancellation.abort() }
|
|
71
|
+
);
|
|
72
|
+
}
|
|
55
73
|
// Annotate the CommonJS export names for ESM import in node:
|
|
56
74
|
0 && (module.exports = {
|
|
57
|
-
executeServerFunction
|
|
75
|
+
executeServerFunction,
|
|
76
|
+
executeServerFunctionStream
|
|
58
77
|
});
|