@askrjs/askr 0.0.92 → 0.0.95

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 (89) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +3 -1
  3. package/dist/{access-DSkccuEI.js → access-d_DCdwqn.js} +3 -0
  4. package/dist/actions/index.d.ts +1 -1
  5. package/dist/actions/index.js +3 -2
  6. package/dist/{activity-DxUcygE5.d.ts → activity-D_5x2HXQ.d.ts} +5 -1
  7. package/dist/{activity-DodHdC0L.js → activity-d4t3CdzK.js} +4 -2
  8. package/dist/benchmark.d.ts +1 -1
  9. package/dist/benchmark.js +8 -8
  10. package/dist/boot/index.d.ts +12 -3
  11. package/dist/boot/index.js +1 -1
  12. package/dist/{boot-D71bjP4r.js → boot-C1wT3Vfs.js} +23 -15
  13. package/dist/{cleanup-DAAhJjx5.js → cleanup-D7uN-Z1s.js} +4 -4
  14. package/dist/{component-cleanup-CJCfu5ed.js → component-cleanup-DYG80yhG.js} +4 -2
  15. package/dist/{component-internal-DlAkCgBE.js → component-internal-D0yE2Ch3.js} +79 -13
  16. package/dist/components/index.d.ts +11 -3
  17. package/dist/components/index.js +5 -2
  18. package/dist/{compose-ref-Cc_YkUpM.js → compose-ref-1Fhs7mbF.js} +13 -0
  19. package/dist/{compose-ref-Cizq72-x.d.ts → compose-ref-DOJHoW5X.d.ts} +3 -0
  20. package/dist/control/index.d.ts +1 -1
  21. package/dist/control/index.js +1 -1
  22. package/dist/{control-Dv540XtV.js → control-C0klPV7Q.js} +9 -5
  23. package/dist/{control-CdzY49Q2.d.ts → control-DdFw-Caz.d.ts} +1 -1
  24. package/dist/{csp-nonce-ByMbWv8s.js → csp-nonce-BVybpV1v.js} +8 -1
  25. package/dist/data/index.d.ts +1 -1
  26. package/dist/data/index.js +3 -3
  27. package/dist/{data-DcikEH9N.js → data-Bm8L6JOm.js} +15 -4
  28. package/dist/{data-runtime-oIdQWnPW.js → data-runtime-JxoRgrrt.js} +2 -0
  29. package/dist/{deferred-B6CafO5u.js → deferred-p8hyanxJ.js} +8 -3
  30. package/dist/{effect-BdZcHblj.js → effect-BdvdgMvV.js} +2 -2
  31. package/dist/{fastlane-B2s24fWt.js → fastlane-DGo7SxBQ.js} +3 -3
  32. package/dist/{for-internal-T1C7jd7x.js → for-internal-DkBwTG4S.js} +5 -5
  33. package/dist/foundations/icon/index.d.ts +14 -2
  34. package/dist/foundations/icon/index.js +8 -0
  35. package/dist/foundations/index.d.ts +2 -2
  36. package/dist/foundations/index.js +1 -1
  37. package/dist/foundations/interactions/index.d.ts +18 -2
  38. package/dist/foundations/interactions/index.js +1 -1
  39. package/dist/foundations/state/index.d.ts +8 -1
  40. package/dist/foundations/state/index.js +7 -1
  41. package/dist/foundations/structures/index.d.ts +2 -2
  42. package/dist/foundations/structures/index.js +1 -1
  43. package/dist/foundations/utilities/index.d.ts +2 -2
  44. package/dist/foundations/utilities/index.js +1 -1
  45. package/dist/fx/index.d.ts +10 -1
  46. package/dist/fx/index.js +7 -1
  47. package/dist/{index-DA3g8lm8.d.ts → index-CTIBOqUB.d.ts} +418 -5
  48. package/dist/{index-BnU0NPwM.d.ts → index-CzH-0LcA.d.ts} +18 -0
  49. package/dist/{index-oswRaMn6.d.ts → index-S2IqSJib.d.ts} +30 -2
  50. package/dist/index.d.ts +3 -4
  51. package/dist/index.js +13 -12
  52. package/dist/{interactions-CWkNEq_C.js → interactions-B4XaFxt1.js} +6 -1
  53. package/dist/{jsx-C3IECePB.js → jsx-DRS-qjiN.js} +2 -0
  54. package/dist/jsx-dev-runtime.d.ts +2 -2
  55. package/dist/jsx-dev-runtime.js +1 -1
  56. package/dist/jsx-runtime-BTzDdBJ_.d.ts +2 -0
  57. package/dist/{jsx-runtime-Cfb2umb4.d.ts → jsx-runtime-Cdd6Gkb0.d.ts} +4 -2
  58. package/dist/jsx-runtime.d.ts +2 -2
  59. package/dist/jsx-runtime.js +1 -1
  60. package/dist/{lifecycle-batch-Cyfd07rf.js → lifecycle-batch-BH0fax4F.js} +2 -2
  61. package/dist/{lifecycle-operations-CQ8fsc94.js → lifecycle-operations-CBzG5PyB.js} +6 -1
  62. package/dist/{manifest-Dv0bO6kg.js → manifest-D6rfj_jC.js} +4 -0
  63. package/dist/{navigate-BbWj-QU-.js → navigate-DChM5m8m.js} +13 -10
  64. package/dist/{navigate-CZHPEUC4.d.ts → navigate-eGm4omPj.d.ts} +6 -1
  65. package/dist/{query-registry-qm13pEdK.js → query-registry-CimB1YeW.js} +11 -1
  66. package/dist/{readable-B99wh5Z_.js → readable-BsdGWsDE.js} +1 -1
  67. package/dist/{renderer-C6jz9nIN.js → renderer-tXX_xj86.js} +10 -37
  68. package/dist/{resolution-B21kmOkp.js → resolution-BQyo7qNn.js} +11 -5
  69. package/dist/{resource-operation-CaAttQqz.js → resource-operation-B62UQKHV.js} +4 -4
  70. package/dist/resources/index.d.ts +15 -2
  71. package/dist/resources/index.js +6 -5
  72. package/dist/router/index.d.ts +46 -4
  73. package/dist/router/index.js +15 -8
  74. package/dist/{selector-BLWwI55m.js → selector-CyK-sDwB.js} +4 -3
  75. package/dist/ssg/index.d.ts +5 -1
  76. package/dist/ssg/index.js +5 -5
  77. package/dist/ssr/index.d.ts +16 -3
  78. package/dist/ssr/index.js +1 -1
  79. package/dist/{ssr-CaZfvQWn.js → ssr-DYcK20IX.js} +18 -10
  80. package/dist/{state-XPZYUzHL.js → state-DmkGM_LN.js} +3 -3
  81. package/dist/{structures-DKjkAmM5.js → structures-CPycoyZj.js} +63 -14
  82. package/dist/testing/index.d.ts +31 -2
  83. package/dist/testing/index.js +23 -5
  84. package/dist/{types-BA9FJtfR.d.ts → types-DkVJhVs9.d.ts} +4 -0
  85. package/dist/{verify-hydration-CcF-HJil.js → verify-hydration-m-wVbYOD.js} +1 -1
  86. package/package.json +1 -1
  87. package/dist/index-2bk8nldG.d.ts +0 -241
  88. package/dist/jsx-runtime-C_0v1pMN.d.ts +0 -2
  89. package/dist/scheduler-CmLO4Dfm.d.ts +0 -65
