octane 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dom-binding-handoff.cjs +2 -1
- package/dist/cjs/dom-binding-protocol.cjs +4 -3
- package/dist/cjs/dom-binding-styles.cjs +3 -2
- package/dist/cjs/dom-bindings.cjs +24 -23
- package/dist/cjs/error-codes.client.generated.cjs +2 -1
- package/dist/cjs/error-codes.server.generated.cjs +2 -1
- package/dist/cjs/hydration/event-capture.cjs +2 -1
- package/dist/cjs/independent-hydration-protocol.cjs +3 -2
- package/dist/cjs/runtime.cjs +169 -155
- package/dist/cjs/runtime.server.cjs +40 -34
- package/dist/cjs/signals/control-binding.cjs +7 -6
- package/dist/cjs/signals/derived-facade.cjs +2 -1
- package/dist/cjs/signals/document-owner.cjs +4 -3
- package/dist/cjs/signals/facade.cjs +10 -9
- package/dist/cjs/signals/graph.cjs +5 -4
- package/dist/cjs/signals/native-read-client.cjs +4 -3
- package/dist/cjs/signals/owner-context.cjs +4 -3
- package/dist/cjs/signals/query-attempt-observer.cjs +2 -1
- package/dist/cjs/signals/query-facade.cjs +2 -1
- package/dist/cjs/signals/scalar-computations.cjs +2 -1
- package/dist/cjs/signals/transition-action.cjs +10 -9
- package/dist/cjs/signals/transition-candidate.cjs +2 -1
- package/dist/cjs/version.cjs +1 -1
- package/dist/compiler/compile.js +380 -12
- package/dist/node/aria-diagnostics.js +92 -0
- package/dist/node/behavior-form-submissions.js +228 -0
- package/dist/node/behavior-root-types.js +0 -0
- package/dist/node/behavior-root.js +746 -0
- package/dist/node/class-names.js +25 -0
- package/dist/node/compatibility.js +10 -0
- package/dist/node/component-flags.js +23 -0
- package/dist/node/constants.js +113 -0
- package/dist/node/context-epoch.js +13 -0
- package/dist/node/context-identity.js +46 -0
- package/dist/node/css.js +80 -0
- package/dist/node/data-encoding.js +134 -0
- package/dist/node/devtools-hook.js +229 -0
- package/dist/node/dom-binding-claims.js +4 -0
- package/dist/node/dom-binding-classes.js +152 -0
- package/dist/node/dom-binding-controls.js +6 -0
- package/dist/node/dom-binding-handoff.js +77 -0
- package/dist/node/dom-binding-program.js +1617 -0
- package/dist/node/dom-binding-projections.js +204 -0
- package/dist/node/dom-binding-protocol.js +130 -0
- package/dist/node/dom-binding-signals.js +135 -0
- package/dist/node/dom-binding-styles.js +280 -0
- package/dist/node/dom-bindings.js +1087 -0
- package/dist/node/dom-focused-move.js +46 -0
- package/dist/node/dom-stage.js +878 -0
- package/dist/node/dom-tables.js +382 -0
- package/dist/node/error-codes.client.generated.js +1066 -0
- package/dist/node/error-codes.server.generated.js +736 -0
- package/dist/node/error-message.js +27 -0
- package/dist/node/event-names.js +15 -0
- package/dist/node/form-diagnostics.js +96 -0
- package/dist/node/form-submission.js +43 -0
- package/dist/node/has-own.js +4 -0
- package/dist/node/head-ownership.js +31 -0
- package/dist/node/hook-slot-cache.js +91 -0
- package/dist/node/host-property-diagnostics.js +189 -0
- package/dist/node/html-tree-validation.js +193 -0
- package/dist/node/hydration/condition.js +15 -0
- package/dist/node/hydration/control-capture.js +237 -0
- package/dist/node/hydration/document-lifecycle.js +89 -0
- package/dist/node/hydration/event-capture.js +362 -0
- package/dist/node/hydration/idle.js +23 -0
- package/dist/node/hydration/independent-island.js +317 -0
- package/dist/node/hydration/index.js +74 -0
- package/dist/node/hydration/interaction-config.js +61 -0
- package/dist/node/hydration/interaction.js +35 -0
- package/dist/node/hydration/load.js +15 -0
- package/dist/node/hydration/media.js +33 -0
- package/dist/node/hydration/native-intent.js +68 -0
- package/dist/node/hydration/never.js +12 -0
- package/dist/node/hydration/stream-delivery.js +345 -0
- package/dist/node/hydration/stream-receiver.js +190 -0
- package/dist/node/hydration/stream-result-receiver.js +276 -0
- package/dist/node/hydration/streamed-signals.js +186 -0
- package/dist/node/hydration/types.js +0 -0
- package/dist/node/hydration/visible.js +69 -0
- package/dist/node/hydration-markers.js +44 -0
- package/dist/node/independent-hydration-protocol.js +91 -0
- package/dist/node/index.js +461 -0
- package/dist/node/internal/client.js +7 -0
- package/dist/node/internal/context.js +5 -0
- package/dist/node/internal/server.js +5 -0
- package/dist/node/internal/signal-read.js +4 -0
- package/dist/node/method-dep.js +25 -0
- package/dist/node/profiling.js +432 -0
- package/dist/node/public-types.js +0 -0
- package/dist/node/react/fiber-adapter.js +57 -0
- package/dist/node/react/index.js +397 -0
- package/dist/node/react/react-compat-envelope.js +78 -0
- package/dist/node/react/react-compat-server.js +129 -0
- package/dist/node/react/react-compat-shared.js +104 -0
- package/dist/node/react/react-compat.js +223 -0
- package/dist/node/react/server.js +81 -0
- package/dist/node/react/shared.js +75 -0
- package/dist/node/renderer-bridge.js +35 -0
- package/dist/node/resize-observer.js +105 -0
- package/dist/node/resource-hint-diagnostics.js +67 -0
- package/dist/node/runtime-tags.js +22 -0
- package/dist/node/runtime.js +28881 -0
- package/dist/node/runtime.server.js +8016 -0
- package/dist/node/sanitize-url.js +34 -0
- package/dist/node/server/early-signals.js +54 -0
- package/dist/node/server/index.js +336 -0
- package/dist/node/server/rpc-batch.js +129 -0
- package/dist/node/server/rpc-stream.js +125 -0
- package/dist/node/server/rpc.js +48 -0
- package/dist/node/server/signal-query-observation.js +134 -0
- package/dist/node/server/streamed-region.js +31 -0
- package/dist/node/server/streamed-signals.js +557 -0
- package/dist/node/server-call.js +75 -0
- package/dist/node/server-rpc-batch-client.js +119 -0
- package/dist/node/server-rpc-client.js +108 -0
- package/dist/node/server-rpc-protocol.js +109 -0
- package/dist/node/server-rpc-stream-client.js +98 -0
- package/dist/node/shared-value-helpers.js +40 -0
- package/dist/node/signals/actions.js +463 -0
- package/dist/node/signals/client.js +22 -0
- package/dist/node/signals/computations.js +452 -0
- package/dist/node/signals/control-binding.js +388 -0
- package/dist/node/signals/control-handoff.js +12 -0
- package/dist/node/signals/derived-facade.js +25 -0
- package/dist/node/signals/document-owner.js +48 -0
- package/dist/node/signals/early-values.js +124 -0
- package/dist/node/signals/encoding.js +6 -0
- package/dist/node/signals/engine.js +668 -0
- package/dist/node/signals/errors.js +54 -0
- package/dist/node/signals/facade.js +441 -0
- package/dist/node/signals/graph.js +817 -0
- package/dist/node/signals/handle-protocol.js +11 -0
- package/dist/node/signals/index.js +87 -0
- package/dist/node/signals/native-read-client.js +319 -0
- package/dist/node/signals/native-read-collector.js +132 -0
- package/dist/node/signals/native-read-events.js +45 -0
- package/dist/node/signals/native-read-inspection.js +20 -0
- package/dist/node/signals/native-read-retry.js +30 -0
- package/dist/node/signals/native-read-seeds.js +243 -0
- package/dist/node/signals/native-read-server.js +99 -0
- package/dist/node/signals/owner-context.js +88 -0
- package/dist/node/signals/query-attempt-observer.js +42 -0
- package/dist/node/signals/query-facade.js +41 -0
- package/dist/node/signals/read-protocol.js +125 -0
- package/dist/node/signals/requests.js +716 -0
- package/dist/node/signals/scalar-computations.js +57 -0
- package/dist/node/signals/scope-streams.js +147 -0
- package/dist/node/signals/server.js +22 -0
- package/dist/node/signals/transition-action.js +555 -0
- package/dist/node/signals/transition-candidate.js +101 -0
- package/dist/node/signals/transition-coordinator.js +255 -0
- package/dist/node/signals/transition-state.js +82 -0
- package/dist/node/signals/types.js +20 -0
- package/dist/node/static/index.js +10 -0
- package/dist/node/stream-protocol.js +114 -0
- package/dist/node/streamed-signals-protocol.js +130 -0
- package/dist/node/style-values.js +96 -0
- package/dist/node/sub-slot.js +35 -0
- package/dist/node/testing.js +14 -0
- package/dist/node/trusted-html.js +6 -0
- package/dist/node/tsrx-iterable.js +5 -0
- package/dist/node/tsrx-spread.js +10 -0
- package/dist/node/universal-core.js +10010 -0
- package/dist/node/universal-dom-boundary.js +237 -0
- package/dist/node/universal-native.js +28 -0
- package/dist/node/universal.js +17 -0
- package/dist/node/version.js +4 -0
- package/dist/runtime.d.ts +18 -0
- package/dist/runtime.js +13 -2
- package/dist/runtime.server.d.ts +7 -0
- package/dist/runtime.server.js +4 -0
- package/dist/version.js +1 -1
- package/package.json +62 -1
|
@@ -69,6 +69,7 @@ __export(runtime_server_exports, {
|
|
|
69
69
|
injectStyle: () => injectStyle,
|
|
70
70
|
invokeManualHook: () => invokeManualHook,
|
|
71
71
|
isChildrenBlock: () => isChildrenBlock,
|
|
72
|
+
isRenderCall: () => isRenderCall,
|
|
72
73
|
isValidElement: () => isValidElement,
|
|
73
74
|
lazy: () => lazy,
|
|
74
75
|
manualHook: () => manualHook,
|
|
@@ -223,6 +224,7 @@ var import_native_read_seeds = require("./signals/native-read-seeds.cjs");
|
|
|
223
224
|
var import_owner_context = require("./signals/owner-context.cjs");
|
|
224
225
|
var import_query_attempt_observer = require("./signals/query-attempt-observer.cjs");
|
|
225
226
|
var import_types = require("./signals/types.cjs");
|
|
227
|
+
const __octaneDev = process.env.NODE_ENV !== "production";
|
|
226
228
|
function isSignalHandle(value) {
|
|
227
229
|
return (typeof value === "object" || typeof value === "function") && value !== null && value[import_types.SIGNAL_HANDLE] === true;
|
|
228
230
|
}
|
|
@@ -455,7 +457,7 @@ function nextScopedCount(frame, slot, key) {
|
|
|
455
457
|
}
|
|
456
458
|
function scopeSuffix(frame) {
|
|
457
459
|
const scope = ASYNC_SCOPE;
|
|
458
|
-
if (
|
|
460
|
+
if (__octaneDev && !scope.startsWith(frame.asyncScope)) {
|
|
459
461
|
throw new Error((0, import_error_codes_server_generated.formatServerError)(65));
|
|
460
462
|
}
|
|
461
463
|
return scope.slice(frame.asyncScope.length);
|
|
@@ -505,7 +507,7 @@ function withSsrElementContext(tag, location, render, forcedNamespace, htmlInteg
|
|
|
505
507
|
childrenNamespace,
|
|
506
508
|
location
|
|
507
509
|
};
|
|
508
|
-
if (
|
|
510
|
+
if (__octaneDev && SSR_NESTING_WARNINGS !== null && namespace === "html" && parent?.namespace === "html") {
|
|
509
511
|
const parentMessage = (0, import_html_tree_validation.invalidHtmlNestingWithParent)(
|
|
510
512
|
semanticTag,
|
|
511
513
|
parent.tag,
|
|
@@ -535,12 +537,12 @@ function withSsrElementContext(tag, location, render, forcedNamespace, htmlInteg
|
|
|
535
537
|
}
|
|
536
538
|
}
|
|
537
539
|
function ssrElement(tag, location, render, htmlIntegrationPoint) {
|
|
538
|
-
if (
|
|
540
|
+
if (!__octaneDev || SSR_NESTING_WARNINGS === null) return render();
|
|
539
541
|
return withSsrElementContext(tag, location, render, void 0, htmlIntegrationPoint);
|
|
540
542
|
}
|
|
541
543
|
function ssrNestingText(value) {
|
|
542
544
|
const text = ssrText(value);
|
|
543
|
-
if (
|
|
545
|
+
if (__octaneDev && text !== "") {
|
|
544
546
|
const parent = CURRENT_SSR_ELEMENT;
|
|
545
547
|
if (parent !== null && parent.namespace === "html" && SSR_NESTING_WARNINGS !== null) {
|
|
546
548
|
const message = (0, import_html_tree_validation.invalidHtmlTextNesting)(text, parent.tag, parent.location);
|
|
@@ -694,7 +696,7 @@ function copyElementConfig(config) {
|
|
|
694
696
|
return props;
|
|
695
697
|
}
|
|
696
698
|
function finalizeElementDescriptor(descriptor) {
|
|
697
|
-
if (
|
|
699
|
+
if (__octaneDev) {
|
|
698
700
|
Object.freeze(descriptor.props);
|
|
699
701
|
Object.freeze(descriptor);
|
|
700
702
|
}
|
|
@@ -749,6 +751,9 @@ function createScopedValue(readElement) {
|
|
|
749
751
|
};
|
|
750
752
|
return scopedValueDescriptor(resolve);
|
|
751
753
|
}
|
|
754
|
+
function isRenderCall(scope) {
|
|
755
|
+
return scope === CURRENT_SCOPE && scope !== null;
|
|
756
|
+
}
|
|
752
757
|
function nativeCreateScopedValue(readElement) {
|
|
753
758
|
return scopedValueDescriptor(createNativeServerScopedResolver(readElement));
|
|
754
759
|
}
|
|
@@ -765,7 +770,7 @@ function scopedValueDescriptor(resolve) {
|
|
|
765
770
|
"__octaneInvocationSite",
|
|
766
771
|
SCOPED_VALUE_PROPERTIES.__octaneInvocationSite
|
|
767
772
|
);
|
|
768
|
-
if (
|
|
773
|
+
if (__octaneDev) Object.freeze(descriptor);
|
|
769
774
|
return descriptor;
|
|
770
775
|
}
|
|
771
776
|
function createScopedElement(type, props, readChildren, invocationSite) {
|
|
@@ -830,7 +835,7 @@ function createElementFromConfig(invocationSite, type, props, children) {
|
|
|
830
835
|
let kids = hasPositional ? children.length === 1 ? children[0] : children : src?.children;
|
|
831
836
|
if (children !== void 0 && children.length > 1) {
|
|
832
837
|
POSITIONAL_CHILDREN.add(children);
|
|
833
|
-
if (
|
|
838
|
+
if (__octaneDev) Object.freeze(children);
|
|
834
839
|
}
|
|
835
840
|
const p = copyElementConfig(src);
|
|
836
841
|
if (hasPositional) p.children = kids;
|
|
@@ -1483,7 +1488,7 @@ function ssrHostElement(tag, props, children, scope, rawInner) {
|
|
|
1483
1488
|
let hasInnerHTMLProp = false;
|
|
1484
1489
|
const isCtlTag = semanticTag === "input" || semanticTag === "textarea" || semanticTag === "select";
|
|
1485
1490
|
if (props != null) {
|
|
1486
|
-
if (
|
|
1491
|
+
if (__octaneDev) {
|
|
1487
1492
|
devValidateSsrAriaProps(props, semanticTag, namespace);
|
|
1488
1493
|
devValidateSsrHostProps(props, semanticTag, namespace);
|
|
1489
1494
|
devValidateSsrFormProps(semanticTag, props, children);
|
|
@@ -1896,7 +1901,7 @@ function devValidateSsrHostProps(props, tag, namespace) {
|
|
|
1896
1901
|
if (invalid !== void 0) console.error((0, import_host_property_diagnostics.invalidHostPropertiesWarning)(invalid, tag));
|
|
1897
1902
|
}
|
|
1898
1903
|
function ssrAttr(name, v, tag, namespace = "html") {
|
|
1899
|
-
const dev =
|
|
1904
|
+
const dev = __octaneDev;
|
|
1900
1905
|
namespace = resolveAttributeNamespace(namespace);
|
|
1901
1906
|
const isCustomTag = namespace === "html" && tag !== void 0 && tag.indexOf("-") !== -1;
|
|
1902
1907
|
if (dev && !isCustomTag && tag !== void 0 && DEV_SSR_CUSTOM_HOST_DEPTH === 0) {
|
|
@@ -2020,7 +2025,7 @@ function ssrAttr(name, v, tag, namespace = "html") {
|
|
|
2020
2025
|
return " " + name + '="' + escapeAttr((0, import_sanitize_url.sanitizeURLAttribute)(tag, name, s)) + '"';
|
|
2021
2026
|
}
|
|
2022
2027
|
function styleObjectToCss(obj) {
|
|
2023
|
-
const dev =
|
|
2028
|
+
const dev = __octaneDev;
|
|
2024
2029
|
let out = "";
|
|
2025
2030
|
for (const k in obj) {
|
|
2026
2031
|
const val = obj[k];
|
|
@@ -2075,7 +2080,7 @@ function isAggregatedFormAttribute(tag, name) {
|
|
|
2075
2080
|
return tag === "select" && name === "multiple";
|
|
2076
2081
|
}
|
|
2077
2082
|
function ssrAttrs(sources, tag, namespace = "html", skipFormControls = false, readStyle) {
|
|
2078
|
-
const dev =
|
|
2083
|
+
const dev = __octaneDev;
|
|
2079
2084
|
namespace = resolveAttributeNamespace(namespace);
|
|
2080
2085
|
const props = /* @__PURE__ */ new Map();
|
|
2081
2086
|
let classMerges = null;
|
|
@@ -2261,7 +2266,7 @@ function ssrSnapshotSpread(obj, controlSite, deferStyle = false) {
|
|
|
2261
2266
|
function ssrSpread(obj, tag, skipClass = false, namespace = "html", skipFormControls = false) {
|
|
2262
2267
|
namespace = resolveAttributeNamespace(namespace);
|
|
2263
2268
|
if (obj == null) return "";
|
|
2264
|
-
if (
|
|
2269
|
+
if (__octaneDev) {
|
|
2265
2270
|
devValidateSsrAriaProps(Object(obj), tag, namespace);
|
|
2266
2271
|
devValidateSsrHostProps(Object(obj), tag, namespace);
|
|
2267
2272
|
}
|
|
@@ -2363,7 +2368,7 @@ function ssrVoidContent(tag, dangerSources, childrenSources) {
|
|
|
2363
2368
|
return "";
|
|
2364
2369
|
}
|
|
2365
2370
|
function devValidateSsrFormProps(tag, props, children) {
|
|
2366
|
-
if (
|
|
2371
|
+
if (!__octaneDev || SSR_NESTING_WARNINGS === null || CURRENT_SSR_ELEMENT === null || tag !== "input" && tag !== "textarea" && tag !== "select" && tag !== "option" && tag !== "form" && tag !== "button") {
|
|
2367
2372
|
return;
|
|
2368
2373
|
}
|
|
2369
2374
|
for (const warning of (0, import_form_diagnostics.formAuthoringDiagnostics)(tag, props, children)) {
|
|
@@ -2371,7 +2376,7 @@ function devValidateSsrFormProps(tag, props, children) {
|
|
|
2371
2376
|
}
|
|
2372
2377
|
}
|
|
2373
2378
|
function ssrFormAuthoringDiagnostics(tag, sources) {
|
|
2374
|
-
if (
|
|
2379
|
+
if (__octaneDev && SSR_NESTING_WARNINGS !== null) {
|
|
2375
2380
|
const props = /* @__PURE__ */ Object.create(null);
|
|
2376
2381
|
for (const [name, value] of sources) props[name] = value;
|
|
2377
2382
|
devValidateSsrFormProps(tag, props);
|
|
@@ -2389,7 +2394,7 @@ function ssrCheckedAttr(v) {
|
|
|
2389
2394
|
}
|
|
2390
2395
|
function ssrInputAttrs(sources) {
|
|
2391
2396
|
const props = resolveFormControlSources(sources);
|
|
2392
|
-
if (
|
|
2397
|
+
if (__octaneDev) {
|
|
2393
2398
|
devValidateSsrFormProps("input", {
|
|
2394
2399
|
value: unwrapSsrSignalControlValue(props.value),
|
|
2395
2400
|
defaultValue: unwrapSsrSignalControlValue(props.defaultValue),
|
|
@@ -2478,7 +2483,7 @@ function ssrTextareaValue(v) {
|
|
|
2478
2483
|
}
|
|
2479
2484
|
function ssrTextareaValueSources(sources) {
|
|
2480
2485
|
const props = resolveFormControlSources(sources);
|
|
2481
|
-
if (
|
|
2486
|
+
if (__octaneDev) {
|
|
2482
2487
|
devValidateSsrFormProps("textarea", {
|
|
2483
2488
|
value: unwrapSsrSignalControlValue(props.value),
|
|
2484
2489
|
defaultValue: unwrapSsrSignalControlValue(props.defaultValue)
|
|
@@ -2495,7 +2500,7 @@ const SELECT_STACK = [];
|
|
|
2495
2500
|
function ssrSelectScope(value, defaultValue, multiple, children) {
|
|
2496
2501
|
value = unwrapSsrSignalControlValue(value);
|
|
2497
2502
|
defaultValue = unwrapSsrSignalControlValue(defaultValue);
|
|
2498
|
-
if (
|
|
2503
|
+
if (__octaneDev) {
|
|
2499
2504
|
devValidateSsrFormProps("select", { value, defaultValue, multiple });
|
|
2500
2505
|
}
|
|
2501
2506
|
const v = value != null ? value : defaultValue;
|
|
@@ -2540,7 +2545,7 @@ function ssrOptionValueSources(sources) {
|
|
|
2540
2545
|
return value;
|
|
2541
2546
|
}
|
|
2542
2547
|
function ssrOption(value, attrs, content, complexAuthoredChildren = false) {
|
|
2543
|
-
if (
|
|
2548
|
+
if (__octaneDev && SSR_NESTING_WARNINGS !== null) {
|
|
2544
2549
|
if (/(?:^|\s)selected(?:\s|=|$)/i.test(attrs)) {
|
|
2545
2550
|
devValidateSsrFormProps("option", { value, selected: true });
|
|
2546
2551
|
}
|
|
@@ -3826,7 +3831,7 @@ function createContext(defaultValue) {
|
|
|
3826
3831
|
ctx.$$kind = import_runtime_tags.CONTEXT_TAG;
|
|
3827
3832
|
ctx.defaultValue = defaultValue;
|
|
3828
3833
|
(0, import_context_identity.registerContext)(ctx);
|
|
3829
|
-
if (
|
|
3834
|
+
if (__octaneDev) {
|
|
3830
3835
|
(0, import_context_identity.defineRemovedContextMembers)(ctx);
|
|
3831
3836
|
}
|
|
3832
3837
|
return ctx;
|
|
@@ -4033,7 +4038,7 @@ function hasExternalHydrationOwner(thenable) {
|
|
|
4033
4038
|
}
|
|
4034
4039
|
}
|
|
4035
4040
|
function use(usable, siteKey, directSite) {
|
|
4036
|
-
if (
|
|
4041
|
+
if (__octaneDev && devMemoComputeDepth !== 0) {
|
|
4037
4042
|
console.error(
|
|
4038
4043
|
"Do not call use() inside a useMemo() factory. Cached factories can skip context or promise reads; call use() before useMemo() and memoize the returned value instead."
|
|
4039
4044
|
);
|
|
@@ -4621,7 +4626,7 @@ function memoHookValue(input, compute, depsOrSlot, maybeSlot) {
|
|
|
4621
4626
|
return rec.value;
|
|
4622
4627
|
}
|
|
4623
4628
|
function useMemo(compute, depsOrSlot, maybeSlot) {
|
|
4624
|
-
if (
|
|
4629
|
+
if (__octaneDev) {
|
|
4625
4630
|
devMemoComputeDepth++;
|
|
4626
4631
|
try {
|
|
4627
4632
|
return memoHookValue(compute, true, depsOrSlot, maybeSlot);
|
|
@@ -5560,7 +5565,7 @@ function observeSuspenseWave(resolved, settled, next, boundaryProgress) {
|
|
|
5560
5565
|
}
|
|
5561
5566
|
pu.batchDisabled = true;
|
|
5562
5567
|
for (const { promise } of next) Promise.resolve(promise).then(NOOP, NOOP);
|
|
5563
|
-
if (
|
|
5568
|
+
if (__octaneDev) {
|
|
5564
5569
|
console.error(
|
|
5565
5570
|
"octane SSR: use() thenables appear to be re-created on every render pass \u2014 promises created during an ancestor render and passed down (e.g. via props) get a fresh identity each pass, so their boundaries can never resolve by identity. Create the promise at its use() site, or hoist the creation out of render (the compiler caches analyzable inline creations automatically). Falling back to per-site replay for the rest of this render."
|
|
5566
5571
|
);
|
|
@@ -5742,7 +5747,7 @@ async function prerenderToNodeStream(entryComponent, props, options) {
|
|
|
5742
5747
|
}
|
|
5743
5748
|
let resolved = options;
|
|
5744
5749
|
if (options?.headChannel === "separate") {
|
|
5745
|
-
if (
|
|
5750
|
+
if (__octaneDev) {
|
|
5746
5751
|
console.error(
|
|
5747
5752
|
"prerenderToNodeStream() streams one document and has no separate head channel; headChannel: 'separate' was ignored. Use prerender() for a split head."
|
|
5748
5753
|
);
|
|
@@ -7692,7 +7697,7 @@ function coerceHintHref(href) {
|
|
|
7692
7697
|
return typeof href === "string" && href !== "" ? href : null;
|
|
7693
7698
|
}
|
|
7694
7699
|
function preload(href, options) {
|
|
7695
|
-
if (
|
|
7700
|
+
if (__octaneDev) {
|
|
7696
7701
|
const warning = (0, import_resource_hint_diagnostics.resourceHintWarning)("preload", href, options);
|
|
7697
7702
|
if (warning !== null) console.error(warning);
|
|
7698
7703
|
}
|
|
@@ -7706,7 +7711,7 @@ function preload(href, options) {
|
|
|
7706
7711
|
if (as === "style" && HEAD.hints.has("sheet:" + value)) {
|
|
7707
7712
|
const existing = HEAD.sheets?.get(value);
|
|
7708
7713
|
if (existing === void 0 || !existing.html.startsWith("<style")) return;
|
|
7709
|
-
if (
|
|
7714
|
+
if (__octaneDev && HEAD.hints.has("dev-inline-style:" + value)) {
|
|
7710
7715
|
console.error(
|
|
7711
7716
|
'A <style> resource with href "' + value + '" follows a stylesheet preload for the same href. Inline styles cannot consume a stylesheet preload; remove the preload or use a stylesheet link.'
|
|
7712
7717
|
);
|
|
@@ -7736,7 +7741,7 @@ function preload(href, options) {
|
|
|
7736
7741
|
);
|
|
7737
7742
|
}
|
|
7738
7743
|
function preinit(href, options) {
|
|
7739
|
-
if (
|
|
7744
|
+
if (__octaneDev) {
|
|
7740
7745
|
const warning = (0, import_resource_hint_diagnostics.resourceHintWarning)("preinit", href, options);
|
|
7741
7746
|
if (warning !== null) console.error(warning);
|
|
7742
7747
|
}
|
|
@@ -7769,7 +7774,7 @@ function preinit(href, options) {
|
|
|
7769
7774
|
}
|
|
7770
7775
|
}
|
|
7771
7776
|
function preconnect(href, options) {
|
|
7772
|
-
if (
|
|
7777
|
+
if (__octaneDev) {
|
|
7773
7778
|
const warning = (0, import_resource_hint_diagnostics.resourceHintWarning)("preconnect", href, options);
|
|
7774
7779
|
if (warning !== null) console.error(warning);
|
|
7775
7780
|
}
|
|
@@ -7788,7 +7793,7 @@ function preconnect(href, options) {
|
|
|
7788
7793
|
);
|
|
7789
7794
|
}
|
|
7790
7795
|
function prefetchDNS(href) {
|
|
7791
|
-
if (
|
|
7796
|
+
if (__octaneDev) {
|
|
7792
7797
|
const warning = (0, import_resource_hint_diagnostics.resourceHintWarning)("prefetchDNS", href, arguments[1], arguments.length > 1);
|
|
7793
7798
|
if (warning !== null) console.error(warning);
|
|
7794
7799
|
}
|
|
@@ -7814,7 +7819,7 @@ function resourceAttrs(attrs, tag) {
|
|
|
7814
7819
|
return out;
|
|
7815
7820
|
}
|
|
7816
7821
|
function ssrStylesheetResource(attrs, invalidReason) {
|
|
7817
|
-
if (
|
|
7822
|
+
if (__octaneDev && invalidReason !== void 0) {
|
|
7818
7823
|
let conflict;
|
|
7819
7824
|
if (invalidReason === "missing-href") {
|
|
7820
7825
|
conflict = "requires a non-empty string `href`";
|
|
@@ -7847,13 +7852,13 @@ function ssrStyleResource(attrs, css, development) {
|
|
|
7847
7852
|
if (HEAD === null || attrs == null) return "";
|
|
7848
7853
|
const href = attrs.href;
|
|
7849
7854
|
if (typeof href !== "string" || href === "") return "";
|
|
7850
|
-
if (
|
|
7855
|
+
if (__octaneDev && development === true && /\s/.test(href)) {
|
|
7851
7856
|
console.error(
|
|
7852
7857
|
'A <style> resource href must not contain whitespace because it identifies the style during hydration; received "' + href + '".'
|
|
7853
7858
|
);
|
|
7854
7859
|
}
|
|
7855
7860
|
if (/<\/style/i.test(css)) {
|
|
7856
|
-
if (
|
|
7861
|
+
if (__octaneDev) {
|
|
7857
7862
|
console.error(
|
|
7858
7863
|
'octane SSR: a <style href precedence> resource contains "</style" and cannot be serialized safely; the resource was skipped. Load it as a stylesheet link instead.'
|
|
7859
7864
|
);
|
|
@@ -7862,7 +7867,7 @@ function ssrStyleResource(attrs, css, development) {
|
|
|
7862
7867
|
}
|
|
7863
7868
|
const key = "sheet:" + href;
|
|
7864
7869
|
if (HEAD.hints.has(key)) return "";
|
|
7865
|
-
if (
|
|
7870
|
+
if (__octaneDev && development === true) {
|
|
7866
7871
|
if (HEAD.hints.has("preload:style:" + href)) {
|
|
7867
7872
|
console.error(
|
|
7868
7873
|
'A <style> resource with href "' + href + '" follows a stylesheet preload for the same href. Inline styles cannot consume a stylesheet preload; remove the preload or use a stylesheet link.'
|
|
@@ -7891,7 +7896,7 @@ function ssrScriptResource(attrs) {
|
|
|
7891
7896
|
return "";
|
|
7892
7897
|
}
|
|
7893
7898
|
function preloadModule(href, options) {
|
|
7894
|
-
if (
|
|
7899
|
+
if (__octaneDev) {
|
|
7895
7900
|
const warning = (0, import_resource_hint_diagnostics.resourceHintWarning)("preloadModule", href, options);
|
|
7896
7901
|
if (warning !== null) console.error(warning);
|
|
7897
7902
|
}
|
|
@@ -7911,7 +7916,7 @@ function preloadModule(href, options) {
|
|
|
7911
7916
|
);
|
|
7912
7917
|
}
|
|
7913
7918
|
function preinitModule(href, options) {
|
|
7914
|
-
if (
|
|
7919
|
+
if (__octaneDev) {
|
|
7915
7920
|
const warning = (0, import_resource_hint_diagnostics.resourceHintWarning)("preinitModule", href, options);
|
|
7916
7921
|
if (warning !== null) console.error(warning);
|
|
7917
7922
|
}
|
|
@@ -7970,6 +7975,7 @@ function preinitModule(href, options) {
|
|
|
7970
7975
|
injectStyle,
|
|
7971
7976
|
invokeManualHook,
|
|
7972
7977
|
isChildrenBlock,
|
|
7978
|
+
isRenderCall,
|
|
7973
7979
|
isValidElement,
|
|
7974
7980
|
lazy,
|
|
7975
7981
|
manualHook,
|
|
@@ -30,6 +30,7 @@ var import_owner_context = require("./owner-context.cjs");
|
|
|
30
30
|
var import_read_protocol = require("./read-protocol.cjs");
|
|
31
31
|
var import_types = require("./types.cjs");
|
|
32
32
|
var import_transition_state = require("./transition-state.cjs");
|
|
33
|
+
const __octaneDev = process.env.NODE_ENV !== "production";
|
|
33
34
|
function __octaneNoArgError(code) {
|
|
34
35
|
return "Minified Octane error #" + code + "; visit https://octanejs.dev/errors/" + code + " for the full message or use a development build for full errors and additional helpful warnings.";
|
|
35
36
|
}
|
|
@@ -62,9 +63,9 @@ function __createBindingControls(owner = (0, import_owner_context.currentSignalO
|
|
|
62
63
|
claim(element, channel, notify) {
|
|
63
64
|
const control = element;
|
|
64
65
|
if (control?.nodeType !== 1 || channel !== "value" && channel !== "checked" || !["input", "textarea", "select"].includes(control.localName) || channel === "checked" && (control.localName !== "input" || !["checkbox", "radio"].includes(control.type)) || channel === "value" && control.localName === "input" && control.type === "file")
|
|
65
|
-
throw new TypeError(
|
|
66
|
+
throw new TypeError(__octaneDev ? "A signal control requires a native value/checked property and a signal." : __octaneNoArgError(116));
|
|
66
67
|
if (import_control_handoff.CONTROL_BINDINGS.get(control)?.has(channel) || (0, import_early_values.hasHydrationControlSignalWriter)(control, channel))
|
|
67
|
-
throw new Error(
|
|
68
|
+
throw new Error(__octaneDev ? "This control property already has a signal binding. Dispose it before rebinding." : __octaneNoArgError(117));
|
|
68
69
|
let channels = import_control_handoff.CONTROL_BINDINGS.get(control);
|
|
69
70
|
if (!channels)
|
|
70
71
|
import_control_handoff.CONTROL_BINDINGS.set(control, channels = /* @__PURE__ */ new Set());
|
|
@@ -156,7 +157,7 @@ function __createBindingControls(owner = (0, import_owner_context.currentSignalO
|
|
|
156
157
|
}, commit() {
|
|
157
158
|
} };
|
|
158
159
|
if ((0, import_handle_protocol.isSignalHandle)(next) && (typeof next[import_types.SIGNAL_BINDING_READ] !== "function" || typeof next[import_types.SIGNAL_BINDING_SUBSCRIBE] !== "function"))
|
|
159
|
-
throw new TypeError(
|
|
160
|
+
throw new TypeError(__octaneDev ? "A signal control requires a native value/checked property and a signal." : __octaneNoArgError(116));
|
|
160
161
|
if (!preview && raw !== next) {
|
|
161
162
|
const ticket2 = ++generation;
|
|
162
163
|
const stop = unsubscribe;
|
|
@@ -182,7 +183,7 @@ function __createBindingControls(owner = (0, import_owner_context.currentSignalO
|
|
|
182
183
|
dispose();
|
|
183
184
|
}));
|
|
184
185
|
if (typeof stopNext !== "function")
|
|
185
|
-
throw new TypeError(
|
|
186
|
+
throw new TypeError(__octaneDev ? "A signal control subscription must return cleanup." : __octaneNoArgError(118));
|
|
186
187
|
if (disposed || generation !== ticket2)
|
|
187
188
|
stopNext();
|
|
188
189
|
else
|
|
@@ -203,7 +204,7 @@ function __createBindingControls(owner = (0, import_owner_context.currentSignalO
|
|
|
203
204
|
} };
|
|
204
205
|
const multiple = control.localName === "select" && control.multiple;
|
|
205
206
|
if (candidate && (channel === "checked" ? typeof value !== "boolean" : multiple ? !Array.isArray(value) : typeof value !== "string"))
|
|
206
|
-
throw new TypeError(channel === "checked" ?
|
|
207
|
+
throw new TypeError(channel === "checked" ? __octaneDev ? "A checked signal must contain a boolean." : __octaneNoArgError(119) : multiple ? __octaneDev ? "A multiple select signal must contain an array." : __octaneNoArgError(120) : __octaneDev ? "A value signal must contain a string." : __octaneNoArgError(121));
|
|
207
208
|
let selected;
|
|
208
209
|
if (multiple && Array.isArray(value)) {
|
|
209
210
|
selected = /* @__PURE__ */ new Set();
|
|
@@ -324,7 +325,7 @@ function controlSignalOwner(owner, document) {
|
|
|
324
325
|
}
|
|
325
326
|
function bindSignalControl(control, channel, handle$) {
|
|
326
327
|
if (!(0, import_handle_protocol.isSignalHandle)(handle$))
|
|
327
|
-
throw new TypeError(
|
|
328
|
+
throw new TypeError(__octaneDev ? "A signal control requires a native value/checked property and a signal." : __octaneNoArgError(116));
|
|
328
329
|
let busy = false;
|
|
329
330
|
let dirty = false;
|
|
330
331
|
let disposed = false;
|
|
@@ -25,12 +25,13 @@ module.exports = __toCommonJS(derived_facade_exports);
|
|
|
25
25
|
var import_computations = require("./computations.cjs");
|
|
26
26
|
var import_facade = require("./facade.cjs");
|
|
27
27
|
var import_owner_context = require("./owner-context.cjs");
|
|
28
|
+
const __octaneDev = process.env.NODE_ENV !== "production";
|
|
28
29
|
function __octaneNoArgError(code) {
|
|
29
30
|
return "Minified Octane error #" + code + "; visit https://octanejs.dev/errors/" + code + " for the full message or use a development build for full errors and additional helpful warnings.";
|
|
30
31
|
}
|
|
31
32
|
function __derivedAt(site, compute, options) {
|
|
32
33
|
if (typeof compute !== "function")
|
|
33
|
-
throw new TypeError(
|
|
34
|
+
throw new TypeError(__octaneDev ? "derived$ requires a function." : __octaneNoArgError(122));
|
|
34
35
|
const explicit = (0, import_facade.signalOptionsKey)(options);
|
|
35
36
|
site ??= explicit;
|
|
36
37
|
const key = (0, import_facade.descriptorKey)(site, explicit);
|
|
@@ -27,6 +27,7 @@ __export(document_owner_exports, {
|
|
|
27
27
|
module.exports = __toCommonJS(document_owner_exports);
|
|
28
28
|
var import_early_values = require("./early-values.cjs");
|
|
29
29
|
var import_owner_context = require("./owner-context.cjs");
|
|
30
|
+
const __octaneDev = process.env.NODE_ENV !== "production";
|
|
30
31
|
function __octaneNoArgError(code) {
|
|
31
32
|
return "Minified Octane error #" + code + "; visit https://octanejs.dev/errors/" + code + " for the full message or use a development build for full errors and additional helpful warnings.";
|
|
32
33
|
}
|
|
@@ -37,7 +38,7 @@ let streamedSignalOwnerActivator;
|
|
|
37
38
|
function documentSignalOwner(container) {
|
|
38
39
|
const ownerDocument = container.nodeType === 9 ? container : container.ownerDocument;
|
|
39
40
|
if (ownerDocument === null)
|
|
40
|
-
throw new TypeError(
|
|
41
|
+
throw new TypeError(__octaneDev ? "A signal document owner requires a document." : __octaneNoArgError(123));
|
|
41
42
|
let owner = documentOwners.get(ownerDocument);
|
|
42
43
|
if (owner === void 0) {
|
|
43
44
|
owner = Object.freeze({ scopeKey: "octane:document" });
|
|
@@ -48,7 +49,7 @@ function documentSignalOwner(container) {
|
|
|
48
49
|
}
|
|
49
50
|
function enableSignalDocument(abi = 1) {
|
|
50
51
|
if (abi !== 1)
|
|
51
|
-
throw new TypeError(
|
|
52
|
+
throw new TypeError(__octaneDev ? "Unsupported Octane signal binding ABI." : __octaneNoArgError(74));
|
|
52
53
|
signalDocumentEnabled = true;
|
|
53
54
|
if (defaultInstalled)
|
|
54
55
|
return;
|
|
@@ -57,7 +58,7 @@ function enableSignalDocument(abi = 1) {
|
|
|
57
58
|
}
|
|
58
59
|
function installStreamedSignalOwnerActivator(activate) {
|
|
59
60
|
if (streamedSignalOwnerActivator !== void 0) {
|
|
60
|
-
throw new Error(
|
|
61
|
+
throw new Error(__octaneDev ? "A streamed signal hydration owner is already installed." : __octaneNoArgError(124));
|
|
61
62
|
}
|
|
62
63
|
streamedSignalOwnerActivator = activate;
|
|
63
64
|
return () => {
|
|
@@ -51,6 +51,7 @@ var import_handle_protocol = require("./handle-protocol.cjs");
|
|
|
51
51
|
var import_handle_protocol2 = require("./handle-protocol.cjs");
|
|
52
52
|
var import_owner_context = require("./owner-context.cjs");
|
|
53
53
|
var import_types = require("./types.cjs");
|
|
54
|
+
const __octaneDev = process.env.NODE_ENV !== "production";
|
|
54
55
|
function __octaneNoArgError(code) {
|
|
55
56
|
return "Minified Octane error #" + code + "; visit https://octanejs.dev/errors/" + code + " for the full message or use a development build for full errors and additional helpful warnings.";
|
|
56
57
|
}
|
|
@@ -82,12 +83,12 @@ function resolveIdentity(identity, scopeKey, owner) {
|
|
|
82
83
|
}
|
|
83
84
|
function initializeDocumentSignalOwner(owner, seed) {
|
|
84
85
|
if (isScope(owner) || isRendererOwner(owner)) {
|
|
85
|
-
throw new TypeError(
|
|
86
|
+
throw new TypeError(__octaneDev ? "Initial document signals require an implicit document owner." : __octaneNoArgError(155));
|
|
86
87
|
}
|
|
87
88
|
if (retiredIdentities.has(owner))
|
|
88
89
|
throw new import_errors.ScopeDisposedError(owner.scopeKey);
|
|
89
90
|
if (identityScopes.has(owner)) {
|
|
90
|
-
throw new Error(
|
|
91
|
+
throw new Error(__octaneDev ? "Initial document signals must be installed once, before any signal reads or writes." : __octaneNoArgError(156));
|
|
91
92
|
}
|
|
92
93
|
const scope = (0, import_engine.createScope)({ scopeKey: owner.scopeKey, seed });
|
|
93
94
|
const barrier = frozenDocuments.get(owner);
|
|
@@ -188,7 +189,7 @@ function streamedScope(owner, identity, create) {
|
|
|
188
189
|
});
|
|
189
190
|
function createSignalOwnerLifecycle(owner) {
|
|
190
191
|
if (isRendererOwner(owner))
|
|
191
|
-
throw new TypeError(
|
|
192
|
+
throw new TypeError(__octaneDev ? "A document lifecycle requires its document owner." : __octaneNoArgError(157));
|
|
192
193
|
let barrier;
|
|
193
194
|
let release;
|
|
194
195
|
let disposed = false;
|
|
@@ -258,7 +259,7 @@ function createSignalOwnerLifecycle(owner) {
|
|
|
258
259
|
function requireOwner() {
|
|
259
260
|
const owner = (0, import_owner_context.currentSignalOwner)();
|
|
260
261
|
if (!owner) {
|
|
261
|
-
throw new Error(
|
|
262
|
+
throw new Error(__octaneDev ? "A module signal needs an active signal owner. Render it in an Octane root or use runWithSignalOwner()." : __octaneNoArgError(158));
|
|
262
263
|
}
|
|
263
264
|
return owner;
|
|
264
265
|
}
|
|
@@ -274,7 +275,7 @@ function resolveSignalHandleForScope(handle$, owner) {
|
|
|
274
275
|
function requireSite(site) {
|
|
275
276
|
if (site)
|
|
276
277
|
return site;
|
|
277
|
-
throw new Error(
|
|
278
|
+
throw new Error(__octaneDev ? "Module signal identity is assigned by the Octane compiler. Use an explicit key outside compiled code." : __octaneNoArgError(159));
|
|
278
279
|
}
|
|
279
280
|
class Descriptor {
|
|
280
281
|
constructor(key, kind, create, site) {
|
|
@@ -354,11 +355,11 @@ function descriptorKey(site, explicit) {
|
|
|
354
355
|
}
|
|
355
356
|
function signalOptionsKey(options) {
|
|
356
357
|
if (options != null && typeof options !== "object") {
|
|
357
|
-
throw new TypeError(
|
|
358
|
+
throw new TypeError(__octaneDev ? "Signal declaration options must be an object." : __octaneNoArgError(160));
|
|
358
359
|
}
|
|
359
360
|
const key = options?.key;
|
|
360
361
|
if (key !== void 0 && (typeof key !== "string" || !key.trim())) {
|
|
361
|
-
throw new TypeError(
|
|
362
|
+
throw new TypeError(__octaneDev ? "A signal declaration key must be a nonempty string." : __octaneNoArgError(161));
|
|
362
363
|
}
|
|
363
364
|
return key;
|
|
364
365
|
}
|
|
@@ -379,7 +380,7 @@ function signal$(initial, options) {
|
|
|
379
380
|
}
|
|
380
381
|
function __derivedScalarAt(site, compute, options) {
|
|
381
382
|
if (typeof compute !== "function")
|
|
382
|
-
throw new TypeError(
|
|
383
|
+
throw new TypeError(__octaneDev ? "derived$ requires a function." : __octaneNoArgError(122));
|
|
383
384
|
const explicit = signalOptionsKey(options);
|
|
384
385
|
site ??= explicit;
|
|
385
386
|
const key = descriptorKey(site, explicit);
|
|
@@ -387,7 +388,7 @@ function __derivedScalarAt(site, compute, options) {
|
|
|
387
388
|
}
|
|
388
389
|
function readSignalBinding(handle$) {
|
|
389
390
|
if (!(0, import_handle_protocol.isSignalHandle)(handle$))
|
|
390
|
-
throw new TypeError(
|
|
391
|
+
throw new TypeError(__octaneDev ? "A signal binding requires a signal handle." : __octaneNoArgError(162));
|
|
391
392
|
return handle$[import_types.SIGNAL_BINDING_READ]();
|
|
392
393
|
}
|
|
393
394
|
function __startSignalReads(handles, primitive = false) {
|
|
@@ -60,6 +60,7 @@ var import_errors = require("./errors.cjs");
|
|
|
60
60
|
var import_read_protocol = require("./read-protocol.cjs");
|
|
61
61
|
var import_types = require("./types.cjs");
|
|
62
62
|
var import_transition_state2 = require("./transition-state.cjs");
|
|
63
|
+
const __octaneDev = process.env.NODE_ENV !== "production";
|
|
63
64
|
function __octaneNoArgError(code) {
|
|
64
65
|
return "Minified Octane error #" + code + "; visit https://octanejs.dev/errors/" + code + " for the full message or use a development build for full errors and additional helpful warnings.";
|
|
65
66
|
}
|
|
@@ -385,7 +386,7 @@ class ScopedNode {
|
|
|
385
386
|
nativeSnapshotSource;
|
|
386
387
|
retry(_options) {
|
|
387
388
|
assertAlive(this.owner);
|
|
388
|
-
throw new TypeError(
|
|
389
|
+
throw new TypeError(__octaneDev ? "Only an async signal can be retried." : __octaneNoArgError(163));
|
|
389
390
|
}
|
|
390
391
|
get() {
|
|
391
392
|
return strictValue(readNode(this), this.key);
|
|
@@ -407,7 +408,7 @@ class ScopedNode {
|
|
|
407
408
|
assertAlive(this.owner);
|
|
408
409
|
assertWritable();
|
|
409
410
|
if (this.kind !== "signal")
|
|
410
|
-
throw new TypeError(
|
|
411
|
+
throw new TypeError(__octaneDev ? "Only a writable signal accepts set()." : __octaneNoArgError(164));
|
|
411
412
|
const candidate = import_transition_state.activeCandidate ?? (0, import_read_protocol.getNativeCandidate)();
|
|
412
413
|
if (candidate) {
|
|
413
414
|
candidate.run(() => candidate.write(this, value));
|
|
@@ -445,7 +446,7 @@ class ScopedNode {
|
|
|
445
446
|
assertAlive(this.owner);
|
|
446
447
|
assertWritable();
|
|
447
448
|
if (typeof notify !== "function")
|
|
448
|
-
throw new TypeError(
|
|
449
|
+
throw new TypeError(__octaneDev ? "A signal subscriber must be a function." : __octaneNoArgError(165));
|
|
449
450
|
const state = untrack(() => refreshNode(this));
|
|
450
451
|
return attachObserver(this, notify, false, state);
|
|
451
452
|
}
|
|
@@ -674,7 +675,7 @@ function invalidateNode(node) {
|
|
|
674
675
|
function derivedState(node, read) {
|
|
675
676
|
const value = pure(read);
|
|
676
677
|
if (isThenable(value))
|
|
677
|
-
throw new TypeError(
|
|
678
|
+
throw new TypeError(__octaneDev ? "derived$ requires a synchronous computation." : __octaneNoArgError(166));
|
|
678
679
|
return derivedValueState(node, value);
|
|
679
680
|
}
|
|
680
681
|
function derivedValueState(node, value, activity, additionalDependencies) {
|
|
@@ -24,6 +24,7 @@ module.exports = __toCommonJS(native_read_client_exports);
|
|
|
24
24
|
var import_native_read_collector = require("./native-read-collector.cjs");
|
|
25
25
|
var import_read_protocol = require("./read-protocol.cjs");
|
|
26
26
|
var import_native_read_inspection = require("./native-read-inspection.cjs");
|
|
27
|
+
const __octaneDev = process.env.NODE_ENV !== "production";
|
|
27
28
|
function __octaneNoArgError(code) {
|
|
28
29
|
return "Minified Octane error #" + code + "; visit https://octanejs.dev/errors/" + code + " for the full message or use a development build for full errors and additional helpful warnings.";
|
|
29
30
|
}
|
|
@@ -261,7 +262,7 @@ function createNativeReadDriver(host) {
|
|
|
261
262
|
if (completed) {
|
|
262
263
|
const capture = host.capture();
|
|
263
264
|
if (capture === null)
|
|
264
|
-
throw new Error(
|
|
265
|
+
throw new Error(__octaneDev ? "A completed native render requires a renderer transaction." : __octaneNoArgError(167));
|
|
265
266
|
const destination = target(capture);
|
|
266
267
|
for (const candidate of frame.candidates.values())
|
|
267
268
|
put(destination, candidate);
|
|
@@ -284,7 +285,7 @@ function createNativeReadDriver(host) {
|
|
|
284
285
|
if (collector.isDetached())
|
|
285
286
|
return collector.beginScope(scope);
|
|
286
287
|
if (host.capture() === null)
|
|
287
|
-
throw new Error(
|
|
288
|
+
throw new Error(__octaneDev ? "Native reads require a renderer transaction." : __octaneNoArgError(168));
|
|
288
289
|
if (depth === 0 || frames[depth - 1].block !== block)
|
|
289
290
|
this.beginRender(block);
|
|
290
291
|
const frame = frames[depth - 1];
|
|
@@ -319,7 +320,7 @@ function createNativeReadDriver(host) {
|
|
|
319
320
|
if (candidates === void 0)
|
|
320
321
|
return;
|
|
321
322
|
if (parent === null)
|
|
322
|
-
throw new Error(
|
|
323
|
+
throw new Error(__octaneDev ? "A native capture must be accepted before publication." : __octaneNoArgError(169));
|
|
323
324
|
captures.delete(capture);
|
|
324
325
|
const destination = target(parent);
|
|
325
326
|
for (const candidate of candidates.values())
|
|
@@ -32,6 +32,7 @@ __export(owner_context_exports, {
|
|
|
32
32
|
runWithSignalOwner: () => runWithSignalOwner
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(owner_context_exports);
|
|
35
|
+
const __octaneDev = process.env.NODE_ENV !== "production";
|
|
35
36
|
function __octaneNoArgError(code) {
|
|
36
37
|
return "Minified Octane error #" + code + "; visit https://octanejs.dev/errors/" + code + " for the full message or use a development build for full errors and additional helpful warnings.";
|
|
37
38
|
}
|
|
@@ -41,7 +42,7 @@ let defaultOwner;
|
|
|
41
42
|
let retireOwner;
|
|
42
43
|
function installSignalOwnerEnvironment(environment) {
|
|
43
44
|
if (!environment || typeof environment.current !== "function" || typeof environment.run !== "function" || typeof environment.capture !== "function") {
|
|
44
|
-
throw new TypeError(
|
|
45
|
+
throw new TypeError(__octaneDev ? "A signal owner environment requires current, run, and capture." : __octaneNoArgError(189));
|
|
45
46
|
}
|
|
46
47
|
const previous = installedEnvironment;
|
|
47
48
|
installedEnvironment = environment;
|
|
@@ -60,7 +61,7 @@ function currentExplicitSignalOwner() {
|
|
|
60
61
|
}
|
|
61
62
|
function installDefaultSignalOwner(current) {
|
|
62
63
|
if (typeof current !== "function")
|
|
63
|
-
throw new TypeError(
|
|
64
|
+
throw new TypeError(__octaneDev ? "A default signal owner requires a provider." : __octaneNoArgError(190));
|
|
64
65
|
const previous = defaultOwner;
|
|
65
66
|
defaultOwner = current;
|
|
66
67
|
return () => {
|
|
@@ -70,7 +71,7 @@ function installDefaultSignalOwner(current) {
|
|
|
70
71
|
}
|
|
71
72
|
function runWithSignalOwner(owner, callback) {
|
|
72
73
|
if (typeof callback !== "function")
|
|
73
|
-
throw new TypeError(
|
|
74
|
+
throw new TypeError(__octaneDev ? "A signal owner callback is required." : __octaneNoArgError(191));
|
|
74
75
|
if (installedEnvironment)
|
|
75
76
|
return installedEnvironment.run(owner, callback);
|
|
76
77
|
const previous = synchronousOwner;
|
|
@@ -24,6 +24,7 @@ __export(query_attempt_observer_exports, {
|
|
|
24
24
|
serverSignalQueryAttemptObserver: () => serverSignalQueryAttemptObserver
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(query_attempt_observer_exports);
|
|
27
|
+
const __octaneDev = process.env.NODE_ENV !== "production";
|
|
27
28
|
function __octaneNoArgError(code) {
|
|
28
29
|
return "Minified Octane error #" + code + "; visit https://octanejs.dev/errors/" + code + " for the full message or use a development build for full errors and additional helpful warnings.";
|
|
29
30
|
}
|
|
@@ -46,7 +47,7 @@ function serverSignalQueryAttemptObserver(scopeKey) {
|
|
|
46
47
|
return;
|
|
47
48
|
}
|
|
48
49
|
if (typeof context.createObservations !== "function") {
|
|
49
|
-
throw new TypeError(
|
|
50
|
+
throw new TypeError(__octaneDev ? "A server signal query observer requires an observation factory." : __octaneNoArgError(192));
|
|
50
51
|
}
|
|
51
52
|
return context;
|
|
52
53
|
}
|