@m1212e/rumble 0.18.6 → 0.18.8

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.
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_generate = require("../generate-WD2Bsyjg.cjs");
2
+ const require_generate = require("../generate-v10zBoUq.cjs");
3
3
  exports.generateFromSchema = require_generate.generateFromSchema;
@@ -1,2 +1,2 @@
1
- import { t as generateFromSchema } from "../generate-BPCmvoc1.mjs";
1
+ import { t as generateFromSchema } from "../generate-BxAyU8HE.mjs";
2
2
  export { generateFromSchema };
package/out/client.d.cts CHANGED
@@ -13,10 +13,10 @@ type DeriveNullability<From, To> = From extends null ? To | null : To;
13
13
  type RequireAtLeastOneFieldSet<T> = { [K in keyof T]: Required<Pick<T, K>> & Partial<Omit<T, K>> }[keyof T];
14
14
  //#endregion
15
15
  //#region lib/client/types.d.ts
16
- type QueryableObjectFromGeneratedTypes<Q, ForceReactivity extends boolean> = { [Key in keyof Q]: Q[Key] extends ((p: infer QueryArgs) => infer QueryResponse) ? <Selected extends (QueryArgs extends Record<string, any> ? // in that case we want to extend the object with an args key property
16
+ 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
17
17
  ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & {
18
18
  [argsKey]: QueryArgs;
19
- } : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>)>(s: Selected) => DeriveNullability<QueryResponse, Response<DeriveArrayType<QueryResponse, ApplySelection<ExtractGQLTypeFromField<QueryResponse>, Selected>>, ForceReactivity>> : () => Response<Q[Key], ForceReactivity> };
19
+ } : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>)>(s: Selected) => DeriveNullability<QueryResponse, Response<DeriveArrayType<QueryResponse, ApplySelection<ExtractGQLTypeFromField<QueryResponse>, Selected>>, ForceReactivity>> : (p: QueryArgs) => Response<QueryResponse, ForceReactivity> : () => Response<Q[Key], ForceReactivity> };
20
20
  /**
21
21
  * The input to select fields for an object
22
22
  */
