@m1212e/rumble 0.26.2 → 0.26.4

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/README.md CHANGED
@@ -307,6 +307,8 @@ server.listen(3000, () => {
307
307
  });
308
308
 
309
309
  ```
310
+ > `createYoga` sends no CORS headers unless you pass `cors` (Yoga's own default would reflect any origin with credentials, which lets other websites use a visitor's cookie session). An API that browsers on other origins call needs `cors: { origin: ["https://app.example.org"], credentials: true }`.
311
+ >
310
312
  > If you hit `Query depth limit of N exceeded` (or alias/directive/token limit) errors in production, pass `armorConfig` through to relax the [graphql-armor](https://github.com/Escape-Technologies/graphql-armor) defaults — e.g. `createYoga({ armorConfig: { maxDepth: { n: 20 } } })`. `armorConfig` is forwarded verbatim to `EnvelopArmorPlugin(...)` and is only applied when `enableApiDocs` is `false` (i.e. in production).
311
313
 
312
314
  ## Usage & client generation
package/out/client.cjs CHANGED
@@ -1,5 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_lazy = require("./lazy-CAN0oaXD.cjs");
3
2
  let es_toolkit = require("es-toolkit");
4
3
  let graphql_scalars = require("graphql-scalars");
5
4
  let wonka = require("wonka");
@@ -86,7 +85,7 @@ function makeOperation({ operationVerb, queryName, schema, input, autoIncludeIdF
86
85
  }
87
86
  function makeGraphQLQueryRequest({ queryName, schema, input, client, enableSubscription = false, forceReactivity, autoIncludeIdField }) {
88
87
  let currentData;
89
- const dataProxy = require_lazy.lazy(() => new Proxy(currentData, { get(_target, prop, receiver) {
88
+ const dataProxy = (0, es_toolkit.once)(() => new Proxy(currentData, { get(_target, prop, receiver) {
90
89
  svelteSubscriber();
91
90
  const val = Reflect.get(currentData, prop, receiver);
92
91
  if (typeof val === "function") return val.bind(currentData);
@@ -1 +1 @@
1
- {"version":3,"file":"client.cjs","names":["pipe","onStart","filter","isEqual","capitalize","lazy","toObservable","merge","share","map","take","subscribe","fromValue","DateResolver","DateTimeISOResolver","pipe","map"],"sources":["../lib/client/request.ts","../lib/client/liveQuery.ts","../lib/client/mutation.ts","../lib/helpers/deepMap.ts","../lib/client/nativeDateExchange.ts","../lib/client/query.ts","../lib/client/subscription.ts"],"sourcesContent":["import type { Client } from \"@urql/core\";\nimport { capitalize, isEqual } from \"es-toolkit\";\nimport type {\n IntrospectionInputValue,\n IntrospectionQuery,\n IntrospectionType,\n} from \"graphql\";\nimport { DateResolver, DateTimeISOResolver } from \"graphql-scalars\";\n\n// since svelte is optional, dub this in case the import is not available, but if it is, use the real one\nlet createSubscriber: typeof import(\"svelte/reactivity\").createSubscriber =\n () => () => {};\n\nconst svelteReactivityReady: Promise<void> = import(\"svelte/reactivity\")\n .then((m) => {\n createSubscriber = m.createSubscriber;\n })\n .catch(() => {});\n\nimport {\n filter,\n fromValue,\n map,\n merge,\n onStart,\n pipe,\n type Source,\n share,\n subscribe,\n take,\n toObservable,\n} from \"wonka\";\nimport { lazy } from \"../helpers/lazy\";\n\n/**\n * Drops results whose data is deeply equal to the previously emitted one, so\n * observers are only notified when something actually changed. Errors always pass.\n * State is reset on every (re)start of the pipeline so new subscriptions still\n * receive their initial value.\n */\nfunction dedupeResults(queryName: string) {\n return (source: Source<any>): Source<any> => {\n let hasLast = false;\n let last: unknown;\n return pipe(\n source,\n onStart(() => {\n hasLast = false;\n last = undefined;\n }),\n filter((v: any) => {\n if (v.error) return true;\n const data = v.data?.[queryName];\n if (hasLast && isEqual(last, data)) return false;\n hasLast = true;\n last = data;\n return true;\n }),\n );\n };\n}\n\n// TODO: this could use some refactoring and less type check disable (remove uses of any)\n// TODO: the client needs tests\n\nfunction typeToString(type: any): string {\n if (type.kind === \"NON_NULL\") return `${typeToString(type.ofType)}!`;\n if (type.kind === \"LIST\") return `[${typeToString(type.ofType)}]`;\n return type.name;\n}\n\nfunction unwrapNamedType(\n typeRef: any,\n types: readonly IntrospectionType[],\n): IntrospectionType | undefined {\n let t = typeRef;\n while (t && (t.kind === \"NON_NULL\" || t.kind === \"LIST\")) t = t.ofType;\n return types.find((x) => x.name === t?.name);\n}\n\nfunction isCompositeKind(kind: string | undefined) {\n return kind === \"OBJECT\" || kind === \"INTERFACE\" || kind === \"UNION\";\n}\n\ntype VarContext = {\n variables: Record<string, any>;\n declarations: string[];\n usedNames: Set<string>;\n};\n\nfunction allocateVarName(ctx: VarContext, baseName: string): string {\n if (!ctx.usedNames.has(baseName)) {\n ctx.usedNames.add(baseName);\n return baseName;\n }\n let i = 1;\n while (ctx.usedNames.has(`${baseName}${i}`)) i++;\n const name = `${baseName}${i}`;\n ctx.usedNames.add(name);\n return name;\n}\n\nexport const argsKey = \"__args\";\n\nfunction makeOperation({\n operationVerb,\n queryName,\n schema,\n input,\n autoIncludeIdField,\n}: {\n operationVerb: \"query\" | \"subscription\" | \"mutation\";\n queryName: string;\n schema: IntrospectionQuery;\n input?: Record<string, any>;\n autoIncludeIdField?: string;\n}) {\n const otwQueryName = `${capitalize(queryName)}${capitalize(operationVerb)}`;\n const field = schema.__schema.types\n .filter((t) => t.kind === \"OBJECT\")\n .find((t) => t.name === schema.__schema[`${operationVerb}Type`]!.name)!\n .fields.find((f) => f.name === queryName)!;\n const types = schema.__schema.types;\n\n const varCtx: VarContext = {\n variables: {},\n declarations: [],\n usedNames: new Set(),\n };\n\n const returnTypeIsComposite = isCompositeKind(\n unwrapNamedType(field.type, types)?.kind,\n );\n\n const selectionString =\n input && returnTypeIsComposite\n ? stringifySelection({\n parentTypeName: unwrapNamedType(field.type, types)!.name,\n selection: input,\n types,\n autoIncludeIdField,\n varCtx,\n })\n : \"\";\n\n const argumentString = input?.[argsKey]\n ? serializeArguments({\n args: input[argsKey],\n fieldArgs: field.args,\n types,\n varCtx,\n })\n : \"\";\n\n const varDecl = varCtx.declarations.length\n ? `(${varCtx.declarations.join(\", \")})`\n : \"\";\n\n return {\n operationString: `${operationVerb} ${otwQueryName}${varDecl} { ${queryName}${argumentString} ${selectionString}}`,\n variables: varCtx.variables,\n };\n}\n\nexport function makeGraphQLQueryRequest({\n queryName,\n schema,\n input,\n client,\n enableSubscription = false,\n forceReactivity,\n autoIncludeIdField,\n}: {\n queryName: string;\n schema: IntrospectionQuery;\n input?: Record<string, any>;\n client: Client;\n enableSubscription?: boolean;\n forceReactivity?: boolean;\n autoIncludeIdField?: string;\n}) {\n let currentData: any;\n const dataProxy = lazy(\n () =>\n new Proxy(currentData, {\n get(_target, prop, receiver) {\n svelteSubscriber();\n const val = Reflect.get(currentData, prop, receiver);\n if (typeof val === \"function\") {\n return val.bind(currentData);\n }\n return val;\n },\n }),\n );\n\n let svelteSubscriber: () => void = () => {};\n\n const { operationString, variables } = makeOperation({\n operationVerb: \"query\",\n queryName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n const observableSources: Source<any>[] = [\n client.query(operationString, variables),\n // client.read\n ];\n if (enableSubscription) {\n const { operationString: subOpString, variables: subVars } = makeOperation({\n operationVerb: \"subscription\",\n queryName,\n input,\n schema,\n autoIncludeIdField,\n });\n observableSources.push(client.subscription(subOpString, subVars));\n }\n const observable = toObservable(\n pipe(\n merge(observableSources),\n dedupeResults(queryName),\n share,\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n const data = v.data?.[queryName];\n if (typeof data === \"object\" && data !== null) {\n currentData = data;\n return dataProxy();\n }\n return data;\n }),\n ),\n );\n\n const subscriberReady = svelteReactivityReady.then(() => {\n svelteSubscriber = createSubscriber((update) => {\n let seen = currentData;\n const unsub = observable.subscribe(() => {\n if (seen === currentData || isEqual(seen, currentData)) return;\n seen = currentData;\n setTimeout(update, 0);\n });\n return () => unsub.unsubscribe();\n });\n });\n\n const promise = new Promise<any>((resolve, reject) => {\n pipe(\n client.query(operationString, variables) as any,\n take(1),\n subscribe((v: any) => {\n if (v.error) {\n reject(v.error);\n return;\n }\n\n const data = v.data?.[queryName];\n if (typeof data !== \"object\" || data === null) {\n resolve(data);\n return;\n }\n if (typeof forceReactivity === \"boolean\" && forceReactivity) {\n subscriberReady.then(() => resolve(observable));\n return;\n }\n\n currentData = data;\n observableSources.push(fromValue({ data: { [queryName]: data } }));\n\n subscriberReady.then(() => {\n try {\n const r = dataProxy();\n Object.assign(r, observable);\n resolve(r);\n } catch (err) {\n reject(err);\n }\n });\n }),\n );\n });\n\n Object.assign(promise, observable);\n return promise;\n}\n\nexport function makeGraphQLMutationRequest({\n mutationName,\n input,\n client,\n schema,\n autoIncludeIdField,\n}: {\n mutationName: string;\n input: Record<string, any>;\n client: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n const { operationString, variables } = makeOperation({\n operationVerb: \"mutation\",\n queryName: mutationName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n const observable = toObservable(\n pipe(\n pipe(client.mutation(operationString, variables) as any, share),\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n const data = v.data?.[mutationName];\n return data;\n }),\n ),\n );\n\n const promise = new Promise<any>((resolve, reject) => {\n pipe(\n client.mutation(operationString, variables) as any,\n take(1),\n subscribe((v: any) => {\n if (v.error) {\n reject(v.error);\n return;\n }\n\n resolve(v.data?.[mutationName]);\n }),\n );\n });\n\n Object.assign(promise, observable);\n return promise;\n}\n\nexport function makeGraphQLSubscriptionRequest({\n subscriptionName,\n input,\n client,\n schema,\n autoIncludeIdField,\n}: {\n subscriptionName: string;\n input: Record<string, any>;\n client: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n const { operationString, variables } = makeOperation({\n operationVerb: \"subscription\",\n queryName: subscriptionName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n return pipe(\n client.subscription(operationString, variables) as any,\n dedupeResults(subscriptionName),\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n return v.data?.[subscriptionName];\n }),\n toObservable,\n ) as any;\n}\n\nfunction stringifySelection({\n parentTypeName,\n selection,\n types,\n autoIncludeIdField,\n varCtx,\n}: {\n selection: Record<string, any>;\n parentTypeName: string;\n types: readonly IntrospectionType[];\n autoIncludeIdField?: string;\n varCtx: VarContext;\n}) {\n const parentType = types.find((t) => t.name === parentTypeName);\n\n // Only where the type has the field (result objects without an identity\n // have none), all the way down, and without writing it into the caller's\n // selection object, which is often shared.\n const entries = Object.entries(selection);\n if (\n autoIncludeIdField &&\n typeof selection[autoIncludeIdField] === \"undefined\" &&\n parentType &&\n \"fields\" in parentType &&\n parentType.fields.some((f) => f.name === autoIncludeIdField)\n ) {\n entries.unshift([autoIncludeIdField, true]);\n }\n\n const ret = entries\n .filter(([key]) => key !== argsKey)\n .reduce((acc, [key, value]) => {\n if (typeof value === \"object\") {\n const subField =\n parentType && \"fields\" in parentType\n ? parentType.fields.find((f) => f.name === key)\n : undefined;\n\n let argsString = \"\";\n if (value[argsKey] && subField) {\n argsString = serializeArguments({\n args: value[argsKey],\n types,\n fieldArgs: subField.args,\n varCtx,\n });\n }\n\n const subNamedType = subField\n ? unwrapNamedType(subField.type, types)\n : undefined;\n\n if (isCompositeKind(subNamedType?.kind)) {\n acc += `${key}${argsString} ${stringifySelection({\n parentTypeName: subNamedType!.name,\n selection: value,\n types,\n autoIncludeIdField,\n varCtx,\n })}\n`;\n } else {\n acc += `${key}${argsString}\n`;\n }\n } else {\n if (typeof value === \"boolean\" && value) {\n acc += `${key}\n`;\n }\n }\n return acc;\n }, \"\");\n\n return `{\n${ret} }`;\n}\n\nfunction serializeArguments({\n args,\n fieldArgs,\n types,\n varCtx,\n}: {\n args: Record<any, any>;\n fieldArgs: readonly IntrospectionInputValue[];\n types: readonly IntrospectionType[];\n varCtx: VarContext;\n}) {\n const entries = Object.entries(args);\n\n if (entries.length > 0) {\n return `(${entries\n .map(([key, value]) => {\n const gqlArg = fieldArgs.find((a) => a.name === key);\n\n if (!gqlArg) {\n throw new Error(\n `Argument ${key} not found in field args list ${JSON.stringify(fieldArgs.map((a) => a.name))}`,\n );\n }\n\n const varName = allocateVarName(varCtx, key);\n varCtx.declarations.push(`$${varName}: ${typeToString(gqlArg.type)}`);\n varCtx.variables[varName] = serializeArgValue({\n arg: value,\n gqlArg,\n types,\n });\n\n return `${key}: $${varName}`;\n })\n .join(\", \")})`;\n }\n\n return \"\";\n}\n\n/** Strips a NON_NULL / LIST / NON_NULL wrapper chain down to the named type. */\nfunction unwrapInputType(type: IntrospectionInputValue[\"type\"]) {\n for (const wrapper of [\"NON_NULL\", \"LIST\", \"NON_NULL\"]) {\n if (type.kind === wrapper) {\n type = (type as any).ofType;\n }\n }\n return type;\n}\n\nfunction serializeDate(arg: Date, gqlArg: IntrospectionInputValue) {\n // list arguments serialize their items with the list's type\n const name = (unwrapInputType(gqlArg.type) as any).name;\n switch (name) {\n case \"Date\":\n return DateResolver.serialize(arg);\n case \"DateTime\":\n return DateTimeISOResolver.serialize(arg);\n default:\n throw new Error(\n `Unrecognized date type ${name}, expected Date or DateTime`,\n );\n }\n}\n\nfunction serializeInputObject({\n arg,\n gqlArg,\n types,\n}: {\n arg: object;\n gqlArg: IntrospectionInputValue;\n types: readonly IntrospectionType[];\n}) {\n const typeName = (unwrapInputType(gqlArg.type) as any).name;\n const referenceInputObject = types.find((t) => t.name === typeName);\n\n if (referenceInputObject?.kind !== \"INPUT_OBJECT\") {\n return arg;\n }\n\n const result: Record<string, any> = {};\n for (const [key, value] of Object.entries(arg)) {\n const subArgType = referenceInputObject.inputFields.find(\n (t) => t.name === key,\n );\n\n if (!subArgType) {\n throw new Error(\n `Expected an INPUT_OBJECT hit in named based lookup for name ${key} with arg ${referenceInputObject.inputFields.map((f) => f.name).join(\", \")}`,\n );\n }\n\n result[key] = serializeArgValue({\n arg: value,\n types,\n gqlArg: subArgType,\n });\n }\n return result;\n}\n\nfunction serializeArgValue({\n arg,\n gqlArg,\n types,\n}: {\n arg: any;\n gqlArg: IntrospectionInputValue;\n types: readonly IntrospectionType[];\n}): any {\n if (arg === null) {\n return null;\n }\n\n if (Array.isArray(arg)) {\n return arg.map((v) => serializeArgValue({ arg: v, types, gqlArg }));\n }\n\n if (arg instanceof Date) {\n return serializeDate(arg, gqlArg);\n }\n\n if (typeof arg === \"object\") {\n return serializeInputObject({ arg, gqlArg, types });\n }\n\n return serializePrimitive(arg);\n}\n\nfunction serializePrimitive(arg: unknown) {\n if (arg === undefined) {\n return null;\n }\n if ([\"string\", \"number\", \"bigint\", \"boolean\"].includes(typeof arg)) {\n return arg;\n }\n if (typeof arg === \"symbol\" || typeof arg === \"function\") {\n throw new Error(`Cannot stringify a ${typeof arg} to send as gql arg`);\n }\n throw new Error(\"Cannot stringify an unknown type\");\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLQueryRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeLiveQuery<\n Query extends Record<string, any>,\n ForceReactivity extends boolean = false,\n>({\n urqlClient,\n availableSubscriptions,\n forceReactivity,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n availableSubscriptions: Set<string>;\n forceReactivity?: ForceReactivity;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLQueryRequest({\n queryName: prop as string,\n input,\n client: urqlClient,\n enableSubscription: availableSubscriptions.has(prop as string),\n forceReactivity,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLMutationRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeMutation<Mutation extends Record<string, any>>({\n urqlClient,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLMutationRequest({\n mutationName: prop as string,\n input,\n client: urqlClient,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Mutation, false>;\n}\n","/**\n * Recursively applies a mapping function to every value in a nested structure.\n *\n * This helper will traverse arrays and plain objects (objects with `constructor === Object`)\n * and apply the provided `fn` to any value that is not an array or a plain object.\n * - Arrays are mapped to new arrays (a fresh array is returned).\n * - Plain objects are traversed and their own enumerable properties are replaced in-place.\n * - Non-plain objects (e.g. Date, Map, Set, class instances, functions) are treated as leaves\n * and passed directly to `fn`.\n * - `null` and `undefined` are passed to `fn`.\n * - Circular references are detected using a `WeakSet`. When a circular reference is encountered,\n * the original reference is returned unchanged (it is not re-traversed or re-mapped).\n *\n * Note: Because plain objects are mutated in-place, callers who need immutability should first\n * clone the object graph or pass a deep-cloned input to avoid modifying the original.\n *\n * @param input - The value to traverse and map. May be any value (primitive, array, object, etc.).\n * @param fn - A function invoked for every non-array, non-plain-object value encountered.\n * Receives the current value and should return the mapped value.\n * @returns The transformed structure: arrays are returned as new arrays, plain objects are the\n * same object instances with their property values replaced, and other values are the\n * result of `fn`.\n *\n * @example\n * // Map all primitive values to their string representation:\n * // const result = mapValuesDeep({ a: 1, b: [2, { c: 3 }] }, v => String(v));\n * // result => { a: \"1\", b: [\"2\", { c: \"3\" }] }\n *\n * @remarks\n * - Only plain objects (constructed by `Object`) are recursively traversed. This avoids\n * unintentionally iterating internal structure of class instances or built-in collections.\n * - Circular structures are preserved by returning the original reference when detected.\n */\nexport function mapValuesDeep(input: any, fn: (value: any) => any) {\n const seen = new WeakSet();\n\n const recurse = (value: any): any => {\n if (Array.isArray(value)) {\n return value.map(recurse);\n }\n\n if (\n value !== null &&\n value !== undefined &&\n typeof value === \"object\" &&\n value.constructor === Object\n ) {\n if (seen.has(value)) return value;\n seen.add(value);\n for (const key of Object.keys(value)) {\n value[key] = recurse(value[key]);\n }\n return value;\n }\n\n return fn(value);\n };\n\n return recurse(input);\n}\n","import type { Exchange } from \"@urql/core\";\nimport { map, pipe } from \"wonka\";\nimport { mapValuesDeep } from \"../helpers/deepMap\";\n\nconst dateIsoRegex =\n /^\\d{4}-\\d{2}-\\d{2}(?:[Tt ]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})?)?$/;\n\nexport const nativeDateExchange: Exchange = ({ client: _client, forward }) => {\n return (operations$) => {\n const operationResult$ = forward(operations$);\n\n return pipe(\n operationResult$ as any,\n map((r: any) => {\n r.data = mapValuesDeep(r.data, (value) => {\n if (typeof value !== \"string\" || !dateIsoRegex.test(value)) {\n return value;\n }\n\n const date = Date.parse(value);\n if (!Number.isNaN(date)) {\n return new Date(date);\n }\n\n return value;\n });\n return r;\n }),\n ) as any;\n };\n};\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLQueryRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeQuery<\n Query extends Record<string, any>,\n ForceReactivity extends boolean = false,\n>({\n urqlClient,\n forceReactivity,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n forceReactivity?: ForceReactivity;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input?: Record<string, any>) => {\n return makeGraphQLQueryRequest({\n queryName: prop as string,\n input,\n client: urqlClient,\n enableSubscription: false,\n forceReactivity,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { argsKey, makeGraphQLSubscriptionRequest } from \"./request\";\nimport type {\n ApplySelection,\n ObjectFieldSelection,\n Subscribeable,\n} from \"./types\";\nimport type { UnArray } from \"./utilTypes\";\n\nexport function makeSubscription<Subscription extends Record<string, any>>({\n urqlClient,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLSubscriptionRequest({\n subscriptionName: prop as string,\n input,\n client: urqlClient,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as SubscriptionObject<Subscription>;\n}\n\n// TODO use the query util types\n\ntype SubscriptionObject<Q> = {\n [Key in keyof Q]: QueryableObjectField<Q[Key]>;\n};\n\ntype QueryableObjectField<T> = T extends (\n p: infer QueryArgs,\n) => infer QueryResponse\n ? <\n Selected extends QueryArgs extends Record<string, any>\n ? ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & {\n [argsKey]: QueryArgs;\n }\n : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>,\n >(\n s: Selected,\n ) => QueryResponse extends null\n ? Subscribeable<\n NonNullable<QueryResponse> extends Array<any>\n ? ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>[]\n : ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>\n > | null\n : Subscribeable<\n QueryResponse extends Array<any>\n ? ApplySelection<UnArray<QueryResponse>, Selected>[]\n : ApplySelection<UnArray<QueryResponse>, Selected>\n >\n : Subscribeable<T>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"client.cjs","names":["pipe","onStart","filter","isEqual","capitalize","once","toObservable","merge","share","map","take","subscribe","fromValue","DateResolver","DateTimeISOResolver","pipe","map"],"sources":["../lib/client/request.ts","../lib/client/liveQuery.ts","../lib/client/mutation.ts","../lib/helpers/deepMap.ts","../lib/client/nativeDateExchange.ts","../lib/client/query.ts","../lib/client/subscription.ts"],"sourcesContent":["import type { Client } from \"@urql/core\";\nimport { capitalize, isEqual, once } from \"es-toolkit\";\nimport type {\n IntrospectionInputValue,\n IntrospectionQuery,\n IntrospectionType,\n} from \"graphql\";\nimport { DateResolver, DateTimeISOResolver } from \"graphql-scalars\";\n\n// since svelte is optional, dub this in case the import is not available, but if it is, use the real one\nlet createSubscriber: typeof import(\"svelte/reactivity\").createSubscriber =\n () => () => {};\n\nconst svelteReactivityReady: Promise<void> = import(\"svelte/reactivity\")\n .then((m) => {\n createSubscriber = m.createSubscriber;\n })\n .catch(() => {});\n\nimport {\n filter,\n fromValue,\n map,\n merge,\n onStart,\n pipe,\n type Source,\n share,\n subscribe,\n take,\n toObservable,\n} from \"wonka\";\n\n/**\n * Drops results whose data is deeply equal to the previously emitted one, so\n * observers are only notified when something actually changed. Errors always pass.\n * State is reset on every (re)start of the pipeline so new subscriptions still\n * receive their initial value.\n */\nfunction dedupeResults(queryName: string) {\n return (source: Source<any>): Source<any> => {\n let hasLast = false;\n let last: unknown;\n return pipe(\n source,\n onStart(() => {\n hasLast = false;\n last = undefined;\n }),\n filter((v: any) => {\n if (v.error) return true;\n const data = v.data?.[queryName];\n if (hasLast && isEqual(last, data)) return false;\n hasLast = true;\n last = data;\n return true;\n }),\n );\n };\n}\n\n// TODO: this could use some refactoring and less type check disable (remove uses of any)\n// TODO: the client needs tests\n\nfunction typeToString(type: any): string {\n if (type.kind === \"NON_NULL\") return `${typeToString(type.ofType)}!`;\n if (type.kind === \"LIST\") return `[${typeToString(type.ofType)}]`;\n return type.name;\n}\n\nfunction unwrapNamedType(\n typeRef: any,\n types: readonly IntrospectionType[],\n): IntrospectionType | undefined {\n let t = typeRef;\n while (t && (t.kind === \"NON_NULL\" || t.kind === \"LIST\")) t = t.ofType;\n return types.find((x) => x.name === t?.name);\n}\n\nfunction isCompositeKind(kind: string | undefined) {\n return kind === \"OBJECT\" || kind === \"INTERFACE\" || kind === \"UNION\";\n}\n\ntype VarContext = {\n variables: Record<string, any>;\n declarations: string[];\n usedNames: Set<string>;\n};\n\nfunction allocateVarName(ctx: VarContext, baseName: string): string {\n if (!ctx.usedNames.has(baseName)) {\n ctx.usedNames.add(baseName);\n return baseName;\n }\n let i = 1;\n while (ctx.usedNames.has(`${baseName}${i}`)) i++;\n const name = `${baseName}${i}`;\n ctx.usedNames.add(name);\n return name;\n}\n\nexport const argsKey = \"__args\";\n\nfunction makeOperation({\n operationVerb,\n queryName,\n schema,\n input,\n autoIncludeIdField,\n}: {\n operationVerb: \"query\" | \"subscription\" | \"mutation\";\n queryName: string;\n schema: IntrospectionQuery;\n input?: Record<string, any>;\n autoIncludeIdField?: string;\n}) {\n const otwQueryName = `${capitalize(queryName)}${capitalize(operationVerb)}`;\n const field = schema.__schema.types\n .filter((t) => t.kind === \"OBJECT\")\n .find((t) => t.name === schema.__schema[`${operationVerb}Type`]!.name)!\n .fields.find((f) => f.name === queryName)!;\n const types = schema.__schema.types;\n\n const varCtx: VarContext = {\n variables: {},\n declarations: [],\n usedNames: new Set(),\n };\n\n const returnTypeIsComposite = isCompositeKind(\n unwrapNamedType(field.type, types)?.kind,\n );\n\n const selectionString =\n input && returnTypeIsComposite\n ? stringifySelection({\n parentTypeName: unwrapNamedType(field.type, types)!.name,\n selection: input,\n types,\n autoIncludeIdField,\n varCtx,\n })\n : \"\";\n\n const argumentString = input?.[argsKey]\n ? serializeArguments({\n args: input[argsKey],\n fieldArgs: field.args,\n types,\n varCtx,\n })\n : \"\";\n\n const varDecl = varCtx.declarations.length\n ? `(${varCtx.declarations.join(\", \")})`\n : \"\";\n\n return {\n operationString: `${operationVerb} ${otwQueryName}${varDecl} { ${queryName}${argumentString} ${selectionString}}`,\n variables: varCtx.variables,\n };\n}\n\nexport function makeGraphQLQueryRequest({\n queryName,\n schema,\n input,\n client,\n enableSubscription = false,\n forceReactivity,\n autoIncludeIdField,\n}: {\n queryName: string;\n schema: IntrospectionQuery;\n input?: Record<string, any>;\n client: Client;\n enableSubscription?: boolean;\n forceReactivity?: boolean;\n autoIncludeIdField?: string;\n}) {\n let currentData: any;\n const dataProxy = once(\n () =>\n new Proxy(currentData, {\n get(_target, prop, receiver) {\n svelteSubscriber();\n const val = Reflect.get(currentData, prop, receiver);\n if (typeof val === \"function\") {\n return val.bind(currentData);\n }\n return val;\n },\n }),\n );\n\n let svelteSubscriber: () => void = () => {};\n\n const { operationString, variables } = makeOperation({\n operationVerb: \"query\",\n queryName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n const observableSources: Source<any>[] = [\n client.query(operationString, variables),\n // client.read\n ];\n if (enableSubscription) {\n const { operationString: subOpString, variables: subVars } = makeOperation({\n operationVerb: \"subscription\",\n queryName,\n input,\n schema,\n autoIncludeIdField,\n });\n observableSources.push(client.subscription(subOpString, subVars));\n }\n const observable = toObservable(\n pipe(\n merge(observableSources),\n dedupeResults(queryName),\n share,\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n const data = v.data?.[queryName];\n if (typeof data === \"object\" && data !== null) {\n currentData = data;\n return dataProxy();\n }\n return data;\n }),\n ),\n );\n\n const subscriberReady = svelteReactivityReady.then(() => {\n svelteSubscriber = createSubscriber((update) => {\n let seen = currentData;\n const unsub = observable.subscribe(() => {\n if (seen === currentData || isEqual(seen, currentData)) return;\n seen = currentData;\n setTimeout(update, 0);\n });\n return () => unsub.unsubscribe();\n });\n });\n\n const promise = new Promise<any>((resolve, reject) => {\n pipe(\n client.query(operationString, variables) as any,\n take(1),\n subscribe((v: any) => {\n if (v.error) {\n reject(v.error);\n return;\n }\n\n const data = v.data?.[queryName];\n if (typeof data !== \"object\" || data === null) {\n resolve(data);\n return;\n }\n if (typeof forceReactivity === \"boolean\" && forceReactivity) {\n subscriberReady.then(() => resolve(observable));\n return;\n }\n\n currentData = data;\n observableSources.push(fromValue({ data: { [queryName]: data } }));\n\n subscriberReady.then(() => {\n try {\n const r = dataProxy();\n Object.assign(r, observable);\n resolve(r);\n } catch (err) {\n reject(err);\n }\n });\n }),\n );\n });\n\n Object.assign(promise, observable);\n return promise;\n}\n\nexport function makeGraphQLMutationRequest({\n mutationName,\n input,\n client,\n schema,\n autoIncludeIdField,\n}: {\n mutationName: string;\n input: Record<string, any>;\n client: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n const { operationString, variables } = makeOperation({\n operationVerb: \"mutation\",\n queryName: mutationName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n const observable = toObservable(\n pipe(\n pipe(client.mutation(operationString, variables) as any, share),\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n const data = v.data?.[mutationName];\n return data;\n }),\n ),\n );\n\n const promise = new Promise<any>((resolve, reject) => {\n pipe(\n client.mutation(operationString, variables) as any,\n take(1),\n subscribe((v: any) => {\n if (v.error) {\n reject(v.error);\n return;\n }\n\n resolve(v.data?.[mutationName]);\n }),\n );\n });\n\n Object.assign(promise, observable);\n return promise;\n}\n\nexport function makeGraphQLSubscriptionRequest({\n subscriptionName,\n input,\n client,\n schema,\n autoIncludeIdField,\n}: {\n subscriptionName: string;\n input: Record<string, any>;\n client: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n const { operationString, variables } = makeOperation({\n operationVerb: \"subscription\",\n queryName: subscriptionName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n return pipe(\n client.subscription(operationString, variables) as any,\n dedupeResults(subscriptionName),\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n return v.data?.[subscriptionName];\n }),\n toObservable,\n ) as any;\n}\n\nfunction stringifySelection({\n parentTypeName,\n selection,\n types,\n autoIncludeIdField,\n varCtx,\n}: {\n selection: Record<string, any>;\n parentTypeName: string;\n types: readonly IntrospectionType[];\n autoIncludeIdField?: string;\n varCtx: VarContext;\n}) {\n const parentType = types.find((t) => t.name === parentTypeName);\n\n // Only where the type has the field (result objects without an identity\n // have none), all the way down, and without writing it into the caller's\n // selection object, which is often shared.\n const entries = Object.entries(selection);\n if (\n autoIncludeIdField &&\n typeof selection[autoIncludeIdField] === \"undefined\" &&\n parentType &&\n \"fields\" in parentType &&\n parentType.fields.some((f) => f.name === autoIncludeIdField)\n ) {\n entries.unshift([autoIncludeIdField, true]);\n }\n\n const ret = entries\n .filter(([key]) => key !== argsKey)\n .reduce((acc, [key, value]) => {\n if (typeof value === \"object\") {\n const subField =\n parentType && \"fields\" in parentType\n ? parentType.fields.find((f) => f.name === key)\n : undefined;\n\n let argsString = \"\";\n if (value[argsKey] && subField) {\n argsString = serializeArguments({\n args: value[argsKey],\n types,\n fieldArgs: subField.args,\n varCtx,\n });\n }\n\n const subNamedType = subField\n ? unwrapNamedType(subField.type, types)\n : undefined;\n\n if (isCompositeKind(subNamedType?.kind)) {\n acc += `${key}${argsString} ${stringifySelection({\n parentTypeName: subNamedType!.name,\n selection: value,\n types,\n autoIncludeIdField,\n varCtx,\n })}\n`;\n } else {\n acc += `${key}${argsString}\n`;\n }\n } else {\n if (typeof value === \"boolean\" && value) {\n acc += `${key}\n`;\n }\n }\n return acc;\n }, \"\");\n\n return `{\n${ret} }`;\n}\n\nfunction serializeArguments({\n args,\n fieldArgs,\n types,\n varCtx,\n}: {\n args: Record<any, any>;\n fieldArgs: readonly IntrospectionInputValue[];\n types: readonly IntrospectionType[];\n varCtx: VarContext;\n}) {\n const entries = Object.entries(args);\n\n if (entries.length > 0) {\n return `(${entries\n .map(([key, value]) => {\n const gqlArg = fieldArgs.find((a) => a.name === key);\n\n if (!gqlArg) {\n throw new Error(\n `Argument ${key} not found in field args list ${JSON.stringify(fieldArgs.map((a) => a.name))}`,\n );\n }\n\n const varName = allocateVarName(varCtx, key);\n varCtx.declarations.push(`$${varName}: ${typeToString(gqlArg.type)}`);\n varCtx.variables[varName] = serializeArgValue({\n arg: value,\n gqlArg,\n types,\n });\n\n return `${key}: $${varName}`;\n })\n .join(\", \")})`;\n }\n\n return \"\";\n}\n\n/** Strips a NON_NULL / LIST / NON_NULL wrapper chain down to the named type. */\nfunction unwrapInputType(type: IntrospectionInputValue[\"type\"]) {\n for (const wrapper of [\"NON_NULL\", \"LIST\", \"NON_NULL\"]) {\n if (type.kind === wrapper) {\n type = (type as any).ofType;\n }\n }\n return type;\n}\n\nfunction serializeDate(arg: Date, gqlArg: IntrospectionInputValue) {\n // list arguments serialize their items with the list's type\n const name = (unwrapInputType(gqlArg.type) as any).name;\n switch (name) {\n case \"Date\":\n return DateResolver.serialize(arg);\n case \"DateTime\":\n return DateTimeISOResolver.serialize(arg);\n default:\n throw new Error(\n `Unrecognized date type ${name}, expected Date or DateTime`,\n );\n }\n}\n\nfunction serializeInputObject({\n arg,\n gqlArg,\n types,\n}: {\n arg: object;\n gqlArg: IntrospectionInputValue;\n types: readonly IntrospectionType[];\n}) {\n const typeName = (unwrapInputType(gqlArg.type) as any).name;\n const referenceInputObject = types.find((t) => t.name === typeName);\n\n if (referenceInputObject?.kind !== \"INPUT_OBJECT\") {\n return arg;\n }\n\n const result: Record<string, any> = {};\n for (const [key, value] of Object.entries(arg)) {\n const subArgType = referenceInputObject.inputFields.find(\n (t) => t.name === key,\n );\n\n if (!subArgType) {\n throw new Error(\n `Expected an INPUT_OBJECT hit in named based lookup for name ${key} with arg ${referenceInputObject.inputFields.map((f) => f.name).join(\", \")}`,\n );\n }\n\n result[key] = serializeArgValue({\n arg: value,\n types,\n gqlArg: subArgType,\n });\n }\n return result;\n}\n\nfunction serializeArgValue({\n arg,\n gqlArg,\n types,\n}: {\n arg: any;\n gqlArg: IntrospectionInputValue;\n types: readonly IntrospectionType[];\n}): any {\n if (arg === null) {\n return null;\n }\n\n if (Array.isArray(arg)) {\n return arg.map((v) => serializeArgValue({ arg: v, types, gqlArg }));\n }\n\n if (arg instanceof Date) {\n return serializeDate(arg, gqlArg);\n }\n\n if (typeof arg === \"object\") {\n return serializeInputObject({ arg, gqlArg, types });\n }\n\n return serializePrimitive(arg);\n}\n\nfunction serializePrimitive(arg: unknown) {\n if (arg === undefined) {\n return null;\n }\n if ([\"string\", \"number\", \"bigint\", \"boolean\"].includes(typeof arg)) {\n return arg;\n }\n if (typeof arg === \"symbol\" || typeof arg === \"function\") {\n throw new Error(`Cannot stringify a ${typeof arg} to send as gql arg`);\n }\n throw new Error(\"Cannot stringify an unknown type\");\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLQueryRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeLiveQuery<\n Query extends Record<string, any>,\n ForceReactivity extends boolean = false,\n>({\n urqlClient,\n availableSubscriptions,\n forceReactivity,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n availableSubscriptions: Set<string>;\n forceReactivity?: ForceReactivity;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLQueryRequest({\n queryName: prop as string,\n input,\n client: urqlClient,\n enableSubscription: availableSubscriptions.has(prop as string),\n forceReactivity,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLMutationRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeMutation<Mutation extends Record<string, any>>({\n urqlClient,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLMutationRequest({\n mutationName: prop as string,\n input,\n client: urqlClient,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Mutation, false>;\n}\n","/**\n * Recursively applies a mapping function to every value in a nested structure.\n *\n * This helper will traverse arrays and plain objects (objects with `constructor === Object`)\n * and apply the provided `fn` to any value that is not an array or a plain object.\n * - Arrays are mapped to new arrays (a fresh array is returned).\n * - Plain objects are traversed and their own enumerable properties are replaced in-place.\n * - Non-plain objects (e.g. Date, Map, Set, class instances, functions) are treated as leaves\n * and passed directly to `fn`.\n * - `null` and `undefined` are passed to `fn`.\n * - Circular references are detected using a `WeakSet`. When a circular reference is encountered,\n * the original reference is returned unchanged (it is not re-traversed or re-mapped).\n *\n * Note: Because plain objects are mutated in-place, callers who need immutability should first\n * clone the object graph or pass a deep-cloned input to avoid modifying the original.\n *\n * @param input - The value to traverse and map. May be any value (primitive, array, object, etc.).\n * @param fn - A function invoked for every non-array, non-plain-object value encountered.\n * Receives the current value and should return the mapped value.\n * @returns The transformed structure: arrays are returned as new arrays, plain objects are the\n * same object instances with their property values replaced, and other values are the\n * result of `fn`.\n *\n * @example\n * // Map all primitive values to their string representation:\n * // const result = mapValuesDeep({ a: 1, b: [2, { c: 3 }] }, v => String(v));\n * // result => { a: \"1\", b: [\"2\", { c: \"3\" }] }\n *\n * @remarks\n * - Only plain objects (constructed by `Object`) are recursively traversed. This avoids\n * unintentionally iterating internal structure of class instances or built-in collections.\n * - Circular structures are preserved by returning the original reference when detected.\n */\nexport function mapValuesDeep(input: any, fn: (value: any) => any) {\n const seen = new WeakSet();\n\n const recurse = (value: any): any => {\n if (Array.isArray(value)) {\n return value.map(recurse);\n }\n\n if (\n value !== null &&\n value !== undefined &&\n typeof value === \"object\" &&\n value.constructor === Object\n ) {\n if (seen.has(value)) return value;\n seen.add(value);\n for (const key of Object.keys(value)) {\n value[key] = recurse(value[key]);\n }\n return value;\n }\n\n return fn(value);\n };\n\n return recurse(input);\n}\n","import type { Exchange } from \"@urql/core\";\nimport { map, pipe } from \"wonka\";\nimport { mapValuesDeep } from \"../helpers/deepMap\";\n\nconst dateIsoRegex =\n /^\\d{4}-\\d{2}-\\d{2}(?:[Tt ]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})?)?$/;\n\nexport const nativeDateExchange: Exchange = ({ client: _client, forward }) => {\n return (operations$) => {\n const operationResult$ = forward(operations$);\n\n return pipe(\n operationResult$ as any,\n map((r: any) => {\n r.data = mapValuesDeep(r.data, (value) => {\n if (typeof value !== \"string\" || !dateIsoRegex.test(value)) {\n return value;\n }\n\n const date = Date.parse(value);\n if (!Number.isNaN(date)) {\n return new Date(date);\n }\n\n return value;\n });\n return r;\n }),\n ) as any;\n };\n};\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLQueryRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeQuery<\n Query extends Record<string, any>,\n ForceReactivity extends boolean = false,\n>({\n urqlClient,\n forceReactivity,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n forceReactivity?: ForceReactivity;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input?: Record<string, any>) => {\n return makeGraphQLQueryRequest({\n queryName: prop as string,\n input,\n client: urqlClient,\n enableSubscription: false,\n forceReactivity,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { argsKey, makeGraphQLSubscriptionRequest } from \"./request\";\nimport type {\n ApplySelection,\n ObjectFieldSelection,\n Subscribeable,\n} from \"./types\";\nimport type { UnArray } from \"./utilTypes\";\n\nexport function makeSubscription<Subscription extends Record<string, any>>({\n urqlClient,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLSubscriptionRequest({\n subscriptionName: prop as string,\n input,\n client: urqlClient,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as SubscriptionObject<Subscription>;\n}\n\n// TODO use the query util types\n\ntype SubscriptionObject<Q> = {\n [Key in keyof Q]: QueryableObjectField<Q[Key]>;\n};\n\ntype QueryableObjectField<T> = T extends (\n p: infer QueryArgs,\n) => infer QueryResponse\n ? <\n Selected extends QueryArgs extends Record<string, any>\n ? ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & {\n [argsKey]: QueryArgs;\n }\n : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>,\n >(\n s: Selected,\n ) => QueryResponse extends null\n ? Subscribeable<\n NonNullable<QueryResponse> extends Array<any>\n ? ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>[]\n : ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>\n > | null\n : Subscribeable<\n QueryResponse extends Array<any>\n ? ApplySelection<UnArray<QueryResponse>, Selected>[]\n : ApplySelection<UnArray<QueryResponse>, Selected>\n >\n : Subscribeable<T>;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.cts","names":[],"sources":["../lib/client/request.ts","../lib/client/utilTypes.ts","../lib/client/types.ts","../lib/client/liveQuery.ts","../lib/client/mutation.ts","../lib/client/nativeDateExchange.ts","../lib/client/query.ts","../lib/client/subscription.ts"],"mappings":";;;cAsGa;;;KCtGD,QAAQ,KAAK,UAAU,YAAY,KAAK,IAAI;KAE5C,OAAO,KAAK,uBAAsB,KAAI,IAAI;KAE1C,wBAAwB,KAAK,YAAY,QAAQ,OAAO;KAExD,gBAAgB,MAAM,MAAM,aAAa,aAAa,OAAO;KAC7D,kBAAkB,MAAM,MAAM,oBAAoB,YAAY;KAE9D,0BAA0B,QACnC,WAAW,IAAI,SAAS,KAAK,GAAG,MAAM,QAAQ,KAAK,GAAG,aACjD;;;KCAI,kCACV,GACA,sCAGC,aAAa,IAAI,EAAE,eAAc,SAAS,oBAAoB,iBAC3D,YAAY,iCAGR,iBAAiB,kBAAkB;GAE/B,qBAAqB,QAAQ,YAAY;GACtC,UAAU;IAGb,qBAAqB,QAAQ,YAAY,kBAE7C,GAAG,aACA,kBAEH,eAEA,SACE,gBAEE,eAEA,eAAe,wBAAwB,gBAAgB,YAEzD,qBAIH;GACE,UAAU;MACP,SAAS,eAAe,yBAE1B,SAAS,EAAE,MAAM;;;;KAMjB,qBAAqB,KAAK,6BACnC,aAAa,IAAI,YAAY,QAAQ,EAAE,iBAAgB,SAAS,YAAY,KACzE,UAAU,sBACR,YAAY,QAAQ;GAElB,qBAAqB,QAAQ,YAAY;GAAU,UAAU;;GAE1D,UAAU;IACf,YAAY,QAAQ,qBAElB,qBAAqB,QAAQ,YAAY;;;;KAUvC,eAAe,QAAQ,gBAChC,aAAa,kBAAkB,SAAS,OAAO,eAC9C,SAAS,uBACA,iBACP,kBACE,eACA,gBACE,YAAY,gBACZ,eAAe,wBAAwB,gBAAgB,UAAU,UAGrE,OAAO;KAGD,cAAc;EACxB,YAAY,eAAe,OAAO;;KAG/B,SACH,MACA,mCACE,+BACA,QAAQ,cAAc,SAAS,cAAc,oBAE7C,sBACE,QAAQ,cAAc,QAAQ,QAAQ,cAAc,oBACpD,QAAQ,cAAc,SAAS,cAAc;;;wBC/FnC,cACd,cAAc,qBACd,2CAEA,YACA,wBACA,iBACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR,wBAAwB;EACxB,kBAAkB;EAClB;IAmBK,kCAAkC,OAAO;;;wBCjChC,aAAa,iBAAiB,uBAC5C,YACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR;IAiBK,kCAAkC;;;qBCtB5B,oBAAoB;;;wBCFjB,UACd,cAAc,qBACd,2CAEA,YACA,iBACA,QACA;EAEA,YAAY;EACZ,kBAAkB;EAClB,QAAQ;EACR;IAmBK,kCAAkC,OAAO;;;wBC1BhC,iBAAiB,qBAAqB,uBACpD,YACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR;IAiBK,mBAAmB;KAKrB,mBAAmB,QACrB,aAAa,IAAI,qBAAqB,EAAE;KAGtC,qBAAqB,KAAK,YAC7B,SAAS,oBACA,kBAEL,iBAAiB,kBAAkB,sBAC/B,qBAAqB,QAAQ,YAAY;GACtC,UAAU;IAEb,qBAAqB,QAAQ,YAAY,kBAE7C,GAAG,aACA,6BACD,cACE,YAAY,uBAAuB,aAC/B,eAAe,QAAQ,YAAY,iBAAiB,cACpD,eAAe,QAAQ,YAAY,iBAAiB,oBAE1D,cACE,sBAAsB,aAClB,eAAe,QAAQ,gBAAgB,cACvC,eAAe,QAAQ,gBAAgB,aAEjD,cAAc"}
1
+ {"version":3,"file":"client.d.cts","names":[],"sources":["../lib/client/request.ts","../lib/client/utilTypes.ts","../lib/client/types.ts","../lib/client/liveQuery.ts","../lib/client/mutation.ts","../lib/client/nativeDateExchange.ts","../lib/client/query.ts","../lib/client/subscription.ts"],"mappings":";;;cAqGa;;;KCrGD,QAAQ,KAAK,UAAU,YAAY,KAAK,IAAI;KAE5C,OAAO,KAAK,uBAAsB,KAAI,IAAI;KAE1C,wBAAwB,KAAK,YAAY,QAAQ,OAAO;KAExD,gBAAgB,MAAM,MAAM,aAAa,aAAa,OAAO;KAC7D,kBAAkB,MAAM,MAAM,oBAAoB,YAAY;KAE9D,0BAA0B,QACnC,WAAW,IAAI,SAAS,KAAK,GAAG,MAAM,QAAQ,KAAK,GAAG,aACjD;;;KCAI,kCACV,GACA,sCAGC,aAAa,IAAI,EAAE,eAAc,SAAS,oBAAoB,iBAC3D,YAAY,iCAGR,iBAAiB,kBAAkB;GAE/B,qBAAqB,QAAQ,YAAY;GACtC,UAAU;IAGb,qBAAqB,QAAQ,YAAY,kBAE7C,GAAG,aACA,kBAEH,eAEA,SACE,gBAEE,eAEA,eAAe,wBAAwB,gBAAgB,YAEzD,qBAIH;GACE,UAAU;MACP,SAAS,eAAe,yBAE1B,SAAS,EAAE,MAAM;;;;KAMjB,qBAAqB,KAAK,6BACnC,aAAa,IAAI,YAAY,QAAQ,EAAE,iBAAgB,SAAS,YAAY,KACzE,UAAU,sBACR,YAAY,QAAQ;GAElB,qBAAqB,QAAQ,YAAY;GAAU,UAAU;;GAE1D,UAAU;IACf,YAAY,QAAQ,qBAElB,qBAAqB,QAAQ,YAAY;;;;KAUvC,eAAe,QAAQ,gBAChC,aAAa,kBAAkB,SAAS,OAAO,eAC9C,SAAS,uBACA,iBACP,kBACE,eACA,gBACE,YAAY,gBACZ,eAAe,wBAAwB,gBAAgB,UAAU,UAGrE,OAAO;KAGD,cAAc;EACxB,YAAY,eAAe,OAAO;;KAG/B,SACH,MACA,mCACE,+BACA,QAAQ,cAAc,SAAS,cAAc,oBAE7C,sBACE,QAAQ,cAAc,QAAQ,QAAQ,cAAc,oBACpD,QAAQ,cAAc,SAAS,cAAc;;;wBC/FnC,cACd,cAAc,qBACd,2CAEA,YACA,wBACA,iBACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR,wBAAwB;EACxB,kBAAkB;EAClB;IAmBK,kCAAkC,OAAO;;;wBCjChC,aAAa,iBAAiB,uBAC5C,YACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR;IAiBK,kCAAkC;;;qBCtB5B,oBAAoB;;;wBCFjB,UACd,cAAc,qBACd,2CAEA,YACA,iBACA,QACA;EAEA,YAAY;EACZ,kBAAkB;EAClB,QAAQ;EACR;IAmBK,kCAAkC,OAAO;;;wBC1BhC,iBAAiB,qBAAqB,uBACpD,YACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR;IAiBK,mBAAmB;KAKrB,mBAAmB,QACrB,aAAa,IAAI,qBAAqB,EAAE;KAGtC,qBAAqB,KAAK,YAC7B,SAAS,oBACA,kBAEL,iBAAiB,kBAAkB,sBAC/B,qBAAqB,QAAQ,YAAY;GACtC,UAAU;IAEb,qBAAqB,QAAQ,YAAY,kBAE7C,GAAG,aACA,6BACD,cACE,YAAY,uBAAuB,aAC/B,eAAe,QAAQ,YAAY,iBAAiB,cACpD,eAAe,QAAQ,YAAY,iBAAiB,oBAE1D,cACE,sBAAsB,aAClB,eAAe,QAAQ,gBAAgB,cACvC,eAAe,QAAQ,gBAAgB,aAEjD,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.mts","names":[],"sources":["../lib/client/request.ts","../lib/client/utilTypes.ts","../lib/client/types.ts","../lib/client/liveQuery.ts","../lib/client/mutation.ts","../lib/client/nativeDateExchange.ts","../lib/client/query.ts","../lib/client/subscription.ts"],"mappings":";;;cAsGa;;;KCtGD,QAAQ,KAAK,UAAU,YAAY,KAAK,IAAI;KAE5C,OAAO,KAAK,uBAAsB,KAAI,IAAI;KAE1C,wBAAwB,KAAK,YAAY,QAAQ,OAAO;KAExD,gBAAgB,MAAM,MAAM,aAAa,aAAa,OAAO;KAC7D,kBAAkB,MAAM,MAAM,oBAAoB,YAAY;KAE9D,0BAA0B,QACnC,WAAW,IAAI,SAAS,KAAK,GAAG,MAAM,QAAQ,KAAK,GAAG,aACjD;;;KCAI,kCACV,GACA,sCAGC,aAAa,IAAI,EAAE,eAAc,SAAS,oBAAoB,iBAC3D,YAAY,iCAGR,iBAAiB,kBAAkB;GAE/B,qBAAqB,QAAQ,YAAY;GACtC,UAAU;IAGb,qBAAqB,QAAQ,YAAY,kBAE7C,GAAG,aACA,kBAEH,eAEA,SACE,gBAEE,eAEA,eAAe,wBAAwB,gBAAgB,YAEzD,qBAIH;GACE,UAAU;MACP,SAAS,eAAe,yBAE1B,SAAS,EAAE,MAAM;;;;KAMjB,qBAAqB,KAAK,6BACnC,aAAa,IAAI,YAAY,QAAQ,EAAE,iBAAgB,SAAS,YAAY,KACzE,UAAU,sBACR,YAAY,QAAQ;GAElB,qBAAqB,QAAQ,YAAY;GAAU,UAAU;;GAE1D,UAAU;IACf,YAAY,QAAQ,qBAElB,qBAAqB,QAAQ,YAAY;;;;KAUvC,eAAe,QAAQ,gBAChC,aAAa,kBAAkB,SAAS,OAAO,eAC9C,SAAS,uBACA,iBACP,kBACE,eACA,gBACE,YAAY,gBACZ,eAAe,wBAAwB,gBAAgB,UAAU,UAGrE,OAAO;KAGD,cAAc;EACxB,YAAY,eAAe,OAAO;;KAG/B,SACH,MACA,mCACE,+BACA,QAAQ,cAAc,SAAS,cAAc,oBAE7C,sBACE,QAAQ,cAAc,QAAQ,QAAQ,cAAc,oBACpD,QAAQ,cAAc,SAAS,cAAc;;;wBC/FnC,cACd,cAAc,qBACd,2CAEA,YACA,wBACA,iBACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR,wBAAwB;EACxB,kBAAkB;EAClB;IAmBK,kCAAkC,OAAO;;;wBCjChC,aAAa,iBAAiB,uBAC5C,YACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR;IAiBK,kCAAkC;;;qBCtB5B,oBAAoB;;;wBCFjB,UACd,cAAc,qBACd,2CAEA,YACA,iBACA,QACA;EAEA,YAAY;EACZ,kBAAkB;EAClB,QAAQ;EACR;IAmBK,kCAAkC,OAAO;;;wBC1BhC,iBAAiB,qBAAqB,uBACpD,YACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR;IAiBK,mBAAmB;KAKrB,mBAAmB,QACrB,aAAa,IAAI,qBAAqB,EAAE;KAGtC,qBAAqB,KAAK,YAC7B,SAAS,oBACA,kBAEL,iBAAiB,kBAAkB,sBAC/B,qBAAqB,QAAQ,YAAY;GACtC,UAAU;IAEb,qBAAqB,QAAQ,YAAY,kBAE7C,GAAG,aACA,6BACD,cACE,YAAY,uBAAuB,aAC/B,eAAe,QAAQ,YAAY,iBAAiB,cACpD,eAAe,QAAQ,YAAY,iBAAiB,oBAE1D,cACE,sBAAsB,aAClB,eAAe,QAAQ,gBAAgB,cACvC,eAAe,QAAQ,gBAAgB,aAEjD,cAAc"}
1
+ {"version":3,"file":"client.d.mts","names":[],"sources":["../lib/client/request.ts","../lib/client/utilTypes.ts","../lib/client/types.ts","../lib/client/liveQuery.ts","../lib/client/mutation.ts","../lib/client/nativeDateExchange.ts","../lib/client/query.ts","../lib/client/subscription.ts"],"mappings":";;;cAqGa;;;KCrGD,QAAQ,KAAK,UAAU,YAAY,KAAK,IAAI;KAE5C,OAAO,KAAK,uBAAsB,KAAI,IAAI;KAE1C,wBAAwB,KAAK,YAAY,QAAQ,OAAO;KAExD,gBAAgB,MAAM,MAAM,aAAa,aAAa,OAAO;KAC7D,kBAAkB,MAAM,MAAM,oBAAoB,YAAY;KAE9D,0BAA0B,QACnC,WAAW,IAAI,SAAS,KAAK,GAAG,MAAM,QAAQ,KAAK,GAAG,aACjD;;;KCAI,kCACV,GACA,sCAGC,aAAa,IAAI,EAAE,eAAc,SAAS,oBAAoB,iBAC3D,YAAY,iCAGR,iBAAiB,kBAAkB;GAE/B,qBAAqB,QAAQ,YAAY;GACtC,UAAU;IAGb,qBAAqB,QAAQ,YAAY,kBAE7C,GAAG,aACA,kBAEH,eAEA,SACE,gBAEE,eAEA,eAAe,wBAAwB,gBAAgB,YAEzD,qBAIH;GACE,UAAU;MACP,SAAS,eAAe,yBAE1B,SAAS,EAAE,MAAM;;;;KAMjB,qBAAqB,KAAK,6BACnC,aAAa,IAAI,YAAY,QAAQ,EAAE,iBAAgB,SAAS,YAAY,KACzE,UAAU,sBACR,YAAY,QAAQ;GAElB,qBAAqB,QAAQ,YAAY;GAAU,UAAU;;GAE1D,UAAU;IACf,YAAY,QAAQ,qBAElB,qBAAqB,QAAQ,YAAY;;;;KAUvC,eAAe,QAAQ,gBAChC,aAAa,kBAAkB,SAAS,OAAO,eAC9C,SAAS,uBACA,iBACP,kBACE,eACA,gBACE,YAAY,gBACZ,eAAe,wBAAwB,gBAAgB,UAAU,UAGrE,OAAO;KAGD,cAAc;EACxB,YAAY,eAAe,OAAO;;KAG/B,SACH,MACA,mCACE,+BACA,QAAQ,cAAc,SAAS,cAAc,oBAE7C,sBACE,QAAQ,cAAc,QAAQ,QAAQ,cAAc,oBACpD,QAAQ,cAAc,SAAS,cAAc;;;wBC/FnC,cACd,cAAc,qBACd,2CAEA,YACA,wBACA,iBACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR,wBAAwB;EACxB,kBAAkB;EAClB;IAmBK,kCAAkC,OAAO;;;wBCjChC,aAAa,iBAAiB,uBAC5C,YACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR;IAiBK,kCAAkC;;;qBCtB5B,oBAAoB;;;wBCFjB,UACd,cAAc,qBACd,2CAEA,YACA,iBACA,QACA;EAEA,YAAY;EACZ,kBAAkB;EAClB,QAAQ;EACR;IAmBK,kCAAkC,OAAO;;;wBC1BhC,iBAAiB,qBAAqB,uBACpD,YACA,QACA;EAEA,YAAY;EACZ,QAAQ;EACR;IAiBK,mBAAmB;KAKrB,mBAAmB,QACrB,aAAa,IAAI,qBAAqB,EAAE;KAGtC,qBAAqB,KAAK,YAC7B,SAAS,oBACA,kBAEL,iBAAiB,kBAAkB,sBAC/B,qBAAqB,QAAQ,YAAY;GACtC,UAAU;IAEb,qBAAqB,QAAQ,YAAY,kBAE7C,GAAG,aACA,6BACD,cACE,YAAY,uBAAuB,aAC/B,eAAe,QAAQ,YAAY,iBAAiB,cACpD,eAAe,QAAQ,YAAY,iBAAiB,oBAE1D,cACE,sBAAsB,aAClB,eAAe,QAAQ,gBAAgB,cACvC,eAAe,QAAQ,gBAAgB,aAEjD,cAAc"}
package/out/client.mjs CHANGED
@@ -1,5 +1,4 @@
1
- import { t as lazy } from "./lazy-C7IyM4M4.mjs";
2
- import { capitalize, isEqual } from "es-toolkit";
1
+ import { capitalize, isEqual, once } from "es-toolkit";
3
2
  import { DateResolver, DateTimeISOResolver } from "graphql-scalars";
4
3
  import { filter, fromValue, map, merge as merge$1, onStart, pipe, share, subscribe, take, toObservable } from "wonka";
5
4
  //#region lib/client/request.ts
@@ -85,7 +84,7 @@ function makeOperation({ operationVerb, queryName, schema, input, autoIncludeIdF
85
84
  }
86
85
  function makeGraphQLQueryRequest({ queryName, schema, input, client, enableSubscription = false, forceReactivity, autoIncludeIdField }) {
87
86
  let currentData;
88
- const dataProxy = lazy(() => new Proxy(currentData, { get(_target, prop, receiver) {
87
+ const dataProxy = once(() => new Proxy(currentData, { get(_target, prop, receiver) {
89
88
  svelteSubscriber();
90
89
  const val = Reflect.get(currentData, prop, receiver);
91
90
  if (typeof val === "function") return val.bind(currentData);
@@ -1 +1 @@
1
- {"version":3,"file":"client.mjs","names":["merge"],"sources":["../lib/client/request.ts","../lib/client/liveQuery.ts","../lib/client/mutation.ts","../lib/helpers/deepMap.ts","../lib/client/nativeDateExchange.ts","../lib/client/query.ts","../lib/client/subscription.ts"],"sourcesContent":["import type { Client } from \"@urql/core\";\nimport { capitalize, isEqual } from \"es-toolkit\";\nimport type {\n IntrospectionInputValue,\n IntrospectionQuery,\n IntrospectionType,\n} from \"graphql\";\nimport { DateResolver, DateTimeISOResolver } from \"graphql-scalars\";\n\n// since svelte is optional, dub this in case the import is not available, but if it is, use the real one\nlet createSubscriber: typeof import(\"svelte/reactivity\").createSubscriber =\n () => () => {};\n\nconst svelteReactivityReady: Promise<void> = import(\"svelte/reactivity\")\n .then((m) => {\n createSubscriber = m.createSubscriber;\n })\n .catch(() => {});\n\nimport {\n filter,\n fromValue,\n map,\n merge,\n onStart,\n pipe,\n type Source,\n share,\n subscribe,\n take,\n toObservable,\n} from \"wonka\";\nimport { lazy } from \"../helpers/lazy\";\n\n/**\n * Drops results whose data is deeply equal to the previously emitted one, so\n * observers are only notified when something actually changed. Errors always pass.\n * State is reset on every (re)start of the pipeline so new subscriptions still\n * receive their initial value.\n */\nfunction dedupeResults(queryName: string) {\n return (source: Source<any>): Source<any> => {\n let hasLast = false;\n let last: unknown;\n return pipe(\n source,\n onStart(() => {\n hasLast = false;\n last = undefined;\n }),\n filter((v: any) => {\n if (v.error) return true;\n const data = v.data?.[queryName];\n if (hasLast && isEqual(last, data)) return false;\n hasLast = true;\n last = data;\n return true;\n }),\n );\n };\n}\n\n// TODO: this could use some refactoring and less type check disable (remove uses of any)\n// TODO: the client needs tests\n\nfunction typeToString(type: any): string {\n if (type.kind === \"NON_NULL\") return `${typeToString(type.ofType)}!`;\n if (type.kind === \"LIST\") return `[${typeToString(type.ofType)}]`;\n return type.name;\n}\n\nfunction unwrapNamedType(\n typeRef: any,\n types: readonly IntrospectionType[],\n): IntrospectionType | undefined {\n let t = typeRef;\n while (t && (t.kind === \"NON_NULL\" || t.kind === \"LIST\")) t = t.ofType;\n return types.find((x) => x.name === t?.name);\n}\n\nfunction isCompositeKind(kind: string | undefined) {\n return kind === \"OBJECT\" || kind === \"INTERFACE\" || kind === \"UNION\";\n}\n\ntype VarContext = {\n variables: Record<string, any>;\n declarations: string[];\n usedNames: Set<string>;\n};\n\nfunction allocateVarName(ctx: VarContext, baseName: string): string {\n if (!ctx.usedNames.has(baseName)) {\n ctx.usedNames.add(baseName);\n return baseName;\n }\n let i = 1;\n while (ctx.usedNames.has(`${baseName}${i}`)) i++;\n const name = `${baseName}${i}`;\n ctx.usedNames.add(name);\n return name;\n}\n\nexport const argsKey = \"__args\";\n\nfunction makeOperation({\n operationVerb,\n queryName,\n schema,\n input,\n autoIncludeIdField,\n}: {\n operationVerb: \"query\" | \"subscription\" | \"mutation\";\n queryName: string;\n schema: IntrospectionQuery;\n input?: Record<string, any>;\n autoIncludeIdField?: string;\n}) {\n const otwQueryName = `${capitalize(queryName)}${capitalize(operationVerb)}`;\n const field = schema.__schema.types\n .filter((t) => t.kind === \"OBJECT\")\n .find((t) => t.name === schema.__schema[`${operationVerb}Type`]!.name)!\n .fields.find((f) => f.name === queryName)!;\n const types = schema.__schema.types;\n\n const varCtx: VarContext = {\n variables: {},\n declarations: [],\n usedNames: new Set(),\n };\n\n const returnTypeIsComposite = isCompositeKind(\n unwrapNamedType(field.type, types)?.kind,\n );\n\n const selectionString =\n input && returnTypeIsComposite\n ? stringifySelection({\n parentTypeName: unwrapNamedType(field.type, types)!.name,\n selection: input,\n types,\n autoIncludeIdField,\n varCtx,\n })\n : \"\";\n\n const argumentString = input?.[argsKey]\n ? serializeArguments({\n args: input[argsKey],\n fieldArgs: field.args,\n types,\n varCtx,\n })\n : \"\";\n\n const varDecl = varCtx.declarations.length\n ? `(${varCtx.declarations.join(\", \")})`\n : \"\";\n\n return {\n operationString: `${operationVerb} ${otwQueryName}${varDecl} { ${queryName}${argumentString} ${selectionString}}`,\n variables: varCtx.variables,\n };\n}\n\nexport function makeGraphQLQueryRequest({\n queryName,\n schema,\n input,\n client,\n enableSubscription = false,\n forceReactivity,\n autoIncludeIdField,\n}: {\n queryName: string;\n schema: IntrospectionQuery;\n input?: Record<string, any>;\n client: Client;\n enableSubscription?: boolean;\n forceReactivity?: boolean;\n autoIncludeIdField?: string;\n}) {\n let currentData: any;\n const dataProxy = lazy(\n () =>\n new Proxy(currentData, {\n get(_target, prop, receiver) {\n svelteSubscriber();\n const val = Reflect.get(currentData, prop, receiver);\n if (typeof val === \"function\") {\n return val.bind(currentData);\n }\n return val;\n },\n }),\n );\n\n let svelteSubscriber: () => void = () => {};\n\n const { operationString, variables } = makeOperation({\n operationVerb: \"query\",\n queryName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n const observableSources: Source<any>[] = [\n client.query(operationString, variables),\n // client.read\n ];\n if (enableSubscription) {\n const { operationString: subOpString, variables: subVars } = makeOperation({\n operationVerb: \"subscription\",\n queryName,\n input,\n schema,\n autoIncludeIdField,\n });\n observableSources.push(client.subscription(subOpString, subVars));\n }\n const observable = toObservable(\n pipe(\n merge(observableSources),\n dedupeResults(queryName),\n share,\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n const data = v.data?.[queryName];\n if (typeof data === \"object\" && data !== null) {\n currentData = data;\n return dataProxy();\n }\n return data;\n }),\n ),\n );\n\n const subscriberReady = svelteReactivityReady.then(() => {\n svelteSubscriber = createSubscriber((update) => {\n let seen = currentData;\n const unsub = observable.subscribe(() => {\n if (seen === currentData || isEqual(seen, currentData)) return;\n seen = currentData;\n setTimeout(update, 0);\n });\n return () => unsub.unsubscribe();\n });\n });\n\n const promise = new Promise<any>((resolve, reject) => {\n pipe(\n client.query(operationString, variables) as any,\n take(1),\n subscribe((v: any) => {\n if (v.error) {\n reject(v.error);\n return;\n }\n\n const data = v.data?.[queryName];\n if (typeof data !== \"object\" || data === null) {\n resolve(data);\n return;\n }\n if (typeof forceReactivity === \"boolean\" && forceReactivity) {\n subscriberReady.then(() => resolve(observable));\n return;\n }\n\n currentData = data;\n observableSources.push(fromValue({ data: { [queryName]: data } }));\n\n subscriberReady.then(() => {\n try {\n const r = dataProxy();\n Object.assign(r, observable);\n resolve(r);\n } catch (err) {\n reject(err);\n }\n });\n }),\n );\n });\n\n Object.assign(promise, observable);\n return promise;\n}\n\nexport function makeGraphQLMutationRequest({\n mutationName,\n input,\n client,\n schema,\n autoIncludeIdField,\n}: {\n mutationName: string;\n input: Record<string, any>;\n client: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n const { operationString, variables } = makeOperation({\n operationVerb: \"mutation\",\n queryName: mutationName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n const observable = toObservable(\n pipe(\n pipe(client.mutation(operationString, variables) as any, share),\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n const data = v.data?.[mutationName];\n return data;\n }),\n ),\n );\n\n const promise = new Promise<any>((resolve, reject) => {\n pipe(\n client.mutation(operationString, variables) as any,\n take(1),\n subscribe((v: any) => {\n if (v.error) {\n reject(v.error);\n return;\n }\n\n resolve(v.data?.[mutationName]);\n }),\n );\n });\n\n Object.assign(promise, observable);\n return promise;\n}\n\nexport function makeGraphQLSubscriptionRequest({\n subscriptionName,\n input,\n client,\n schema,\n autoIncludeIdField,\n}: {\n subscriptionName: string;\n input: Record<string, any>;\n client: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n const { operationString, variables } = makeOperation({\n operationVerb: \"subscription\",\n queryName: subscriptionName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n return pipe(\n client.subscription(operationString, variables) as any,\n dedupeResults(subscriptionName),\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n return v.data?.[subscriptionName];\n }),\n toObservable,\n ) as any;\n}\n\nfunction stringifySelection({\n parentTypeName,\n selection,\n types,\n autoIncludeIdField,\n varCtx,\n}: {\n selection: Record<string, any>;\n parentTypeName: string;\n types: readonly IntrospectionType[];\n autoIncludeIdField?: string;\n varCtx: VarContext;\n}) {\n const parentType = types.find((t) => t.name === parentTypeName);\n\n // Only where the type has the field (result objects without an identity\n // have none), all the way down, and without writing it into the caller's\n // selection object, which is often shared.\n const entries = Object.entries(selection);\n if (\n autoIncludeIdField &&\n typeof selection[autoIncludeIdField] === \"undefined\" &&\n parentType &&\n \"fields\" in parentType &&\n parentType.fields.some((f) => f.name === autoIncludeIdField)\n ) {\n entries.unshift([autoIncludeIdField, true]);\n }\n\n const ret = entries\n .filter(([key]) => key !== argsKey)\n .reduce((acc, [key, value]) => {\n if (typeof value === \"object\") {\n const subField =\n parentType && \"fields\" in parentType\n ? parentType.fields.find((f) => f.name === key)\n : undefined;\n\n let argsString = \"\";\n if (value[argsKey] && subField) {\n argsString = serializeArguments({\n args: value[argsKey],\n types,\n fieldArgs: subField.args,\n varCtx,\n });\n }\n\n const subNamedType = subField\n ? unwrapNamedType(subField.type, types)\n : undefined;\n\n if (isCompositeKind(subNamedType?.kind)) {\n acc += `${key}${argsString} ${stringifySelection({\n parentTypeName: subNamedType!.name,\n selection: value,\n types,\n autoIncludeIdField,\n varCtx,\n })}\n`;\n } else {\n acc += `${key}${argsString}\n`;\n }\n } else {\n if (typeof value === \"boolean\" && value) {\n acc += `${key}\n`;\n }\n }\n return acc;\n }, \"\");\n\n return `{\n${ret} }`;\n}\n\nfunction serializeArguments({\n args,\n fieldArgs,\n types,\n varCtx,\n}: {\n args: Record<any, any>;\n fieldArgs: readonly IntrospectionInputValue[];\n types: readonly IntrospectionType[];\n varCtx: VarContext;\n}) {\n const entries = Object.entries(args);\n\n if (entries.length > 0) {\n return `(${entries\n .map(([key, value]) => {\n const gqlArg = fieldArgs.find((a) => a.name === key);\n\n if (!gqlArg) {\n throw new Error(\n `Argument ${key} not found in field args list ${JSON.stringify(fieldArgs.map((a) => a.name))}`,\n );\n }\n\n const varName = allocateVarName(varCtx, key);\n varCtx.declarations.push(`$${varName}: ${typeToString(gqlArg.type)}`);\n varCtx.variables[varName] = serializeArgValue({\n arg: value,\n gqlArg,\n types,\n });\n\n return `${key}: $${varName}`;\n })\n .join(\", \")})`;\n }\n\n return \"\";\n}\n\n/** Strips a NON_NULL / LIST / NON_NULL wrapper chain down to the named type. */\nfunction unwrapInputType(type: IntrospectionInputValue[\"type\"]) {\n for (const wrapper of [\"NON_NULL\", \"LIST\", \"NON_NULL\"]) {\n if (type.kind === wrapper) {\n type = (type as any).ofType;\n }\n }\n return type;\n}\n\nfunction serializeDate(arg: Date, gqlArg: IntrospectionInputValue) {\n // list arguments serialize their items with the list's type\n const name = (unwrapInputType(gqlArg.type) as any).name;\n switch (name) {\n case \"Date\":\n return DateResolver.serialize(arg);\n case \"DateTime\":\n return DateTimeISOResolver.serialize(arg);\n default:\n throw new Error(\n `Unrecognized date type ${name}, expected Date or DateTime`,\n );\n }\n}\n\nfunction serializeInputObject({\n arg,\n gqlArg,\n types,\n}: {\n arg: object;\n gqlArg: IntrospectionInputValue;\n types: readonly IntrospectionType[];\n}) {\n const typeName = (unwrapInputType(gqlArg.type) as any).name;\n const referenceInputObject = types.find((t) => t.name === typeName);\n\n if (referenceInputObject?.kind !== \"INPUT_OBJECT\") {\n return arg;\n }\n\n const result: Record<string, any> = {};\n for (const [key, value] of Object.entries(arg)) {\n const subArgType = referenceInputObject.inputFields.find(\n (t) => t.name === key,\n );\n\n if (!subArgType) {\n throw new Error(\n `Expected an INPUT_OBJECT hit in named based lookup for name ${key} with arg ${referenceInputObject.inputFields.map((f) => f.name).join(\", \")}`,\n );\n }\n\n result[key] = serializeArgValue({\n arg: value,\n types,\n gqlArg: subArgType,\n });\n }\n return result;\n}\n\nfunction serializeArgValue({\n arg,\n gqlArg,\n types,\n}: {\n arg: any;\n gqlArg: IntrospectionInputValue;\n types: readonly IntrospectionType[];\n}): any {\n if (arg === null) {\n return null;\n }\n\n if (Array.isArray(arg)) {\n return arg.map((v) => serializeArgValue({ arg: v, types, gqlArg }));\n }\n\n if (arg instanceof Date) {\n return serializeDate(arg, gqlArg);\n }\n\n if (typeof arg === \"object\") {\n return serializeInputObject({ arg, gqlArg, types });\n }\n\n return serializePrimitive(arg);\n}\n\nfunction serializePrimitive(arg: unknown) {\n if (arg === undefined) {\n return null;\n }\n if ([\"string\", \"number\", \"bigint\", \"boolean\"].includes(typeof arg)) {\n return arg;\n }\n if (typeof arg === \"symbol\" || typeof arg === \"function\") {\n throw new Error(`Cannot stringify a ${typeof arg} to send as gql arg`);\n }\n throw new Error(\"Cannot stringify an unknown type\");\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLQueryRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeLiveQuery<\n Query extends Record<string, any>,\n ForceReactivity extends boolean = false,\n>({\n urqlClient,\n availableSubscriptions,\n forceReactivity,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n availableSubscriptions: Set<string>;\n forceReactivity?: ForceReactivity;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLQueryRequest({\n queryName: prop as string,\n input,\n client: urqlClient,\n enableSubscription: availableSubscriptions.has(prop as string),\n forceReactivity,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLMutationRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeMutation<Mutation extends Record<string, any>>({\n urqlClient,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLMutationRequest({\n mutationName: prop as string,\n input,\n client: urqlClient,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Mutation, false>;\n}\n","/**\n * Recursively applies a mapping function to every value in a nested structure.\n *\n * This helper will traverse arrays and plain objects (objects with `constructor === Object`)\n * and apply the provided `fn` to any value that is not an array or a plain object.\n * - Arrays are mapped to new arrays (a fresh array is returned).\n * - Plain objects are traversed and their own enumerable properties are replaced in-place.\n * - Non-plain objects (e.g. Date, Map, Set, class instances, functions) are treated as leaves\n * and passed directly to `fn`.\n * - `null` and `undefined` are passed to `fn`.\n * - Circular references are detected using a `WeakSet`. When a circular reference is encountered,\n * the original reference is returned unchanged (it is not re-traversed or re-mapped).\n *\n * Note: Because plain objects are mutated in-place, callers who need immutability should first\n * clone the object graph or pass a deep-cloned input to avoid modifying the original.\n *\n * @param input - The value to traverse and map. May be any value (primitive, array, object, etc.).\n * @param fn - A function invoked for every non-array, non-plain-object value encountered.\n * Receives the current value and should return the mapped value.\n * @returns The transformed structure: arrays are returned as new arrays, plain objects are the\n * same object instances with their property values replaced, and other values are the\n * result of `fn`.\n *\n * @example\n * // Map all primitive values to their string representation:\n * // const result = mapValuesDeep({ a: 1, b: [2, { c: 3 }] }, v => String(v));\n * // result => { a: \"1\", b: [\"2\", { c: \"3\" }] }\n *\n * @remarks\n * - Only plain objects (constructed by `Object`) are recursively traversed. This avoids\n * unintentionally iterating internal structure of class instances or built-in collections.\n * - Circular structures are preserved by returning the original reference when detected.\n */\nexport function mapValuesDeep(input: any, fn: (value: any) => any) {\n const seen = new WeakSet();\n\n const recurse = (value: any): any => {\n if (Array.isArray(value)) {\n return value.map(recurse);\n }\n\n if (\n value !== null &&\n value !== undefined &&\n typeof value === \"object\" &&\n value.constructor === Object\n ) {\n if (seen.has(value)) return value;\n seen.add(value);\n for (const key of Object.keys(value)) {\n value[key] = recurse(value[key]);\n }\n return value;\n }\n\n return fn(value);\n };\n\n return recurse(input);\n}\n","import type { Exchange } from \"@urql/core\";\nimport { map, pipe } from \"wonka\";\nimport { mapValuesDeep } from \"../helpers/deepMap\";\n\nconst dateIsoRegex =\n /^\\d{4}-\\d{2}-\\d{2}(?:[Tt ]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})?)?$/;\n\nexport const nativeDateExchange: Exchange = ({ client: _client, forward }) => {\n return (operations$) => {\n const operationResult$ = forward(operations$);\n\n return pipe(\n operationResult$ as any,\n map((r: any) => {\n r.data = mapValuesDeep(r.data, (value) => {\n if (typeof value !== \"string\" || !dateIsoRegex.test(value)) {\n return value;\n }\n\n const date = Date.parse(value);\n if (!Number.isNaN(date)) {\n return new Date(date);\n }\n\n return value;\n });\n return r;\n }),\n ) as any;\n };\n};\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLQueryRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeQuery<\n Query extends Record<string, any>,\n ForceReactivity extends boolean = false,\n>({\n urqlClient,\n forceReactivity,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n forceReactivity?: ForceReactivity;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input?: Record<string, any>) => {\n return makeGraphQLQueryRequest({\n queryName: prop as string,\n input,\n client: urqlClient,\n enableSubscription: false,\n forceReactivity,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { argsKey, makeGraphQLSubscriptionRequest } from \"./request\";\nimport type {\n ApplySelection,\n ObjectFieldSelection,\n Subscribeable,\n} from \"./types\";\nimport type { UnArray } from \"./utilTypes\";\n\nexport function makeSubscription<Subscription extends Record<string, any>>({\n urqlClient,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLSubscriptionRequest({\n subscriptionName: prop as string,\n input,\n client: urqlClient,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as SubscriptionObject<Subscription>;\n}\n\n// TODO use the query util types\n\ntype SubscriptionObject<Q> = {\n [Key in keyof Q]: QueryableObjectField<Q[Key]>;\n};\n\ntype QueryableObjectField<T> = T extends (\n p: infer QueryArgs,\n) => infer QueryResponse\n ? <\n Selected extends QueryArgs extends Record<string, any>\n ? ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & {\n [argsKey]: QueryArgs;\n }\n : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>,\n >(\n s: Selected,\n ) => QueryResponse extends null\n ? Subscribeable<\n NonNullable<QueryResponse> extends Array<any>\n ? ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>[]\n : ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>\n > | null\n : Subscribeable<\n QueryResponse extends Array<any>\n ? ApplySelection<UnArray<QueryResponse>, Selected>[]\n : ApplySelection<UnArray<QueryResponse>, Selected>\n >\n : Subscribeable<T>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"client.mjs","names":["merge"],"sources":["../lib/client/request.ts","../lib/client/liveQuery.ts","../lib/client/mutation.ts","../lib/helpers/deepMap.ts","../lib/client/nativeDateExchange.ts","../lib/client/query.ts","../lib/client/subscription.ts"],"sourcesContent":["import type { Client } from \"@urql/core\";\nimport { capitalize, isEqual, once } from \"es-toolkit\";\nimport type {\n IntrospectionInputValue,\n IntrospectionQuery,\n IntrospectionType,\n} from \"graphql\";\nimport { DateResolver, DateTimeISOResolver } from \"graphql-scalars\";\n\n// since svelte is optional, dub this in case the import is not available, but if it is, use the real one\nlet createSubscriber: typeof import(\"svelte/reactivity\").createSubscriber =\n () => () => {};\n\nconst svelteReactivityReady: Promise<void> = import(\"svelte/reactivity\")\n .then((m) => {\n createSubscriber = m.createSubscriber;\n })\n .catch(() => {});\n\nimport {\n filter,\n fromValue,\n map,\n merge,\n onStart,\n pipe,\n type Source,\n share,\n subscribe,\n take,\n toObservable,\n} from \"wonka\";\n\n/**\n * Drops results whose data is deeply equal to the previously emitted one, so\n * observers are only notified when something actually changed. Errors always pass.\n * State is reset on every (re)start of the pipeline so new subscriptions still\n * receive their initial value.\n */\nfunction dedupeResults(queryName: string) {\n return (source: Source<any>): Source<any> => {\n let hasLast = false;\n let last: unknown;\n return pipe(\n source,\n onStart(() => {\n hasLast = false;\n last = undefined;\n }),\n filter((v: any) => {\n if (v.error) return true;\n const data = v.data?.[queryName];\n if (hasLast && isEqual(last, data)) return false;\n hasLast = true;\n last = data;\n return true;\n }),\n );\n };\n}\n\n// TODO: this could use some refactoring and less type check disable (remove uses of any)\n// TODO: the client needs tests\n\nfunction typeToString(type: any): string {\n if (type.kind === \"NON_NULL\") return `${typeToString(type.ofType)}!`;\n if (type.kind === \"LIST\") return `[${typeToString(type.ofType)}]`;\n return type.name;\n}\n\nfunction unwrapNamedType(\n typeRef: any,\n types: readonly IntrospectionType[],\n): IntrospectionType | undefined {\n let t = typeRef;\n while (t && (t.kind === \"NON_NULL\" || t.kind === \"LIST\")) t = t.ofType;\n return types.find((x) => x.name === t?.name);\n}\n\nfunction isCompositeKind(kind: string | undefined) {\n return kind === \"OBJECT\" || kind === \"INTERFACE\" || kind === \"UNION\";\n}\n\ntype VarContext = {\n variables: Record<string, any>;\n declarations: string[];\n usedNames: Set<string>;\n};\n\nfunction allocateVarName(ctx: VarContext, baseName: string): string {\n if (!ctx.usedNames.has(baseName)) {\n ctx.usedNames.add(baseName);\n return baseName;\n }\n let i = 1;\n while (ctx.usedNames.has(`${baseName}${i}`)) i++;\n const name = `${baseName}${i}`;\n ctx.usedNames.add(name);\n return name;\n}\n\nexport const argsKey = \"__args\";\n\nfunction makeOperation({\n operationVerb,\n queryName,\n schema,\n input,\n autoIncludeIdField,\n}: {\n operationVerb: \"query\" | \"subscription\" | \"mutation\";\n queryName: string;\n schema: IntrospectionQuery;\n input?: Record<string, any>;\n autoIncludeIdField?: string;\n}) {\n const otwQueryName = `${capitalize(queryName)}${capitalize(operationVerb)}`;\n const field = schema.__schema.types\n .filter((t) => t.kind === \"OBJECT\")\n .find((t) => t.name === schema.__schema[`${operationVerb}Type`]!.name)!\n .fields.find((f) => f.name === queryName)!;\n const types = schema.__schema.types;\n\n const varCtx: VarContext = {\n variables: {},\n declarations: [],\n usedNames: new Set(),\n };\n\n const returnTypeIsComposite = isCompositeKind(\n unwrapNamedType(field.type, types)?.kind,\n );\n\n const selectionString =\n input && returnTypeIsComposite\n ? stringifySelection({\n parentTypeName: unwrapNamedType(field.type, types)!.name,\n selection: input,\n types,\n autoIncludeIdField,\n varCtx,\n })\n : \"\";\n\n const argumentString = input?.[argsKey]\n ? serializeArguments({\n args: input[argsKey],\n fieldArgs: field.args,\n types,\n varCtx,\n })\n : \"\";\n\n const varDecl = varCtx.declarations.length\n ? `(${varCtx.declarations.join(\", \")})`\n : \"\";\n\n return {\n operationString: `${operationVerb} ${otwQueryName}${varDecl} { ${queryName}${argumentString} ${selectionString}}`,\n variables: varCtx.variables,\n };\n}\n\nexport function makeGraphQLQueryRequest({\n queryName,\n schema,\n input,\n client,\n enableSubscription = false,\n forceReactivity,\n autoIncludeIdField,\n}: {\n queryName: string;\n schema: IntrospectionQuery;\n input?: Record<string, any>;\n client: Client;\n enableSubscription?: boolean;\n forceReactivity?: boolean;\n autoIncludeIdField?: string;\n}) {\n let currentData: any;\n const dataProxy = once(\n () =>\n new Proxy(currentData, {\n get(_target, prop, receiver) {\n svelteSubscriber();\n const val = Reflect.get(currentData, prop, receiver);\n if (typeof val === \"function\") {\n return val.bind(currentData);\n }\n return val;\n },\n }),\n );\n\n let svelteSubscriber: () => void = () => {};\n\n const { operationString, variables } = makeOperation({\n operationVerb: \"query\",\n queryName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n const observableSources: Source<any>[] = [\n client.query(operationString, variables),\n // client.read\n ];\n if (enableSubscription) {\n const { operationString: subOpString, variables: subVars } = makeOperation({\n operationVerb: \"subscription\",\n queryName,\n input,\n schema,\n autoIncludeIdField,\n });\n observableSources.push(client.subscription(subOpString, subVars));\n }\n const observable = toObservable(\n pipe(\n merge(observableSources),\n dedupeResults(queryName),\n share,\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n const data = v.data?.[queryName];\n if (typeof data === \"object\" && data !== null) {\n currentData = data;\n return dataProxy();\n }\n return data;\n }),\n ),\n );\n\n const subscriberReady = svelteReactivityReady.then(() => {\n svelteSubscriber = createSubscriber((update) => {\n let seen = currentData;\n const unsub = observable.subscribe(() => {\n if (seen === currentData || isEqual(seen, currentData)) return;\n seen = currentData;\n setTimeout(update, 0);\n });\n return () => unsub.unsubscribe();\n });\n });\n\n const promise = new Promise<any>((resolve, reject) => {\n pipe(\n client.query(operationString, variables) as any,\n take(1),\n subscribe((v: any) => {\n if (v.error) {\n reject(v.error);\n return;\n }\n\n const data = v.data?.[queryName];\n if (typeof data !== \"object\" || data === null) {\n resolve(data);\n return;\n }\n if (typeof forceReactivity === \"boolean\" && forceReactivity) {\n subscriberReady.then(() => resolve(observable));\n return;\n }\n\n currentData = data;\n observableSources.push(fromValue({ data: { [queryName]: data } }));\n\n subscriberReady.then(() => {\n try {\n const r = dataProxy();\n Object.assign(r, observable);\n resolve(r);\n } catch (err) {\n reject(err);\n }\n });\n }),\n );\n });\n\n Object.assign(promise, observable);\n return promise;\n}\n\nexport function makeGraphQLMutationRequest({\n mutationName,\n input,\n client,\n schema,\n autoIncludeIdField,\n}: {\n mutationName: string;\n input: Record<string, any>;\n client: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n const { operationString, variables } = makeOperation({\n operationVerb: \"mutation\",\n queryName: mutationName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n const observable = toObservable(\n pipe(\n pipe(client.mutation(operationString, variables) as any, share),\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n const data = v.data?.[mutationName];\n return data;\n }),\n ),\n );\n\n const promise = new Promise<any>((resolve, reject) => {\n pipe(\n client.mutation(operationString, variables) as any,\n take(1),\n subscribe((v: any) => {\n if (v.error) {\n reject(v.error);\n return;\n }\n\n resolve(v.data?.[mutationName]);\n }),\n );\n });\n\n Object.assign(promise, observable);\n return promise;\n}\n\nexport function makeGraphQLSubscriptionRequest({\n subscriptionName,\n input,\n client,\n schema,\n autoIncludeIdField,\n}: {\n subscriptionName: string;\n input: Record<string, any>;\n client: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n const { operationString, variables } = makeOperation({\n operationVerb: \"subscription\",\n queryName: subscriptionName,\n input,\n schema,\n autoIncludeIdField,\n });\n\n return pipe(\n client.subscription(operationString, variables) as any,\n dedupeResults(subscriptionName),\n map((v: any) => {\n if (v.error) {\n throw v.error;\n }\n\n return v.data?.[subscriptionName];\n }),\n toObservable,\n ) as any;\n}\n\nfunction stringifySelection({\n parentTypeName,\n selection,\n types,\n autoIncludeIdField,\n varCtx,\n}: {\n selection: Record<string, any>;\n parentTypeName: string;\n types: readonly IntrospectionType[];\n autoIncludeIdField?: string;\n varCtx: VarContext;\n}) {\n const parentType = types.find((t) => t.name === parentTypeName);\n\n // Only where the type has the field (result objects without an identity\n // have none), all the way down, and without writing it into the caller's\n // selection object, which is often shared.\n const entries = Object.entries(selection);\n if (\n autoIncludeIdField &&\n typeof selection[autoIncludeIdField] === \"undefined\" &&\n parentType &&\n \"fields\" in parentType &&\n parentType.fields.some((f) => f.name === autoIncludeIdField)\n ) {\n entries.unshift([autoIncludeIdField, true]);\n }\n\n const ret = entries\n .filter(([key]) => key !== argsKey)\n .reduce((acc, [key, value]) => {\n if (typeof value === \"object\") {\n const subField =\n parentType && \"fields\" in parentType\n ? parentType.fields.find((f) => f.name === key)\n : undefined;\n\n let argsString = \"\";\n if (value[argsKey] && subField) {\n argsString = serializeArguments({\n args: value[argsKey],\n types,\n fieldArgs: subField.args,\n varCtx,\n });\n }\n\n const subNamedType = subField\n ? unwrapNamedType(subField.type, types)\n : undefined;\n\n if (isCompositeKind(subNamedType?.kind)) {\n acc += `${key}${argsString} ${stringifySelection({\n parentTypeName: subNamedType!.name,\n selection: value,\n types,\n autoIncludeIdField,\n varCtx,\n })}\n`;\n } else {\n acc += `${key}${argsString}\n`;\n }\n } else {\n if (typeof value === \"boolean\" && value) {\n acc += `${key}\n`;\n }\n }\n return acc;\n }, \"\");\n\n return `{\n${ret} }`;\n}\n\nfunction serializeArguments({\n args,\n fieldArgs,\n types,\n varCtx,\n}: {\n args: Record<any, any>;\n fieldArgs: readonly IntrospectionInputValue[];\n types: readonly IntrospectionType[];\n varCtx: VarContext;\n}) {\n const entries = Object.entries(args);\n\n if (entries.length > 0) {\n return `(${entries\n .map(([key, value]) => {\n const gqlArg = fieldArgs.find((a) => a.name === key);\n\n if (!gqlArg) {\n throw new Error(\n `Argument ${key} not found in field args list ${JSON.stringify(fieldArgs.map((a) => a.name))}`,\n );\n }\n\n const varName = allocateVarName(varCtx, key);\n varCtx.declarations.push(`$${varName}: ${typeToString(gqlArg.type)}`);\n varCtx.variables[varName] = serializeArgValue({\n arg: value,\n gqlArg,\n types,\n });\n\n return `${key}: $${varName}`;\n })\n .join(\", \")})`;\n }\n\n return \"\";\n}\n\n/** Strips a NON_NULL / LIST / NON_NULL wrapper chain down to the named type. */\nfunction unwrapInputType(type: IntrospectionInputValue[\"type\"]) {\n for (const wrapper of [\"NON_NULL\", \"LIST\", \"NON_NULL\"]) {\n if (type.kind === wrapper) {\n type = (type as any).ofType;\n }\n }\n return type;\n}\n\nfunction serializeDate(arg: Date, gqlArg: IntrospectionInputValue) {\n // list arguments serialize their items with the list's type\n const name = (unwrapInputType(gqlArg.type) as any).name;\n switch (name) {\n case \"Date\":\n return DateResolver.serialize(arg);\n case \"DateTime\":\n return DateTimeISOResolver.serialize(arg);\n default:\n throw new Error(\n `Unrecognized date type ${name}, expected Date or DateTime`,\n );\n }\n}\n\nfunction serializeInputObject({\n arg,\n gqlArg,\n types,\n}: {\n arg: object;\n gqlArg: IntrospectionInputValue;\n types: readonly IntrospectionType[];\n}) {\n const typeName = (unwrapInputType(gqlArg.type) as any).name;\n const referenceInputObject = types.find((t) => t.name === typeName);\n\n if (referenceInputObject?.kind !== \"INPUT_OBJECT\") {\n return arg;\n }\n\n const result: Record<string, any> = {};\n for (const [key, value] of Object.entries(arg)) {\n const subArgType = referenceInputObject.inputFields.find(\n (t) => t.name === key,\n );\n\n if (!subArgType) {\n throw new Error(\n `Expected an INPUT_OBJECT hit in named based lookup for name ${key} with arg ${referenceInputObject.inputFields.map((f) => f.name).join(\", \")}`,\n );\n }\n\n result[key] = serializeArgValue({\n arg: value,\n types,\n gqlArg: subArgType,\n });\n }\n return result;\n}\n\nfunction serializeArgValue({\n arg,\n gqlArg,\n types,\n}: {\n arg: any;\n gqlArg: IntrospectionInputValue;\n types: readonly IntrospectionType[];\n}): any {\n if (arg === null) {\n return null;\n }\n\n if (Array.isArray(arg)) {\n return arg.map((v) => serializeArgValue({ arg: v, types, gqlArg }));\n }\n\n if (arg instanceof Date) {\n return serializeDate(arg, gqlArg);\n }\n\n if (typeof arg === \"object\") {\n return serializeInputObject({ arg, gqlArg, types });\n }\n\n return serializePrimitive(arg);\n}\n\nfunction serializePrimitive(arg: unknown) {\n if (arg === undefined) {\n return null;\n }\n if ([\"string\", \"number\", \"bigint\", \"boolean\"].includes(typeof arg)) {\n return arg;\n }\n if (typeof arg === \"symbol\" || typeof arg === \"function\") {\n throw new Error(`Cannot stringify a ${typeof arg} to send as gql arg`);\n }\n throw new Error(\"Cannot stringify an unknown type\");\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLQueryRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeLiveQuery<\n Query extends Record<string, any>,\n ForceReactivity extends boolean = false,\n>({\n urqlClient,\n availableSubscriptions,\n forceReactivity,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n availableSubscriptions: Set<string>;\n forceReactivity?: ForceReactivity;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLQueryRequest({\n queryName: prop as string,\n input,\n client: urqlClient,\n enableSubscription: availableSubscriptions.has(prop as string),\n forceReactivity,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLMutationRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeMutation<Mutation extends Record<string, any>>({\n urqlClient,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLMutationRequest({\n mutationName: prop as string,\n input,\n client: urqlClient,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Mutation, false>;\n}\n","/**\n * Recursively applies a mapping function to every value in a nested structure.\n *\n * This helper will traverse arrays and plain objects (objects with `constructor === Object`)\n * and apply the provided `fn` to any value that is not an array or a plain object.\n * - Arrays are mapped to new arrays (a fresh array is returned).\n * - Plain objects are traversed and their own enumerable properties are replaced in-place.\n * - Non-plain objects (e.g. Date, Map, Set, class instances, functions) are treated as leaves\n * and passed directly to `fn`.\n * - `null` and `undefined` are passed to `fn`.\n * - Circular references are detected using a `WeakSet`. When a circular reference is encountered,\n * the original reference is returned unchanged (it is not re-traversed or re-mapped).\n *\n * Note: Because plain objects are mutated in-place, callers who need immutability should first\n * clone the object graph or pass a deep-cloned input to avoid modifying the original.\n *\n * @param input - The value to traverse and map. May be any value (primitive, array, object, etc.).\n * @param fn - A function invoked for every non-array, non-plain-object value encountered.\n * Receives the current value and should return the mapped value.\n * @returns The transformed structure: arrays are returned as new arrays, plain objects are the\n * same object instances with their property values replaced, and other values are the\n * result of `fn`.\n *\n * @example\n * // Map all primitive values to their string representation:\n * // const result = mapValuesDeep({ a: 1, b: [2, { c: 3 }] }, v => String(v));\n * // result => { a: \"1\", b: [\"2\", { c: \"3\" }] }\n *\n * @remarks\n * - Only plain objects (constructed by `Object`) are recursively traversed. This avoids\n * unintentionally iterating internal structure of class instances or built-in collections.\n * - Circular structures are preserved by returning the original reference when detected.\n */\nexport function mapValuesDeep(input: any, fn: (value: any) => any) {\n const seen = new WeakSet();\n\n const recurse = (value: any): any => {\n if (Array.isArray(value)) {\n return value.map(recurse);\n }\n\n if (\n value !== null &&\n value !== undefined &&\n typeof value === \"object\" &&\n value.constructor === Object\n ) {\n if (seen.has(value)) return value;\n seen.add(value);\n for (const key of Object.keys(value)) {\n value[key] = recurse(value[key]);\n }\n return value;\n }\n\n return fn(value);\n };\n\n return recurse(input);\n}\n","import type { Exchange } from \"@urql/core\";\nimport { map, pipe } from \"wonka\";\nimport { mapValuesDeep } from \"../helpers/deepMap\";\n\nconst dateIsoRegex =\n /^\\d{4}-\\d{2}-\\d{2}(?:[Tt ]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})?)?$/;\n\nexport const nativeDateExchange: Exchange = ({ client: _client, forward }) => {\n return (operations$) => {\n const operationResult$ = forward(operations$);\n\n return pipe(\n operationResult$ as any,\n map((r: any) => {\n r.data = mapValuesDeep(r.data, (value) => {\n if (typeof value !== \"string\" || !dateIsoRegex.test(value)) {\n return value;\n }\n\n const date = Date.parse(value);\n if (!Number.isNaN(date)) {\n return new Date(date);\n }\n\n return value;\n });\n return r;\n }),\n ) as any;\n };\n};\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { makeGraphQLQueryRequest } from \"./request\";\nimport type { QueryableObjectFromGeneratedTypes } from \"./types\";\n\nexport function makeQuery<\n Query extends Record<string, any>,\n ForceReactivity extends boolean = false,\n>({\n urqlClient,\n forceReactivity,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n forceReactivity?: ForceReactivity;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input?: Record<string, any>) => {\n return makeGraphQLQueryRequest({\n queryName: prop as string,\n input,\n client: urqlClient,\n enableSubscription: false,\n forceReactivity,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;\n}\n","import type { Client } from \"@urql/core\";\nimport type { IntrospectionQuery } from \"graphql\";\nimport { argsKey, makeGraphQLSubscriptionRequest } from \"./request\";\nimport type {\n ApplySelection,\n ObjectFieldSelection,\n Subscribeable,\n} from \"./types\";\nimport type { UnArray } from \"./utilTypes\";\n\nexport function makeSubscription<Subscription extends Record<string, any>>({\n urqlClient,\n schema,\n autoIncludeIdField,\n}: {\n urqlClient: Client;\n schema: IntrospectionQuery;\n autoIncludeIdField?: string;\n}) {\n return new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (input: Record<string, any>) => {\n return makeGraphQLSubscriptionRequest({\n subscriptionName: prop as string,\n input,\n client: urqlClient,\n schema,\n autoIncludeIdField,\n });\n };\n },\n },\n ) as SubscriptionObject<Subscription>;\n}\n\n// TODO use the query util types\n\ntype SubscriptionObject<Q> = {\n [Key in keyof Q]: QueryableObjectField<Q[Key]>;\n};\n\ntype QueryableObjectField<T> = T extends (\n p: infer QueryArgs,\n) => infer QueryResponse\n ? <\n Selected extends QueryArgs extends Record<string, any>\n ? ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & {\n [argsKey]: QueryArgs;\n }\n : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>,\n >(\n s: Selected,\n ) => QueryResponse extends null\n ? Subscribeable<\n NonNullable<QueryResponse> extends Array<any>\n ? ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>[]\n : ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>\n > | null\n : Subscribeable<\n QueryResponse extends Array<any>\n ? ApplySelection<UnArray<QueryResponse>, Selected>[]\n : ApplySelection<UnArray<QueryResponse>, Selected>\n >\n : Subscribeable<T>;\n"],"mappings":"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"}
package/out/index.cjs CHANGED
@@ -21,7 +21,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  enumerable: true
22
22
  }) : target, mod));
23
23
  //#endregion
24
- const require_lazy = require("./lazy-CAN0oaXD.cjs");
25
24
  const require_generate = require("./generate-D0CKBths.cjs");
26
25
  let drizzle_orm = require("drizzle-orm");
27
26
  let graphql = require("graphql");
@@ -756,8 +755,8 @@ function createFilterResponder({ db, defaultLimit }, tableSchema) {
756
755
  const where = filters?.where;
757
756
  const extras = filters?.extras;
758
757
  const columns = filters?.columns;
759
- const limit = require_lazy.lazy(() => resolveLimit(filters?.limit, mergedLimit, defaultLimit));
760
- const sqlTransformedWhere = require_lazy.lazy(() => {
758
+ const limit = (0, es_toolkit.once)(() => resolveLimit(filters?.limit, mergedLimit, defaultLimit));
759
+ const sqlTransformedWhere = (0, es_toolkit.once)(() => {
761
760
  const casing = db._.session?.dialect?.casing;
762
761
  return where ? (0, drizzle_orm.relationsFilterToSQL)(tableSchema.foundRelation.table, sanitizeFilterValue(where), tableSchema.relations, db._.relations, casing) : void 0;
763
762
  });
@@ -1447,13 +1446,13 @@ function mapNullFieldsToUndefined(obj) {
1447
1446
  }
1448
1447
  //#endregion
1449
1448
  //#region package.json
1450
- var version = "0.26.2";
1449
+ var version = "0.26.4";
1451
1450
  //#endregion
1452
1451
  //#region lib/args/orderArg.ts
1453
1452
  const makeDefaultName$1 = (dbName) => `${(0, es_toolkit.capitalize)((0, drizzle_orm_casing.toCamelCase)(dbName.toString()))}OrderInputArgument`;
1454
1453
  const createOrderArgImplementer = ({ db, schemaBuilder }) => {
1455
1454
  const referenceStorage = /* @__PURE__ */ new Map();
1456
- const sortingParameterEnumRef = require_lazy.lazy(() => schemaBuilder.enumType("SortingParameter", { values: ["asc", "desc"] }));
1455
+ const sortingParameterEnumRef = (0, es_toolkit.once)(() => schemaBuilder.enumType("SortingParameter", { values: ["asc", "desc"] }));
1457
1456
  const orderArgImplementer = ({ table, refName, dbName }) => {
1458
1457
  const tableSchema = tableHelper({
1459
1458
  db,
@@ -1818,7 +1817,7 @@ const clientCreatorImplementer = ({ builtSchema }) => {
1818
1817
  //#endregion
1819
1818
  //#region lib/context.ts
1820
1819
  const createContextFunction = ({ context: makeUserContext, abilityBuilder }) => {
1821
- const builtAbilityBuilder = require_lazy.lazy(() => abilityBuilder._.build());
1820
+ const builtAbilityBuilder = (0, es_toolkit.once)(() => abilityBuilder._.build());
1822
1821
  return async (req) => {
1823
1822
  const userContext = makeUserContext ? await makeUserContext(req) : {};
1824
1823
  return {
@@ -3589,7 +3588,7 @@ export const r = rumble({
3589
3588
  whereArgImplementer: whereArg,
3590
3589
  makePubSubInstance
3591
3590
  });
3592
- const builtSchema = require_lazy.lazy(() => {
3591
+ const builtSchema = (0, es_toolkit.once)(() => {
3593
3592
  let raw;
3594
3593
  try {
3595
3594
  raw = schemaBuilder.toSchema();
@@ -3646,6 +3645,7 @@ export const r = rumble({
3646
3645
  const createYoga = (args) => {
3647
3646
  const enableApiDocs = args?.enableApiDocs ?? process?.env?.NODE_ENV === "development";
3648
3647
  return (0, graphql_yoga.createYoga)({
3648
+ cors: false,
3649
3649
  ...args,
3650
3650
  graphiql: enableApiDocs,
3651
3651
  schema: builtSchema(),