@absolutejs/absolute 0.19.0-beta.704 → 0.19.0-beta.705

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.
Files changed (48) hide show
  1. package/dist/angular/components/constants.js +21 -0
  2. package/dist/angular/index.js +53 -73
  3. package/dist/angular/index.js.map +9 -9
  4. package/dist/angular/server.js +52 -72
  5. package/dist/angular/server.js.map +9 -9
  6. package/dist/build.js +8 -7
  7. package/dist/build.js.map +7 -7
  8. package/dist/cli/index.js +312 -285
  9. package/dist/client/index.js +4 -3
  10. package/dist/client/index.js.map +3 -3
  11. package/dist/index.js +88 -64
  12. package/dist/index.js.map +15 -15
  13. package/dist/islands/index.js +5 -4
  14. package/dist/islands/index.js.map +5 -5
  15. package/dist/react/index.js +49 -69
  16. package/dist/react/index.js.map +9 -9
  17. package/dist/react/jsxDevRuntimeCompat.js +1 -6
  18. package/dist/react/jsxDevRuntimeCompat.js.map +3 -3
  19. package/dist/react/server.js +43 -64
  20. package/dist/react/server.js.map +7 -7
  21. package/dist/src/angular/components/constants.d.ts +21 -0
  22. package/dist/src/angular/pageHandler.d.ts +6 -1
  23. package/dist/src/angular/ssrRender.d.ts +1 -1
  24. package/dist/src/constants.d.ts +21 -0
  25. package/dist/src/core/ssrCache.d.ts +1 -1
  26. package/dist/src/core/wrapPageHandlerWithStreamingSlots.d.ts +1 -1
  27. package/dist/src/react/jsxDevRuntimeCompat.d.ts +3 -6
  28. package/dist/src/react/pageHandler.d.ts +2 -1
  29. package/dist/src/svelte/pageHandler.d.ts +2 -2
  30. package/dist/src/utils/defineConfig.d.ts +2 -2
  31. package/dist/src/utils/loadConfig.d.ts +38 -2
  32. package/dist/src/vue/components/Image.d.ts +2 -2
  33. package/dist/src/vue/components/index.d.ts +1 -1
  34. package/dist/src/vue/index.d.ts +1 -1
  35. package/dist/src/vue/pageHandler.d.ts +2 -1
  36. package/dist/svelte/index.js +34 -49
  37. package/dist/svelte/index.js.map +9 -9
  38. package/dist/svelte/server.js +31 -47
  39. package/dist/svelte/server.js.map +8 -8
  40. package/dist/vue/components/Image.js +18 -18
  41. package/dist/vue/components/Image.js.map +3 -3
  42. package/dist/vue/components/index.js +77 -62
  43. package/dist/vue/components/index.js.map +5 -5
  44. package/dist/vue/index.js +119 -133
  45. package/dist/vue/index.js.map +12 -12
  46. package/dist/vue/server.js +40 -70
  47. package/dist/vue/server.js.map +7 -7
  48. package/package.json +42 -42
package/dist/vue/index.js CHANGED
@@ -79,7 +79,7 @@ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
79
79
  var __require = import.meta.require;
80
80
 
81
81
  // src/constants.ts