@@ -1,241 +0,0 @@
1
- //#region src/data/types.d.ts
2
- type QueryConsistency = 'fresh' | 'stale' | 'refreshing' | 'pending-write';
3
- type QueryStaleReason = 'aborted' | 'error' | 'inconsistent';
4
- interface DataRuntime {
5
- readonly queryCache: Map<string, unknown>;
6
- readonly queryData: Map<string, unknown>;
7
- /** Test-only query overrides keyed by the canonical query key. */
8
- readonly queryTestOverrides: Map<string, unknown>;
9
- /** Test-only mutation overrides keyed by the canonical mutation key. */
10
- readonly mutationTestOverrides: Map<string, unknown>;
11
- }
12
- interface DataRuntimeOptions {
13
- queryCache?: Map<string, unknown>;
14
- queryData?: Map<string, unknown>;
15
- queryTestOverrides?: Map<string, unknown>;
16
- mutationTestOverrides?: Map<string, unknown>;
17
- }
18
- interface QueryDefinition<TInput, TResult extends {}> {
19
- readonly key: (input: TInput) => string;
20
- readonly fetch: (context: TInput & {
21
- signal: AbortSignal;
22
- }) => Promise<TResult>;
23
- readonly isConsistent?: (data: TResult) => boolean;
24
- readonly reconcile?: (data: TResult, context: {
25
- key: string;
26
- }) => Promise<boolean> | boolean;
27
- }
28
- interface QueryPrefetchContext {
29
- readonly runtime: DataRuntime;
30
- readonly request?: Request;
31
- readonly signal: AbortSignal;
32
- readonly mode: 'ssr' | 'spa';
33
- prefetch<TInput, TResult extends {}>(query: QueryDefinition<TInput, TResult>, input: TInput): Promise<boolean>;
34
- }
35
- type ServerQueryHandler<TInput, TResult extends {}> = (context: {
36
- input: TInput;
37
- request?: Request;
38
- signal: AbortSignal;
39
- }) => Promise<TResult> | TResult;
40
- interface InvalidateOptions {
41
- markPendingWrite?: boolean;
42
- runtime?: DataRuntime;
43
- }
44
- interface InvalidateOnIntervalOptions extends InvalidateOptions {
45
- intervalMs: number;
46
- activeOn?: string | readonly string[];
47
- visibleOnly?: boolean;
48
- focusedOnly?: boolean;
49
- }
50
- type QueryKeyPart = string | number | boolean | null | undefined | readonly QueryKeyPart[] | {
51
- readonly [key: string]: QueryKeyPart;
52
- };
53
- interface QueryScope {
54
- key(...parts: QueryKeyPart[]): string;
55
- prefix(...parts: QueryKeyPart[]): string;
56
- invalidate(parts: readonly QueryKeyPart[], options?: InvalidateOptions): void;
57
- }
58
- type QueryControls = {
59
- refresh(): Promise<void>;
60
- };
61
- type QueryLoading = {
62
- data: null;
63
- error: null;
64
- loading: true;
65
- refreshing: false;
66
- stale: false;
67
- consistency: 'fresh';
68
- staleReason: null;
69
- };
70
- type QueryFresh<T> = {
71
- data: T;
72
- error: null;
73
- loading: false;
74
- refreshing: false;
75
- stale: false;
76
- consistency: 'fresh';
77
- staleReason: null;
78
- };
79
- type QueryRefreshing<T> = {
80
- data: T;
81
- error: null;
82
- loading: false;
83
- refreshing: true;
84
- stale: true;
85
- consistency: 'refreshing';
86
- staleReason: null;
87
- };
88
- type QueryPendingWrite<T> = {
89
- data: T;
90
- error: null;
91
- loading: false;
92
- refreshing: true;
93
- stale: true;
94
- consistency: 'pending-write';
95
- staleReason: null;
96
- };
97
- type QueryStaleValue<T> = {
98
- data: T;
99
- error: null;
100
- loading: false;
101
- refreshing: false;
102
- stale: true;
103
- consistency: 'stale';
104
- staleReason: 'aborted' | 'inconsistent';
105
- };
106
- type QueryStaleErrorWithValue<T> = {
107
- data: T;
108
- error: {};
109
- loading: false;
110
- refreshing: false;
111
- stale: true;
112
- consistency: 'stale';
113
- staleReason: 'error';
114
- };
115
- type QueryStaleError = {
116
- data: null;
117
- error: {};
118
- loading: false;
119
- refreshing: false;
120
- stale: true;
121
- consistency: 'stale';
122
- staleReason: 'error';
123
- };
124
- type Query<T extends {}> = QueryControls & (QueryLoading | QueryFresh<T> | QueryRefreshing<T> | QueryPendingWrite<T> | QueryStaleValue<T> | QueryStaleErrorWithValue<T> | QueryStaleError);
125
- type MutationControls<TInput, TResult> = {
126
- execute(input: TInput): Promise<TResult>;
127
- abort(): void;
128
- reset(): void;
129
- };
130
- type MutationIdle = {
131
- status: 'idle';
132
- pending: false;
133
- error: null;
134
- result: null;
135
- };
136
- type MutationPending = {
137
- status: 'pending';
138
- pending: true;
139
- error: null;
140
- result: null;
141
- };
142
- type MutationSuccess<TResult> = {
143
- status: 'success';
144
- pending: false;
145
- error: null;
146
- result: TResult;
147
- };
148
- type MutationError = {
149
- status: 'error';
150
- pending: false;
151
- error: {};
152
- result: null;
153
- };
154
- type Mutation<TInput, TResult> = MutationControls<TInput, TResult> & (MutationIdle | MutationPending | MutationSuccess<TResult> | MutationError);
155
- type QueryOptions<T> = {
156
- key: string;
157
- fetch: (ctx: {
158
- signal: AbortSignal;
159
- }) => Promise<T>;
160
- isConsistent?: (data: T) => boolean;
161
- reconcile?: (data: T, ctx: {
162
- key: string;
163
- }) => Promise<boolean> | boolean;
164
- runtime?: DataRuntime;
165
- initialData?: T;
166
- skipInitialFetch?: boolean;
167
- };
168
- type MutationOptions<TInput, TResult> = {
169
- /** Stable identity used by runtime-scoped mutation test overrides. */
170
- key?: string;
171
- action: (input: TInput, ctx: {
172
- signal: AbortSignal;
173
- }) => Promise<TResult>;
174
- affects?: (input: TInput, result: TResult) => string[];
175
- afterSuccess?: 'invalidate';
176
- runtime?: DataRuntime;
177
- };
178
- //#endregion
179
- //#region src/common/telemetry.d.ts
180
- interface TelemetryFields {
181
- requestId?: string;
182
- traceId?: string;
183
- route?: string;
184
- action?: string;
185
- operation?: string;
186
- status?: number;
187
- durationMs?: number;
188
- }
189
- type TelemetrySpan = <T>(fields: TelemetryFields, work: () => T) => T;
190
- /**
191
- * Structural subset implemented by `createTelemetry()` from `@askrjs/otel`.
192
- * Core does not install an OpenTelemetry SDK, backend, or exporter.
193
- */
194
- interface CoreTelemetry {
195
- routeMatch?: TelemetrySpan;
196
- loader?: TelemetrySpan;
197
- queryPrefetch?: TelemetrySpan;
198
- ssrRender?: TelemetrySpan;
199
- }
200
- //#endregion
201
- //#region src/data/mutation-cell.d.ts
202
- declare function createMutation<TInput, TResult>(options: MutationOptions<TInput, TResult>): Mutation<TInput, TResult>;
203
- //#endregion
204
- //#region src/data/query-cell.d.ts
205
- declare function createQuery<T extends {}>(options: QueryOptions<T>): Query<T>;
206
- declare function createQuery<TInput, TResult extends {}>(definition: QueryDefinition<TInput, TResult>, input: TInput, options?: Omit<QueryOptions<TResult>, 'key' | 'fetch'>): Query<TResult>;
207
- //#endregion
208
- //#region src/data/data-runtime.d.ts
209
- declare function createDataRuntime(options?: DataRuntimeOptions): DataRuntime;
210
- declare function getDefaultDataRuntime(): DataRuntime;
211
- //#endregion
212
- //#region src/data/invalidation.d.ts
213
- declare function invalidate(prefix: string, options?: InvalidateOptions): void;
214
- declare function queryScope(namespace: string): QueryScope;
215
- declare function invalidateOnInterval(prefix: string, options: InvalidateOnIntervalOptions): void;
216
- //#endregion
217
- //#region src/data/query-registry.d.ts
218
- interface ServerQueryRegistry {
219
- readonly entries: readonly ServerQueryEntry<unknown, {}>[];
220
- get<TInput, TResult extends {}>(query: QueryDefinition<TInput, TResult>): ServerQueryHandler<TInput, TResult> | undefined;
221
- }
222
- interface ServerQueryEntry<TInput, TResult extends {}> {
223
- readonly query: QueryDefinition<TInput, TResult>;
224
- readonly handler: ServerQueryHandler<TInput, TResult>;
225
- }
226
- declare function serveQuery<TInput, TResult extends {}>(query: QueryDefinition<TInput, TResult>, handler: ServerQueryHandler<TInput, TResult>): ServerQueryEntry<TInput, TResult>;
227
- declare function defineServerQueries(...entries: readonly ServerQueryEntry<any, any>[]): ServerQueryRegistry;
228
- declare function defineQuery<TInput, TResult extends {}>(definition: QueryDefinition<TInput, TResult>): QueryDefinition<TInput, TResult>;
229
- declare function createQueryPrefetchContext(options?: {
230
- runtime?: DataRuntime;
231
- registry?: ServerQueryRegistry;
232
- request?: Request;
233
- signal?: AbortSignal;
234
- mode?: 'ssr' | 'spa';
235
- telemetry?: CoreTelemetry;
236
- }): QueryPrefetchContext;
237
- declare function prefetchQuery<TInput, TResult extends {}>(context: QueryPrefetchContext, query: QueryDefinition<TInput, TResult>, input: TInput): Promise<boolean>;
238
- declare function dehydrateDataRuntime(runtime: DataRuntime): Record<string, unknown>;
239
- declare function hydrateDataRuntime(runtime: DataRuntime, data: unknown): void;
240
- //#endregion
241
- export { QueryStaleReason as A, MutationOptions as C, QueryKeyPart as D, QueryDefinition as E, QueryPrefetchContext as O, Mutation as S, QueryConsistency as T, CoreTelemetry as _, defineServerQueries as a, InvalidateOnIntervalOptions as b, prefetchQuery as c, invalidateOnInterval as d, queryScope as f, createMutation as g, createQuery as h, defineQuery as i, ServerQueryHandler as j, QueryScope as k, serveQuery as l, getDefaultDataRuntime as m, ServerQueryRegistry as n, dehydrateDataRuntime as o, createDataRuntime as p, createQueryPrefetchContext as r, hydrateDataRuntime as s, ServerQueryEntry as t, invalidate as u, DataRuntime as v, Query as w, InvalidateOptions as x, DataRuntimeOptions as y };
@@ -1,2 +0,0 @@
1
- import "./types-BA9FJtfR.js";
2
- import "./jsx-runtime-Cfb2umb4.js";
@@ -1,65 +0,0 @@
1
- //#region src/runtime/scheduler.d.ts
2
- /**
3
- * Serialized update scheduler — safer design (no inline execution, explicit flush)
4
- *
5
- * Key ideas:
6
- * - Never execute a task inline from `enqueue`.
7
- * - `flush()` is explicit and non-reentrant.
8
- * - `runWithSyncProgress()` allows enqueues temporarily but does not run tasks
9
- * inline; it runs `fn` and then does an explicit `flush()`.
10
- * - `waitForFlush()` is race-free with a monotonic `flushVersion`.
11
- */
12
- type Task = () => void;
13
- type SchedulerLane = 'derived' | 'component' | 'reactive' | 'post';
14
- type SchedulerBulkCommitProbe = () => boolean;
15
- declare class Scheduler {
16
- private bulkCommitProbe;
17
- private lanes;
18
- private running;
19
- private inHandler;
20
- private depth;
21
- private executionDepth;
22
- private flushVersion;
23
- private kickScheduled;
24
- private allowSyncProgress;
25
- private waiters;
26
- private taskCount;
27
- setBulkCommitProbe(probe: SchedulerBulkCommitProbe): void;
28
- private isBulkCommitActive;
29
- private hasPendingTasks;
30
- private getPendingTaskCount;
31
- private compactLane;
32
- private scheduleFlushKick;
33
- enqueue(task: Task): void;
34
- enqueueInLane(lane: SchedulerLane, task: Task): void;
35
- flush(): void;
36
- runWithSyncProgress<T>(fn: () => T): T;
37
- waitForFlush(targetVersion?: number, timeoutMs?: number): Promise<void>;
38
- getState(): {
39
- queueLength: number;
40
- running: boolean;
41
- depth: number;
42
- executionDepth: number;
43
- taskCount: number;
44
- flushVersion: number;
45
- laneQueues: {
46
- derived: number;
47
- component: number;
48
- reactive: number;
49
- post: number;
50
- };
51
- inHandler: boolean;
52
- allowSyncProgress: boolean;
53
- };
54
- getFlushVersion(): number;
55
- flushIfQueued(): void;
56
- runInHandlerScope<T>(fn: () => T, flushMode?: 'defer' | 'sync'): T;
57
- setInHandler(v: boolean): void;
58
- isInHandler(): boolean;
59
- isExecuting(): boolean;
60
- clearPendingSyncTasks(): number;
61
- private resolveWaiters;
62
- }
63
- declare function scheduleEventHandler(handler: EventListener): EventListener;
64
- //#endregion
65
- export { scheduleEventHandler as n, Scheduler as t };