@m1212e/rumble 0.26.4 → 0.27.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -70
- package/out/client/generate.cjs +1 -1
- package/out/client/generate.d.cts +0 -2
- package/out/client/generate.d.cts.map +1 -1
- package/out/client/generate.d.mts +0 -2
- package/out/client/generate.d.mts.map +1 -1
- package/out/client/generate.mjs +1 -2
- package/out/client.cjs +7 -14
- package/out/client.cjs.map +1 -1
- package/out/client.d.cts +19 -28
- package/out/client.d.cts.map +1 -1
- package/out/client.d.mts +19 -28
- package/out/client.d.mts.map +1 -1
- package/out/client.mjs +7 -14
- package/out/client.mjs.map +1 -1
- package/out/{generate-D0CKBths.cjs → generate-Btr_u0Lr.cjs} +4 -7
- package/out/{generate-D0CKBths.cjs.map → generate-Btr_u0Lr.cjs.map} +1 -1
- package/out/{generate-BySnFVve.mjs → generate-Dzf2klR2.mjs} +4 -7
- package/out/{generate-BySnFVve.mjs.map → generate-Dzf2klR2.mjs.map} +1 -1
- package/out/index.cjs +5990 -191
- package/out/index.cjs.map +1 -1
- package/out/index.d.cts +148 -329
- package/out/index.d.cts.map +1 -1
- package/out/index.d.mts +148 -330
- package/out/index.d.mts.map +1 -1
- package/out/index.mjs +5981 -190
- package/out/index.mjs.map +1 -1
- package/package.json +16 -13
package/out/client.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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
|
+
{"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 { makeGraphQLSubscriptionRequest } from \"./request\";\nimport type {\n ApplySelection,\n ObjectFieldSelection,\n Subscribeable,\n} from \"./types\";\nimport type { ArgsSelection, 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 ObjectFieldSelection<\n UnArray<NonNullable<QueryResponse>>\n > &\n ArgsSelection<QueryArgs>,\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/client.d.cts
CHANGED
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
import { IntrospectionQuery } from "graphql";
|
|
2
2
|
import { Client, Exchange } from "@urql/core";
|
|
3
|
-
//#region lib/client/request.d.ts
|
|
4
3
|
declare const argsKey = "__args";
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* The `__args` a selection of a field takes, from the parameter `P` of the field's generated
|
|
6
|
+
* function: none for a field without arguments (`() => X` infers `unknown`), optional when every
|
|
7
|
+
* argument is optional (`(p?: A) => X` infers `A | undefined`), required otherwise. Checking
|
|
8
|
+
* `P extends Record<string, any>` alone misses the optional case, whose `undefined` fails it, and
|
|
9
|
+
* then leaves `__args` unchecked.
|
|
10
|
+
*/
|
|
11
|
+
type ArgsSelection<P> = unknown extends P ? unknown : undefined extends P ? {
|
|
12
|
+
[argsKey]?: NonNullable<P>;
|
|
13
|
+
} : {
|
|
14
|
+
[argsKey]: P;
|
|
15
|
+
};
|
|
7
16
|
type UnArray<T> = T extends Array<infer U> ? U : T;
|
|
8
17
|
type UnFunc<T> = T extends (() => infer A) ? A : T;
|
|
9
18
|
type ExtractGQLTypeFromField<T> = NonNullable<UnArray<UnFunc<T>>>;
|
|
10
19
|
type DeriveArrayType<From, To> = From extends Array<any> ? To[] : To;
|
|
11
20
|
type DeriveNullability<From, To> = From extends null ? To | null : To;
|
|
12
21
|
type RequireAtLeastOneFieldSet<T> = { [K in keyof T]: Required<Pick<T, K>> & Partial<Omit<T, K>>; }[keyof T];
|
|
13
|
-
|
|
14
|
-
//#region lib/client/types.d.ts
|
|
15
|
-
type QueryableObjectFromGeneratedTypes<Q, ForceReactivity extends boolean> = { [Key in keyof Q]: Q[Key] extends ((p: infer QueryArgs) => infer QueryResponse) ? NonNullable<QueryResponse> extends object ? <Selected extends QueryArgs extends Record<string, any> // in that case we want to extend the object with an args key property
|
|
16
|
-
? ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & {
|
|
17
|
-
[argsKey]: QueryArgs;
|
|
18
|
-
} : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>>(s: Selected) => DeriveNullability<QueryResponse, Response<DeriveArrayType<QueryResponse, ApplySelection<ExtractGQLTypeFromField<QueryResponse>, Selected>>, ForceReactivity>> : (p: {
|
|
22
|
+
type QueryableObjectFromGeneratedTypes<Q, ForceReactivity extends boolean> = { [Key in keyof Q]: Q[Key] extends ((p: infer QueryArgs) => infer QueryResponse) ? NonNullable<QueryResponse> extends object ? <Selected extends ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & ArgsSelection<QueryArgs>>(s: Selected) => DeriveNullability<QueryResponse, Response<DeriveArrayType<QueryResponse, ApplySelection<ExtractGQLTypeFromField<QueryResponse>, Selected>>, ForceReactivity>> : (p: {
|
|
19
23
|
[argsKey]: QueryArgs;
|
|
20
24
|
}) => Response<QueryResponse, ForceReactivity> : () => Response<Q[Key], ForceReactivity>; };
|
|
21
25
|
/**
|
|
22
26
|
* The input to select fields for an object
|
|
23
27
|
*/
|
|
24
|
-
type ObjectFieldSelection<O> = RequireAtLeastOneFieldSet<{ [Key in keyof O]: NonNullable<UnArray<O[Key]>> extends ((p: infer P) => infer A) ?
|
|
25
|
-
? ObjectFieldSelection<UnArray<NonNullable<A>>> &
|
|
26
|
-
|
|
27
|
-
} : {
|
|
28
|
+
type ObjectFieldSelection<O> = RequireAtLeastOneFieldSet<{ [Key in keyof O]: NonNullable<UnArray<O[Key]>> extends ((p: infer P) => infer A) ? unknown extends P ? NonNullable<UnArray<A>> extends object ? ObjectFieldSelection<UnArray<NonNullable<A>>> : boolean : NonNullable<UnArray<A>> extends object // object return with args — field selection and the args, optional if they all are
|
|
29
|
+
? ObjectFieldSelection<UnArray<NonNullable<A>>> & ArgsSelection<P> : undefined extends P // scalar return with optional args — include or not, or give the args
|
|
30
|
+
? boolean | ArgsSelection<P> : {
|
|
28
31
|
[argsKey]: P;
|
|
29
|
-
} :
|
|
32
|
+
} : boolean; }>;
|
|
30
33
|
/**
|
|
31
34
|
* Apply a selection to an object type
|
|
32
35
|
*/
|
|
@@ -35,8 +38,6 @@ type Subscribeable<Data> = {
|
|
|
35
38
|
subscribe: (subscription: (value: Data) => void) => () => void;
|
|
36
39
|
};
|
|
37
40
|
type Response<Data, ForceReactivity extends boolean> = ForceReactivity extends true ? Promise<Subscribeable<Data>> & Subscribeable<Data | undefined> : Data extends object ? Promise<Subscribeable<Data> & Data> & Subscribeable<Data | undefined> : Promise<Subscribeable<Data>> & Subscribeable<Data | undefined>;
|
|
38
|
-
//#endregion
|
|
39
|
-
//#region lib/client/liveQuery.d.ts
|
|
40
41
|
export declare function makeLiveQuery<Query extends Record<string, any>, ForceReactivity extends boolean = false>({ urqlClient, availableSubscriptions, forceReactivity, schema, autoIncludeIdField }: {
|
|
41
42
|
urqlClient: Client;
|
|
42
43
|
schema: IntrospectionQuery;
|
|
@@ -44,34 +45,24 @@ export declare function makeLiveQuery<Query extends Record<string, any>, ForceRe
|
|
|
44
45
|
forceReactivity?: ForceReactivity;
|
|
45
46
|
autoIncludeIdField?: string;
|
|
46
47
|
}): QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;
|
|
47
|
-
//#endregion
|
|
48
|
-
//#region lib/client/mutation.d.ts
|
|
49
48
|
export declare function makeMutation<Mutation extends Record<string, any>>({ urqlClient, schema, autoIncludeIdField }: {
|
|
50
49
|
urqlClient: Client;
|
|
51
50
|
schema: IntrospectionQuery;
|
|
52
51
|
autoIncludeIdField?: string;
|
|
53
52
|
}): QueryableObjectFromGeneratedTypes<Mutation, false>;
|
|
54
|
-
//#endregion
|
|
55
|
-
//#region lib/client/nativeDateExchange.d.ts
|
|
56
53
|
export declare const nativeDateExchange: Exchange;
|
|
57
|
-
//#endregion
|
|
58
|
-
//#region lib/client/query.d.ts
|
|
59
54
|
export declare function makeQuery<Query extends Record<string, any>, ForceReactivity extends boolean = false>({ urqlClient, forceReactivity, schema, autoIncludeIdField }: {
|
|
60
55
|
urqlClient: Client;
|
|
61
56
|
forceReactivity?: ForceReactivity;
|
|
62
57
|
schema: IntrospectionQuery;
|
|
63
58
|
autoIncludeIdField?: string;
|
|
64
59
|
}): QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;
|
|
65
|
-
//#endregion
|
|
66
|
-
//#region lib/client/subscription.d.ts
|
|
67
60
|
export declare function makeSubscription<Subscription extends Record<string, any>>({ urqlClient, schema, autoIncludeIdField }: {
|
|
68
61
|
urqlClient: Client;
|
|
69
62
|
schema: IntrospectionQuery;
|
|
70
63
|
autoIncludeIdField?: string;
|
|
71
64
|
}): SubscriptionObject<Subscription>;
|
|
72
65
|
type SubscriptionObject<Q> = { [Key in keyof Q]: QueryableObjectField<Q[Key]>; };
|
|
73
|
-
type QueryableObjectField<T> = T extends ((p: infer QueryArgs) => infer QueryResponse) ? <Selected extends QueryArgs extends
|
|
74
|
-
|
|
75
|
-
} : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>>(s: Selected) => QueryResponse extends null ? Subscribeable<NonNullable<QueryResponse> extends Array<any> ? ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>[] : ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>> | null : Subscribeable<QueryResponse extends Array<any> ? ApplySelection<UnArray<QueryResponse>, Selected>[] : ApplySelection<UnArray<QueryResponse>, Selected>> : Subscribeable<T>;
|
|
76
|
-
//#endregion
|
|
66
|
+
type QueryableObjectField<T> = T extends ((p: infer QueryArgs) => infer QueryResponse) ? <Selected extends ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & ArgsSelection<QueryArgs>>(s: Selected) => QueryResponse extends null ? Subscribeable<NonNullable<QueryResponse> extends Array<any> ? ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>[] : ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>> | null : Subscribeable<QueryResponse extends Array<any> ? ApplySelection<UnArray<QueryResponse>, Selected>[] : ApplySelection<UnArray<QueryResponse>, Selected>> : Subscribeable<T>;
|
|
67
|
+
export {};
|
|
77
68
|
//# sourceMappingURL=client.d.cts.map
|
package/out/client.d.cts.map
CHANGED
|
@@ -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":"
|
|
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;;;;;;;;KC5FD,cAAc,qBAAqB,gCAEzB;GACb,WAAW,YAAY;;GACvB,UAAU;;KAEP,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;KCdI,kCACV,GACA,sCAGC,aAAa,IAAI,EAAE,eAAc,SAAS,oBAAoB,iBAC3D,YAAY,iCAGR,iBAAiB,qBACf,QAAQ,YAAY,mBAEpB,cAAc,YAEhB,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,qBACzD,IACd,YAAY,QAAQ,qBAElB,qBAAqB,QAAQ,YAAY,iBAG3C,YAAY,QAAQ;GAElB,qBAAqB,QAAQ,YAAY,OAAO,cAAc,uBAC5C;aAEN,cAAc;GAErB,UAAU;;;;;KAQb,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;wBChGnC,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,qBACf,QAAQ,YAAY,mBAEpB,cAAc,YAEhB,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.d.mts
CHANGED
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
import { IntrospectionQuery } from "graphql";
|
|
2
2
|
import { Client, Exchange } from "@urql/core";
|
|
3
|
-
//#region lib/client/request.d.ts
|
|
4
3
|
declare const argsKey = "__args";
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* The `__args` a selection of a field takes, from the parameter `P` of the field's generated
|
|
6
|
+
* function: none for a field without arguments (`() => X` infers `unknown`), optional when every
|
|
7
|
+
* argument is optional (`(p?: A) => X` infers `A | undefined`), required otherwise. Checking
|
|
8
|
+
* `P extends Record<string, any>` alone misses the optional case, whose `undefined` fails it, and
|
|
9
|
+
* then leaves `__args` unchecked.
|
|
10
|
+
*/
|
|
11
|
+
type ArgsSelection<P> = unknown extends P ? unknown : undefined extends P ? {
|
|
12
|
+
[argsKey]?: NonNullable<P>;
|
|
13
|
+
} : {
|
|
14
|
+
[argsKey]: P;
|
|
15
|
+
};
|
|
7
16
|
type UnArray<T> = T extends Array<infer U> ? U : T;
|
|
8
17
|
type UnFunc<T> = T extends (() => infer A) ? A : T;
|
|
9
18
|
type ExtractGQLTypeFromField<T> = NonNullable<UnArray<UnFunc<T>>>;
|
|
10
19
|
type DeriveArrayType<From, To> = From extends Array<any> ? To[] : To;
|
|
11
20
|
type DeriveNullability<From, To> = From extends null ? To | null : To;
|
|
12
21
|
type RequireAtLeastOneFieldSet<T> = { [K in keyof T]: Required<Pick<T, K>> & Partial<Omit<T, K>>; }[keyof T];
|
|
13
|
-
|
|
14
|
-
//#region lib/client/types.d.ts
|
|
15
|
-
type QueryableObjectFromGeneratedTypes<Q, ForceReactivity extends boolean> = { [Key in keyof Q]: Q[Key] extends ((p: infer QueryArgs) => infer QueryResponse) ? NonNullable<QueryResponse> extends object ? <Selected extends QueryArgs extends Record<string, any> // in that case we want to extend the object with an args key property
|
|
16
|
-
? ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & {
|
|
17
|
-
[argsKey]: QueryArgs;
|
|
18
|
-
} : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>>(s: Selected) => DeriveNullability<QueryResponse, Response<DeriveArrayType<QueryResponse, ApplySelection<ExtractGQLTypeFromField<QueryResponse>, Selected>>, ForceReactivity>> : (p: {
|
|
22
|
+
type QueryableObjectFromGeneratedTypes<Q, ForceReactivity extends boolean> = { [Key in keyof Q]: Q[Key] extends ((p: infer QueryArgs) => infer QueryResponse) ? NonNullable<QueryResponse> extends object ? <Selected extends ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & ArgsSelection<QueryArgs>>(s: Selected) => DeriveNullability<QueryResponse, Response<DeriveArrayType<QueryResponse, ApplySelection<ExtractGQLTypeFromField<QueryResponse>, Selected>>, ForceReactivity>> : (p: {
|
|
19
23
|
[argsKey]: QueryArgs;
|
|
20
24
|
}) => Response<QueryResponse, ForceReactivity> : () => Response<Q[Key], ForceReactivity>; };
|
|
21
25
|
/**
|
|
22
26
|
* The input to select fields for an object
|
|
23
27
|
*/
|
|
24
|
-
type ObjectFieldSelection<O> = RequireAtLeastOneFieldSet<{ [Key in keyof O]: NonNullable<UnArray<O[Key]>> extends ((p: infer P) => infer A) ?
|
|
25
|
-
? ObjectFieldSelection<UnArray<NonNullable<A>>> &
|
|
26
|
-
|
|
27
|
-
} : {
|
|
28
|
+
type ObjectFieldSelection<O> = RequireAtLeastOneFieldSet<{ [Key in keyof O]: NonNullable<UnArray<O[Key]>> extends ((p: infer P) => infer A) ? unknown extends P ? NonNullable<UnArray<A>> extends object ? ObjectFieldSelection<UnArray<NonNullable<A>>> : boolean : NonNullable<UnArray<A>> extends object // object return with args — field selection and the args, optional if they all are
|
|
29
|
+
? ObjectFieldSelection<UnArray<NonNullable<A>>> & ArgsSelection<P> : undefined extends P // scalar return with optional args — include or not, or give the args
|
|
30
|
+
? boolean | ArgsSelection<P> : {
|
|
28
31
|
[argsKey]: P;
|
|
29
|
-
} :
|
|
32
|
+
} : boolean; }>;
|
|
30
33
|
/**
|
|
31
34
|
* Apply a selection to an object type
|
|
32
35
|
*/
|
|
@@ -35,8 +38,6 @@ type Subscribeable<Data> = {
|
|
|
35
38
|
subscribe: (subscription: (value: Data) => void) => () => void;
|
|
36
39
|
};
|
|
37
40
|
type Response<Data, ForceReactivity extends boolean> = ForceReactivity extends true ? Promise<Subscribeable<Data>> & Subscribeable<Data | undefined> : Data extends object ? Promise<Subscribeable<Data> & Data> & Subscribeable<Data | undefined> : Promise<Subscribeable<Data>> & Subscribeable<Data | undefined>;
|
|
38
|
-
//#endregion
|
|
39
|
-
//#region lib/client/liveQuery.d.ts
|
|
40
41
|
export declare function makeLiveQuery<Query extends Record<string, any>, ForceReactivity extends boolean = false>({ urqlClient, availableSubscriptions, forceReactivity, schema, autoIncludeIdField }: {
|
|
41
42
|
urqlClient: Client;
|
|
42
43
|
schema: IntrospectionQuery;
|
|
@@ -44,34 +45,24 @@ export declare function makeLiveQuery<Query extends Record<string, any>, ForceRe
|
|
|
44
45
|
forceReactivity?: ForceReactivity;
|
|
45
46
|
autoIncludeIdField?: string;
|
|
46
47
|
}): QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;
|
|
47
|
-
//#endregion
|
|
48
|
-
//#region lib/client/mutation.d.ts
|
|
49
48
|
export declare function makeMutation<Mutation extends Record<string, any>>({ urqlClient, schema, autoIncludeIdField }: {
|
|
50
49
|
urqlClient: Client;
|
|
51
50
|
schema: IntrospectionQuery;
|
|
52
51
|
autoIncludeIdField?: string;
|
|
53
52
|
}): QueryableObjectFromGeneratedTypes<Mutation, false>;
|
|
54
|
-
//#endregion
|
|
55
|
-
//#region lib/client/nativeDateExchange.d.ts
|
|
56
53
|
export declare const nativeDateExchange: Exchange;
|
|
57
|
-
//#endregion
|
|
58
|
-
//#region lib/client/query.d.ts
|
|
59
54
|
export declare function makeQuery<Query extends Record<string, any>, ForceReactivity extends boolean = false>({ urqlClient, forceReactivity, schema, autoIncludeIdField }: {
|
|
60
55
|
urqlClient: Client;
|
|
61
56
|
forceReactivity?: ForceReactivity;
|
|
62
57
|
schema: IntrospectionQuery;
|
|
63
58
|
autoIncludeIdField?: string;
|
|
64
59
|
}): QueryableObjectFromGeneratedTypes<Query, ForceReactivity>;
|
|
65
|
-
//#endregion
|
|
66
|
-
//#region lib/client/subscription.d.ts
|
|
67
60
|
export declare function makeSubscription<Subscription extends Record<string, any>>({ urqlClient, schema, autoIncludeIdField }: {
|
|
68
61
|
urqlClient: Client;
|
|
69
62
|
schema: IntrospectionQuery;
|
|
70
63
|
autoIncludeIdField?: string;
|
|
71
64
|
}): SubscriptionObject<Subscription>;
|
|
72
65
|
type SubscriptionObject<Q> = { [Key in keyof Q]: QueryableObjectField<Q[Key]>; };
|
|
73
|
-
type QueryableObjectField<T> = T extends ((p: infer QueryArgs) => infer QueryResponse) ? <Selected extends QueryArgs extends
|
|
74
|
-
|
|
75
|
-
} : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>>(s: Selected) => QueryResponse extends null ? Subscribeable<NonNullable<QueryResponse> extends Array<any> ? ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>[] : ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>> | null : Subscribeable<QueryResponse extends Array<any> ? ApplySelection<UnArray<QueryResponse>, Selected>[] : ApplySelection<UnArray<QueryResponse>, Selected>> : Subscribeable<T>;
|
|
76
|
-
//#endregion
|
|
66
|
+
type QueryableObjectField<T> = T extends ((p: infer QueryArgs) => infer QueryResponse) ? <Selected extends ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & ArgsSelection<QueryArgs>>(s: Selected) => QueryResponse extends null ? Subscribeable<NonNullable<QueryResponse> extends Array<any> ? ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>[] : ApplySelection<UnArray<NonNullable<QueryResponse>>, Selected>> | null : Subscribeable<QueryResponse extends Array<any> ? ApplySelection<UnArray<QueryResponse>, Selected>[] : ApplySelection<UnArray<QueryResponse>, Selected>> : Subscribeable<T>;
|
|
67
|
+
export {};
|
|
77
68
|
//# sourceMappingURL=client.d.mts.map
|
package/out/client.d.mts.map
CHANGED
|
@@ -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":"
|
|
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;;;;;;;;KC5FD,cAAc,qBAAqB,gCAEzB;GACb,WAAW,YAAY;;GACvB,UAAU;;KAEP,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;KCdI,kCACV,GACA,sCAGC,aAAa,IAAI,EAAE,eAAc,SAAS,oBAAoB,iBAC3D,YAAY,iCAGR,iBAAiB,qBACf,QAAQ,YAAY,mBAEpB,cAAc,YAEhB,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,qBACzD,IACd,YAAY,QAAQ,qBAElB,qBAAqB,QAAQ,YAAY,iBAG3C,YAAY,QAAQ;GAElB,qBAAqB,QAAQ,YAAY,OAAO,cAAc,uBAC5C;aAEN,cAAc;GAErB,UAAU;;;;;KAQb,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;wBChGnC,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,qBACf,QAAQ,YAAY,mBAEpB,cAAc,YAEhB,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,7 +1,7 @@
|
|
|
1
1
|
import { capitalize, isEqual, once } from "es-toolkit";
|
|
2
2
|
import { DateResolver, DateTimeISOResolver } from "graphql-scalars";
|
|
3
3
|
import { filter, fromValue, map, merge as merge$1, onStart, pipe, share, subscribe, take, toObservable } from "wonka";
|
|
4
|
-
|
|
4
|
+
// lib/client/request.ts
|
|
5
5
|
let createSubscriber = () => () => {};
|
|
6
6
|
const svelteReactivityReady = import("svelte/reactivity").then((m) => {
|
|
7
7
|
createSubscriber = m.createSubscriber;
|
|
@@ -303,8 +303,7 @@ function serializePrimitive(arg) {
|
|
|
303
303
|
if (typeof arg === "symbol" || typeof arg === "function") throw new Error(`Cannot stringify a ${typeof arg} to send as gql arg`);
|
|
304
304
|
throw new Error("Cannot stringify an unknown type");
|
|
305
305
|
}
|
|
306
|
-
|
|
307
|
-
//#region lib/client/liveQuery.ts
|
|
306
|
+
// lib/client/liveQuery.ts
|
|
308
307
|
function makeLiveQuery({ urqlClient, availableSubscriptions, forceReactivity, schema, autoIncludeIdField }) {
|
|
309
308
|
return new Proxy({}, { get: (_target, prop) => {
|
|
310
309
|
return (input) => {
|
|
@@ -320,8 +319,7 @@ function makeLiveQuery({ urqlClient, availableSubscriptions, forceReactivity, sc
|
|
|
320
319
|
};
|
|
321
320
|
} });
|
|
322
321
|
}
|
|
323
|
-
|
|
324
|
-
//#region lib/client/mutation.ts
|
|
322
|
+
// lib/client/mutation.ts
|
|
325
323
|
function makeMutation({ urqlClient, schema, autoIncludeIdField }) {
|
|
326
324
|
return new Proxy({}, { get: (_target, prop) => {
|
|
327
325
|
return (input) => {
|
|
@@ -335,8 +333,7 @@ function makeMutation({ urqlClient, schema, autoIncludeIdField }) {
|
|
|
335
333
|
};
|
|
336
334
|
} });
|
|
337
335
|
}
|
|
338
|
-
|
|
339
|
-
//#region lib/helpers/deepMap.ts
|
|
336
|
+
// lib/helpers/deepMap.ts
|
|
340
337
|
/**
|
|
341
338
|
* Recursively applies a mapping function to every value in a nested structure.
|
|
342
339
|
*
|
|
@@ -384,8 +381,7 @@ function mapValuesDeep(input, fn) {
|
|
|
384
381
|
};
|
|
385
382
|
return recurse(input);
|
|
386
383
|
}
|
|
387
|
-
|
|
388
|
-
//#region lib/client/nativeDateExchange.ts
|
|
384
|
+
// lib/client/nativeDateExchange.ts
|
|
389
385
|
const dateIsoRegex = /^\d{4}-\d{2}-\d{2}(?:[Tt ]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})?)?$/;
|
|
390
386
|
const nativeDateExchange = ({ client: _client, forward }) => {
|
|
391
387
|
return (operations$) => {
|
|
@@ -401,8 +397,7 @@ const nativeDateExchange = ({ client: _client, forward }) => {
|
|
|
401
397
|
}));
|
|
402
398
|
};
|
|
403
399
|
};
|
|
404
|
-
|
|
405
|
-
//#region lib/client/query.ts
|
|
400
|
+
// lib/client/query.ts
|
|
406
401
|
function makeQuery({ urqlClient, forceReactivity, schema, autoIncludeIdField }) {
|
|
407
402
|
return new Proxy({}, { get: (_target, prop) => {
|
|
408
403
|
return (input) => {
|
|
@@ -418,8 +413,7 @@ function makeQuery({ urqlClient, forceReactivity, schema, autoIncludeIdField })
|
|
|
418
413
|
};
|
|
419
414
|
} });
|
|
420
415
|
}
|
|
421
|
-
|
|
422
|
-
//#region lib/client/subscription.ts
|
|
416
|
+
// lib/client/subscription.ts
|
|
423
417
|
function makeSubscription({ urqlClient, schema, autoIncludeIdField }) {
|
|
424
418
|
return new Proxy({}, { get: (_target, prop) => {
|
|
425
419
|
return (input) => {
|
|
@@ -433,7 +427,6 @@ function makeSubscription({ urqlClient, schema, autoIncludeIdField }) {
|
|
|
433
427
|
};
|
|
434
428
|
} });
|
|
435
429
|
}
|
|
436
|
-
//#endregion
|
|
437
430
|
export { makeLiveQuery, makeMutation, makeQuery, makeSubscription, nativeDateExchange };
|
|
438
431
|
|
|
439
432
|
//# sourceMappingURL=client.mjs.map
|