@treygrr/nuxt-airplane 0.0.0-stage → 0.1.2

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 (35) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +179 -2
  3. package/dist/module.d.mts +41 -0
  4. package/dist/module.json +12 -0
  5. package/dist/module.mjs +316 -0
  6. package/dist/runtime/client.d.ts +230 -0
  7. package/dist/runtime/client.js +361 -0
  8. package/dist/runtime/composables/defineAirplaneRequest.d.ts +7 -0
  9. package/dist/runtime/composables/defineAirplaneRequest.js +4 -0
  10. package/dist/runtime/composables/defineAirplaneStores.d.ts +8 -0
  11. package/dist/runtime/composables/defineAirplaneStores.js +4 -0
  12. package/dist/runtime/composables/defineMutationHandler.d.ts +6 -0
  13. package/dist/runtime/composables/defineMutationHandler.js +4 -0
  14. package/dist/runtime/composables/defineMutationHandlers.d.ts +6 -0
  15. package/dist/runtime/composables/defineMutationHandlers.js +4 -0
  16. package/dist/runtime/composables/defineQueryHandler.d.ts +6 -0
  17. package/dist/runtime/composables/defineQueryHandler.js +4 -0
  18. package/dist/runtime/composables/defineQueryHandlers.d.ts +6 -0
  19. package/dist/runtime/composables/defineQueryHandlers.js +4 -0
  20. package/dist/runtime/composables/useAirplane.d.ts +3 -0
  21. package/dist/runtime/composables/useAirplane.js +4 -0
  22. package/dist/runtime/composables/useMutation.d.ts +14 -0
  23. package/dist/runtime/composables/useMutation.js +21 -0
  24. package/dist/runtime/composables/useQuery.d.ts +19 -0
  25. package/dist/runtime/composables/useQuery.js +63 -0
  26. package/dist/runtime/composables/useSync.d.ts +37 -0
  27. package/dist/runtime/composables/useSync.js +48 -0
  28. package/dist/runtime/db.d.ts +26 -0
  29. package/dist/runtime/db.js +109 -0
  30. package/dist/runtime/plugin.client.d.ts +417 -0
  31. package/dist/runtime/plugin.client.js +43 -0
  32. package/dist/runtime/types.d.ts +218 -0
  33. package/dist/runtime/types.js +8 -0
  34. package/dist/types.d.mts +3 -0
  35. package/package.json +96 -4
