@absolutejs/absolute 0.19.0-beta.1115 → 0.19.0-beta.1117

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 (91) hide show
  1. package/dist/angular/browser.js +53 -47
  2. package/dist/angular/browser.js.map +5 -5
  3. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  4. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  5. package/dist/angular/hmrPreserveCore.ts +73 -34
  6. package/dist/angular/index.js +63 -58
  7. package/dist/angular/index.js.map +10 -10
  8. package/dist/angular/server.js +20 -38
  9. package/dist/angular/server.js.map +8 -8
  10. package/dist/build.js +601 -547
  11. package/dist/build.js.map +32 -32
  12. package/dist/cli/config/client.js +8 -8
  13. package/dist/cli/config/server.js +87 -75
  14. package/dist/cli/index.js +975 -794
  15. package/dist/client/index.js +1 -19
  16. package/dist/client/index.js.map +3 -3
  17. package/dist/core/streamingSlotRegistrar.js +1 -19
  18. package/dist/core/streamingSlotRegistrar.js.map +2 -2
  19. package/dist/core/streamingSlotRegistry.js +1 -19
  20. package/dist/core/streamingSlotRegistry.js.map +2 -2
  21. package/dist/dev/client/errorOverlay.ts +11 -10
  22. package/dist/dev/client/handlers/angularHmrShim.ts +6 -6
  23. package/dist/dev/client/handlers/angularRemount.ts +64 -44
  24. package/dist/dev/client/hmrClient.ts +31 -26
  25. package/dist/dev/client/hmrToast.ts +2 -4
  26. package/dist/dev/serverBootstrap.js +36 -0
  27. package/dist/index.js +742 -615
  28. package/dist/index.js.map +39 -38
  29. package/dist/islands/browser.js +1 -19
  30. package/dist/islands/browser.js.map +2 -2
  31. package/dist/islands/index.js +1 -19
  32. package/dist/islands/index.js.map +3 -3
  33. package/dist/react/browser.js +1 -19
  34. package/dist/react/browser.js.map +2 -2
  35. package/dist/react/components/index.js +1 -19
  36. package/dist/react/components/index.js.map +2 -2
  37. package/dist/react/hooks/index.js +1 -19
  38. package/dist/react/hooks/index.js.map +2 -2
  39. package/dist/react/index.js +15 -37
  40. package/dist/react/index.js.map +7 -7
  41. package/dist/react/jsxDevRuntimeCompat.js +1 -19
  42. package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
  43. package/dist/react/router/browser.js +1 -19
  44. package/dist/react/router/browser.js.map +2 -2
  45. package/dist/react/router/index.js +1 -19
  46. package/dist/react/router/index.js.map +2 -2
  47. package/dist/react/server.js +15 -37
  48. package/dist/react/server.js.map +6 -6
  49. package/dist/src/angular/hmrPreserveCore.d.ts +2 -2
  50. package/dist/src/cli/config/absolute/resolveAbsoluteConfig.d.ts +1 -1
  51. package/dist/src/cli/config/auth/resolveAuthSettings.d.ts +1 -1
  52. package/dist/src/cli/config/packageJson/resolvePackageJson.d.ts +1 -2
  53. package/dist/src/cli/config/schema/fromType.d.ts +1 -2
  54. package/dist/src/cli/config/server.d.ts +2 -2
  55. package/dist/src/cli/scripts/lintProof.d.ts +34 -0
  56. package/dist/src/core/build.d.ts +3 -2
  57. package/dist/src/core/prepare.d.ts +1 -0
  58. package/dist/src/dev/angular/fastHmrCompiler.d.ts +4 -2
  59. package/dist/src/dev/serverBootstrap.d.ts +1 -0
  60. package/dist/src/dev/serverEntryWatcher.d.ts +3 -3
  61. package/dist/src/dev/webSocket.d.ts +1 -1
  62. package/dist/src/plugins/hmr.d.ts +1 -0
  63. package/dist/src/svelte/router/matchPath.d.ts +2 -2
  64. package/dist/src/utils/defineConvention.d.ts +2 -2
  65. package/dist/src/utils/inlinePageCss.d.ts +1 -1
  66. package/dist/src/utils/isTestSourcePath.d.ts +1 -0
  67. package/dist/svelte/browser.js +1 -19
  68. package/dist/svelte/browser.js.map +2 -2
  69. package/dist/svelte/index.js +15 -36
  70. package/dist/svelte/index.js.map +8 -8
  71. package/dist/svelte/router/Link.svelte.d.ts +3 -3
  72. package/dist/svelte/router/Route.svelte.d.ts +5 -5
  73. package/dist/svelte/router/Router.svelte.d.ts +3 -3
  74. package/dist/svelte/router/matchPath.ts +25 -20
  75. package/dist/svelte/router/prefetchCache.ts +6 -4
  76. package/dist/svelte/router/viewTransitions.ts +22 -12
  77. package/dist/svelte/server.js +15 -36
  78. package/dist/svelte/server.js.map +7 -7
  79. package/dist/types/angular.d.ts +1 -1
  80. package/dist/types/globals.d.ts +5 -0
  81. package/dist/vue/browser.js +1 -19
  82. package/dist/vue/browser.js.map +2 -2
  83. package/dist/vue/components/Image.js +1 -19
  84. package/dist/vue/components/Image.js.map +2 -2
  85. package/dist/vue/components/index.js +1 -19
  86. package/dist/vue/components/index.js.map +2 -2
  87. package/dist/vue/index.js +41 -55
  88. package/dist/vue/index.js.map +10 -10
  89. package/dist/vue/server.js +32 -48
  90. package/dist/vue/server.js.map +8 -8
  91. package/package.json +90 -31
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-uttBnC/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-sa3gyt/src/core/streamingSlotRegistrar.ts
5
5
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
6
6
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
7
7
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-uttBnC/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-sa3gyt/src/core/streamingSlotRegistrar.ts
5
5
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
6
6
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
7
7
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -48,7 +48,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
48
48
  getWarningController()?.maybeWarn(primitiveName);