@@ -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":";;;;cA0Ea,OAAA;;;KC1ED,OAAA,MAAa,CAAA,SAAU,KAAA,YAAiB,CAAA,GAAI,CAAA;AAAA,KAE5C,MAAA,MAAY,CAAA,2BAA0B,CAAA,GAAI,CAAA;AAAA,KAE1C,uBAAA,MAA6B,WAAA,CAAY,OAAA,CAAQ,MAAA,CAAO,CAAA;AAAA,KAExD,eAAA,aAA4B,IAAA,SAAa,KAAA,QAAa,EAAA,KAAO,EAAA;AAAA,KAC7D,iBAAA,aAA8B,IAAA,gBAAoB,EAAA,UAAY,EAAA;AAAA,KAM9D,yBAAA,oBACE,CAAA,GAAI,QAAA,CAAS,IAAA,CAAK,CAAA,EAAG,CAAA,KAAM,OAAA,CAAQ,IAAA,CAAK,CAAA,EAAG,CAAA,WACjD,CAAA;;;KCJI,iCAAA,uDAKI,CAAA,GAAI,CAAA,CAAE,GAAA,YAAc,CAAA,gEAGX,SAAA,SAAkB,MAAA;AAE/B,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,aAAA;EAAA,CACtC,OAAA,GAAU,SAAA;AAAA,IAGb,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,aAAA,MAE7C,CAAA,EAAG,QAAA,KACA,iBAAA,CAEH,aAAA,EAEA,QAAA,CACE,eAAA,CAEE,aAAA,EAEA,cAAA,CAAe,uBAAA,CAAwB,aAAA,GAAgB,QAAA,IAEzD,eAAA,WAIE,QAAA,CAAS,CAAA,CAAE,GAAA,GAAM,eAAA;;;;KAMjB,oBAAA,MAA0B,yBAAA,iBACtB,CAAA,GAAI,WAAA,CAAY,OAAA,CAAQ,CAAA,CAAE,GAAA,cAAgB,CAAA,yBACpD,CAAA,SAAU,MAAA;AAER,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,CAAA;EAAA,CAAU,OAAA,GAAU,CAAA;AAAA,IAE7D,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,CAAA;;;;KAQrC,cAAA,sCACI,SAAA,SAAkB,MAAA,GAAS,MAAA,CAAO,GAAA,YAC9C,CAAA,gDAEE,iBAAA,CACE,aAAA,EACA,eAAA,CACE,WAAA,CAAY,aAAA,GACZ,cAAA,CAAe,uBAAA,CAAwB,aAAA,GAAgB,SAAA,CAAU,GAAA,OAGrE,MAAA,CAAO,GAAA;AAAA,KAGD,aAAA;EACV,SAAA,GAAY,YAAA,GAAe,KAAA,EAAO,IAAA;AAAA;AAAA,KAG/B,QAAA,0CAGD,eAAA,gBACA,OAAA,CAAQ,aAAA,CAAc,IAAA,KAAS,aAAA,CAAc,IAAA,gBAE7C,IAAA,kBACE,OAAA,CAAQ,aAAA,CAAc,IAAA,IAAQ,IAAA,IAAQ,aAAA,CAAc,IAAA,gBACpD,OAAA,CAAQ,aAAA,CAAc,IAAA,KAAS,aAAA,CAAc,IAAA;;;iBCpFnC,aAAA,eACA,MAAA,uDAAA,CAAA;EAGd,UAAA;EACA,sBAAA;EACA,eAAA;EACA,MAAA;EACA;AAAA;EAEA,UAAA,EAAY,MAAA;EACZ,MAAA,EAAQ,kBAAA;EACR,sBAAA,EAAwB,GAAA;EACxB,eAAA,GAAkB,eAAA;EAClB,kBAAA;AAAA,IAmBK,iCAAA,CAAkC,KAAA,EAAO,eAAA;;;iBCjChC,YAAA,kBAA8B,MAAA,cAAA,CAAA;EAC5C,UAAA;EACA,MAAA;EACA;AAAA;EAEA,UAAA,EAAY,MAAA;EACZ,MAAA,EAAQ,kBAAA;EACR,kBAAA;AAAA,IAiBK,iCAAA,CAAkC,QAAA;;;cCtB5B,kBAAA,EAAoB,QAAA;;;iBCFjB,SAAA,eACA,MAAA,uDAAA,CAAA;EAGd,UAAA;EACA,eAAA;EACA,MAAA;EACA;AAAA;EAEA,UAAA,EAAY,MAAA;EACZ,eAAA,GAAkB,eAAA;EAClB,MAAA,EAAQ,kBAAA;EACR,kBAAA;AAAA,IAmBK,iCAAA,CAAkC,KAAA,EAAO,eAAA;;;iBC1BhC,gBAAA,sBAAsC,MAAA,cAAA,CAAA;EACpD,UAAA;EACA,MAAA;EACA;AAAA;EAEA,UAAA,EAAY,MAAA;EACZ,MAAA,EAAQ,kBAAA;EACR,kBAAA;AAAA,IAiBK,kBAAA,CAAmB,YAAA;AAAA,KAKd,kBAAA,sBACI,CAAA,GAAI,oBAAA,CAAqB,CAAA,CAAE,GAAA;AAAA,KAGtC,oBAAA,MAA0B,CAAA,WAC7B,CAAA,gEAGqB,SAAA,SAAkB,MAAA,gBAC/B,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,aAAA;EAAA,CACtC,OAAA,GAAU,SAAA;AAAA,IAEb,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,aAAA,MAE7C,CAAA,EAAG,QAAA,KACA,aAAA,gBACD,aAAA,CACE,WAAA,CAAY,aAAA,UAAuB,KAAA,QAC/B,cAAA,CAAe,OAAA,CAAQ,WAAA,CAAY,aAAA,IAAiB,QAAA,MACpD,cAAA,CAAe,OAAA,CAAQ,WAAA,CAAY,aAAA,IAAiB,QAAA,YAE1D,aAAA,CACE,aAAA,SAAsB,KAAA,QAClB,cAAA,CAAe,OAAA,CAAQ,aAAA,GAAgB,QAAA,MACvC,cAAA,CAAe,OAAA,CAAQ,aAAA,GAAgB,QAAA,KAEjD,aAAA,CAAc,CAAA"}
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":";;;;cA0Ea,OAAA;;;KC1ED,OAAA,MAAa,CAAA,SAAU,KAAA,YAAiB,CAAA,GAAI,CAAA;AAAA,KAE5C,MAAA,MAAY,CAAA,2BAA0B,CAAA,GAAI,CAAA;AAAA,KAE1C,uBAAA,MAA6B,WAAA,CAAY,OAAA,CAAQ,MAAA,CAAO,CAAA;AAAA,KAExD,eAAA,aAA4B,IAAA,SAAa,KAAA,QAAa,EAAA,KAAO,EAAA;AAAA,KAC7D,iBAAA,aAA8B,IAAA,gBAAoB,EAAA,UAAY,EAAA;AAAA,KAM9D,yBAAA,oBACE,CAAA,GAAI,QAAA,CAAS,IAAA,CAAK,CAAA,EAAG,CAAA,KAAM,OAAA,CAAQ,IAAA,CAAK,CAAA,EAAG,CAAA,WACjD,CAAA;;;KCJI,iCAAA,uDAKI,CAAA,GAAI,CAAA,CAAE,GAAA,YAAc,CAAA,6CAC9B,WAAA,CAAY,aAAA,sCAGS,SAAA,SAAkB,MAAA;AAE/B,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,aAAA;EAAA,CACtC,OAAA,GAAU,SAAA;AAAA,IAGb,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,aAAA,MAE7C,CAAA,EAAG,QAAA,KACA,iBAAA,CAEH,aAAA,EAEA,QAAA,CACE,eAAA,CAEE,aAAA,EAEA,cAAA,CAAe,uBAAA,CAAwB,aAAA,GAAgB,QAAA,IAEzD,eAAA,MAIH,CAAA,EAAG,SAAA,KAAc,QAAA,CAAS,aAAA,EAAe,eAAA,UAEtC,QAAA,CAAS,CAAA,CAAE,GAAA,GAAM,eAAA;;;;KAMjB,oBAAA,MAA0B,yBAAA,iBACtB,CAAA,GAAI,WAAA,CAAY,OAAA,CAAQ,CAAA,CAAE,GAAA,cAAgB,CAAA,yBACpD,CAAA,SAAU,MAAA;AAER,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,CAAA;EAAA,CAAU,OAAA,GAAU,CAAA;AAAA,IAE7D,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,CAAA;;;;KAQrC,cAAA,sCACI,SAAA,SAAkB,MAAA,GAAS,MAAA,CAAO,GAAA,YAC9C,CAAA,gDAEE,iBAAA,CACE,aAAA,EACA,eAAA,CACE,WAAA,CAAY,aAAA,GACZ,cAAA,CAAe,uBAAA,CAAwB,aAAA,GAAgB,SAAA,CAAU,GAAA,OAGrE,MAAA,CAAO,GAAA;AAAA,KAGD,aAAA;EACV,SAAA,GAAY,YAAA,GAAe,KAAA,EAAO,IAAA;AAAA;AAAA,KAG/B,QAAA,0CAGD,eAAA,gBACA,OAAA,CAAQ,aAAA,CAAc,IAAA,KAAS,aAAA,CAAc,IAAA,gBAE7C,IAAA,kBACE,OAAA,CAAQ,aAAA,CAAc,IAAA,IAAQ,IAAA,IAAQ,aAAA,CAAc,IAAA,gBACpD,OAAA,CAAQ,aAAA,CAAc,IAAA,KAAS,aAAA,CAAc,IAAA;;;iBCvFnC,aAAA,eACA,MAAA,uDAAA,CAAA;EAGd,UAAA;EACA,sBAAA;EACA,eAAA;EACA,MAAA;EACA;AAAA;EAEA,UAAA,EAAY,MAAA;EACZ,MAAA,EAAQ,kBAAA;EACR,sBAAA,EAAwB,GAAA;EACxB,eAAA,GAAkB,eAAA;EAClB,kBAAA;AAAA,IAmBK,iCAAA,CAAkC,KAAA,EAAO,eAAA;;;iBCjChC,YAAA,kBAA8B,MAAA,cAAA,CAAA;EAC5C,UAAA;EACA,MAAA;EACA;AAAA;EAEA,UAAA,EAAY,MAAA;EACZ,MAAA,EAAQ,kBAAA;EACR,kBAAA;AAAA,IAiBK,iCAAA,CAAkC,QAAA;;;cCtB5B,kBAAA,EAAoB,QAAA;;;iBCFjB,SAAA,eACA,MAAA,uDAAA,CAAA;EAGd,UAAA;EACA,eAAA;EACA,MAAA;EACA;AAAA;EAEA,UAAA,EAAY,MAAA;EACZ,eAAA,GAAkB,eAAA;EAClB,MAAA,EAAQ,kBAAA;EACR,kBAAA;AAAA,IAmBK,iCAAA,CAAkC,KAAA,EAAO,eAAA;;;iBC1BhC,gBAAA,sBAAsC,MAAA,cAAA,CAAA;EACpD,UAAA;EACA,MAAA;EACA;AAAA;EAEA,UAAA,EAAY,MAAA;EACZ,MAAA,EAAQ,kBAAA;EACR,kBAAA;AAAA,IAiBK,kBAAA,CAAmB,YAAA;AAAA,KAKd,kBAAA,sBACI,CAAA,GAAI,oBAAA,CAAqB,CAAA,CAAE,GAAA;AAAA,KAGtC,oBAAA,MAA0B,CAAA,WAC7B,CAAA,gEAGqB,SAAA,SAAkB,MAAA,gBAC/B,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,aAAA;EAAA,CACtC,OAAA,GAAU,SAAA;AAAA,IAEb,oBAAA,CAAqB,OAAA,CAAQ,WAAA,CAAY,aAAA,MAE7C,CAAA,EAAG,QAAA,KACA,aAAA,gBACD,aAAA,CACE,WAAA,CAAY,aAAA,UAAuB,KAAA,QAC/B,cAAA,CAAe,OAAA,CAAQ,WAAA,CAAY,aAAA,IAAiB,QAAA,MACpD,cAAA,CAAe,OAAA,CAAQ,WAAA,CAAY,aAAA,IAAiB,QAAA,YAE1D,aAAA,CACE,aAAA,SAAsB,KAAA,QAClB,cAAA,CAAe,OAAA,CAAQ,aAAA,GAAgB,QAAA,MACvC,cAAA,CAAe,OAAA,CAAQ,aAAA,GAAgB,QAAA,KAEjD,aAAA,CAAc,CAAA"}
package/out/client.d.mts CHANGED
@@ -13,10 +13,10 @@ type DeriveNullability<From, To> = From extends null ? To | null : To;
13
13
  type RequireAtLeastOneFieldSet<T> = { [K in keyof T]: Required<Pick<T, K>> & Partial<Omit<T, K>> }[keyof T];