@@ -0,0 +1,417 @@
1
+ import { type OperationDocument } from './types.js';
2
+ declare const _default: import("#app").Plugin<{
3
+ airplane: {
4
+ db: import("./types.js").AirplaneDexie;
5
+ state: {
6
+ networkOnline: boolean;
7
+ forcedOffline: boolean;
8
+ readonly online: boolean;
9
+ syncing: boolean;
10
+ pending: {
11
+ id: number;
12
+ document: string;
13
+ variables: unknown;
14
+ status: import("./types.js").MutationStatus;
15
+ createdAt: number;
16
+ description: string;
17
+ error?: string | undefined;
18
+ undo?: {
19
+ table: string;
20
+ key: string | number | Date | void[][] | {
21
+ readonly byteLength: number;
22
+ slice: (begin?: number, end?: number) => ArrayBuffer;
23
+ readonly maxByteLength: number;
24
+ readonly resizable: boolean;
25
+ resize: (newByteLength?: number) => void;
26
+ readonly detached: boolean;
27
+ transfer: (newByteLength?: number) => ArrayBuffer;
28
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
29
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
30
+ } | {
31
+ readonly buffer: {
32
+ readonly byteLength: number;
33
+ slice: (begin?: number, end?: number) => ArrayBuffer;
34
+ readonly maxByteLength: number;
35
+ readonly resizable: boolean;
36
+ resize: (newByteLength?: number) => void;
37
+ readonly detached: boolean;
38
+ transfer: (newByteLength?: number) => ArrayBuffer;
39
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
40
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
41
+ } | {
42
+ readonly byteLength: number;
43
+ slice: (begin?: number, end?: number) => SharedArrayBuffer;
44
+ readonly growable: boolean;
45
+ readonly maxByteLength: number;
46
+ grow: (newByteLength?: number) => void;
47
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
48
+ };
49
+ readonly byteLength: number;
50
+ readonly byteOffset: number;
51
+ } | {
52
+ readonly buffer: {
53
+ readonly byteLength: number;
54
+ slice: (begin?: number, end?: number) => ArrayBuffer;
55
+ readonly maxByteLength: number;
56
+ readonly resizable: boolean;
57
+ resize: (newByteLength?: number) => void;
58
+ readonly detached: boolean;
59
+ transfer: (newByteLength?: number) => ArrayBuffer;
60
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
61
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
62
+ } | {
63
+ readonly byteLength: number;
64
+ slice: (begin?: number, end?: number) => SharedArrayBuffer;
65
+ readonly growable: boolean;
66
+ readonly maxByteLength: number;
67
+ grow: (newByteLength?: number) => void;
68
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
69
+ };
70
+ readonly byteLength: number;
71
+ readonly byteOffset: number;
72
+ getFloat32: (byteOffset: number, littleEndian?: boolean) => number;
73
+ getFloat64: (byteOffset: number, littleEndian?: boolean) => number;
74
+ getInt8: (byteOffset: number) => number;
75
+ getInt16: (byteOffset: number, littleEndian?: boolean) => number;
76
+ getInt32: (byteOffset: number, littleEndian?: boolean) => number;
77
+ getUint8: (byteOffset: number) => number;
78
+ getUint16: (byteOffset: number, littleEndian?: boolean) => number;
79
+ getUint32: (byteOffset: number, littleEndian?: boolean) => number;
80
+ setFloat32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
81
+ setFloat64: (byteOffset: number, value: number, littleEndian?: boolean) => void;
82
+ setInt8: (byteOffset: number, value: number) => void;
83
+ setInt16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
84
+ setInt32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
85
+ setUint8: (byteOffset: number, value: number) => void;
86
+ setUint16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
87
+ setUint32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
88
+ getBigInt64: (byteOffset: number, littleEndian?: boolean) => bigint;
89
+ getBigUint64: (byteOffset: number, littleEndian?: boolean) => bigint;
90
+ setBigInt64: (byteOffset: number, value: bigint, littleEndian?: boolean) => void;
91
+ setBigUint64: (byteOffset: number, value: bigint, littleEndian?: boolean) => void;
92
+ getFloat16: (byteOffset: number, littleEndian?: boolean) => number;
93
+ setFloat16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
94
+ readonly [Symbol.toStringTag]: string;
95
+ } | readonly (string | number | Date | void[][] | {
96
+ readonly byteLength: number;
97
+ slice: (begin?: number, end?: number) => ArrayBuffer;
98
+ readonly maxByteLength: number;
99
+ readonly resizable: boolean;
100
+ resize: (newByteLength?: number) => void;
101
+ readonly detached: boolean;
102
+ transfer: (newByteLength?: number) => ArrayBuffer;
103
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
104
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
105
+ } | {
106
+ readonly buffer: {
107
+ readonly byteLength: number;
108
+ slice: (begin?: number, end?: number) => ArrayBuffer;
109
+ readonly maxByteLength: number;
110
+ readonly resizable: boolean;
111
+ resize: (newByteLength?: number) => void;
112
+ readonly detached: boolean;
113
+ transfer: (newByteLength?: number) => ArrayBuffer;
114
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
115
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
116
+ } | {
117
+ readonly byteLength: number;
118
+ slice: (begin?: number, end?: number) => SharedArrayBuffer;
119
+ readonly growable: boolean;
120
+ readonly maxByteLength: number;
121
+ grow: (newByteLength?: number) => void;
122
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
123
+ };
124
+ readonly byteLength: number;
125
+ readonly byteOffset: number;
126
+ } | {
127
+ readonly buffer: {
128
+ readonly byteLength: number;
129
+ slice: (begin?: number, end?: number) => ArrayBuffer;
130
+ readonly maxByteLength: number;
131
+ readonly resizable: boolean;
132
+ resize: (newByteLength?: number) => void;
133
+ readonly detached: boolean;
134
+ transfer: (newByteLength?: number) => ArrayBuffer;
135
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
136
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
137
+ } | {
138
+ readonly byteLength: number;
139
+ slice: (begin?: number, end?: number) => SharedArrayBuffer;
140
+ readonly growable: boolean;
141
+ readonly maxByteLength: number;
142
+ grow: (newByteLength?: number) => void;
143
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
144
+ };
145
+ readonly byteLength: number;
146
+ readonly byteOffset: number;
147
+ getFloat32: (byteOffset: number, littleEndian?: boolean) => number;
148
+ getFloat64: (byteOffset: number, littleEndian?: boolean) => number;
149
+ getInt8: (byteOffset: number) => number;
150
+ getInt16: (byteOffset: number, littleEndian?: boolean) => number;
151
+ getInt32: (byteOffset: number, littleEndian?: boolean) => number;
152
+ getUint8: (byteOffset: number) => number;
153
+ getUint16: (byteOffset: number, littleEndian?: boolean) => number;
154
+ getUint32: (byteOffset: number, littleEndian?: boolean) => number;
155
+ setFloat32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
156
+ setFloat64: (byteOffset: number, value: number, littleEndian?: boolean) => void;
157
+ setInt8: (byteOffset: number, value: number) => void;
158
+ setInt16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
159
+ setInt32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
160
+ setUint8: (byteOffset: number, value: number) => void;
161
+ setUint16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
162
+ setUint32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
163
+ getBigInt64: (byteOffset: number, littleEndian?: boolean) => bigint;
164
+ getBigUint64: (byteOffset: number, littleEndian?: boolean) => bigint;
165
+ setBigInt64: (byteOffset: number, value: bigint, littleEndian?: boolean) => void;
166
+ setBigUint64: (byteOffset: number, value: bigint, littleEndian?: boolean) => void;
167
+ getFloat16: (byteOffset: number, littleEndian?: boolean) => number;
168
+ setFloat16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
169
+ readonly [Symbol.toStringTag]: string;
170
+ })[];
171
+ before?: unknown;
172
+ }[] | undefined;
173
+ }[];
174
+ readonly blocked: number;
175
+ syncTotal: number;
176
+ syncCount: number;
177
+ lastError: string | null;
178
+ prefetching: number;
179
+ };
180
+ synced: import("vue").ComputedRef<boolean>;
181
+ documents: Record<string, OperationDocument>;
182
+ active: Map<string, () => Promise<void>>;
183
+ fetchQuery: <T>(name: string, variables: unknown) => Promise<T>;
184
+ prefetch: (name: string, variables: unknown, data: unknown) => Promise<void>;
185
+ watchQuery: (name: string, variables: unknown) => {
186
+ snapshot: Readonly<import("vue").Ref<{
187
+ readonly data: Readonly<unknown>;
188
+ readonly updatedAt: number | null;
189
+ readonly cached: boolean;
190
+ }, {
191
+ readonly data: Readonly<unknown>;
192
+ readonly updatedAt: number | null;
193
+ readonly cached: boolean;
194
+ }>>;
195
+ unsubscribe: () => void;
196
+ };
197
+ refetchActive: (only?: Iterable<import("./types.js").QueryName>) => Promise<void>;
198
+ enqueue: (name: string, variables: unknown) => Promise<import("./types.js").MutationRow>;
199
+ rollback: (id: number) => Promise<void>;
200
+ retry: (id: number) => Promise<void>;
201
+ sync: () => Promise<void>;
202
+ goOffline: () => void;
203
+ goOnline: () => void;
204
+ cacheKey: string;
205
+ ready: import("dexie").PromiseExtended<void>;
206
+ clear: () => Promise<void>;
207
+ clearCache: () => Promise<void>;
208
+ };
209
+ }> & import("#app").ObjectPlugin<{
210
+ airplane: {
211
+ db: import("./types.js").AirplaneDexie;
212
+ state: {
213
+ networkOnline: boolean;
214
+ forcedOffline: boolean;
215
+ readonly online: boolean;
216
+ syncing: boolean;
217
+ pending: {
218
+ id: number;
219
+ document: string;
220
+ variables: unknown;
221
+ status: import("./types.js").MutationStatus;
222
+ createdAt: number;
223
+ description: string;
224
+ error?: string | undefined;
225
+ undo?: {
226
+ table: string;
227
+ key: string | number | Date | void[][] | {
228
+ readonly byteLength: number;
229
+ slice: (begin?: number, end?: number) => ArrayBuffer;
230
+ readonly maxByteLength: number;
231
+ readonly resizable: boolean;
232
+ resize: (newByteLength?: number) => void;
233
+ readonly detached: boolean;
234
+ transfer: (newByteLength?: number) => ArrayBuffer;
235
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
236
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
237
+ } | {
238
+ readonly buffer: {
239
+ readonly byteLength: number;
240
+ slice: (begin?: number, end?: number) => ArrayBuffer;
241
+ readonly maxByteLength: number;
242
+ readonly resizable: boolean;
243
+ resize: (newByteLength?: number) => void;
244
+ readonly detached: boolean;
245
+ transfer: (newByteLength?: number) => ArrayBuffer;
246
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
247
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
248
+ } | {
249
+ readonly byteLength: number;
250
+ slice: (begin?: number, end?: number) => SharedArrayBuffer;
251
+ readonly growable: boolean;
252
+ readonly maxByteLength: number;
253
+ grow: (newByteLength?: number) => void;
254
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
255
+ };
256
+ readonly byteLength: number;
257
+ readonly byteOffset: number;
258
+ } | {
259
+ readonly buffer: {
260
+ readonly byteLength: number;
261
+ slice: (begin?: number, end?: number) => ArrayBuffer;
262
+ readonly maxByteLength: number;
263
+ readonly resizable: boolean;
264
+ resize: (newByteLength?: number) => void;
265
+ readonly detached: boolean;
266
+ transfer: (newByteLength?: number) => ArrayBuffer;
267
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
268
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
269
+ } | {
270
+ readonly byteLength: number;
271
+ slice: (begin?: number, end?: number) => SharedArrayBuffer;
272
+ readonly growable: boolean;
273
+ readonly maxByteLength: number;
274
+ grow: (newByteLength?: number) => void;
275
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
276
+ };
277
+ readonly byteLength: number;
278
+ readonly byteOffset: number;
279
+ getFloat32: (byteOffset: number, littleEndian?: boolean) => number;
280
+ getFloat64: (byteOffset: number, littleEndian?: boolean) => number;
281
+ getInt8: (byteOffset: number) => number;
282
+ getInt16: (byteOffset: number, littleEndian?: boolean) => number;
283
+ getInt32: (byteOffset: number, littleEndian?: boolean) => number;
284
+ getUint8: (byteOffset: number) => number;
285
+ getUint16: (byteOffset: number, littleEndian?: boolean) => number;
286
+ getUint32: (byteOffset: number, littleEndian?: boolean) => number;
287
+ setFloat32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
288
+ setFloat64: (byteOffset: number, value: number, littleEndian?: boolean) => void;
289
+ setInt8: (byteOffset: number, value: number) => void;
290
+ setInt16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
291
+ setInt32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
292
+ setUint8: (byteOffset: number, value: number) => void;
293
+ setUint16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
294
+ setUint32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
295
+ getBigInt64: (byteOffset: number, littleEndian?: boolean) => bigint;
296
+ getBigUint64: (byteOffset: number, littleEndian?: boolean) => bigint;
297
+ setBigInt64: (byteOffset: number, value: bigint, littleEndian?: boolean) => void;
298
+ setBigUint64: (byteOffset: number, value: bigint, littleEndian?: boolean) => void;
299
+ getFloat16: (byteOffset: number, littleEndian?: boolean) => number;
300
+ setFloat16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
301
+ readonly [Symbol.toStringTag]: string;
302
+ } | readonly (string | number | Date | void[][] | {
303
+ readonly byteLength: number;
304
+ slice: (begin?: number, end?: number) => ArrayBuffer;
305
+ readonly maxByteLength: number;
306
+ readonly resizable: boolean;
307
+ resize: (newByteLength?: number) => void;
308
+ readonly detached: boolean;
309
+ transfer: (newByteLength?: number) => ArrayBuffer;
310
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
311
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
312
+ } | {
313
+ readonly buffer: {
314
+ readonly byteLength: number;
315
+ slice: (begin?: number, end?: number) => ArrayBuffer;
316
+ readonly maxByteLength: number;
317
+ readonly resizable: boolean;
318
+ resize: (newByteLength?: number) => void;
319
+ readonly detached: boolean;
320
+ transfer: (newByteLength?: number) => ArrayBuffer;
321
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
322
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
323
+ } | {
324
+ readonly byteLength: number;
325
+ slice: (begin?: number, end?: number) => SharedArrayBuffer;
326
+ readonly growable: boolean;
327
+ readonly maxByteLength: number;
328
+ grow: (newByteLength?: number) => void;
329
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
330
+ };
331
+ readonly byteLength: number;
332
+ readonly byteOffset: number;
333
+ } | {
334
+ readonly buffer: {
335
+ readonly byteLength: number;
336
+ slice: (begin?: number, end?: number) => ArrayBuffer;
337
+ readonly maxByteLength: number;
338
+ readonly resizable: boolean;
339
+ resize: (newByteLength?: number) => void;
340
+ readonly detached: boolean;
341
+ transfer: (newByteLength?: number) => ArrayBuffer;
342
+ transferToFixedLength: (newByteLength?: number) => ArrayBuffer;
343
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
344
+ } | {
345
+ readonly byteLength: number;
346
+ slice: (begin?: number, end?: number) => SharedArrayBuffer;
347
+ readonly growable: boolean;
348
+ readonly maxByteLength: number;
349
+ grow: (newByteLength?: number) => void;
350
+ readonly [Symbol.toStringTag]: "SharedArrayBuffer";
351
+ };
352
+ readonly byteLength: number;
353
+ readonly byteOffset: number;
354
+ getFloat32: (byteOffset: number, littleEndian?: boolean) => number;
355
+ getFloat64: (byteOffset: number, littleEndian?: boolean) => number;
356
+ getInt8: (byteOffset: number) => number;
357
+ getInt16: (byteOffset: number, littleEndian?: boolean) => number;
358
+ getInt32: (byteOffset: number, littleEndian?: boolean) => number;
359
+ getUint8: (byteOffset: number) => number;
360
+ getUint16: (byteOffset: number, littleEndian?: boolean) => number;
361
+ getUint32: (byteOffset: number, littleEndian?: boolean) => number;
362
+ setFloat32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
363
+ setFloat64: (byteOffset: number, value: number, littleEndian?: boolean) => void;
364
+ setInt8: (byteOffset: number, value: number) => void;
365
+ setInt16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
366
+ setInt32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
367
+ setUint8: (byteOffset: number, value: number) => void;
368
+ setUint16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
369
+ setUint32: (byteOffset: number, value: number, littleEndian?: boolean) => void;
370
+ getBigInt64: (byteOffset: number, littleEndian?: boolean) => bigint;
371
+ getBigUint64: (byteOffset: number, littleEndian?: boolean) => bigint;
372
+ setBigInt64: (byteOffset: number, value: bigint, littleEndian?: boolean) => void;
373
+ setBigUint64: (byteOffset: number, value: bigint, littleEndian?: boolean) => void;
374
+ getFloat16: (byteOffset: number, littleEndian?: boolean) => number;
375
+ setFloat16: (byteOffset: number, value: number, littleEndian?: boolean) => void;
376
+ readonly [Symbol.toStringTag]: string;
377
+ })[];
378
+ before?: unknown;
379
+ }[] | undefined;
380
+ }[];
381
+ readonly blocked: number;
382
+ syncTotal: number;
383
+ syncCount: number;
384
+ lastError: string | null;
385
+ prefetching: number;
386
+ };
387
+ synced: import("vue").ComputedRef<boolean>;
388
+ documents: Record<string, OperationDocument>;
389
+ active: Map<string, () => Promise<void>>;
390
+ fetchQuery: <T>(name: string, variables: unknown) => Promise<T>;
391
+ prefetch: (name: string, variables: unknown, data: unknown) => Promise<void>;
392
+ watchQuery: (name: string, variables: unknown) => {
393
+ snapshot: Readonly<import("vue").Ref<{
394
+ readonly data: Readonly<unknown>;
395
+ readonly updatedAt: number | null;
396
+ readonly cached: boolean;
397
+ }, {
398
+ readonly data: Readonly<unknown>;
399
+ readonly updatedAt: number | null;
400
+ readonly cached: boolean;
401
+ }>>;
402
+ unsubscribe: () => void;
403
+ };
404
+ refetchActive: (only?: Iterable<import("./types.js").QueryName>) => Promise<void>;
405
+ enqueue: (name: string, variables: unknown) => Promise<import("./types.js").MutationRow>;
406
+ rollback: (id: number) => Promise<void>;
407
+ retry: (id: number) => Promise<void>;
408
+ sync: () => Promise<void>;
409
+ goOffline: () => void;
410
+ goOnline: () => void;
411
+ cacheKey: string;
412
+ ready: import("dexie").PromiseExtended<void>;
413
+ clear: () => Promise<void>;
414
+ clearCache: () => Promise<void>;
415
+ };
416
+ }>;
417
+ export default _default;
@@ -0,0 +1,43 @@
1
+ import { defineNuxtPlugin, useRuntimeConfig } from "#app";
2
+ import { documents, documentsHash } from "#nuxt-airplane/documents";
3
+ import { handlers } from "#nuxt-airplane/handlers";
4
+ import { createAirplaneClient } from "./client.js";
5
+ import {
6
+ HANDLER_KIND
7
+ } from "./types.js";
8
+ function collect(exports) {
9
+ const mutationHandlers = {};
10
+ const queryHandlers = {};
11
+ const stores = { stores: {} };
12
+ const request = {};
13
+ for (const item of exports) {
14
+ if (item === void 0) continue;
15
+ const kind = item && typeof item === "object" ? item[HANDLER_KIND] : void 0;
16
+ if (!kind) {
17
+ console.warn("[nuxt-airplane] Ignoring a default export in the handlers directory that was not created with a define* helper (defineMutationHandler(s), defineQueryHandler(s), defineAirplaneStores, defineAirplaneRequest).");
18
+ continue;
19
+ }
20
+ if (kind === "queries") Object.assign(queryHandlers, item);
21
+ else if (kind === "request") Object.assign(request, item);
22
+ else if (kind === "stores") {
23
+ const def = item;
24
+ Object.assign(stores.stores, def.stores);
25
+ stores.version = Math.max(stores.version ?? 1, def.version ?? 1);
26
+ } else Object.assign(mutationHandlers, item);
27
+ }
28
+ return { mutationHandlers, queryHandlers, stores, request };
29
+ }
30
+ export default defineNuxtPlugin({
31
+ name: "nuxt-airplane",
32
+ setup(nuxtApp) {
33
+ const config = useRuntimeConfig().public.airplane;
34
+ const airplane = createAirplaneClient({
35
+ ...config,
36
+ documents,
37
+ documentsHash,
38
+ ...collect(handlers),
39
+ runWithContext: (fn) => nuxtApp.runWithContext(fn)
40
+ });
41
+ return { provide: { airplane } };
42
+ }
43
+ });