49
49
  };
50
50
 
51
- // .angular-partial-tmp-uttBnC/src/core/streamingSlotRegistry.ts
51
+ // .angular-partial-tmp-sa3gyt/src/core/streamingSlotRegistry.ts
52
52
  var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
53
53
  var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
54
54
  var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
@@ -16,13 +16,15 @@ export type InstanceKeyMap = WeakMap<object, string>;
16
16
  export type RebootFlag = { value: boolean };
17
17
  export type RebootStats = { captured: number; restoredKeys: Set<string> };
18
18
 
19
- type PreserveScope = typeof globalThis & {
20
- __ABS_HMR_INSTANCE_STATE__?: StateCache;
21
- __ABS_HMR_TRACKED_INSTANCES__?: InstanceTracker;
22
- __ABS_HMR_INSTANCE_KEYS__?: InstanceKeyMap;
23
- __ABS_HMR_REBOOT_IN_PROGRESS__?: RebootFlag;
24
- __ABS_HMR_REBOOT_STATS__?: RebootStats;
25
- };
19
+ const isRebootFlag = (value: unknown): value is RebootFlag =>
20
+ typeof value === 'object' &&
21
+ value !== null &&
22
+ typeof Reflect.get(value, 'value') === 'boolean';
23
+ const isRebootStats = (value: unknown): value is RebootStats =>
24
+ typeof value === 'object' &&
25
+ value !== null &&
26
+ typeof Reflect.get(value, 'captured') === 'number' &&
27
+ Reflect.get(value, 'restoredKeys') instanceof Set;
26
28
 