14
14
  //#endregion
15
15
  //#region lib/client/types.d.ts
16
- type QueryableObjectFromGeneratedTypes<Q, ForceReactivity extends boolean> = { [Key in keyof Q]: Q[Key] extends ((p: infer QueryArgs) => infer QueryResponse) ? <Selected extends (QueryArgs extends Record<string, any> ? // in that case we want to extend the object with an args key property
16
+ 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
17
17
  ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>> & {
18
18
  [argsKey]: QueryArgs;
19
- } : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>)>(s: Selected) => DeriveNullability<QueryResponse, Response<DeriveArrayType<QueryResponse, ApplySelection<ExtractGQLTypeFromField<QueryResponse>, Selected>>, ForceReactivity>> : () => Response<Q[Key], ForceReactivity> };
19
+ } : ObjectFieldSelection<UnArray<NonNullable<QueryResponse>>>)>(s: Selected) => DeriveNullability<QueryResponse, Response<DeriveArrayType<QueryResponse, ApplySelection<ExtractGQLTypeFromField<QueryResponse>, Selected>>, ForceReactivity>> : (p: QueryArgs) => Response<QueryResponse, ForceReactivity> : () => Response<Q[Key], ForceReactivity> };
20
20
  /**
21
21
  * The input to select fields for an object
22
22
  */
