zelune 1.6.2 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/bin/cli.mjs +1 -2
- package/index.html +0 -6
- package/mcp/server.mjs +48 -7
- package/mcp/server.ts +1 -1
- package/package.json +1 -5
- package/plugin.json +1 -1
- package/plugins/viteReactNativeFallbackPlugin.ts +15 -12
- package/plugins/viteRnSourceInject.ts +4 -16
- package/src/runtime/MockNavigationContext.tsx +252 -178
- package/src/runtime/reactNativeShim.ts +1558 -124
- package/src/server/apiMiddleware.ts +8 -5
- package/src/server/astEngine.ts +78 -7
- package/vite.config.ts +5 -6
|
@@ -24,51 +24,19 @@ if (typeof window !== 'undefined') {
|
|
|
24
24
|
NODE_ENV: 'development',
|
|
25
25
|
EXPO_PUBLIC_PLATFORM: 'web',
|
|
26
26
|
};
|
|
27
|
-
const envProxy = new Proxy(baseEnv, {
|
|
28
|
-
get(target, prop) {
|
|
29
|
-
if (typeof prop !== 'string') return Reflect.get(target, prop);
|
|
30
|
-
if (prop in target && target[prop] !== undefined && target[prop] !== '') {
|
|
31
|
-
return target[prop];
|
|
32
|
-
}
|
|
33
|
-
return 'zelune-preview';
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
const createAssetStub = (): unknown => {
|
|
38
|
-
const fn = () => proxy;
|
|
39
|
-
const proxy: unknown = new Proxy(fn, {
|
|
40
|
-
get(_t, prop) {
|
|
41
|
-
if (prop === Symbol.toPrimitive) return (hint: string) => (hint === 'number' ? 0 : '');
|
|
42
|
-
if (prop === 'valueOf') return () => 0;
|
|
43
|
-
if (prop === 'toString') return () => '';
|
|
44
|
-
if (prop === 'uri' || prop === 'default') return '';
|
|
45
|
-
return proxy;
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
return proxy;
|
|
49
|
-
};
|
|
50
27
|
|
|
51
28
|
const win = window as unknown as Record<string, unknown>;
|
|
52
29
|
win.global = window;
|
|
53
30
|
win.__DEV__ = true;
|
|
54
31
|
if (!win.process || typeof win.process !== 'object') {
|
|
55
32
|
win.process = {
|
|
56
|
-
env:
|
|
33
|
+
env: baseEnv,
|
|
57
34
|
platform: 'browser',
|
|
58
35
|
version: '',
|
|
59
36
|
cwd: () => '/',
|
|
60
37
|
};
|
|
61
38
|
} else {
|
|
62
|
-
(win.process as Record<string, unknown>).env =
|
|
63
|
-
}
|
|
64
|
-
const reqProp = ['req', 'uire'].join('');
|
|
65
|
-
if (typeof win[reqProp] !== 'function') {
|
|
66
|
-
win[reqProp] = (modId: unknown) => {
|
|
67
|
-
if (typeof modId === 'string' && /\.(png|jpe?g|gif|webp|svg|avif|bmp)$/i.test(modId)) {
|
|
68
|
-
return { uri: modId, default: modId };
|
|
69
|
-
}
|
|
70
|
-
return createAssetStub();
|
|
71
|
-
};
|
|
39
|
+
(win.process as Record<string, unknown>).env = baseEnv;
|
|
72
40
|
}
|
|
73
41
|
}
|
|
74
42
|
|
|
@@ -711,17 +679,49 @@ export const SvgUri: React.FC<{ uri?: string; width?: number; height?: number }>
|
|
|
711
679
|
// ============================================================================
|
|
712
680
|
// 8. React Native Reanimated & Gesture Handler Shims
|
|
713
681
|
// ============================================================================
|
|
682
|
+
const CHAINABLE_ANIMATION_METHODS = [
|
|
683
|
+
'duration',
|
|
684
|
+
'delay',
|
|
685
|
+
'springify',
|
|
686
|
+
'damping',
|
|
687
|
+
'mass',
|
|
688
|
+
'stiffness',
|
|
689
|
+
'overshootClamping',
|
|
690
|
+
'restDisplacementThreshold',
|
|
691
|
+
'restSpeedThreshold',
|
|
692
|
+
'withInitialValues',
|
|
693
|
+
'withCallback',
|
|
694
|
+
'easing',
|
|
695
|
+
'randomDelay',
|
|
696
|
+
'enabled',
|
|
697
|
+
'onBegin',
|
|
698
|
+
'onStart',
|
|
699
|
+
'onUpdate',
|
|
700
|
+
'onChange',
|
|
701
|
+
'onEnd',
|
|
702
|
+
'onFinalize',
|
|
703
|
+
'onTouchesDown',
|
|
704
|
+
'onTouchesMove',
|
|
705
|
+
'onTouchesUp',
|
|
706
|
+
'activeOffsetX',
|
|
707
|
+
'activeOffsetY',
|
|
708
|
+
'failOffsetX',
|
|
709
|
+
'failOffsetY',
|
|
710
|
+
'minDistance',
|
|
711
|
+
'minPointers',
|
|
712
|
+
'maxPointers',
|
|
713
|
+
'runOnJS',
|
|
714
|
+
];
|
|
715
|
+
|
|
714
716
|
function createChainableAnimationStub(): Record<string, unknown> {
|
|
715
|
-
const
|
|
716
|
-
{},
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
);
|
|
724
|
-
return proxy;
|
|
717
|
+
const stub: Record<string, unknown> = {
|
|
718
|
+
build: () => ({}),
|
|
719
|
+
};
|
|
720
|
+
const returnSelf = () => stub;
|
|
721
|
+
for (const method of CHAINABLE_ANIMATION_METHODS) {
|
|
722
|
+
stub[method] = returnSelf;
|
|
723
|
+
}
|
|
724
|
+
return stub;
|
|
725
725
|
}
|
|
726
726
|
|
|
727
727
|
export const FadeIn = createChainableAnimationStub();
|
|
@@ -1010,10 +1010,7 @@ export async function setStringAsync(): Promise<boolean> {
|
|
|
1010
1010
|
export async function getStringAsync(): Promise<string> {
|
|
1011
1011
|
return '';
|
|
1012
1012
|
}
|
|
1013
|
-
export async function openURL(
|
|
1014
|
-
if (typeof window !== 'undefined') {
|
|
1015
|
-
window.open(url, '_blank', 'noopener,noreferrer');
|
|
1016
|
-
}
|
|
1013
|
+
export async function openURL(_url: string): Promise<boolean> {
|
|
1017
1014
|
return true;
|
|
1018
1015
|
}
|
|
1019
1016
|
export function createURL(pathStr = ''): string {
|
|
@@ -1166,72 +1163,150 @@ export function useMutation() {
|
|
|
1166
1163
|
// ============================================================================
|
|
1167
1164
|
// 11. Universal Chainable Proxy, Zod, React Hook Form & Context Fallbacks
|
|
1168
1165
|
// ============================================================================
|
|
1166
|
+
const CHAINABLE_SCHEMA_METHODS = [
|
|
1167
|
+
'string',
|
|
1168
|
+
'number',
|
|
1169
|
+
'boolean',
|
|
1170
|
+
'object',
|
|
1171
|
+
'array',
|
|
1172
|
+
'enum',
|
|
1173
|
+
'nativeEnum',
|
|
1174
|
+
'union',
|
|
1175
|
+
'discriminatedUnion',
|
|
1176
|
+
'intersection',
|
|
1177
|
+
'literal',
|
|
1178
|
+
'record',
|
|
1179
|
+
'set',
|
|
1180
|
+
'tuple',
|
|
1181
|
+
'lazy',
|
|
1182
|
+
'function',
|
|
1183
|
+
'promise',
|
|
1184
|
+
'any',
|
|
1185
|
+
'unknown',
|
|
1186
|
+
'never',
|
|
1187
|
+
'void',
|
|
1188
|
+
'null',
|
|
1189
|
+
'undefined',
|
|
1190
|
+
'date',
|
|
1191
|
+
'symbol',
|
|
1192
|
+
'bigint',
|
|
1193
|
+
'optional',
|
|
1194
|
+
'nullable',
|
|
1195
|
+
'nullish',
|
|
1196
|
+
'default',
|
|
1197
|
+
'describe',
|
|
1198
|
+
'brand',
|
|
1199
|
+
'readonly',
|
|
1200
|
+
'pipe',
|
|
1201
|
+
'preprocess',
|
|
1202
|
+
'email',
|
|
1203
|
+
'url',
|
|
1204
|
+
'emoji',
|
|
1205
|
+
'uuid',
|
|
1206
|
+
'cuid',
|
|
1207
|
+
'cuid2',
|
|
1208
|
+
'ulid',
|
|
1209
|
+
'regex',
|
|
1210
|
+
'includes',
|
|
1211
|
+
'startsWith',
|
|
1212
|
+
'endsWith',
|
|
1213
|
+
'datetime',
|
|
1214
|
+
'ip',
|
|
1215
|
+
'trim',
|
|
1216
|
+
'toLowerCase',
|
|
1217
|
+
'toUpperCase',
|
|
1218
|
+
'min',
|
|
1219
|
+
'max',
|
|
1220
|
+
'int',
|
|
1221
|
+
'positive',
|
|
1222
|
+
'nonnegative',
|
|
1223
|
+
'negative',
|
|
1224
|
+
'nonpositive',
|
|
1225
|
+
'multipleOf',
|
|
1226
|
+
'finite',
|
|
1227
|
+
'safe',
|
|
1228
|
+
'nonempty',
|
|
1229
|
+
'refine',
|
|
1230
|
+
'superRefine',
|
|
1231
|
+
'transform',
|
|
1232
|
+
'extend',
|
|
1233
|
+
'merge',
|
|
1234
|
+
'pick',
|
|
1235
|
+
'omit',
|
|
1236
|
+
'partial',
|
|
1237
|
+
'deepPartial',
|
|
1238
|
+
'required',
|
|
1239
|
+
'passthrough',
|
|
1240
|
+
'strict',
|
|
1241
|
+
'strip',
|
|
1242
|
+
'catchall',
|
|
1243
|
+
'or',
|
|
1244
|
+
'and',
|
|
1245
|
+
];
|
|
1246
|
+
|
|
1169
1247
|
export function createSafeChainableProxy(): unknown {
|
|
1170
1248
|
const fnTarget = function (..._args: unknown[]) {
|
|
1171
|
-
return
|
|
1249
|
+
return fnTarget;
|
|
1250
|
+
} as unknown as Record<string | symbol, unknown>;
|
|
1251
|
+
|
|
1252
|
+
const returnSelf = () => fnTarget;
|
|
1253
|
+
for (const method of CHAINABLE_SCHEMA_METHODS) {
|
|
1254
|
+
fnTarget[method] = returnSelf;
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
fnTarget[Symbol.toPrimitive] = (hint: string) => (hint === 'number' ? 0 : '');
|
|
1258
|
+
fnTarget.valueOf = () => 0;
|
|
1259
|
+
fnTarget.toString = () => '';
|
|
1260
|
+
fnTarget[Symbol.iterator] = function* () {
|
|
1261
|
+
yield fnTarget;
|
|
1262
|
+
yield fnTarget;
|
|
1172
1263
|
};
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
yield proxy;
|
|
1184
|
-
};
|
|
1185
|
-
}
|
|
1186
|
-
if (prop === 'then') {
|
|
1187
|
-
return (onFulfilled?: (v: unknown) => unknown, onRejected?: (e: unknown) => unknown) =>
|
|
1188
|
-
Promise.resolve({ data: null, error: null }).then(onFulfilled, onRejected);
|
|
1189
|
-
}
|
|
1190
|
-
if (prop === 'catch') return () => Promise.resolve({ data: null, error: null });
|
|
1191
|
-
if (prop === 'finally')
|
|
1192
|
-
return (cb?: () => void) => Promise.resolve({ data: null, error: null }).finally(cb);
|
|
1193
|
-
if (prop === 'safeParse' || prop === 'spa' || prop === 'safeParseAsync') {
|
|
1194
|
-
return (val?: unknown) => ({ success: true, data: val ?? {}, error: null });
|
|
1195
|
-
}
|
|
1196
|
-
if (prop === 'parse' || prop === 'parseAsync') {
|
|
1197
|
-
return (val?: unknown) => val ?? {};
|
|
1198
|
-
}
|
|
1199
|
-
if (
|
|
1200
|
-
prop === 'isLoading' ||
|
|
1201
|
-
prop === 'loading' ||
|
|
1202
|
-
prop === 'isPending' ||
|
|
1203
|
-
prop === 'isError' ||
|
|
1204
|
-
prop === 'disabled' ||
|
|
1205
|
-
prop === 'isSubmitting'
|
|
1206
|
-
) {
|
|
1207
|
-
return false;
|
|
1208
|
-
}
|
|
1209
|
-
if (
|
|
1210
|
-
prop === 'isReady' ||
|
|
1211
|
-
prop === 'granted' ||
|
|
1212
|
-
prop === 'isSuccess' ||
|
|
1213
|
-
prop === 'isAuthenticated' ||
|
|
1214
|
-
prop === 'isValid'
|
|
1215
|
-
) {
|
|
1216
|
-
return true;
|
|
1217
|
-
}
|
|
1218
|
-
if (prop === 'error' || prop === 'errors') return null;
|
|
1219
|
-
if (prop === 'status') return 'granted';
|
|
1220
|
-
if (prop === 'data' || prop === 'items' || prop === 'results' || prop === 'list') {
|
|
1221
|
-
return STABLE_EMPTY_ARRAY;
|
|
1222
|
-
}
|
|
1223
|
-
if (prop === 'length' || prop === 'size' || prop === 'count' || prop === 'value') return 0;
|
|
1224
|
-
if (prop === 'ref') return { current: null };
|
|
1225
|
-
if (prop === 'map' || prop === 'filter' || prop === 'slice' || prop === 'flatMap') {
|
|
1226
|
-
return () => STABLE_EMPTY_ARRAY;
|
|
1227
|
-
}
|
|
1228
|
-
if (prop === 'forEach') return () => undefined;
|
|
1229
|
-
if (prop === 'reduce') return (_fn: unknown, init: unknown) => init;
|
|
1230
|
-
if (prop === 'shape' || prop === '_def') return {};
|
|
1231
|
-
return proxy;
|
|
1232
|
-
},
|
|
1264
|
+
fnTarget.then = (onFulfilled?: (v: unknown) => unknown, onRejected?: (e: unknown) => unknown) =>
|
|
1265
|
+
Promise.resolve({ data: null, error: null }).then(onFulfilled, onRejected);
|
|
1266
|
+
fnTarget.catch = () => Promise.resolve({ data: null, error: null });
|
|
1267
|
+
fnTarget.finally = (cb?: () => void) => Promise.resolve({ data: null, error: null }).finally(cb);
|
|
1268
|
+
fnTarget.safeParse = (val?: unknown) => ({ success: true, data: val ?? {}, error: null });
|
|
1269
|
+
fnTarget.spa = fnTarget.safeParse;
|
|
1270
|
+
fnTarget.safeParseAsync = async (val?: unknown) => ({
|
|
1271
|
+
success: true,
|
|
1272
|
+
data: val ?? {},
|
|
1273
|
+
error: null,
|
|
1233
1274
|
});
|
|
1234
|
-
|
|
1275
|
+
fnTarget.parse = (val?: unknown) => val ?? {};
|
|
1276
|
+
fnTarget.parseAsync = async (val?: unknown) => val ?? {};
|
|
1277
|
+
fnTarget.isLoading = false;
|
|
1278
|
+
fnTarget.loading = false;
|
|
1279
|
+
fnTarget.isPending = false;
|
|
1280
|
+
fnTarget.isError = false;
|
|
1281
|
+
fnTarget.disabled = false;
|
|
1282
|
+
fnTarget.isSubmitting = false;
|
|
1283
|
+
fnTarget.isReady = true;
|
|
1284
|
+
fnTarget.granted = true;
|
|
1285
|
+
fnTarget.isSuccess = true;
|
|
1286
|
+
fnTarget.isAuthenticated = true;
|
|
1287
|
+
fnTarget.isValid = true;
|
|
1288
|
+
fnTarget.error = null;
|
|
1289
|
+
fnTarget.errors = null;
|
|
1290
|
+
fnTarget.status = 'granted';
|
|
1291
|
+
fnTarget.data = STABLE_EMPTY_ARRAY;
|
|
1292
|
+
fnTarget.items = STABLE_EMPTY_ARRAY;
|
|
1293
|
+
fnTarget.results = STABLE_EMPTY_ARRAY;
|
|
1294
|
+
fnTarget.list = STABLE_EMPTY_ARRAY;
|
|
1295
|
+
fnTarget.size = 0;
|
|
1296
|
+
fnTarget.count = 0;
|
|
1297
|
+
fnTarget.value = 0;
|
|
1298
|
+
fnTarget.ref = { current: null };
|
|
1299
|
+
fnTarget.map = () => STABLE_EMPTY_ARRAY;
|
|
1300
|
+
fnTarget.filter = () => STABLE_EMPTY_ARRAY;
|
|
1301
|
+
fnTarget.slice = () => STABLE_EMPTY_ARRAY;
|
|
1302
|
+
fnTarget.flatMap = () => STABLE_EMPTY_ARRAY;
|
|
1303
|
+
fnTarget.forEach = () => undefined;
|
|
1304
|
+
fnTarget.reduce = (_fn: unknown, init: unknown) => init;
|
|
1305
|
+
fnTarget.shape = {};
|
|
1306
|
+
fnTarget._def = {};
|
|
1307
|
+
fnTarget.coerce = fnTarget;
|
|
1308
|
+
|
|
1309
|
+
return fnTarget;
|
|
1235
1310
|
}
|
|
1236
1311
|
|
|
1237
1312
|
export const SAFE_CHAINABLE_PROXY = createSafeChainableProxy();
|
|
@@ -1461,15 +1536,6 @@ const previewUserBase: Record<string, unknown> = {
|
|
|
1461
1536
|
},
|
|
1462
1537
|
};
|
|
1463
1538
|
|
|
1464
|
-
const previewUserProxy = new Proxy(previewUserBase, {
|
|
1465
|
-
get(target, prop) {
|
|
1466
|
-
if (prop in target) return target[prop as keyof typeof target];
|
|
1467
|
-
if (prop === Symbol.toPrimitive) return () => 'Alex Morgan';
|
|
1468
|
-
if (typeof prop === 'string') return '';
|
|
1469
|
-
return undefined;
|
|
1470
|
-
},
|
|
1471
|
-
});
|
|
1472
|
-
|
|
1473
1539
|
const previewColorsBase: Record<string, string> = {
|
|
1474
1540
|
primary: '#2563EB',
|
|
1475
1541
|
primaryLight: '#DBEAFE',
|
|
@@ -1501,21 +1567,14 @@ const previewColorsBase: Record<string, string> = {
|
|
|
1501
1567
|
notification: '#EF4444',
|
|
1502
1568
|
};
|
|
1503
1569
|
|
|
1504
|
-
const
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
},
|
|
1509
|
-
});
|
|
1510
|
-
|
|
1511
|
-
const safeContextFallbackBase: Record<string, unknown> = {
|
|
1512
|
-
user: previewUserProxy,
|
|
1513
|
-
currentUser: previewUserProxy,
|
|
1514
|
-
profile: previewUserProxy,
|
|
1570
|
+
const safeContextFallbackBase: Record<string | symbol, unknown> = {
|
|
1571
|
+
user: previewUserBase,
|
|
1572
|
+
currentUser: previewUserBase,
|
|
1573
|
+
profile: previewUserBase,
|
|
1515
1574
|
session: {
|
|
1516
1575
|
access_token: 'preview-access-token',
|
|
1517
1576
|
refresh_token: 'preview-refresh-token',
|
|
1518
|
-
user:
|
|
1577
|
+
user: previewUserBase,
|
|
1519
1578
|
},
|
|
1520
1579
|
isAuthenticated: true,
|
|
1521
1580
|
isLoggedIn: true,
|
|
@@ -1531,7 +1590,7 @@ const safeContextFallbackBase: Record<string, unknown> = {
|
|
|
1531
1590
|
colorScheme: 'light',
|
|
1532
1591
|
isDark: false,
|
|
1533
1592
|
dark: false,
|
|
1534
|
-
colors:
|
|
1593
|
+
colors: previewColorsBase,
|
|
1535
1594
|
items: STABLE_EMPTY_ARRAY,
|
|
1536
1595
|
cart: STABLE_EMPTY_ARRAY,
|
|
1537
1596
|
favorites: STABLE_EMPTY_ARRAY,
|
|
@@ -1549,12 +1608,12 @@ const safeContextFallbackBase: Record<string, unknown> = {
|
|
|
1549
1608
|
count: 0,
|
|
1550
1609
|
total: 0,
|
|
1551
1610
|
balance: 0,
|
|
1552
|
-
signIn: async () => ({ data: { user:
|
|
1553
|
-
signUp: async () => ({ data: { user:
|
|
1611
|
+
signIn: async () => ({ data: { user: previewUserBase }, error: null }),
|
|
1612
|
+
signUp: async () => ({ data: { user: previewUserBase }, error: null }),
|
|
1554
1613
|
signOut: async () => ({ error: null }),
|
|
1555
|
-
login: async () => ({ data: { user:
|
|
1614
|
+
login: async () => ({ data: { user: previewUserBase }, error: null }),
|
|
1556
1615
|
logout: async () => undefined,
|
|
1557
|
-
register: async () => ({ data: { user:
|
|
1616
|
+
register: async () => ({ data: { user: previewUserBase }, error: null }),
|
|
1558
1617
|
refresh: async () => undefined,
|
|
1559
1618
|
refetch: async () => undefined,
|
|
1560
1619
|
updateProfile: async () => ({ error: null }),
|
|
@@ -1562,18 +1621,13 @@ const safeContextFallbackBase: Record<string, unknown> = {
|
|
|
1562
1621
|
setTheme: () => undefined,
|
|
1563
1622
|
};
|
|
1564
1623
|
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
};
|
|
1573
|
-
}
|
|
1574
|
-
return SAFE_CHAINABLE_PROXY;
|
|
1575
|
-
},
|
|
1576
|
-
});
|
|
1624
|
+
safeContextFallbackBase[Symbol.iterator] = function* () {
|
|
1625
|
+
yield safeContextFallbackBase;
|
|
1626
|
+
yield () => undefined;
|
|
1627
|
+
};
|
|
1628
|
+
|
|
1629
|
+
export const SAFE_CONTEXT_FALLBACK: Record<string, unknown> =
|
|
1630
|
+
safeContextFallbackBase as Record<string, unknown>;
|
|
1577
1631
|
|
|
1578
1632
|
// Install unmounted user-context fallback on React.createContext & React.useContext
|
|
1579
1633
|
// (runs after react-native-web has already initialized its internal VirtualizedListContext)
|
|
@@ -1624,22 +1678,56 @@ try {
|
|
|
1624
1678
|
// Ignore if React namespace is frozen in test environment
|
|
1625
1679
|
}
|
|
1626
1680
|
|
|
1681
|
+
const SUPABASE_QUERY_METHODS = [
|
|
1682
|
+
'select',
|
|
1683
|
+
'insert',
|
|
1684
|
+
'update',
|
|
1685
|
+
'upsert',
|
|
1686
|
+
'delete',
|
|
1687
|
+
'eq',
|
|
1688
|
+
'neq',
|
|
1689
|
+
'gt',
|
|
1690
|
+
'gte',
|
|
1691
|
+
'lt',
|
|
1692
|
+
'lte',
|
|
1693
|
+
'like',
|
|
1694
|
+
'ilike',
|
|
1695
|
+
'is',
|
|
1696
|
+
'in',
|
|
1697
|
+
'contains',
|
|
1698
|
+
'containedBy',
|
|
1699
|
+
'rangeGt',
|
|
1700
|
+
'rangeGte',
|
|
1701
|
+
'rangeLt',
|
|
1702
|
+
'rangeLte',
|
|
1703
|
+
'rangeAdjacent',
|
|
1704
|
+
'overlaps',
|
|
1705
|
+
'textSearch',
|
|
1706
|
+
'match',
|
|
1707
|
+
'not',
|
|
1708
|
+
'or',
|
|
1709
|
+
'filter',
|
|
1710
|
+
'order',
|
|
1711
|
+
'limit',
|
|
1712
|
+
'range',
|
|
1713
|
+
'abortSignal',
|
|
1714
|
+
'csv',
|
|
1715
|
+
'returns',
|
|
1716
|
+
];
|
|
1717
|
+
|
|
1627
1718
|
function createSupabaseQueryBuilder(): Record<string, unknown> {
|
|
1628
1719
|
const resultPromise = Promise.resolve({ data: [], error: null, count: 0 });
|
|
1629
|
-
const builder: Record<string, unknown> =
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
},
|
|
1641
|
-
}
|
|
1642
|
-
);
|
|
1720
|
+
const builder: Record<string, unknown> = {
|
|
1721
|
+
then: resultPromise.then.bind(resultPromise),
|
|
1722
|
+
catch: resultPromise.catch.bind(resultPromise),
|
|
1723
|
+
finally: resultPromise.finally.bind(resultPromise),
|
|
1724
|
+
single: async () => ({ data: null, error: null }),
|
|
1725
|
+
maybeSingle: async () => ({ data: null, error: null }),
|
|
1726
|
+
};
|
|
1727
|
+
const returnSelf = () => builder;
|
|
1728
|
+
for (const method of SUPABASE_QUERY_METHODS) {
|
|
1729
|
+
builder[method] = returnSelf;
|
|
1730
|
+
}
|
|
1643
1731
|
return builder;
|
|
1644
1732
|
}
|
|
1645
1733
|
|
|
@@ -1777,19 +1865,5 @@ const defaultExportProperties = {
|
|
|
1777
1865
|
|
|
1778
1866
|
Object.assign(UniversalDefaultExportComponent, defaultExportProperties);
|
|
1779
1867
|
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
if (prop in target) {
|
|
1783
|
-
return (target as unknown as Record<string | symbol, unknown>)[prop];
|
|
1784
|
-
}
|
|
1785
|
-
if (prop in defaultExportProperties) {
|
|
1786
|
-
return defaultExportProperties[prop as keyof typeof defaultExportProperties];
|
|
1787
|
-
}
|
|
1788
|
-
if (typeof prop === 'string' && /^[A-Z]/.test(prop)) {
|
|
1789
|
-
return createVectorIconComponent(prop);
|
|
1790
|
-
}
|
|
1791
|
-
return SAFE_CHAINABLE_PROXY;
|
|
1792
|
-
},
|
|
1793
|
-
});
|
|
1794
|
-
|
|
1795
|
-
export default defaultExportProxy;
|
|
1868
|
+
export default UniversalDefaultExportComponent as typeof UniversalDefaultExportComponent &
|
|
1869
|
+
typeof defaultExportProperties;
|