27
29
  export const buildCacheKey = (instance: object, key?: unknown) => {
28
30
  const className = instance.constructor?.name;
@@ -66,7 +68,7 @@ export const captureTrackedInstanceStates = () => {
66
68
 
67
69
  const props: Record<string, unknown> = {};
68
70
  for (const prop of Object.keys(instance)) {
69
- const value = (instance as Record<string, unknown>)[prop];
71
+ const value = Reflect.get(instance, prop);
70
72
  if (isPreservable(value)) props[prop] = value;
71
73
  }
72
74
  cache.set(fullKey, props);
@@ -91,7 +93,7 @@ export const endHmrReboot = () => {
91
93
  const stats = getRebootStats();
92
94
  if (stats.captured > 0) {
93
95
  const restored = Array.from(stats.restoredKeys)
94
- .map((k) => k.replace(/:$/, ''))
96
+ .map((cacheKey) => cacheKey.replace(/:$/, ''))
95
97
  .sort();
96
98
  console.info(
97
99
  `[HMR] Full re-bootstrap: restored state for ${restored.length}/${stats.captured} tracked instance(s)${
@@ -101,32 +103,62 @@ export const endHmrReboot = () => {
101
103
  }
102
104
  };
103
105
  export const getCache = () => {
104
- const scope = globalThis as PreserveScope;
105
-
106
- return (scope.__ABS_HMR_INSTANCE_STATE__ ??= new Map());
106
+ const current: unknown = Reflect.get(
107
+ globalThis,
108
+ '__ABS_HMR_INSTANCE_STATE__'
109
+ );
110
+ if (current instanceof Map) return current;
111
+ const cache: StateCache = new Map();
112
+ Reflect.set(globalThis, '__ABS_HMR_INSTANCE_STATE__', cache);
113
+
114
+ return cache;
107
115
  };
108
116
  export const getKeyMap = () => {
109
- const scope = globalThis as PreserveScope;
110
-
111
- return (scope.__ABS_HMR_INSTANCE_KEYS__ ??= new WeakMap());
117
+ const current: unknown = Reflect.get(
118
+ globalThis,
119
+ '__ABS_HMR_INSTANCE_KEYS__'
120
+ );
121
+ if (current instanceof WeakMap) return current;
122
+ const keyMap: InstanceKeyMap = new WeakMap();
123
+ Reflect.set(globalThis, '__ABS_HMR_INSTANCE_KEYS__', keyMap);
124
+
125
+ return keyMap;
112
126
  };
113
127
  export const getRebootFlag = () => {
114
- const scope = globalThis as PreserveScope;
115
-
116
- return (scope.__ABS_HMR_REBOOT_IN_PROGRESS__ ??= { value: false });
128
+ const current: unknown = Reflect.get(
129
+ globalThis,
130
+ '__ABS_HMR_REBOOT_IN_PROGRESS__'
131
+ );
132
+ if (isRebootFlag(current)) return current;
133
+ const flag: RebootFlag = { value: false };
134
+ Reflect.set(globalThis, '__ABS_HMR_REBOOT_IN_PROGRESS__', flag);
135
+
136
+ return flag;
117
137
  };
118
138
  export const getRebootStats = () => {
119
- const scope = globalThis as PreserveScope;
120
-
121
- return (scope.__ABS_HMR_REBOOT_STATS__ ??= {
139
+ const current: unknown = Reflect.get(
140
+ globalThis,
141
+ '__ABS_HMR_REBOOT_STATS__'
142
+ );
143
+ if (isRebootStats(current)) return current;
144
+ const stats: RebootStats = {
122
145
  captured: 0,
123
146
  restoredKeys: new Set()
124
- });
147
+ };
148
+ Reflect.set(globalThis, '__ABS_HMR_REBOOT_STATS__', stats);
149
+
150
+ return stats;
125
151
  };
126
152
  export const getTracker = () => {
127
- const scope = globalThis as PreserveScope;
128
-
129
- return (scope.__ABS_HMR_TRACKED_INSTANCES__ ??= new Set());
153
+ const current: unknown = Reflect.get(
154
+ globalThis,
155
+ '__ABS_HMR_TRACKED_INSTANCES__'
156
+ );
157
+ if (current instanceof Set) return current;
158
+ const tracker: InstanceTracker = new Set();
159
+ Reflect.set(globalThis, '__ABS_HMR_TRACKED_INSTANCES__', tracker);
160
+
161
+ return tracker;
130
162
  };
131
163
  export const isHmrPreserveDev = () => {
132
164
  // SSR safety: globalThis on the server is process-wide and shared
@@ -135,29 +167,36 @@ export const isHmrPreserveDev = () => {
135
167
  // presence of a browser `window` *and* a dev signal — neither is
136
168
  // true in a production build, so this is a hard no-op there too.
137
169
  if (typeof window === 'undefined') return false;
138
- const scope = globalThis as { __DEV__?: unknown; ngDevMode?: unknown };
139
170
 
140
- return Boolean(scope.__DEV__) || Boolean(scope.ngDevMode);
171
+ return (
172
+ Boolean(Reflect.get(globalThis, '__DEV__')) ||
173
+ Boolean(Reflect.get(globalThis, 'ngDevMode'))
174
+ );
141
175
  };
142
176
  export const isPreservable = (value: unknown, depth = 0): boolean => {
143
177
  if (depth > 8) return false;
144
178
  if (value === null || value === undefined) return true;
145
- const t = typeof value;
146
- if (t === 'string' || t === 'number' || t === 'boolean' || t === 'bigint')
179
+ const valueType = typeof value;
180
+ if (
181
+ valueType === 'string' ||
182
+ valueType === 'number' ||
183
+ valueType === 'boolean' ||
184
+ valueType === 'bigint'
185
+ )
147
186
  return true;
148
- if (t === 'function' || t === 'symbol') return false;
187
+ if (valueType === 'function' || valueType === 'symbol') return false;
149
188
  if (Array.isArray(value)) {
150
189
  return value.every((item) => isPreservable(item, depth + 1));
151
190
  }
152
- if (t === 'object') {
191
+ if (valueType === 'object') {
153
192
  const proto = Object.getPrototypeOf(value);
154
193
  // Only POJOs — class instances (HttpClient, BehaviorSubject, Date,
155
194
  // Map, etc.) carry runtime identity that the new instance must
156
195
  // get from its own injector / construction.
157
196
  if (proto !== Object.prototype && proto !== null) return false;
158
197
 
159
- return Object.values(value as object).every((v) =>
160
- isPreservable(v, depth + 1)
198
+ return Object.values(value).every((nestedValue) =>
199
+ isPreservable(nestedValue, depth + 1)
161
200
  );
162
201
  }
163
202
 
@@ -170,7 +209,7 @@ export const restoreFromCacheCore = (instance: object, key: string) => {
170
209
 
171
210
  for (const [prop, value] of Object.entries(stored)) {
172
211
  try {
173
- (instance as Record<string, unknown>)[prop] = value;
212
+ Reflect.set(instance, prop, value);
174
213
  } catch {
175
214
  /* property is non-writable / has a setter that threw — skip */
176
215
  }
@@ -3,7 +3,6 @@ var __create = Object.create;
3
3
  var __getProtoOf = Object.getPrototypeOf;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
7
  function __accessProp(key) {
9
8
  return this[key];
@@ -30,23 +29,6 @@ var __toESM = (mod, isNodeMode, target) => {
30
29
  cache.set(mod, to);
31
30
  return to;
32
31
  };
33
- var __toCommonJS = (from) => {
34
- var entry = (__moduleCache ??= new WeakMap).get(from), desc;
35
- if (entry)
36
- return entry;
37
- entry = __defProp({}, "__esModule", { value: true });
38
- if (from && typeof from === "object" || typeof from === "function") {
39
- for (var key of __getOwnPropNames(from))
40
- if (!__hasOwnProp.call(entry, key))
41
- __defProp(entry, key, {
42
- get: __accessProp.bind(from, key),
43
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
44
- });
45
- }
46
- __moduleCache.set(from, entry);
47
- return entry;
48
- };
49
- var __moduleCache;
50
32
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
51
33
  var __returnValue = (v) => v;
52
34
  function __exportSetter(name, newValue) {
@@ -247,8 +229,8 @@ var CONVENTIONS_KEY = "__absoluteConventions", isConventionsMap = (value) => Boo
247
229
  }, isDev = () => true, buildErrorProps = (error) => {
248
230
  if (error instanceof Error) {
249
231
  return {
250
- name: error.name,
251
232
  message: error.message,
233
+ name: error.name,
252
234
  ...isDev() && error.stack ? { stack: error.stack } : {}
253
235
  };
254
236
  }
@@ -332,7 +314,7 @@ var CONVENTIONS_KEY = "__absoluteConventions", isConventionsMap = (value) => Boo
332
314
  let conventionPath = resolveErrorConventionPath(framework, pageName);
333
315
  if (!conventionPath && error instanceof Error && error.stack) {
334
316
  for (const match of error.stack.matchAll(/^\s*at\s+([A-Za-z_$][\w$]*)/gm)) {
335
- const candidate = match[1];
317
+ const [, candidate] = match;
336
318
  if (!candidate)
337
319
  continue;
338
320
  conventionPath = resolveErrorConventionPath(framework, candidate);
@@ -807,9 +789,9 @@ var init_angularDeps = __esm(() => {
807
789
  import { basename as basename2 } from "path";
808
790
  var SPA_ROUTES_KEY = "__absoluteSpaRoutes", setSpaRouteManifest = (hosts) => {
809
791
  Reflect.set(globalThis, SPA_ROUTES_KEY, hosts);
810
- }, getSpaRouteManifest = () => {
792
+ }, isRuntimeSpaHost = (value) => typeof value === "object" && value !== null && typeof Reflect.get(value, "framework") === "string", getSpaRouteManifest = () => {
811
793
  const value = Reflect.get(globalThis, SPA_ROUTES_KEY);
812
- return Array.isArray(value) ? value : [];
794
+ return Array.isArray(value) ? value.filter(isRuntimeSpaHost) : [];
813
795
  }, normalizePath = (path) => {
814
796
  const withLeadingSlash = path.startsWith("/") ? path : `/${path}`;
815
797
  const trimmed = withLeadingSlash.replace(/\/+$/, "");
@@ -3021,22 +3003,20 @@ __export(exports_devRouteRegistrationCallsite, {
3021
3003
  });
3022
3004
  import { AsyncLocalStorage } from "async_hooks";
3023
3005
  import { Elysia } from "elysia";
3024
- var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES, PAGE_HANDLER_NAMES, pageHandlerWrappers, handlerSourceMentionsPageHelper = (handler) => {
3006
+ var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES, PAGE_HANDLER_NAMES, pageHandlerWrappers, isPageHandlerFunction = (value) => typeof value === "function", handlerSourceMentionsPageHelper = (handler) => {
3025
3007
  const source = handler.toString();
3026
3008
  return PAGE_HANDLER_NAMES.some((name) => source.includes(name));
3027
3009
  }, getOriginalPageHandlerSource = (handler) => {
3028
- if (typeof handler !== "function")
3010
+ if (!isPageHandlerFunction(handler))
3029
3011
  return;
3030
- const fn = handler;
3031
- const info = pageHandlerWrappers.get(fn);
3032
- return (info?.originalHandler ?? fn).toString();
3012
+ const info = pageHandlerWrappers.get(handler);
3013
+ return (info?.originalHandler ?? handler).toString();
3033
3014
  }, isPageHandler = (handler) => {
3034
- if (typeof handler !== "function")
3015
+ if (!isPageHandlerFunction(handler))
3035
3016
  return false;
3036
- const fn = handler;
3037
- if (pageHandlerWrappers.has(fn))
3017
+ if (pageHandlerWrappers.has(handler))
3038
3018
  return true;
3039
- return handlerSourceMentionsPageHelper(fn);
3019
+ return handlerSourceMentionsPageHelper(handler);
3040
3020
  }, isObjectRecord3 = (value) => Boolean(value) && typeof value === "object", isAsyncLocalStorage2 = (value) => isObjectRecord3(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function", isRouteMethod = (value) => typeof value === "function", getRouteCallsiteStorage = () => {
3041
3021
  const value = Reflect.get(globalThis, ROUTE_CALLSITE_STORAGE_KEY);
3042
3022
  if (value === null || typeof value === "undefined") {
@@ -3073,7 +3053,7 @@ var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, ROUTE_METHOD_NAMES,
3073
3053
  }, createPatchedRouteMethod = (originalMethod, methodName) => function patchedRouteMethod(path, handler, ...rest) {
3074
3054
  const callsite = captureRouteRegistrationCallsite();
3075
3055
  const wrapped = wrapRouteHandlerWithCallsite(handler, callsite);
3076
- if (methodName === "get" && typeof handler === "function" && typeof wrapped === "function" && handlerSourceMentionsPageHelper(handler)) {
3056
+ if (methodName === "get" && isPageHandlerFunction(handler) && isPageHandlerFunction(wrapped) && handlerSourceMentionsPageHelper(handler)) {
3077
3057
  pageHandlerWrappers.set(wrapped, {
3078
3058
  originalHandler: handler
3079
3059
  });
@@ -15514,20 +15494,23 @@ var runWithStreamingSlotWarningScope = (task, metadata) => ensureWarningStorage(
15514
15494
 
15515
15495
  // src/angular/pageHandler.ts
15516
15496
  init_ssrRender();
15517
- var lastSelector = "angular-page";
15518
15497
  var isRecord5 = (value) => typeof value === "object" && value !== null;
15519
15498
  var isAngularComponent2 = (value) => typeof value === "function";
15520
15499
  var componentHostsRouterOutlet = (component) => {
15521
15500
  const componentDef = Reflect.get(component, "\u0275cmp");
15522
- if (!componentDef)
15501
+ if (!isRecord5(componentDef))
15523
15502
  return false;
15524
15503
  const rawDependencies = componentDef.dependencies;
15525
- const dependencies = typeof rawDependencies === "function" ? rawDependencies() : rawDependencies;
15504
+ const dependencies = typeof rawDependencies === "function" ? Reflect.apply(rawDependencies, undefined, []) : rawDependencies;
15526
15505
  if (!Array.isArray(dependencies))
15527
15506
  return false;
15528
15507
  return dependencies.some((dependency) => {
15508
+ if (dependency === null || typeof dependency !== "object" && typeof dependency !== "function")
15509
+ return false;
15529
15510
  const directiveDef = Reflect.get(dependency, "\u0275dir") ?? dependency;
15530
- const selectors = directiveDef?.selectors;
15511
+ if (!isRecord5(directiveDef))
15512
+ return false;
15513
+ const { selectors } = directiveDef;
15531
15514
  return Array.isArray(selectors) && JSON.stringify(selectors).includes("router-outlet");
15532
15515
  });
15533
15516
  };
@@ -15675,7 +15658,6 @@ var handleAngularPageRequest = async (input) => {
15675
15658
  const usesLegacyAnimations = pageModule.__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ === true;
15676
15659
  const deps = baseDeps;
15677
15660
  const selector = resolveSelector(deps, resolvedPagePath, PageComponent);
15678
- lastSelector = selector;
15679
15661
  const htmlString = `<!DOCTYPE html><html>${resolvedHeadTag}<body><${selector}></${selector}></body></html>`;
15680
15662
  resetSsrSanitizer();
15681
15663
  const sanitizer = getSsrSanitizer(deps);
@@ -15716,6 +15698,7 @@ import { inject, REQUEST_CONTEXT } from "@angular/core";
15716
15698
  var usePageContext = () => inject(REQUEST_CONTEXT);
15717
15699
  // src/angular/composables/useResource.ts
15718
15700
  import { DestroyRef, inject as inject2, signal } from "@angular/core";
15701
+ var isMutatorFunction = (mutator) => typeof mutator === "function";
15719
15702
  var useResource = (fetcher, options = {}) => {
15720
15703
  const destroyRef = inject2(DestroyRef);
15721
15704
  const start = options.start ?? "immediate";
@@ -15730,6 +15713,12 @@ var useResource = (fetcher, options = {}) => {
15730
15713
  controller = null;
15731
15714
  }
15732
15715
  };
15716
+ const finishRefresh = (next) => {
15717
+ if (controller === next)
15718
+ controller = null;
15719
+ if (!next.signal.aborted)
15720
+ loading.set(false);
15721
+ };
15733
15722
  const refresh = async () => {
15734
15723
  if (destroyed)
15735
15724
  return;
@@ -15748,12 +15737,7 @@ var useResource = (fetcher, options = {}) => {
15748
15737
  return;
15749
15738
  error.set(cause);
15750
15739
  } finally {
15751
- if (controller === next) {
15752
- controller = null;
15753
- }
15754
- if (!next.signal.aborted) {
15755
- loading.set(false);
15756
- }
15740
+ finishRefresh(next);
15757
15741
  }
15758
15742
  };
15759
15743
  const mutate = (next) => {
@@ -15762,7 +15746,7 @@ var useResource = (fetcher, options = {}) => {
15762
15746
  cancel();
15763
15747
  error.set(null);
15764
15748
  loading.set(false);
15765
- const resolved = typeof next === "function" ? next(data()) : next;
15749
+ const resolved = isMutatorFunction(next) ? next(data()) : next;
15766
15750
  data.set(resolved);
15767
15751
  };
15768
15752
  destroyRef.onDestroy(() => {
@@ -15828,6 +15812,8 @@ var useTimers = () => {
15828
15812
  import { ChangeDetectorRef, inject as inject5 } from "@angular/core";
15829
15813
 
15830
15814
  // src/angular/hmrPreserveCore.ts
15815
+ var isRebootFlag = (value) => typeof value === "object" && value !== null && typeof Reflect.get(value, "value") === "boolean";
15816
+ var isRebootStats = (value) => typeof value === "object" && value !== null && typeof Reflect.get(value, "captured") === "number" && Reflect.get(value, "restoredKeys") instanceof Set;
15831
15817
  var buildCacheKey = (instance, key) => {
15832
15818
  const className = instance.constructor?.name;
15833
15819
  if (!className || className === "Object")
@@ -15836,33 +15822,52 @@ var buildCacheKey = (instance, key) => {
15836
15822
  return `${className}:${suffix}`;
15837
15823
  };
15838
15824
  var getCache = () => {
15839
- const scope = globalThis;
15840
- return scope.__ABS_HMR_INSTANCE_STATE__ ??= new Map;
15825
+ const current = Reflect.get(globalThis, "__ABS_HMR_INSTANCE_STATE__");
15826
+ if (current instanceof Map)
15827
+ return current;
15828
+ const cache = new Map;
15829
+ Reflect.set(globalThis, "__ABS_HMR_INSTANCE_STATE__", cache);
15830
+ return cache;
15841
15831
  };
15842
15832
  var getKeyMap = () => {
15843
- const scope = globalThis;
15844
- return scope.__ABS_HMR_INSTANCE_KEYS__ ??= new WeakMap;
15833
+ const current = Reflect.get(globalThis, "__ABS_HMR_INSTANCE_KEYS__");
15834
+ if (current instanceof WeakMap)
15835
+ return current;
15836
+ const keyMap = new WeakMap;
15837
+ Reflect.set(globalThis, "__ABS_HMR_INSTANCE_KEYS__", keyMap);
15838
+ return keyMap;
15845
15839
  };
15846
15840
  var getRebootFlag = () => {
15847
- const scope = globalThis;
15848
- return scope.__ABS_HMR_REBOOT_IN_PROGRESS__ ??= { value: false };
15841
+ const current = Reflect.get(globalThis, "__ABS_HMR_REBOOT_IN_PROGRESS__");
15842
+ if (isRebootFlag(current))
15843
+ return current;
15844
+ const flag = { value: false };
15845
+ Reflect.set(globalThis, "__ABS_HMR_REBOOT_IN_PROGRESS__", flag);
15846
+ return flag;
15849
15847
  };
15850
15848
  var getRebootStats = () => {
15851
- const scope = globalThis;
15852
- return scope.__ABS_HMR_REBOOT_STATS__ ??= {
15849
+ const current = Reflect.get(globalThis, "__ABS_HMR_REBOOT_STATS__");
15850
+ if (isRebootStats(current))
15851
+ return current;
15852
+ const stats = {
15853
15853
  captured: 0,
15854
15854
  restoredKeys: new Set
15855
15855
  };
15856
+ Reflect.set(globalThis, "__ABS_HMR_REBOOT_STATS__", stats);
15857
+ return stats;
15856
15858
  };
15857
15859
  var getTracker = () => {
15858
- const scope = globalThis;
15859
- return scope.__ABS_HMR_TRACKED_INSTANCES__ ??= new Set;
15860
+ const current = Reflect.get(globalThis, "__ABS_HMR_TRACKED_INSTANCES__");
15861
+ if (current instanceof Set)
15862
+ return current;
15863
+ const tracker = new Set;
15864
+ Reflect.set(globalThis, "__ABS_HMR_TRACKED_INSTANCES__", tracker);
15865
+ return tracker;
15860
15866
  };
15861
15867
  var isHmrPreserveDev = () => {
15862
15868
  if (typeof window === "undefined")
15863
15869
  return false;
15864
- const scope = globalThis;
15865
- return Boolean(scope.__DEV__) || Boolean(scope.ngDevMode);
15870
+ return Boolean(Reflect.get(globalThis, "__DEV__")) || Boolean(Reflect.get(globalThis, "ngDevMode"));
15866
15871
  };
15867
15872
  var restoreFromCacheCore = (instance, key) => {
15868
15873
  const cache = getCache();
@@ -15871,7 +15876,7 @@ var restoreFromCacheCore = (instance, key) => {
15871
15876
  return false;
15872
15877
  for (const [prop, value] of Object.entries(stored)) {
15873
15878
  try {
15874
- instance[prop] = value;
15879
+ Reflect.set(instance, prop, value);
15875
15880
  } catch {}
15876
15881
  }
15877
15882
  getRebootStats().restoredKeys.add(key);
@@ -16228,5 +16233,5 @@ export {
16228
16233
  ABSOLUTE_HTTP_TRANSFER_CACHE_SKIP_HEADER
16229
16234
  };
16230
16235
 
16231
- //# debugId=0B08A2C1DE7AD36664756E2164756E21
16236
+ //# debugId=69C42B412D420B9964756E2164756E21
16232
16237
  //# sourceMappingURL=index.js.map