@@ -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":"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"}
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":"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"}
@@ -120,9 +120,9 @@ function makeTSObjectTypeField(returnType, args) {
120
120
  const isRelationType = returnType instanceof GraphQLObjectType;
121
121
  const argsStringMap = /* @__PURE__ */ new Map();
122
122
  for (const arg of args ?? []) argsStringMap.set(arg.name, stringifyTSObjectArg(arg.type));
123
- if (isRelationType) {
123
+ if (isRelationType || argsStringMap.size > 0) {
124
124
  const makePOptional = argsStringMap.entries().every(([, value]) => value.includes("| undefined"));
125
- return `(${(args ?? []).length > 0 ? `p${makePOptional ? "?" : ""}: {
125
+ return `(${argsStringMap.size > 0 ? `p${makePOptional ? "?" : ""}: {
126
126
  ${argsStringMap.entries().map(([key, value]) => ` ${key}${value.includes("| undefined") ? "?" : ""}: ${value}`).toArray().join(",\n ")}
127
127
  }` : ""}) => ${returnTypeString}`;
128
128
  } else return returnTypeString;
@@ -222,4 +222,4 @@ export const schema = ${uneval(minifyIntrospectionQuery(getIntrospectedSchema(sc
222
222
  //#endregion
223
223
  export { generateFromSchema as t };
224
224
 
225
- //# sourceMappingURL=generate-BPCmvoc1.mjs.map
225
+ //# sourceMappingURL=generate-BxAyU8HE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-BxAyU8HE.mjs","names":[],"sources":["../lib/client/generate/client.ts","../lib/client/generate/tsRepresentation.ts","../lib/client/generate/generate.ts"],"sourcesContent":["export const autoGenerationPreamble = `// This file is auto-generated. Do not edit manually.\n// @generated\n/* eslint-disable */\n// biome-ignore-all lint: This file is auto-generated\n// biome-ignore-all assist: This file is auto-generated\n// biome-ignore-all syntax: This file is auto-generated`;\n\nexport function generateClient({\n apiUrl,\n rumbleImportPath,\n useExternalUrqlClient,\n availableSubscriptions,\n schemaPath,\n forceReactivity,\n autoIncludeId,\n}: {\n rumbleImportPath: string;\n useExternalUrqlClient: string | boolean;\n apiUrl?: string;\n availableSubscriptions: Set<string>;\n schemaPath: string;\n forceReactivity?: boolean;\n autoIncludeId?: string | boolean;\n}) {\n const imports: string[] = [];\n let code: string = \"\";\n\n const idInclude =\n typeof autoIncludeId === \"string\"\n ? `\\n autoIncludeIdField: '${autoIncludeId}'`\n : autoIncludeId === true\n ? `\\n autoIncludeIdField: 'id'`\n : \"\";\n\n if (typeof useExternalUrqlClient === \"string\") {\n imports.push(`import { urqlClient } from \"${useExternalUrqlClient}\";`);\n }\n\n imports.push(`import { Client, fetchExchange } from '@urql/core';`);\n imports.push(`import { cacheExchange } from '@urql/exchange-graphcache';`);\n imports.push(`import { nativeDateExchange } from '${rumbleImportPath}';`);\n imports.push(`import { schema } from '${schemaPath}';`);\n\n imports.push(\n `import { makeLiveQuery, makeMutation, makeSubscription, makeQuery } from '${rumbleImportPath}';`,\n );\n\n const forceReactivityFieldString =\n typeof forceReactivity === \"boolean\" && forceReactivity\n ? `\\n forceReactivity: true`\n : \"\";\n const forceReactivityTypeString =\n typeof forceReactivity === \"boolean\" && forceReactivity ? \", true\" : \"\";\n\n code += `\nexport const defaultOptions: ConstructorParameters<Client>[0] = {\n url: \"${apiUrl ?? \"PLEASE PROVIDE A URL WHEN GENERATING OR IMPORT AN EXTERNAL URQL CLIENT\"}\",\n fetchSubscriptions: true,\n exchanges: [cacheExchange({ schema }), nativeDateExchange, fetchExchange],\n fetchOptions: {\n credentials: \"include\",\n },\n requestPolicy: \"cache-and-network\",\n}\n`;\n\n if (!useExternalUrqlClient) {\n code += `\nconst urqlClient = new Client(defaultOptions);\n`;\n }\n\n code += `\nexport const client = {\n /**\n * A query and subscription combination. First queries and if exists, also subscribes to a subscription of the same name.\n * Combines the results of both, so the result is first the query result and then live updates from the subscription.\n * Assumes that the query and subscription return the same fields as per default when using the rumble query helpers.\n * If no subscription with the same name exists, this will just be a query.\n *\n * Internally, this does some magic to make the data reactive with Svelte's reactivity system. But it can be used with other frameworks as well.\n */\n liveQuery: makeLiveQuery<Query${forceReactivityTypeString}>({\n\t urqlClient,\n\t availableSubscriptions: new Set([${availableSubscriptions\n .values()\n .toArray()\n .map((value) => `\"${value}\"`)\n .join(\", \")}]),\n\t\tschema,${forceReactivityFieldString}${idInclude}\n }),\n /**\n * A mutation that can be used to e.g. create, update or delete data.\n */\n mutate: makeMutation<Mutation>({\n\t urqlClient,\n\t\tschema,${idInclude}\n }),\n /**\n * A continuous stream of results that updates when the server sends new data.\n */\n subscribe: makeSubscription<Subscription>({\n\t urqlClient,\n\t\tschema,${idInclude}\n }),\n /**\n * A one-time fetch of data.\n */\n query: makeQuery<Query${forceReactivityTypeString}>({\n\t urqlClient,\n\t\tschema,${forceReactivityFieldString}${idInclude}\n }),\n}`;\n\n return {\n imports,\n code,\n };\n}\n","import {\n type GraphQLArgument,\n GraphQLEnumType,\n GraphQLInputObjectType,\n type GraphQLInputType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n type GraphQLOutputType,\n GraphQLScalarType,\n} from \"graphql\";\n\ntype GraphQLType =\n | GraphQLObjectType<any, any>\n | GraphQLEnumType\n | GraphQLInputObjectType\n | GraphQLScalarType;\n\nexport function makeTSRepresentation(model: GraphQLType) {\n if (model instanceof GraphQLObjectType) {\n return makeTSTypeFromObject(model);\n } else if (model instanceof GraphQLScalarType) {\n return mapGraphqlScalarToTSTypeString(model);\n } else if (model instanceof GraphQLEnumType) {\n return makeStringLiteralUnionFromEnum(model);\n } else if (model instanceof GraphQLInputObjectType) {\n return makeTSTypeFromInputObject(model);\n }\n\n throw new Error(`Unknown model type: ${model}`);\n}\n\nfunction makeTSTypeFromObject(model: GraphQLObjectType) {\n const stringifiedFields = new Map<string, string>();\n for (const [key, value] of Object.entries(model.getFields())) {\n stringifiedFields.set(key, makeTSObjectTypeField(value.type, value.args));\n }\n\n return `{\n ${stringifiedFields\n .entries()\n .map(([key, value]) => `${key}: ${value}`)\n .toArray()\n .join(\",\\n \")} \n}`;\n}\n\nfunction makeTSTypeFromInputObject(model: GraphQLInputObjectType) {\n const stringifiedFields = new Map<string, string>();\n for (const [key, value] of Object.entries(model.getFields())) {\n stringifiedFields.set(key, makeTSInputObjectTypeField(value.type));\n }\n\n return `{\n ${stringifiedFields\n .entries()\n .map(\n ([key, value]) =>\n `${key}${value.includes(\"| undefined\") ? \"?\" : \"\"}: ${value}`,\n )\n .toArray()\n .join(\",\\n \")} \n}`;\n}\n\nfunction makeTSObjectTypeField(\n returnType: GraphQLOutputType,\n args?: readonly GraphQLArgument[],\n) {\n let isNonNullReturnType = false;\n let isList = false;\n\n for (let index = 0; index < 3; index++) {\n if (returnType instanceof GraphQLList) {\n isList = true;\n returnType = returnType.ofType;\n }\n\n if (returnType instanceof GraphQLNonNull) {\n isNonNullReturnType = true;\n returnType = returnType.ofType;\n }\n }\n\n let returnTypeString = (returnType as any).name;\n\n if (isList) {\n returnTypeString += \"[]\";\n }\n\n if (!isNonNullReturnType) {\n returnTypeString += \" | null\";\n }\n\n const isRelationType = returnType instanceof GraphQLObjectType;\n\n const argsStringMap = new Map<string, string>();\n\n for (const arg of args ?? []) {\n argsStringMap.set(arg.name, stringifyTSObjectArg(arg.type));\n }\n\n if (isRelationType || argsStringMap.size > 0) {\n const makePOptional = argsStringMap\n .entries()\n .every(([, value]) => value.includes(\"| undefined\"));\n const argsString =\n argsStringMap.size > 0\n ? `p${makePOptional ? \"?\" : \"\"}: {\n ${argsStringMap\n .entries()\n .map(\n ([key, value]) =>\n ` ${key}${value.includes(\"| undefined\") ? \"?\" : \"\"}: ${value}`,\n )\n .toArray()\n .join(\",\\n \")}\n }`\n : \"\";\n\n return `(${argsString}) => ${returnTypeString}`;\n } else {\n return returnTypeString;\n }\n}\n\nfunction makeTSInputObjectTypeField(returnType: GraphQLInputType) {\n let isNonNullReturnType = false;\n let isList = false;\n\n for (let index = 0; index < 3; index++) {\n if (returnType instanceof GraphQLList) {\n isList = true;\n returnType = returnType.ofType;\n }\n\n if (returnType instanceof GraphQLNonNull) {\n isNonNullReturnType = true;\n returnType = returnType.ofType;\n }\n }\n\n let returnTypeString = (returnType as any).name;\n\n if (isList) {\n returnTypeString += \"[]\";\n }\n\n if (!isNonNullReturnType) {\n returnTypeString += \" | null | undefined\";\n } else if (isList) {\n returnTypeString += \" | undefined\";\n }\n\n return returnTypeString;\n}\n\nfunction stringifyTSObjectArg(arg: any) {\n let ret = \"unknown\";\n let isNullable = true;\n\n if (arg instanceof GraphQLNonNull) {\n isNullable = false;\n arg = arg.ofType;\n }\n\n if (\n arg instanceof GraphQLInputObjectType ||\n arg instanceof GraphQLScalarType\n ) {\n ret = arg.name;\n }\n\n if (isNullable) {\n ret += \" | null | undefined\"; // we also want undefined in args\n }\n\n return ret;\n}\n\nfunction mapGraphqlScalarToTSTypeString(arg: any) {\n switch (arg.name) {\n case \"ID\":\n return \"string\";\n case \"String\":\n return \"string\";\n case \"Boolean\":\n return \"boolean\";\n case \"Int\":\n return \"number\";\n case \"Float\":\n return \"number\";\n case \"Date\":\n return \"Date\";\n case \"DateTime\":\n return \"Date\";\n case \"JSON\":\n return \"any\";\n default:\n return \"unknown\";\n }\n}\n\nfunction makeStringLiteralUnionFromEnum(enumType: GraphQLEnumType) {\n return enumType\n .getValues()\n .map((value) => `\"${value.name}\"`)\n .join(\" | \");\n}\n","import { access, mkdir, rm, writeFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport {\n getIntrospectedSchema,\n minifyIntrospectionQuery,\n} from \"@urql/introspection\";\nimport { uneval } from \"devalue\";\nimport type { GraphQLSchema } from \"graphql\";\nimport { autoGenerationPreamble, generateClient } from \"./client\";\nimport { makeTSRepresentation } from \"./tsRepresentation\";\n\nexport async function generateFromSchema({\n outputPath,\n schema,\n rumbleImportPath = \"@m1212e/rumble/client\",\n apiUrl,\n useExternalUrqlClient = false,\n removeExisting = true,\n forceReactivity,\n autoIncludeIdField,\n}: {\n schema: GraphQLSchema;\n outputPath: string;\n rumbleImportPath?: string;\n apiUrl?: string;\n useExternalUrqlClient?: boolean | string;\n removeExisting?: boolean;\n forceReactivity?: boolean;\n autoIncludeIdField?: string | boolean;\n}) {\n if (removeExisting) {\n try {\n await access(outputPath);\n await rm(outputPath, { recursive: true, force: true });\n } catch (_error) {}\n }\n\n await mkdir(outputPath, { recursive: true });\n\n if (!outputPath.endsWith(\"/\")) {\n outputPath += \"/\";\n }\n\n const imports: string[] = [];\n let code = \"\";\n\n const typeMap = new Map<string, any>();\n for (const [key, object] of Object.entries(schema.getTypeMap())) {\n if (key.startsWith(\"__\")) continue;\n typeMap.set(key, object);\n }\n\n for (const [key, object] of typeMap.entries()) {\n const rep = makeTSRepresentation(object);\n\n if (rep === key) {\n continue;\n }\n\n code += `\nexport type ${key} = ${rep};\n\t\t`;\n }\n\n const schemaFileName = \"schema\";\n\n const c = generateClient({\n apiUrl,\n schemaPath: `./${schemaFileName}`,\n useExternalUrqlClient,\n rumbleImportPath,\n availableSubscriptions: new Set(\n Object.keys(schema.getSubscriptionType()?.getFields() || {}),\n ),\n forceReactivity,\n autoIncludeId: autoIncludeIdField,\n });\n\n imports.push(...c.imports);\n code += c.code;\n\n await Promise.all([\n writeFile(\n join(outputPath, \"client.ts\"),\n `${autoGenerationPreamble}\\n${imports.join(\"\\n\")}\\n${code}`,\n ),\n writeFile(\n join(outputPath, `${schemaFileName}.ts`),\n `${autoGenerationPreamble}\nimport type { IntrospectionQuery } from \"graphql\";\nexport const schema = ${uneval(minifyIntrospectionQuery(getIntrospectedSchema(schema), { includeEnums: true, includeScalars: true, includeInputs: true }))} as IntrospectionQuery`,\n ),\n ]);\n}\n"],"mappings":"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"}
@@ -121,9 +121,9 @@ function makeTSObjectTypeField(returnType, args) {
121
121
  const isRelationType = returnType instanceof graphql.GraphQLObjectType;
122
122
  const argsStringMap = /* @__PURE__ */ new Map();
123
123
  for (const arg of args ?? []) argsStringMap.set(arg.name, stringifyTSObjectArg(arg.type));
124
- if (isRelationType) {
124
+ if (isRelationType || argsStringMap.size > 0) {
125
125
  const makePOptional = argsStringMap.entries().every(([, value]) => value.includes("| undefined"));
126
- return `(${(args ?? []).length > 0 ? `p${makePOptional ? "?" : ""}: {
126
+ return `(${argsStringMap.size > 0 ? `p${makePOptional ? "?" : ""}: {
127
127
  ${argsStringMap.entries().map(([key, value]) => ` ${key}${value.includes("| undefined") ? "?" : ""}: ${value}`).toArray().join(",\n ")}
128
128
  }` : ""}) => ${returnTypeString}`;
129
129
  } else return returnTypeString;
@@ -228,4 +228,4 @@ Object.defineProperty(exports, "generateFromSchema", {
228
228
  }
229
229
  });
230
230
 
231
- //# sourceMappingURL=generate-WD2Bsyjg.cjs.map
231
+ //# sourceMappingURL=generate-v10zBoUq.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-v10zBoUq.cjs","names":["GraphQLObjectType","GraphQLScalarType","GraphQLEnumType","GraphQLInputObjectType","GraphQLList","GraphQLNonNull"],"sources":["../lib/client/generate/client.ts","../lib/client/generate/tsRepresentation.ts","../lib/client/generate/generate.ts"],"sourcesContent":["export const autoGenerationPreamble = `// This file is auto-generated. Do not edit manually.\n// @generated\n/* eslint-disable */\n// biome-ignore-all lint: This file is auto-generated\n// biome-ignore-all assist: This file is auto-generated\n// biome-ignore-all syntax: This file is auto-generated`;\n\nexport function generateClient({\n apiUrl,\n rumbleImportPath,\n useExternalUrqlClient,\n availableSubscriptions,\n schemaPath,\n forceReactivity,\n autoIncludeId,\n}: {\n rumbleImportPath: string;\n useExternalUrqlClient: string | boolean;\n apiUrl?: string;\n availableSubscriptions: Set<string>;\n schemaPath: string;\n forceReactivity?: boolean;\n autoIncludeId?: string | boolean;\n}) {\n const imports: string[] = [];\n let code: string = \"\";\n\n const idInclude =\n typeof autoIncludeId === \"string\"\n ? `\\n autoIncludeIdField: '${autoIncludeId}'`\n : autoIncludeId === true\n ? `\\n autoIncludeIdField: 'id'`\n : \"\";\n\n if (typeof useExternalUrqlClient === \"string\") {\n imports.push(`import { urqlClient } from \"${useExternalUrqlClient}\";`);\n }\n\n imports.push(`import { Client, fetchExchange } from '@urql/core';`);\n imports.push(`import { cacheExchange } from '@urql/exchange-graphcache';`);\n imports.push(`import { nativeDateExchange } from '${rumbleImportPath}';`);\n imports.push(`import { schema } from '${schemaPath}';`);\n\n imports.push(\n `import { makeLiveQuery, makeMutation, makeSubscription, makeQuery } from '${rumbleImportPath}';`,\n );\n\n const forceReactivityFieldString =\n typeof forceReactivity === \"boolean\" && forceReactivity\n ? `\\n forceReactivity: true`\n : \"\";\n const forceReactivityTypeString =\n typeof forceReactivity === \"boolean\" && forceReactivity ? \", true\" : \"\";\n\n code += `\nexport const defaultOptions: ConstructorParameters<Client>[0] = {\n url: \"${apiUrl ?? \"PLEASE PROVIDE A URL WHEN GENERATING OR IMPORT AN EXTERNAL URQL CLIENT\"}\",\n fetchSubscriptions: true,\n exchanges: [cacheExchange({ schema }), nativeDateExchange, fetchExchange],\n fetchOptions: {\n credentials: \"include\",\n },\n requestPolicy: \"cache-and-network\",\n}\n`;\n\n if (!useExternalUrqlClient) {\n code += `\nconst urqlClient = new Client(defaultOptions);\n`;\n }\n\n code += `\nexport const client = {\n /**\n * A query and subscription combination. First queries and if exists, also subscribes to a subscription of the same name.\n * Combines the results of both, so the result is first the query result and then live updates from the subscription.\n * Assumes that the query and subscription return the same fields as per default when using the rumble query helpers.\n * If no subscription with the same name exists, this will just be a query.\n *\n * Internally, this does some magic to make the data reactive with Svelte's reactivity system. But it can be used with other frameworks as well.\n */\n liveQuery: makeLiveQuery<Query${forceReactivityTypeString}>({\n\t urqlClient,\n\t availableSubscriptions: new Set([${availableSubscriptions\n .values()\n .toArray()\n .map((value) => `\"${value}\"`)\n .join(\", \")}]),\n\t\tschema,${forceReactivityFieldString}${idInclude}\n }),\n /**\n * A mutation that can be used to e.g. create, update or delete data.\n */\n mutate: makeMutation<Mutation>({\n\t urqlClient,\n\t\tschema,${idInclude}\n }),\n /**\n * A continuous stream of results that updates when the server sends new data.\n */\n subscribe: makeSubscription<Subscription>({\n\t urqlClient,\n\t\tschema,${idInclude}\n }),\n /**\n * A one-time fetch of data.\n */\n query: makeQuery<Query${forceReactivityTypeString}>({\n\t urqlClient,\n\t\tschema,${forceReactivityFieldString}${idInclude}\n }),\n}`;\n\n return {\n imports,\n code,\n };\n}\n","import {\n type GraphQLArgument,\n GraphQLEnumType,\n GraphQLInputObjectType,\n type GraphQLInputType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n type GraphQLOutputType,\n GraphQLScalarType,\n} from \"graphql\";\n\ntype GraphQLType =\n | GraphQLObjectType<any, any>\n | GraphQLEnumType\n | GraphQLInputObjectType\n | GraphQLScalarType;\n\nexport function makeTSRepresentation(model: GraphQLType) {\n if (model instanceof GraphQLObjectType) {\n return makeTSTypeFromObject(model);\n } else if (model instanceof GraphQLScalarType) {\n return mapGraphqlScalarToTSTypeString(model);\n } else if (model instanceof GraphQLEnumType) {\n return makeStringLiteralUnionFromEnum(model);\n } else if (model instanceof GraphQLInputObjectType) {\n return makeTSTypeFromInputObject(model);\n }\n\n throw new Error(`Unknown model type: ${model}`);\n}\n\nfunction makeTSTypeFromObject(model: GraphQLObjectType) {\n const stringifiedFields = new Map<string, string>();\n for (const [key, value] of Object.entries(model.getFields())) {\n stringifiedFields.set(key, makeTSObjectTypeField(value.type, value.args));\n }\n\n return `{\n ${stringifiedFields\n .entries()\n .map(([key, value]) => `${key}: ${value}`)\n .toArray()\n .join(\",\\n \")} \n}`;\n}\n\nfunction makeTSTypeFromInputObject(model: GraphQLInputObjectType) {\n const stringifiedFields = new Map<string, string>();\n for (const [key, value] of Object.entries(model.getFields())) {\n stringifiedFields.set(key, makeTSInputObjectTypeField(value.type));\n }\n\n return `{\n ${stringifiedFields\n .entries()\n .map(\n ([key, value]) =>\n `${key}${value.includes(\"| undefined\") ? \"?\" : \"\"}: ${value}`,\n )\n .toArray()\n .join(\",\\n \")} \n}`;\n}\n\nfunction makeTSObjectTypeField(\n returnType: GraphQLOutputType,\n args?: readonly GraphQLArgument[],\n) {\n let isNonNullReturnType = false;\n let isList = false;\n\n for (let index = 0; index < 3; index++) {\n if (returnType instanceof GraphQLList) {\n isList = true;\n returnType = returnType.ofType;\n }\n\n if (returnType instanceof GraphQLNonNull) {\n isNonNullReturnType = true;\n returnType = returnType.ofType;\n }\n }\n\n let returnTypeString = (returnType as any).name;\n\n if (isList) {\n returnTypeString += \"[]\";\n }\n\n if (!isNonNullReturnType) {\n returnTypeString += \" | null\";\n }\n\n const isRelationType = returnType instanceof GraphQLObjectType;\n\n const argsStringMap = new Map<string, string>();\n\n for (const arg of args ?? []) {\n argsStringMap.set(arg.name, stringifyTSObjectArg(arg.type));\n }\n\n if (isRelationType || argsStringMap.size > 0) {\n const makePOptional = argsStringMap\n .entries()\n .every(([, value]) => value.includes(\"| undefined\"));\n const argsString =\n argsStringMap.size > 0\n ? `p${makePOptional ? \"?\" : \"\"}: {\n ${argsStringMap\n .entries()\n .map(\n ([key, value]) =>\n ` ${key}${value.includes(\"| undefined\") ? \"?\" : \"\"}: ${value}`,\n )\n .toArray()\n .join(\",\\n \")}\n }`\n : \"\";\n\n return `(${argsString}) => ${returnTypeString}`;\n } else {\n return returnTypeString;\n }\n}\n\nfunction makeTSInputObjectTypeField(returnType: GraphQLInputType) {\n let isNonNullReturnType = false;\n let isList = false;\n\n for (let index = 0; index < 3; index++) {\n if (returnType instanceof GraphQLList) {\n isList = true;\n returnType = returnType.ofType;\n }\n\n if (returnType instanceof GraphQLNonNull) {\n isNonNullReturnType = true;\n returnType = returnType.ofType;\n }\n }\n\n let returnTypeString = (returnType as any).name;\n\n if (isList) {\n returnTypeString += \"[]\";\n }\n\n if (!isNonNullReturnType) {\n returnTypeString += \" | null | undefined\";\n } else if (isList) {\n returnTypeString += \" | undefined\";\n }\n\n return returnTypeString;\n}\n\nfunction stringifyTSObjectArg(arg: any) {\n let ret = \"unknown\";\n let isNullable = true;\n\n if (arg instanceof GraphQLNonNull) {\n isNullable = false;\n arg = arg.ofType;\n }\n\n if (\n arg instanceof GraphQLInputObjectType ||\n arg instanceof GraphQLScalarType\n ) {\n ret = arg.name;\n }\n\n if (isNullable) {\n ret += \" | null | undefined\"; // we also want undefined in args\n }\n\n return ret;\n}\n\nfunction mapGraphqlScalarToTSTypeString(arg: any) {\n switch (arg.name) {\n case \"ID\":\n return \"string\";\n case \"String\":\n return \"string\";\n case \"Boolean\":\n return \"boolean\";\n case \"Int\":\n return \"number\";\n case \"Float\":\n return \"number\";\n case \"Date\":\n return \"Date\";\n case \"DateTime\":\n return \"Date\";\n case \"JSON\":\n return \"any\";\n default:\n return \"unknown\";\n }\n}\n\nfunction makeStringLiteralUnionFromEnum(enumType: GraphQLEnumType) {\n return enumType\n .getValues()\n .map((value) => `\"${value.name}\"`)\n .join(\" | \");\n}\n","import { access, mkdir, rm, writeFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport {\n getIntrospectedSchema,\n minifyIntrospectionQuery,\n} from \"@urql/introspection\";\nimport { uneval } from \"devalue\";\nimport type { GraphQLSchema } from \"graphql\";\nimport { autoGenerationPreamble, generateClient } from \"./client\";\nimport { makeTSRepresentation } from \"./tsRepresentation\";\n\nexport async function generateFromSchema({\n outputPath,\n schema,\n rumbleImportPath = \"@m1212e/rumble/client\",\n apiUrl,\n useExternalUrqlClient = false,\n removeExisting = true,\n forceReactivity,\n autoIncludeIdField,\n}: {\n schema: GraphQLSchema;\n outputPath: string;\n rumbleImportPath?: string;\n apiUrl?: string;\n useExternalUrqlClient?: boolean | string;\n removeExisting?: boolean;\n forceReactivity?: boolean;\n autoIncludeIdField?: string | boolean;\n}) {\n if (removeExisting) {\n try {\n await access(outputPath);\n await rm(outputPath, { recursive: true, force: true });\n } catch (_error) {}\n }\n\n await mkdir(outputPath, { recursive: true });\n\n if (!outputPath.endsWith(\"/\")) {\n outputPath += \"/\";\n }\n\n const imports: string[] = [];\n let code = \"\";\n\n const typeMap = new Map<string, any>();\n for (const [key, object] of Object.entries(schema.getTypeMap())) {\n if (key.startsWith(\"__\")) continue;\n typeMap.set(key, object);\n }\n\n for (const [key, object] of typeMap.entries()) {\n const rep = makeTSRepresentation(object);\n\n if (rep === key) {\n continue;\n }\n\n code += `\nexport type ${key} = ${rep};\n\t\t`;\n }\n\n const schemaFileName = \"schema\";\n\n const c = generateClient({\n apiUrl,\n schemaPath: `./${schemaFileName}`,\n useExternalUrqlClient,\n rumbleImportPath,\n availableSubscriptions: new Set(\n Object.keys(schema.getSubscriptionType()?.getFields() || {}),\n ),\n forceReactivity,\n autoIncludeId: autoIncludeIdField,\n });\n\n imports.push(...c.imports);\n code += c.code;\n\n await Promise.all([\n writeFile(\n join(outputPath, \"client.ts\"),\n `${autoGenerationPreamble}\\n${imports.join(\"\\n\")}\\n${code}`,\n ),\n writeFile(\n join(outputPath, `${schemaFileName}.ts`),\n `${autoGenerationPreamble}\nimport type { IntrospectionQuery } from \"graphql\";\nexport const schema = ${uneval(minifyIntrospectionQuery(getIntrospectedSchema(schema), { includeEnums: true, includeScalars: true, includeInputs: true }))} as IntrospectionQuery`,\n ),\n ]);\n}\n"],"mappings":"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"}
package/out/index.cjs CHANGED
@@ -22,7 +22,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  }) : target, mod));
23
23
  //#endregion
24
24
  const require_lazy = require("./lazy-DT--QoPa.cjs");
25
- const require_generate = require("./generate-WD2Bsyjg.cjs");
25
+ const require_generate = require("./generate-v10zBoUq.cjs");
26
26
  let graphql = require("graphql");
27
27
  let _escape_tech_graphql_armor = require("@escape.tech/graphql-armor");
28
28
  let _graphql_yoga_plugin_disable_introspection = require("@graphql-yoga/plugin-disable-introspection");
@@ -208,7 +208,7 @@ function mapNullFieldsToUndefined(obj) {
208
208
  }
209
209
  //#endregion
210
210
  //#region package.json
211
- var version = "0.18.6";
211
+ var version = "0.18.8";
212
212
  //#endregion
213
213
  //#region lib/helpers/mergeFilters.ts
214
214
  function mergeFilters(filterA, filterB, mode = "AND") {
@@ -380,11 +380,13 @@ const createAbilityBuilder = ({ db, actions, defaultLimit, otel }) => {
380
380
  allow: (action) => {
381
381
  if (hasBeenBuilt) throw new RumbleError("You can't call allow() after the ability builder has been built. Please ensure that you register all abilities before accessing them.");
382
382
  const actions = Array.isArray(action) ? action : [action];
383
+ const setUnrestrictedByThisCall = /* @__PURE__ */ new Set();
383
384
  for (const action of actions) {
384
385
  let filters = queryFilters.get(action);
385
386
  if (!filters) {
386
387
  filters = "unrestricted";
387
388
  queryFilters.set(action, filters);
389
+ setUnrestrictedByThisCall.add(action);
388
390
  }
389
391
  }
390
392
  return {
@@ -401,7 +403,8 @@ const createAbilityBuilder = ({ db, actions, defaultLimit, otel }) => {
401
403
  */
402
404
  when: (queryFilter) => {
403
405
  for (const action of actions) {
404
- if (queryFilters.get(action) === "unrestricted") queryFilters.set(action, []);
406
+ if (queryFilters.get(action) === "unrestricted") if (setUnrestrictedByThisCall.has(action)) queryFilters.set(action, []);
407
+ else continue;
405
408
  queryFilters.get(action).push(queryFilter);
406
409
  }
407
410
  } };