82
- var ANGULAR_INIT_TIMEOUT_MS = 500, ANSI_ESCAPE_LENGTH = 3, ASCII_SPACE = 32, BASE_36_RADIX = 36, BUN_BUILD_WARNING_SUPPRESSION = "wildcard sideEffects are not supported yet", BODY_SLICE_LENGTH = 2000, BYTES_PER_KILOBYTE = 1024, CLI_ARGS_OFFSET = 3, CSS_ERROR_RESOLVE_DELAY_MS = 50, CSS_MAX_CHECK_ATTEMPTS = 10, CSS_MAX_PARSE_TIMEOUT_MS = 500, CSS_SHEET_READY_TIMEOUT_MS = 100, DEFAULT_CHUNK_SIZE = 16384, DEFAULT_DEBOUNCE_MS = 15, DEFAULT_PORT = 3000, DEV_SERVER_RESTART_DEBOUNCE_MS = 100, DOM_UPDATE_DELAY_MS = 50, FILE_PROTOCOL_PREFIX_LENGTH = 7, FOCUS_ID_PREFIX_LENGTH = 3, FOCUS_IDX_PREFIX_LENGTH = 4, FOCUS_NAME_PREFIX_LENGTH = 5, HMR_UPDATE_TIMEOUT_MS = 2000, HOOK_SIGNATURE_LENGTH = 12, EXCLUDE_LAST_OFFSET = -1, HTTP_STATUS_OK = 200, HTTP_STATUS_BAD_REQUEST = 400, HTTP_STATUS_NOT_FOUND = 404, HOURS_IN_DAY = 24, HOURS_IN_HALF_DAY = 12, MAX_ERROR_LENGTH = 200, MAX_RECONNECT_ATTEMPTS = 60, MILLISECONDS_IN_A_SECOND = 1000, MINUTES_IN_AN_HOUR = 60, SECONDS_IN_A_MINUTE = 60, MILLISECONDS_IN_A_MINUTE, MILLISECONDS_IN_A_DAY, OVERLAY_FADE_DURATION_MS = 150, PING_INTERVAL_MS = 30000, RAF_BATCH_COUNT = 3, RANDOM_ID_END_INDEX = 11, REBUILD_BATCH_DELAY_MS = 10, REBUILD_RELOAD_DELAY_MS = 200, RECONNECT_INITIAL_DELAY_MS = 500, RECONNECT_POLL_INTERVAL_MS = 300, REACT_STREAM_SLOT_FAST_DELAY_MS = 5, REACT_STREAM_SLOT_SLOW_DELAY_MS = 20, SIGINT_EXIT_CODE = 130, SIGTERM_EXIT_CODE = 143, SVELTE_CSS_LOAD_TIMEOUT_MS = 500, TIME_PRECISION = 2, TWO_THIRDS, UNFOUND_INDEX = -1, WEBSOCKET_NORMAL_CLOSURE = 1000;
82
+ var ANGULAR_INIT_TIMEOUT_MS = 500, ANSI_ESCAPE_LENGTH = 3, ASCII_SPACE = 32, BASE_36_RADIX = 36, BUN_BUILD_WARNING_SUPPRESSION = "wildcard sideEffects are not supported yet", BODY_SLICE_LENGTH = 2000, BYTES_PER_KILOBYTE = 1024, CLI_ARGS_OFFSET = 3, CSS_ERROR_RESOLVE_DELAY_MS = 50, CSS_MAX_CHECK_ATTEMPTS = 10, CSS_MAX_PARSE_TIMEOUT_MS = 500, CSS_SHEET_READY_TIMEOUT_MS = 100, DEFAULT_CHUNK_SIZE = 16384, DEFAULT_DEBOUNCE_MS = 15, DEFAULT_PORT = 3000, DEV_SERVER_RESTART_DEBOUNCE_MS = 100, DOM_UPDATE_DELAY_MS = 50, FILE_PROTOCOL_PREFIX_LENGTH = 7, FOCUS_ID_PREFIX_LENGTH = 3, FOCUS_IDX_PREFIX_LENGTH = 4, FOCUS_NAME_PREFIX_LENGTH = 5, HMR_UPDATE_TIMEOUT_MS = 2000, HOOK_SIGNATURE_LENGTH = 12, EXCLUDE_LAST_OFFSET = -1, HTTP_STATUS_OK = 200, HTTP_STATUS_BAD_REQUEST = 400, HTTP_STATUS_NOT_FOUND = 404, HOURS_IN_DAY = 24, HOURS_IN_HALF_DAY = 12, MAX_ERROR_LENGTH = 200, MAX_RECONNECT_ATTEMPTS = 60, MILLISECONDS_IN_A_SECOND = 1000, MINUTES_IN_AN_HOUR = 60, SECONDS_IN_A_MINUTE = 60, MILLISECONDS_IN_A_MINUTE, MILLISECONDS_IN_A_DAY, OVERLAY_FADE_DURATION_MS = 150, PING_INTERVAL_MS = 30000, RAF_BATCH_COUNT = 3, RANDOM_ID_END_INDEX = 11, REBUILD_BATCH_DELAY_MS = 10, REBUILD_RELOAD_DELAY_MS = 200, RECONNECT_INITIAL_DELAY_MS = 500, RECONNECT_POLL_INTERVAL_MS = 300, REACT_STREAM_SLOT_FAST_DELAY_MS = 5, REACT_STREAM_SLOT_SLOW_DELAY_MS = 20, SIGINT_EXIT_CODE = 130, SIGTERM_EXIT_CODE = 143, SVELTE_CSS_LOAD_TIMEOUT_MS = 500, TIME_PRECISION = 2, TWO_THIRDS, UNFOUND_INDEX = -1, WEBSOCKET_NORMAL_CLOSURE = 1000, WORKSPACE_COMMAND_ARGS_OFFSET = 3, WORKSPACE_FAILURE_LOG_PRINT_LIMIT = 30, WORKSPACE_FAILURE_RECENT_LOG_LIMIT = 60, WORKSPACE_READY_ATTEMPT_TIMEOUT_MS = 5000, WORKSPACE_READY_PROBE_INTERVAL_MS = 250, WORKSPACE_READY_TIMEOUT_MS = 30000, WORKSPACE_SHUTDOWN_TIMEOUT_MS = 1e4, WORKSPACE_TUI_DEFAULT_HEIGHT = 28, WORKSPACE_TUI_DEFAULT_WIDTH = 100, WORKSPACE_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30, WORKSPACE_TUI_FOOTER_LINE_COUNT = 3, WORKSPACE_TUI_MIN_LOG_HEIGHT = 3, WORKSPACE_TUI_MIN_SERVICE_NAME_WIDTH = 7, WORKSPACE_TUI_MIN_TARGET_WIDTH = 8, WORKSPACE_TUI_MIN_WRAP_WIDTH = 12, WORKSPACE_TUI_PROMPT_CURSOR_OFFSET = 3, WORKSPACE_TUI_RECENT_LOG_LIMIT = 40, WORKSPACE_TUI_RENDER_DEBOUNCE_MS = 16, WORKSPACE_TUI_STATUS_WIDTH = 10, WORKSPACE_TUI_TARGET_PADDING_WIDTH = 6, WORKSPACE_TUI_VISIBILITY_WIDTH = 8;
83
83
  var init_constants = __esm(() => {
84
84
  MILLISECONDS_IN_A_MINUTE = MILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE;
85
85
  MILLISECONDS_IN_A_DAY = MILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE * MINUTES_IN_AN_HOUR * HOURS_IN_DAY;
@@ -94,7 +94,7 @@ __export(exports_devRouteRegistrationCallsite, {
94
94
  });
95
95
  import { AsyncLocalStorage } from "async_hooks";
96
96
  import { Elysia } from "elysia";
97
- var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES, isObjectRecord4 = (value) => Boolean(value) && typeof value === "object", isAsyncLocalStorage2 = (value) => isObjectRecord4(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function", getRouteCallsiteStorage = () => {
97
+ var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES, isObjectRecord4 = (value) => Boolean(value) && typeof value === "object", isAsyncLocalStorage2 = (value) => isObjectRecord4(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function", isRouteMethod = (value) => typeof value === "function", getRouteCallsiteStorage = () => {
98
98
  const value = Reflect.get(globalThis, ROUTE_CALLSITE_STORAGE_KEY);
99
99
  if (value === null || typeof value === "undefined") {
100
100
  return;
@@ -108,19 +108,10 @@ var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES,
108
108
  const storage = new AsyncLocalStorage;
109
109
  Reflect.set(globalThis, ROUTE_CALLSITE_STORAGE_KEY, storage);
110
110
  return storage;
111
- }, normalizeCallsitePath = (value) => value.replace(`${process.cwd()}/`, "").replace(process.cwd(), "").replace(/^\.\/+/, ""), extractRouteRegistrationCallsite = (stack) => {
112
- const frames = stack.split(`
113
- `).slice(1).map((line) => line.trim());
114
- for (const frame of frames) {
115
- if (frame.includes("/node_modules/") || frame.includes("/dist/") || frame.includes("/src/core/devRouteRegistrationCallsite.")) {
116
- continue;
117
- }
118
- const locationMatch = frame.match(/\((\/[^)]+:\d+:\d+)\)$/) ?? frame.match(/at (\/[^ ]+:\d+:\d+)$/);
119
- if (locationMatch?.[1]) {
120
- return normalizeCallsitePath(locationMatch[1]);
121
- }
122
- }
123
- return;
111
+ }, normalizeCallsitePath = (value) => value.replace(`${process.cwd()}/`, "").replace(process.cwd(), "").replace(/^\.\/+/, ""), shouldIgnoreRouteCallsiteFrame = (frame) => frame.includes("/node_modules/") || frame.includes("/dist/") || frame.includes("/src/core/devRouteRegistrationCallsite."), getRouteCallsiteLocation = (frame) => frame.match(/\((\/[^)]+:\d+:\d+)\)$/)?.[1] ?? frame.match(/at (\/[^ ]+:\d+:\d+)$/)?.[1], extractRouteRegistrationCallsite = (stack) => {
112
+ const location = stack.split(`
113
+ `).slice(1).map((line) => line.trim()).filter((frame) => !shouldIgnoreRouteCallsiteFrame(frame)).map((frame) => getRouteCallsiteLocation(frame)).find((frameLocation) => frameLocation !== undefined);
114
+ return location ? normalizeCallsitePath(location) : undefined;
124
115
  }, captureRouteRegistrationCallsite = () => {
125
116
  const { stack } = new Error;
126
117
  if (!stack) {
@@ -132,29 +123,29 @@ var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES,
132
123
  return handler;
133
124
  }
134
125
  const storage = ensureRouteCallsiteStorage();
126
+ const routeHandler = handler;
135
127
  return function wrappedRouteHandler(...args) {
136
- return storage.run({ callsite }, () => Reflect.apply(handler, this, args));
128
+ return storage.run({ callsite }, () => Reflect.apply(routeHandler, this, args));
137
129
  };
130
+ }, createPatchedRouteMethod = (originalMethod) => function patchedRouteMethod(path, handler, ...rest) {
131
+ const callsite = captureRouteRegistrationCallsite();
132
+ return Reflect.apply(originalMethod, this, [
133
+ path,
134
+ wrapRouteHandlerWithCallsite(handler, callsite),
135
+ ...rest
136
+ ]);
138
137
  }, getCurrentRouteRegistrationCallsite = () => getRouteCallsiteStorage()?.getStore()?.callsite, patchElysiaRouteRegistrationCallsites = () => {
139
138
  if (false) {}
140
139
  if (Reflect.get(globalThis, ROUTE_CALLSITE_PATCHED_KEY) === true) {
141
140
  return;
142
141
  }
143
- const prototype = Elysia.prototype;
144
- for (const methodName of ROUTE_METHOD_NAMES) {
145
- const originalMethod = prototype[methodName];
146
- if (typeof originalMethod !== "function") {
147
- continue;
148
- }
149
- prototype[methodName] = function patchedRouteMethod(path, handler, ...rest) {
150
- const callsite = captureRouteRegistrationCallsite();
151
- return Reflect.apply(originalMethod, this, [
152
- path,
153
- wrapRouteHandlerWithCallsite(handler, callsite),
154
- ...rest
155
- ]);
156
- };
157
- }
142
+ const { prototype } = Elysia;
143
+ ROUTE_METHOD_NAMES.forEach((methodName) => {
144
+ const originalMethod = Reflect.get(prototype, methodName);
145
+ if (!isRouteMethod(originalMethod))
146
+ return;
147
+ Reflect.set(prototype, methodName, createPatchedRouteMethod(originalMethod));
148
+ });
158
149
  Reflect.set(globalThis, ROUTE_CALLSITE_PATCHED_KEY, true);
159
150
  };
160
151
  var init_devRouteRegistrationCallsite = __esm(() => {
@@ -991,9 +982,9 @@ var init_logger = __esm(() => {
991
982
  });
992
983
 
993
984
  // src/core/ssrCache.ts
994
- var dirtyFrameworks, markSsrCacheDirty = (framework) => {
985
+ var dirtyFrameworks, isSsrCacheDirty = (framework) => dirtyFrameworks.has(framework), markSsrCacheDirty = (framework) => {
995
986
  dirtyFrameworks.add(framework);
996
- }, isSsrCacheDirty = (framework) => dirtyFrameworks.has(framework);
987
+ };
997
988
  var init_ssrCache = __esm(() => {
998
989
  dirtyFrameworks = new Set;
999
990
  });
@@ -1335,7 +1326,7 @@ var routePropsCache, cacheRouteData = (pagePath, data) => {
1335
1326
  Sanitizer: core.Sanitizer,
1336
1327
  SecurityContext: core.SecurityContext
1337
1328
  };
1338
- }, buildProviders = (deps, sanitizer, maybeProps, tokenMap) => {
1329
+ }, buildProviders = (deps, sanitizer, maybeProps, tokenMap, userProviders = []) => {
1339
1330
  const providers = [
1340
1331
  deps.provideServerRendering(),
1341
1332
  deps.provideClientHydration(),
@@ -1345,7 +1336,8 @@ var routePropsCache, cacheRouteData = (pagePath, data) => {
1345
1336
  provide: deps.DomSanitizer,
1346
1337
  useValue: sanitizer
1347
1338
  },
1348
- { provide: deps.Sanitizer, useValue: sanitizer }
1339
+ { provide: deps.Sanitizer, useValue: sanitizer },
1340
+ ...userProviders
1349
1341
  ];
1350
1342
  if (!maybeProps) {
1351
1343
  return providers;
@@ -2723,30 +2715,30 @@ var fillWrapperStyle = {
2723
2715
  position: "relative",
2724
2716
  width: "100%"
2725
2717
  };
2726
- var Image_default = defineComponent({
2718
+ var Image = defineComponent({
2727
2719
  name: "AbsoluteImage",
2728
2720
  props: {
2729
- src: { required: true, type: String },
2730
2721
  alt: { required: true, type: String },
2731
- width: { default: undefined, type: Number },
2732
- height: { default: undefined, type: Number },
2722
+ blurDataURL: { default: undefined, type: String },
2723
+ className: { default: undefined, type: String },
2724
+ crossOrigin: { default: undefined, type: String },
2725
+ fetchPriority: { default: undefined, type: String },
2733
2726
  fill: { default: false, type: Boolean },
2734
- quality: { default: DEFAULT_QUALITY, type: Number },
2735
- sizes: { default: undefined, type: String },
2727
+ height: { default: undefined, type: Number },
2736
2728
  loader: { default: undefined, type: Function },
2737
- unoptimized: { default: false, type: Boolean },
2738
2729
  loading: { default: "lazy", type: String },
2739
- priority: { default: false, type: Boolean },
2740
- placeholder: { default: undefined, type: String },
2741
- blurDataURL: { default: undefined, type: String },
2742
- className: { default: undefined, type: String },
2743
- style: { default: undefined, type: Object },
2744
- onLoad: { default: undefined, type: Function },
2745
2730
  onError: { default: undefined, type: Function },
2746
- crossOrigin: { default: undefined, type: String },
2731
+ onLoad: { default: undefined, type: Function },
2732
+ overrideSrc: { default: undefined, type: String },
2733
+ placeholder: { default: undefined, type: String },
2734
+ priority: { default: false, type: Boolean },
2735
+ quality: { default: DEFAULT_QUALITY, type: Number },
2747
2736
  referrerPolicy: { default: undefined, type: String },
2748
- fetchPriority: { default: undefined, type: String },
2749
- overrideSrc: { default: undefined, type: String }
2737
+ sizes: { default: undefined, type: String },
2738
+ src: { required: true, type: String },
2739
+ style: { default: undefined, type: Object },
2740
+ unoptimized: { default: false, type: Boolean },
2741
+ width: { default: undefined, type: Number }
2750
2742
  },
2751
2743
  setup(props) {
2752
2744
  const blurRemoved = ref(false);
@@ -2913,6 +2905,45 @@ var registerLegacySuspenseSlot = (props) => {
2913
2905
  timeoutMs: props.timeoutMs
2914
2906
  });
2915
2907
  };
2908
+ var resolveStreamingSuspenseSlot = async (props, slots) => {
2909
+ try {
2910
+ const value = await resolveSuspenseValue(props.resolve, props.promise);
2911
+ const nodes = allowMismatchOnSlotNodes(slots.default?.({ value }) ?? []);
2912
+ const html = await renderVueNodesToHtml(nodes);
2913
+ return {
2914
+ html,
2915
+ kind: "vue-suspense",
2916
+ value
2917
+ };
2918
+ } catch (error) {
2919
+ const errorNodes = slots.error?.({ error });
2920
+ if (errorNodes !== undefined)
2921
+ return renderVueNodesToHtml(allowMismatchOnSlotNodes(errorNodes));
2922
+ if (typeof props.errorHtml === "string")
2923
+ return props.errorHtml;
2924
+ throw error;
2925
+ }
2926
+ };
2927
+ var registerSuspenseSlotForSsr = (props, slots, usesFrameworkSlots) => {
2928
+ if (!isStreamingSlotCollectionActive()) {
2929
+ warnMissingStreamingSlotCollector("SuspenseSlot");
2930
+ }
2931
+ const legacyRegistration = toLegacySuspenseSlotRegistration(props);
2932
+ if (!usesFrameworkSlots && legacyRegistration) {
2933
+ registerLegacySuspenseSlot(legacyRegistration);
2934
+ return;
2935
+ }
2936
+ registerStreamingSlot({
2937
+ id: props.id,
2938
+ timeoutMs: props.timeoutMs,
2939
+ resolve: () => resolveStreamingSuspenseSlot(props, slots)
2940
+ });
2941
+ };
2942
+ var applySuspensePayload = (payload, state) => {
2943
+ state.hasError.value = payload.state === "error";
2944
+ state.resolvedValue.value = payload.value;
2945
+ state.isResolved.value = payload.state !== "error";
2946
+ };
2916
2947
  var SuspenseSlot = defineComponent2({
2917
2948
  name: "AbsoluteSuspenseSlot",
2918
2949
  props: {
@@ -2946,36 +2977,7 @@ var SuspenseSlot = defineComponent2({
2946
2977
  const usesFrameworkSlots = hasFrameworkSlots(slots.default, slots.fallback, slots.error, props.promise);
2947
2978
  const isSsrRender = useSSRContext() !== undefined;
2948
2979
  if (isSsrRender) {
2949
- if (!isStreamingSlotCollectionActive()) {
2950
- warnMissingStreamingSlotCollector("SuspenseSlot");
2951
- }
2952
- const legacyRegistration = toLegacySuspenseSlotRegistration(props);
2953
- if (!usesFrameworkSlots && legacyRegistration) {
2954
- return registerLegacySuspenseSlot(legacyRegistration);
2955
- }
2956
- registerStreamingSlot({
2957
- id: props.id,
2958
- timeoutMs: props.timeoutMs,
2959
- resolve: async () => {
2960
- try {
2961
- const value = await resolveSuspenseValue(props.resolve, props.promise);
2962
- const nodes = allowMismatchOnSlotNodes(slots.default?.({ value }) ?? []);
2963
- const html = await renderVueNodesToHtml(nodes);
2964
- return {
2965
- html,
2966
- kind: "vue-suspense",
2967
- value
2968
- };
2969
- } catch (error) {
2970
- const errorNodes = slots.error?.({ error });
2971
- if (errorNodes !== undefined)
2972
- return renderVueNodesToHtml(allowMismatchOnSlotNodes(errorNodes));
2973
- if (typeof props.errorHtml === "string")
2974
- return props.errorHtml;
2975
- throw error;
2976
- }
2977
- }
2978
- });
2980
+ registerSuspenseSlotForSsr(props, slots, usesFrameworkSlots);
2979
2981
  }
2980
2982
  if (typeof window !== "undefined" && usesFrameworkSlots) {
2981
2983
  const consumers = window.__ABS_SLOT_CONSUMERS__ = window.__ABS_SLOT_CONSUMERS__ ?? {};
@@ -2986,9 +2988,11 @@ var SuspenseSlot = defineComponent2({
2986
2988
  if (!isVueSuspensePayload(payload)) {
2987
2989
  return false;
2988
2990
  }
2989
- hasError.value = payload.state === "error";
2990
- resolvedValue.value = payload.value;
2991
- isResolved.value = payload.state !== "error";
2991
+ applySuspensePayload(payload, {
2992
+ hasError,
2993
+ isResolved,
2994
+ resolvedValue
2995
+ });
2992
2996
  return true;
2993
2997
  };
2994
2998
  const handlePatchedDom = (event) => {
@@ -3054,17 +3058,7 @@ var StreamSlot = defineComponent3({
3054
3058
  },
3055
3059
  setup(props) {
3056
3060
  if (useSSRContext2() !== undefined) {
3057
- if (isStreamingSlotCollectionActive()) {
3058
- registerStreamingSlot({
3059
- errorHtml: props.errorHtml,
3060
- fallbackHtml: props.fallbackHtml,
3061
- id: props.id,
3062
- resolve: props.resolve,
3063
- timeoutMs: props.timeoutMs
3064
- });
3065
- } else {
3066
- warnMissingStreamingSlotCollector("StreamSlot");
3067
- }
3061
+ registerStreamSlotForSsr(props);
3068
3062
  }
3069
3063
  return () => h3("div", {
3070
3064
  class: props.className,
@@ -3074,6 +3068,19 @@ var StreamSlot = defineComponent3({
3074
3068
  });
3075
3069
  }
3076
3070
  });
3071
+ var registerStreamSlotForSsr = (props) => {
3072
+ if (!isStreamingSlotCollectionActive()) {
3073
+ warnMissingStreamingSlotCollector("StreamSlot");
3074
+ return;
3075
+ }
3076
+ registerStreamingSlot({
3077
+ errorHtml: props.errorHtml,
3078
+ fallbackHtml: props.fallbackHtml,
3079
+ id: props.id,
3080
+ resolve: props.resolve,
3081
+ timeoutMs: props.timeoutMs
3082
+ });
3083
+ };
3077
3084
  // src/vue/pageHandler.ts
3078
3085
  init_constants();
3079
3086
  import { readdir } from "fs/promises";
@@ -3373,19 +3380,12 @@ var formatWarningCallsite = (callsite) => {
3373
3380
  }
3374
3381
  return `\x1B[36m${match[1]}\x1B[33m${match[2]}\x1B[0m`;
3375
3382
  };
3383
+ var shouldIgnoreWarningFrame = (frame) => frame.includes("/node_modules/") || frame.includes("/dist/") || frame.includes("/src/react/pageHandler.") || frame.includes("/src/vue/pageHandler.") || frame.includes("/src/svelte/pageHandler.") || frame.includes("/src/angular/pageHandler.") || frame.includes("/src/core/streamingSlotWarningScope.");
3384
+ var getWarningLocation = (frame) => frame.match(/\((\/[^)]+:\d+:\d+)\)$/)?.[1] ?? frame.match(/at (\/[^ ]+:\d+:\d+)$/)?.[1];
3376
3385
  var extractCallsiteFromStack = (stack) => {
3377
- const frames = stack.split(`
3378
- `).slice(1).map((line) => line.trim());
3379
- for (const frame of frames) {
3380
- if (frame.includes("/node_modules/") || frame.includes("/dist/") || frame.includes("/src/react/pageHandler.") || frame.includes("/src/vue/pageHandler.") || frame.includes("/src/svelte/pageHandler.") || frame.includes("/src/angular/pageHandler.") || frame.includes("/src/core/streamingSlotWarningScope.")) {
3381
- continue;
3382
- }
3383
- const locationMatch = frame.match(/\((\/[^)]+:\d+:\d+)\)$/) ?? frame.match(/at (\/[^ ]+:\d+:\d+)$/);
3384
- if (locationMatch?.[1]) {
3385
- return normalizeCallsitePath2(locationMatch[1]);
3386
- }
3387
- }
3388
- return;
3386
+ const location = stack.split(`
3387
+ `).slice(1).map((line) => line.trim()).filter((frame) => !shouldIgnoreWarningFrame(frame)).map((frame) => getWarningLocation(frame)).find((frameLocation) => frameLocation !== undefined);
3388
+ return location ? normalizeCallsitePath2(location) : undefined;
3389
3389
  };
3390
3390
  var buildMissingCollectorWarning = (primitiveName, handlerCallsite) => `${primitiveName} rendered during SSR without streaming slot collection enabled. Add { collectStreamingSlots: true } to this page handler to enable out-of-order streaming for this route.${handlerCallsite ? ` Update ${formatWarningCallsite(handlerCallsite)}.` : ""}`;
3391
3391
  setStreamingSlotWarningController({
@@ -3677,6 +3677,7 @@ var renderFirstNotFound = async () => {
3677
3677
  // src/vue/pageHandler.ts
3678
3678
  var isRecord2 = (value) => typeof value === "object" && value !== null;
3679
3679
  var isGenericVueComponent = (value) => typeof value === "function" || isRecord2(value);
3680
+ var isVuePageRequestInput = (value) => isRecord2(value) && ("pagePath" in value) && ("indexPath" in value);
3680
3681
  var readHasIslands = (value) => {
3681
3682
  if (!isRecord2(value))
3682
3683
  return false;
@@ -3713,29 +3714,14 @@ var primeVueStream = async (stream) => {
3713
3714
  const firstChunk = await reader.read();
3714
3715
  return { firstChunk, reader };
3715
3716
  };
3716
- var handleVuePageRequest = async (PageComponentOrInput, pagePath, indexPath, headTag = "<head></head>", ...args) => {
3717
- const {
3718
- PageComponent: _PageComponent,
3719
- headTag: resolvedHeadTag,
3720
- indexPath: resolvedIndexPath,
3721
- options: resolvedOptions,
3722
- pagePath: resolvedPagePath,
3723
- props: maybeProps
3724
- } = typeof PageComponentOrInput === "object" && PageComponentOrInput !== null && "pagePath" in PageComponentOrInput && "indexPath" in PageComponentOrInput ? {
3725
- PageComponent: undefined,
3726
- headTag: PageComponentOrInput.headTag ?? "<head></head>",
3727
- indexPath: PageComponentOrInput.indexPath,
3728
- options: PageComponentOrInput,
3729
- pagePath: PageComponentOrInput.pagePath,
3730
- props: PageComponentOrInput.props
3731
- } : {
3732
- headTag,
3733
- indexPath: indexPath ?? "",
3734
- options: args[1],
3735
- PageComponent: PageComponentOrInput,
3736
- pagePath: pagePath ?? "",
3737
- props: args[0]
3738
- };
3717
+ async function handleVuePageRequest(PageComponentOrInput, pagePath, indexPath, headTag = "<head></head>", ...args) {
3718
+ const isInput = isVuePageRequestInput(PageComponentOrInput);
3719
+ const _PageComponent = isInput ? undefined : PageComponentOrInput;
3720
+ const resolvedHeadTag = isInput ? PageComponentOrInput.headTag ?? "<head></head>" : headTag;
3721
+ const resolvedIndexPath = isInput ? PageComponentOrInput.indexPath : indexPath ?? "";
3722
+ const resolvedOptions = isInput ? PageComponentOrInput : args[1];
3723
+ const resolvedPagePath = isInput ? PageComponentOrInput.pagePath : pagePath ?? "";
3724
+ const maybeProps = isInput ? PageComponentOrInput.props : args[0];
3739
3725
  if (isSsrCacheDirty("vue")) {
3740
3726
  return buildDirtyResponse(resolvedHeadTag, resolvedIndexPath, maybeProps);
3741
3727
  }
@@ -3807,7 +3793,7 @@ var handleVuePageRequest = async (PageComponentOrInput, pagePath, indexPath, hea
3807
3793
  status: 500
3808
3794
  });
3809
3795
  }
3810
- };
3796
+ }
3811
3797
  // src/vue/Island.ts
3812
3798
  import { defineComponent as defineComponent4, h as h4, onServerPrefetch } from "vue";
3813
3799
 
@@ -4121,8 +4107,8 @@ export {
4121
4107
  SuspenseSlot,
4122
4108
  StreamSlot,
4123
4109
  Island,
4124
- Image_default as Image
4110
+ Image
4125
4111
  };
4126
4112
 
4127
- //# debugId=4CE1C4AF4122730964756E2164756E21
4113
+ //# debugId=5168CA9F85CE8A8064756E2164756E21
4128
4114
  //# sourceMappingURL=index.js.map