@prisma/client-generator-js 6.6.0-dev.95 → 6.6.0-dev.97

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.
@@ -0,0 +1,4 @@
1
+ import { NamedType, TypeBuilder } from '@prisma/ts-builders';
2
+ export declare function promise(resultType: TypeBuilder): NamedType;
3
+ export declare function prismaPromise(resultType: TypeBuilder): NamedType;
4
+ export declare function optional(innerType: TypeBuilder): NamedType;
package/dist/index.d.mts CHANGED
@@ -24,7 +24,7 @@ export declare function externalToInternalDmmf(document: DMMF.Document): DMMF.Do
24
24
 
25
25
  export declare function generateClient(options: GenerateClientOptions): Promise<void>;
26
26
 
27
- declare interface GenerateClientOptions {
27
+ export declare interface GenerateClientOptions {
28
28
  datamodel: string;
29
29
  schemaPath: string;
30
30
  /** Runtime path used in runtime/type imports */
package/dist/index.d.ts CHANGED
@@ -24,7 +24,7 @@ export declare function externalToInternalDmmf(document: DMMF.Document): DMMF.Do
24
24
 
25
25
  export declare function generateClient(options: GenerateClientOptions): Promise<void>;
26
26
 
27
- declare interface GenerateClientOptions {
27
+ export declare interface GenerateClientOptions {
28
28
  datamodel: string;
29
29
  schemaPath: string;
30
30
  /** Runtime path used in runtime/type imports */
package/dist/index.js CHANGED
@@ -2223,7 +2223,7 @@ function getMappings(mappings, datamodel) {
2223
2223
  }
2224
2224
 
2225
2225
  // src/generateClient.ts
2226
- var import_debug = __toESM(require("@prisma/debug"));
2226
+ var import_debug = require("@prisma/debug");
2227
2227
  var import_fetch_engine = require("@prisma/fetch-engine");
2228
2228
  var import_internals10 = require("@prisma/internals");
2229
2229
  var import_crypto2 = require("crypto");
@@ -3718,6 +3718,18 @@ function getModelActions(dmmf, name) {
3718
3718
  return mappingKeys;
3719
3719
  }
3720
3720
 
3721
+ // src/TSClient/utils/type-builders.ts
3722
+ var import_ts_builders = require("@prisma/ts-builders");
3723
+ function promise(resultType) {
3724
+ return new import_ts_builders.NamedType("$Utils.JsPromise").addGenericArgument(resultType);
3725
+ }
3726
+ function prismaPromise(resultType) {
3727
+ return new import_ts_builders.NamedType("Prisma.PrismaPromise").addGenericArgument(resultType);
3728
+ }
3729
+ function optional(innerType) {
3730
+ return new import_ts_builders.NamedType("$Utils.Optional").addGenericArgument(innerType);
3731
+ }
3732
+
3721
3733
  // src/TSClient/Model.ts
3722
3734
  var Model = class {
3723
3735
  constructor(model, context) {
@@ -4210,16 +4222,16 @@ function getReturnType({
4210
4222
  isNullable = false
4211
4223
  }) {
4212
4224
  if (actionName === DMMF2.ModelAction.count) {
4213
- return ts7.promise(ts7.numberType);
4225
+ return promise(ts7.numberType);
4214
4226
  }
4215
4227
  if (actionName === DMMF2.ModelAction.aggregate) {
4216
- return ts7.promise(ts7.namedType(getAggregateGetName(modelName)).addGenericArgument(ts7.namedType("T")));
4228
+ return promise(ts7.namedType(getAggregateGetName(modelName)).addGenericArgument(ts7.namedType("T")));
4217
4229
  }
4218
4230
  if (actionName === DMMF2.ModelAction.findRaw || actionName === DMMF2.ModelAction.aggregateRaw) {
4219
- return ts7.prismaPromise(ts7.namedType("JsonObject"));
4231
+ return prismaPromise(ts7.namedType("JsonObject"));
4220
4232
  }
4221
4233
  if (actionName === DMMF2.ModelAction.deleteMany || actionName === DMMF2.ModelAction.updateMany || actionName === DMMF2.ModelAction.createMany) {
4222
- return ts7.prismaPromise(ts7.namedType("BatchPayload"));
4234
+ return prismaPromise(ts7.namedType("BatchPayload"));
4223
4235
  }
4224
4236
  const isList = actionName === DMMF2.ModelAction.findMany || actionName === DMMF2.ModelAction.createManyAndReturn || actionName === DMMF2.ModelAction.updateManyAndReturn;
4225
4237
  if (isList) {
@@ -4227,7 +4239,7 @@ function getReturnType({
4227
4239
  if (isChaining) {
4228
4240
  result = ts7.unionType(result).addVariant(ts7.namedType("Null"));
4229
4241
  }
4230
- return ts7.prismaPromise(result);
4242
+ return prismaPromise(result);
4231
4243
  }
4232
4244
  if (isChaining && actionName === DMMF2.ModelAction.findUniqueOrThrow) {
4233
4245
  const nullType7 = isNullable ? ts7.nullType : ts7.namedType("Null");
@@ -4248,7 +4260,7 @@ function getResultType(modelName, actionName) {
4248
4260
  }
4249
4261
  function buildFluentWrapperDefinition(modelName, outputType, context) {
4250
4262
  const definition = ts7.interfaceDeclaration(fluentWrapperName(modelName));
4251
- definition.addGenericParameter(ts7.genericParameter("T")).addGenericParameter(ts7.genericParameter("Null").default(ts7.neverType)).addGenericParameter(extArgsParam).addGenericParameter(ts7.genericParameter("GlobalOmitOptions").default(ts7.objectType())).extends(ts7.prismaPromise(ts7.namedType("T")));
4263
+ definition.addGenericParameter(ts7.genericParameter("T")).addGenericParameter(ts7.genericParameter("Null").default(ts7.neverType)).addGenericParameter(extArgsParam).addGenericParameter(ts7.genericParameter("GlobalOmitOptions").default(ts7.objectType())).extends(prismaPromise(ts7.namedType("T")));
4252
4264
  definition.add(ts7.property(ts7.toStringTag, ts7.stringLiteral("PrismaPromise")).readonly());
4253
4265
  definition.addMultiple(
4254
4266
  outputType.fields.filter(
@@ -4274,7 +4286,7 @@ function buildFluentWrapperDefinition(modelName, outputType, context) {
4274
4286
  @param onrejected The callback to execute when the Promise is rejected.
4275
4287
  @returns A Promise for the completion of which ever callback is executed.
4276
4288
  `
4277
- ).addGenericParameter(ts7.genericParameter("TResult1").default(ts7.namedType("T"))).addGenericParameter(ts7.genericParameter("TResult2").default(ts7.neverType)).addParameter(promiseCallback("onfulfilled", ts7.parameter("value", ts7.namedType("T")), ts7.namedType("TResult1"))).addParameter(promiseCallback("onrejected", ts7.parameter("reason", ts7.anyType), ts7.namedType("TResult2"))).setReturnType(ts7.promise(ts7.unionType([ts7.namedType("TResult1"), ts7.namedType("TResult2")])))
4289
+ ).addGenericParameter(ts7.genericParameter("TResult1").default(ts7.namedType("T"))).addGenericParameter(ts7.genericParameter("TResult2").default(ts7.neverType)).addParameter(promiseCallback("onfulfilled", ts7.parameter("value", ts7.namedType("T")), ts7.namedType("TResult1"))).addParameter(promiseCallback("onrejected", ts7.parameter("reason", ts7.anyType), ts7.namedType("TResult2"))).setReturnType(promise(ts7.unionType([ts7.namedType("TResult1"), ts7.namedType("TResult2")])))
4278
4290
  );
4279
4291
  definition.add(
4280
4292
  ts7.method("catch").setDocComment(
@@ -4283,7 +4295,7 @@ function buildFluentWrapperDefinition(modelName, outputType, context) {
4283
4295
  @param onrejected The callback to execute when the Promise is rejected.
4284
4296
  @returns A Promise for the completion of the callback.
4285
4297
  `
4286
- ).addGenericParameter(ts7.genericParameter("TResult").default(ts7.neverType)).addParameter(promiseCallback("onrejected", ts7.parameter("reason", ts7.anyType), ts7.namedType("TResult"))).setReturnType(ts7.promise(ts7.unionType([ts7.namedType("T"), ts7.namedType("TResult")])))
4298
+ ).addGenericParameter(ts7.genericParameter("TResult").default(ts7.neverType)).addParameter(promiseCallback("onrejected", ts7.parameter("reason", ts7.anyType), ts7.namedType("TResult"))).setReturnType(promise(ts7.unionType([ts7.namedType("T"), ts7.namedType("TResult")])))
4287
4299
  );
4288
4300
  definition.add(
4289
4301
  ts7.method("finally").setDocComment(
@@ -4295,7 +4307,7 @@ function buildFluentWrapperDefinition(modelName, outputType, context) {
4295
4307
  `
4296
4308
  ).addParameter(
4297
4309
  ts7.parameter("onfinally", ts7.unionType([ts7.functionType(), ts7.undefinedType, ts7.nullType])).optional()
4298
- ).setReturnType(ts7.promise(ts7.namedType("T")))
4310
+ ).setReturnType(promise(ts7.namedType("T")))
4299
4311
  );
4300
4312
  return ts7.moduleExport(definition).setDocComment(ts7.docComment`
4301
4313
  The delegate class that acts as a "Promise-like" for ${modelName}.
@@ -4621,22 +4633,22 @@ defineDmmfProperty(exports.Prisma, config.runtimeDataModel)`;
4621
4633
  function buildQueryCompilerWasmModule(wasm, copyCompiler, runtimeNameJs) {
4622
4634
  if (copyCompiler && runtimeNameJs === "client") {
4623
4635
  return `config.compilerWasm = {
4624
- getRuntime: () => require('./query_compiler_bg.js'),
4636
+ getRuntime: async () => require('./query_compiler_bg.js'),
4625
4637
  getQueryCompilerWasmModule: async () => {
4626
4638
  const queryCompilerWasmFilePath = require('path').join(config.dirname, 'query_compiler_bg.wasm')
4627
4639
  const queryCompilerWasmFileBytes = require('fs').readFileSync(queryCompilerWasmFilePath)
4628
-
4640
+
4629
4641
  return new WebAssembly.Module(queryCompilerWasmFileBytes)
4630
4642
  }
4631
4643
  }`;
4632
4644
  }
4633
4645
  if (copyCompiler && runtimeNameJs === "client" && wasm === true) {
4634
4646
  return `config.compilerWasm = {
4635
- getRuntime: () => require('./query_compiler_bg.js'),
4647
+ getRuntime: async () => require('./query_compiler_bg.js'),
4636
4648
  getQueryCompilerWasmModule: async () => {
4637
4649
  const loader = (await import('#wasm-compiler-loader')).default
4638
4650
  const compiler = (await loader).default
4639
- return compiler
4651
+ return compiler
4640
4652
  }
4641
4653
  }`;
4642
4654
  }
@@ -4647,22 +4659,22 @@ function buildQueryCompilerWasmModule(wasm, copyCompiler, runtimeNameJs) {
4647
4659
  function buildQueryEngineWasmModule(wasm, copyEngine, runtimeNameJs) {
4648
4660
  if (copyEngine && runtimeNameJs === "library" && process.env.PRISMA_CLIENT_FORCE_WASM) {
4649
4661
  return `config.engineWasm = {
4650
- getRuntime: () => require('./query_engine_bg.js'),
4662
+ getRuntime: async () => require('./query_engine_bg.js'),
4651
4663
  getQueryEngineWasmModule: async () => {
4652
4664
  const queryEngineWasmFilePath = require('path').join(config.dirname, 'query_engine_bg.wasm')
4653
4665
  const queryEngineWasmFileBytes = require('fs').readFileSync(queryEngineWasmFilePath)
4654
-
4666
+
4655
4667
  return new WebAssembly.Module(queryEngineWasmFileBytes)
4656
4668
  }
4657
4669
  }`;
4658
4670
  }
4659
4671
  if (copyEngine && wasm === true) {
4660
4672
  return `config.engineWasm = {
4661
- getRuntime: () => require('./query_engine_bg.js'),
4673
+ getRuntime: async () => require('./query_engine_bg.js'),
4662
4674
  getQueryEngineWasmModule: async () => {
4663
4675
  const loader = (await import('#wasm-engine-loader')).default
4664
4676
  const engine = (await loader).default
4665
- return engine
4677
+ return engine
4666
4678
  }
4667
4679
  }`;
4668
4680
  }
@@ -5490,9 +5502,9 @@ function clientTypeMapModelsDefinition(context) {
5490
5502
  }
5491
5503
  function clientTypeMapModelsResultDefinition(modelName, action) {
5492
5504
  if (action === "count")
5493
- return ts11.unionType([ts11.optional(ts11.namedType(getCountAggregateOutputName(modelName))), ts11.numberType]);
5494
- if (action === "groupBy") return ts11.array(ts11.optional(ts11.namedType(getGroupByName(modelName))));
5495
- if (action === "aggregate") return ts11.optional(ts11.namedType(getAggregateName(modelName)));
5505
+ return ts11.unionType([optional(ts11.namedType(getCountAggregateOutputName(modelName))), ts11.numberType]);
5506
+ if (action === "groupBy") return ts11.array(optional(ts11.namedType(getGroupByName(modelName))));
5507
+ if (action === "aggregate") return optional(ts11.namedType(getAggregateName(modelName)));
5496
5508
  if (action === "findRaw") return ts11.namedType("JsonObject");
5497
5509
  if (action === "aggregateRaw") return ts11.namedType("JsonObject");
5498
5510
  if (action === "deleteMany") return ts11.namedType("BatchPayload");
@@ -5587,7 +5599,7 @@ function batchingTransactionDefinition(context) {
5587
5599
 
5588
5600
  Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions).
5589
5601
  `
5590
- ).addGenericParameter(ts11.genericParameter("P").extends(ts11.array(ts11.prismaPromise(ts11.anyType)))).addParameter(ts11.parameter("arg", ts11.arraySpread(ts11.namedType("P")))).setReturnType(ts11.promise(ts11.namedType("runtime.Types.Utils.UnwrapTuple").addGenericArgument(ts11.namedType("P"))));
5602
+ ).addGenericParameter(ts11.genericParameter("P").extends(ts11.array(prismaPromise(ts11.anyType)))).addParameter(ts11.parameter("arg", ts11.arraySpread(ts11.namedType("P")))).setReturnType(promise(ts11.namedType("runtime.Types.Utils.UnwrapTuple").addGenericArgument(ts11.namedType("P"))));
5591
5603
  if (context.dmmf.hasEnumInNamespace("TransactionIsolationLevel", "prisma")) {
5592
5604
  const options = ts11.objectType().formatInline().add(ts11.property("isolationLevel", ts11.namedType("Prisma.TransactionIsolationLevel")).optional());
5593
5605
  method3.addParameter(ts11.parameter("options", options).optional());
@@ -5600,7 +5612,7 @@ function interactiveTransactionDefinition(context) {
5600
5612
  const isolationLevel = ts11.property("isolationLevel", ts11.namedType("Prisma.TransactionIsolationLevel")).optional();
5601
5613
  options.add(isolationLevel);
5602
5614
  }
5603
- const returnType = ts11.promise(ts11.namedType("R"));
5615
+ const returnType = promise(ts11.namedType("R"));
5604
5616
  const callbackType = ts11.functionType().addParameter(
5605
5617
  ts11.parameter("prisma", ts11.omit(ts11.namedType("PrismaClient"), ts11.namedType("runtime.ITXClientDenyList")))
5606
5618
  ).setReturnType(returnType);
@@ -5686,7 +5698,7 @@ function queryRawTypedDefinition(context) {
5686
5698
  "typedSql",
5687
5699
  runtimeImportedType("TypedSql").addGenericArgument(ts11.array(ts11.unknownType)).addGenericArgument(param.toArgument())
5688
5700
  )
5689
- ).setReturnType(ts11.prismaPromise(ts11.array(param.toArgument())));
5701
+ ).setReturnType(prismaPromise(ts11.array(param.toArgument())));
5690
5702
  return ts11.stringify(method3, { indentLevel: 1, newLine: "leading" });
5691
5703
  }
5692
5704
  function metricDefinition(context) {
@@ -5711,7 +5723,7 @@ function runCommandRawDefinition(context) {
5711
5723
  if (!context.dmmf.mappings.otherOperations.write.includes("runCommandRaw")) {
5712
5724
  return "";
5713
5725
  }
5714
- const method3 = ts11.method("$runCommandRaw").addParameter(ts11.parameter("command", ts11.namedType("Prisma.InputJsonObject"))).setReturnType(ts11.prismaPromise(ts11.namedType("Prisma.JsonObject"))).setDocComment(ts11.docComment`
5726
+ const method3 = ts11.method("$runCommandRaw").addParameter(ts11.parameter("command", ts11.namedType("Prisma.InputJsonObject"))).setReturnType(prismaPromise(ts11.namedType("Prisma.JsonObject"))).setDocComment(ts11.docComment`
5715
5727
  Executes a raw MongoDB command and returns the result of it.
5716
5728
  @example
5717
5729
  \`\`\`
@@ -5730,7 +5742,7 @@ function applyPendingMigrationsDefinition() {
5730
5742
  if (this.runtimeNameTs !== "react-native") {
5731
5743
  return null;
5732
5744
  }
5733
- const method3 = ts11.method("$applyPendingMigrations").setReturnType(ts11.promise(ts11.voidType)).setDocComment(
5745
+ const method3 = ts11.method("$applyPendingMigrations").setReturnType(promise(ts11.voidType)).setDocComment(
5734
5746
  ts11.docComment`Tries to apply pending migrations one by one. If a migration fails to apply, the function will stop and throw an error. You are responsible for informing the user and possibly blocking the app as we cannot guarantee the state of the database.`
5735
5747
  );
5736
5748
  return ts11.stringify(method3, { indentLevel: 1, newLine: "leading" });
@@ -6342,7 +6354,7 @@ function queryUsesEnums(query, enums) {
6342
6354
 
6343
6355
  // src/typedSql/buildIndex.ts
6344
6356
  var ts14 = __toESM(require("@prisma/ts-builders"));
6345
- var import_ts_builders = require("@prisma/ts-builders");
6357
+ var import_ts_builders2 = require("@prisma/ts-builders");
6346
6358
  function buildIndexTs(queries, enums) {
6347
6359
  const file4 = ts14.file();
6348
6360
  if (!enums.isEmpty()) {
@@ -6354,7 +6366,7 @@ function buildIndexTs(queries, enums) {
6354
6366
  return ts14.stringify(file4);
6355
6367
  }
6356
6368
  function buildIndexCjs(queries, edgeRuntimeSuffix) {
6357
- const writer = new import_ts_builders.Writer(0, void 0);
6369
+ const writer = new import_ts_builders2.Writer(0, void 0);
6358
6370
  writer.writeLine('"use strict"');
6359
6371
  for (const { name } of queries) {
6360
6372
  const fileName = edgeRuntimeSuffix ? `${name}.${edgeRuntimeSuffix}` : name;
@@ -6363,7 +6375,7 @@ function buildIndexCjs(queries, edgeRuntimeSuffix) {
6363
6375
  return writer.toString();
6364
6376
  }
6365
6377
  function buildIndexEsm(queries, edgeRuntimeSuffix) {
6366
- const writer = new import_ts_builders.Writer(0, void 0);
6378
+ const writer = new import_ts_builders2.Writer(0, void 0);
6367
6379
  for (const { name } of queries) {
6368
6380
  const fileName = edgeRuntimeSuffix ? `${name}.${edgeRuntimeSuffix}` : name;
6369
6381
  writer.writeLine(`export * from "./${fileName}.mjs"`);
@@ -6373,7 +6385,7 @@ function buildIndexEsm(queries, edgeRuntimeSuffix) {
6373
6385
 
6374
6386
  // src/typedSql/buildTypedQuery.ts
6375
6387
  var ts16 = __toESM(require("@prisma/ts-builders"));
6376
- var import_ts_builders2 = require("@prisma/ts-builders");
6388
+ var import_ts_builders3 = require("@prisma/ts-builders");
6377
6389
 
6378
6390
  // src/typedSql/mapTypes.ts
6379
6391
  var import_internals9 = require("@prisma/internals");
@@ -6513,14 +6525,14 @@ function buildResultType(query, enums) {
6513
6525
  return ts16.moduleExport(ts16.typeDeclaration("Result", type));
6514
6526
  }
6515
6527
  function buildTypedQueryCjs({ query, runtimeBase, runtimeName }) {
6516
- const writer = new import_ts_builders2.Writer(0, void 0);
6528
+ const writer = new import_ts_builders3.Writer(0, void 0);
6517
6529
  writer.writeLine('"use strict"');
6518
6530
  writer.writeLine(`const { makeTypedQueryFactory: $mkFactory } = require("${runtimeBase}/${runtimeName}")`);
6519
6531
  writer.writeLine(`exports.${query.name} = /*#__PURE__*/ $mkFactory(${JSON.stringify(query.source)})`);
6520
6532
  return writer.toString();
6521
6533
  }
6522
6534
  function buildTypedQueryEsm({ query, runtimeBase, runtimeName }) {
6523
- const writer = new import_ts_builders2.Writer(0, void 0);
6535
+ const writer = new import_ts_builders3.Writer(0, void 0);
6524
6536
  writer.writeLine(`import { makeTypedQueryFactory as $mkFactory } from "${runtimeBase}/${runtimeName}"`);
6525
6537
  writer.writeLine(`export const ${query.name} = /*#__PURE__*/ $mkFactory(${JSON.stringify(query.source)})`);
6526
6538
  return writer.toString();
@@ -6557,7 +6569,7 @@ function buildTypedSql({
6557
6569
  }
6558
6570
 
6559
6571
  // src/generateClient.ts
6560
- var debug = (0, import_debug.default)("prisma:client:generateClient");
6572
+ var debug = (0, import_debug.Debug)("prisma:client:generateClient");
6561
6573
  var DenylistError = class extends Error {
6562
6574
  constructor(message) {
6563
6575
  super(message);
@@ -7150,21 +7162,21 @@ var GENERATED_PACKAGE_NAME_PREFIX = "prisma-client-";
7150
7162
 
7151
7163
  // src/generator.ts
7152
7164
  var import_node_path2 = __toESM(require("node:path"));
7153
- var import_debug3 = __toESM(require("@prisma/debug"));
7165
+ var import_debug3 = require("@prisma/debug");
7154
7166
  var import_engines_version = require("@prisma/engines-version");
7155
7167
  var import_internals12 = require("@prisma/internals");
7156
7168
  var import_ts_pattern = require("ts-pattern");
7157
7169
 
7158
7170
  // package.json
7159
- var version = "6.6.0-dev.95";
7171
+ var version = "6.6.0-dev.97";
7160
7172
 
7161
7173
  // src/resolvePrismaClient.ts
7162
7174
  var import_promises2 = __toESM(require("node:fs/promises"));
7163
7175
  var import_node_path = __toESM(require("node:path"));
7164
7176
  var import_ni = require("@antfu/ni");
7165
- var import_debug2 = __toESM(require("@prisma/debug"));
7177
+ var import_debug2 = require("@prisma/debug");
7166
7178
  var import_internals11 = require("@prisma/internals");
7167
- var debug2 = (0, import_debug2.default)("prisma:generator");
7179
+ var debug2 = (0, import_debug2.Debug)("prisma:generator");
7168
7180
  async function resolvePrismaClient(baseDir) {
7169
7181
  const prismaClientDir = await findPrismaClientDir(baseDir);
7170
7182
  debug2("baseDir", baseDir);
@@ -7197,7 +7209,7 @@ async function getPackageCmd(cwd, cmd, ...args) {
7197
7209
  }
7198
7210
 
7199
7211
  // src/generator.ts
7200
- var debug3 = (0, import_debug3.default)("prisma:client:generator");
7212
+ var debug3 = (0, import_debug3.Debug)("prisma:client:generator");
7201
7213
  var MISSING_CUSTOM_OUTPUT_PATH_WARNING = `${yellow("Warning:")} You did not specify an output path for your \`generator\` in schema.prisma. This behavior is deprecated and will no longer be supported in Prisma 7.0.0. To learn more visit https://pris.ly/cli/output-path`;
7202
7214
  var PrismaClientJsGenerator = class {
7203
7215
  name = "prisma-client-js";
package/dist/index.mjs CHANGED
@@ -2213,7 +2213,7 @@ function getMappings(mappings, datamodel) {
2213
2213
 
2214
2214
  // src/generateClient.ts
2215
2215
  var import_fs_extra = __toESM(require_lib());
2216
- import Debug from "@prisma/debug";
2216
+ import { Debug } from "@prisma/debug";
2217
2217
  import { overwriteFile } from "@prisma/fetch-engine";
2218
2218
  import {
2219
2219
  assertNever as assertNever3,
@@ -3713,6 +3713,18 @@ function getModelActions(dmmf, name) {
3713
3713
  return mappingKeys;
3714
3714
  }
3715
3715
 
3716
+ // src/TSClient/utils/type-builders.ts
3717
+ import { NamedType } from "@prisma/ts-builders";
3718
+ function promise(resultType) {
3719
+ return new NamedType("$Utils.JsPromise").addGenericArgument(resultType);
3720
+ }
3721
+ function prismaPromise(resultType) {
3722
+ return new NamedType("Prisma.PrismaPromise").addGenericArgument(resultType);
3723
+ }
3724
+ function optional(innerType) {
3725
+ return new NamedType("$Utils.Optional").addGenericArgument(innerType);
3726
+ }
3727
+
3716
3728
  // src/TSClient/Model.ts
3717
3729
  var Model = class {
3718
3730
  constructor(model, context) {
@@ -4205,16 +4217,16 @@ function getReturnType({
4205
4217
  isNullable = false
4206
4218
  }) {
4207
4219
  if (actionName === DMMF2.ModelAction.count) {
4208
- return ts7.promise(ts7.numberType);
4220
+ return promise(ts7.numberType);
4209
4221
  }
4210
4222
  if (actionName === DMMF2.ModelAction.aggregate) {
4211
- return ts7.promise(ts7.namedType(getAggregateGetName(modelName)).addGenericArgument(ts7.namedType("T")));
4223
+ return promise(ts7.namedType(getAggregateGetName(modelName)).addGenericArgument(ts7.namedType("T")));
4212
4224
  }
4213
4225
  if (actionName === DMMF2.ModelAction.findRaw || actionName === DMMF2.ModelAction.aggregateRaw) {
4214
- return ts7.prismaPromise(ts7.namedType("JsonObject"));
4226
+ return prismaPromise(ts7.namedType("JsonObject"));
4215
4227
  }
4216
4228
  if (actionName === DMMF2.ModelAction.deleteMany || actionName === DMMF2.ModelAction.updateMany || actionName === DMMF2.ModelAction.createMany) {
4217
- return ts7.prismaPromise(ts7.namedType("BatchPayload"));
4229
+ return prismaPromise(ts7.namedType("BatchPayload"));
4218
4230
  }
4219
4231
  const isList = actionName === DMMF2.ModelAction.findMany || actionName === DMMF2.ModelAction.createManyAndReturn || actionName === DMMF2.ModelAction.updateManyAndReturn;
4220
4232
  if (isList) {
@@ -4222,7 +4234,7 @@ function getReturnType({
4222
4234
  if (isChaining) {
4223
4235
  result = ts7.unionType(result).addVariant(ts7.namedType("Null"));
4224
4236
  }
4225
- return ts7.prismaPromise(result);
4237
+ return prismaPromise(result);
4226
4238
  }
4227
4239
  if (isChaining && actionName === DMMF2.ModelAction.findUniqueOrThrow) {
4228
4240
  const nullType7 = isNullable ? ts7.nullType : ts7.namedType("Null");
@@ -4243,7 +4255,7 @@ function getResultType(modelName, actionName) {
4243
4255
  }
4244
4256
  function buildFluentWrapperDefinition(modelName, outputType, context) {
4245
4257
  const definition = ts7.interfaceDeclaration(fluentWrapperName(modelName));
4246
- definition.addGenericParameter(ts7.genericParameter("T")).addGenericParameter(ts7.genericParameter("Null").default(ts7.neverType)).addGenericParameter(extArgsParam).addGenericParameter(ts7.genericParameter("GlobalOmitOptions").default(ts7.objectType())).extends(ts7.prismaPromise(ts7.namedType("T")));
4258
+ definition.addGenericParameter(ts7.genericParameter("T")).addGenericParameter(ts7.genericParameter("Null").default(ts7.neverType)).addGenericParameter(extArgsParam).addGenericParameter(ts7.genericParameter("GlobalOmitOptions").default(ts7.objectType())).extends(prismaPromise(ts7.namedType("T")));
4247
4259
  definition.add(ts7.property(ts7.toStringTag, ts7.stringLiteral("PrismaPromise")).readonly());
4248
4260
  definition.addMultiple(
4249
4261
  outputType.fields.filter(
@@ -4269,7 +4281,7 @@ function buildFluentWrapperDefinition(modelName, outputType, context) {
4269
4281
  @param onrejected The callback to execute when the Promise is rejected.
4270
4282
  @returns A Promise for the completion of which ever callback is executed.
4271
4283
  `
4272
- ).addGenericParameter(ts7.genericParameter("TResult1").default(ts7.namedType("T"))).addGenericParameter(ts7.genericParameter("TResult2").default(ts7.neverType)).addParameter(promiseCallback("onfulfilled", ts7.parameter("value", ts7.namedType("T")), ts7.namedType("TResult1"))).addParameter(promiseCallback("onrejected", ts7.parameter("reason", ts7.anyType), ts7.namedType("TResult2"))).setReturnType(ts7.promise(ts7.unionType([ts7.namedType("TResult1"), ts7.namedType("TResult2")])))
4284
+ ).addGenericParameter(ts7.genericParameter("TResult1").default(ts7.namedType("T"))).addGenericParameter(ts7.genericParameter("TResult2").default(ts7.neverType)).addParameter(promiseCallback("onfulfilled", ts7.parameter("value", ts7.namedType("T")), ts7.namedType("TResult1"))).addParameter(promiseCallback("onrejected", ts7.parameter("reason", ts7.anyType), ts7.namedType("TResult2"))).setReturnType(promise(ts7.unionType([ts7.namedType("TResult1"), ts7.namedType("TResult2")])))
4273
4285
  );
4274
4286
  definition.add(
4275
4287
  ts7.method("catch").setDocComment(
@@ -4278,7 +4290,7 @@ function buildFluentWrapperDefinition(modelName, outputType, context) {
4278
4290
  @param onrejected The callback to execute when the Promise is rejected.
4279
4291
  @returns A Promise for the completion of the callback.
4280
4292
  `
4281
- ).addGenericParameter(ts7.genericParameter("TResult").default(ts7.neverType)).addParameter(promiseCallback("onrejected", ts7.parameter("reason", ts7.anyType), ts7.namedType("TResult"))).setReturnType(ts7.promise(ts7.unionType([ts7.namedType("T"), ts7.namedType("TResult")])))
4293
+ ).addGenericParameter(ts7.genericParameter("TResult").default(ts7.neverType)).addParameter(promiseCallback("onrejected", ts7.parameter("reason", ts7.anyType), ts7.namedType("TResult"))).setReturnType(promise(ts7.unionType([ts7.namedType("T"), ts7.namedType("TResult")])))
4282
4294
  );
4283
4295
  definition.add(
4284
4296
  ts7.method("finally").setDocComment(
@@ -4290,7 +4302,7 @@ function buildFluentWrapperDefinition(modelName, outputType, context) {
4290
4302
  `
4291
4303
  ).addParameter(
4292
4304
  ts7.parameter("onfinally", ts7.unionType([ts7.functionType(), ts7.undefinedType, ts7.nullType])).optional()
4293
- ).setReturnType(ts7.promise(ts7.namedType("T")))
4305
+ ).setReturnType(promise(ts7.namedType("T")))
4294
4306
  );
4295
4307
  return ts7.moduleExport(definition).setDocComment(ts7.docComment`
4296
4308
  The delegate class that acts as a "Promise-like" for ${modelName}.
@@ -4619,22 +4631,22 @@ defineDmmfProperty(exports.Prisma, config.runtimeDataModel)`;
4619
4631
  function buildQueryCompilerWasmModule(wasm, copyCompiler, runtimeNameJs) {
4620
4632
  if (copyCompiler && runtimeNameJs === "client") {
4621
4633
  return `config.compilerWasm = {
4622
- getRuntime: () => require('./query_compiler_bg.js'),
4634
+ getRuntime: async () => require('./query_compiler_bg.js'),
4623
4635
  getQueryCompilerWasmModule: async () => {
4624
4636
  const queryCompilerWasmFilePath = require('path').join(config.dirname, 'query_compiler_bg.wasm')
4625
4637
  const queryCompilerWasmFileBytes = require('fs').readFileSync(queryCompilerWasmFilePath)
4626
-
4638
+
4627
4639
  return new WebAssembly.Module(queryCompilerWasmFileBytes)
4628
4640
  }
4629
4641
  }`;
4630
4642
  }
4631
4643
  if (copyCompiler && runtimeNameJs === "client" && wasm === true) {
4632
4644
  return `config.compilerWasm = {
4633
- getRuntime: () => require('./query_compiler_bg.js'),
4645
+ getRuntime: async () => require('./query_compiler_bg.js'),
4634
4646
  getQueryCompilerWasmModule: async () => {
4635
4647
  const loader = (await import('#wasm-compiler-loader')).default
4636
4648
  const compiler = (await loader).default
4637
- return compiler
4649
+ return compiler
4638
4650
  }
4639
4651
  }`;
4640
4652
  }
@@ -4645,22 +4657,22 @@ function buildQueryCompilerWasmModule(wasm, copyCompiler, runtimeNameJs) {
4645
4657
  function buildQueryEngineWasmModule(wasm, copyEngine, runtimeNameJs) {
4646
4658
  if (copyEngine && runtimeNameJs === "library" && process.env.PRISMA_CLIENT_FORCE_WASM) {
4647
4659
  return `config.engineWasm = {
4648
- getRuntime: () => require('./query_engine_bg.js'),
4660
+ getRuntime: async () => require('./query_engine_bg.js'),
4649
4661
  getQueryEngineWasmModule: async () => {
4650
4662
  const queryEngineWasmFilePath = require('path').join(config.dirname, 'query_engine_bg.wasm')
4651
4663
  const queryEngineWasmFileBytes = require('fs').readFileSync(queryEngineWasmFilePath)
4652
-
4664
+
4653
4665
  return new WebAssembly.Module(queryEngineWasmFileBytes)
4654
4666
  }
4655
4667
  }`;
4656
4668
  }
4657
4669
  if (copyEngine && wasm === true) {
4658
4670
  return `config.engineWasm = {
4659
- getRuntime: () => require('./query_engine_bg.js'),
4671
+ getRuntime: async () => require('./query_engine_bg.js'),
4660
4672
  getQueryEngineWasmModule: async () => {
4661
4673
  const loader = (await import('#wasm-engine-loader')).default
4662
4674
  const engine = (await loader).default
4663
- return engine
4675
+ return engine
4664
4676
  }
4665
4677
  }`;
4666
4678
  }
@@ -5488,9 +5500,9 @@ function clientTypeMapModelsDefinition(context) {
5488
5500
  }
5489
5501
  function clientTypeMapModelsResultDefinition(modelName, action) {
5490
5502
  if (action === "count")
5491
- return ts11.unionType([ts11.optional(ts11.namedType(getCountAggregateOutputName(modelName))), ts11.numberType]);
5492
- if (action === "groupBy") return ts11.array(ts11.optional(ts11.namedType(getGroupByName(modelName))));
5493
- if (action === "aggregate") return ts11.optional(ts11.namedType(getAggregateName(modelName)));
5503
+ return ts11.unionType([optional(ts11.namedType(getCountAggregateOutputName(modelName))), ts11.numberType]);
5504
+ if (action === "groupBy") return ts11.array(optional(ts11.namedType(getGroupByName(modelName))));
5505
+ if (action === "aggregate") return optional(ts11.namedType(getAggregateName(modelName)));
5494
5506
  if (action === "findRaw") return ts11.namedType("JsonObject");
5495
5507
  if (action === "aggregateRaw") return ts11.namedType("JsonObject");
5496
5508
  if (action === "deleteMany") return ts11.namedType("BatchPayload");
@@ -5585,7 +5597,7 @@ function batchingTransactionDefinition(context) {
5585
5597
 
5586
5598
  Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions).
5587
5599
  `
5588
- ).addGenericParameter(ts11.genericParameter("P").extends(ts11.array(ts11.prismaPromise(ts11.anyType)))).addParameter(ts11.parameter("arg", ts11.arraySpread(ts11.namedType("P")))).setReturnType(ts11.promise(ts11.namedType("runtime.Types.Utils.UnwrapTuple").addGenericArgument(ts11.namedType("P"))));
5600
+ ).addGenericParameter(ts11.genericParameter("P").extends(ts11.array(prismaPromise(ts11.anyType)))).addParameter(ts11.parameter("arg", ts11.arraySpread(ts11.namedType("P")))).setReturnType(promise(ts11.namedType("runtime.Types.Utils.UnwrapTuple").addGenericArgument(ts11.namedType("P"))));
5589
5601
  if (context.dmmf.hasEnumInNamespace("TransactionIsolationLevel", "prisma")) {
5590
5602
  const options = ts11.objectType().formatInline().add(ts11.property("isolationLevel", ts11.namedType("Prisma.TransactionIsolationLevel")).optional());
5591
5603
  method3.addParameter(ts11.parameter("options", options).optional());
@@ -5598,7 +5610,7 @@ function interactiveTransactionDefinition(context) {
5598
5610
  const isolationLevel = ts11.property("isolationLevel", ts11.namedType("Prisma.TransactionIsolationLevel")).optional();
5599
5611
  options.add(isolationLevel);
5600
5612
  }
5601
- const returnType = ts11.promise(ts11.namedType("R"));
5613
+ const returnType = promise(ts11.namedType("R"));
5602
5614
  const callbackType = ts11.functionType().addParameter(
5603
5615
  ts11.parameter("prisma", ts11.omit(ts11.namedType("PrismaClient"), ts11.namedType("runtime.ITXClientDenyList")))
5604
5616
  ).setReturnType(returnType);
@@ -5684,7 +5696,7 @@ function queryRawTypedDefinition(context) {
5684
5696
  "typedSql",
5685
5697
  runtimeImportedType("TypedSql").addGenericArgument(ts11.array(ts11.unknownType)).addGenericArgument(param.toArgument())
5686
5698
  )
5687
- ).setReturnType(ts11.prismaPromise(ts11.array(param.toArgument())));
5699
+ ).setReturnType(prismaPromise(ts11.array(param.toArgument())));
5688
5700
  return ts11.stringify(method3, { indentLevel: 1, newLine: "leading" });
5689
5701
  }
5690
5702
  function metricDefinition(context) {
@@ -5709,7 +5721,7 @@ function runCommandRawDefinition(context) {
5709
5721
  if (!context.dmmf.mappings.otherOperations.write.includes("runCommandRaw")) {
5710
5722
  return "";
5711
5723
  }
5712
- const method3 = ts11.method("$runCommandRaw").addParameter(ts11.parameter("command", ts11.namedType("Prisma.InputJsonObject"))).setReturnType(ts11.prismaPromise(ts11.namedType("Prisma.JsonObject"))).setDocComment(ts11.docComment`
5724
+ const method3 = ts11.method("$runCommandRaw").addParameter(ts11.parameter("command", ts11.namedType("Prisma.InputJsonObject"))).setReturnType(prismaPromise(ts11.namedType("Prisma.JsonObject"))).setDocComment(ts11.docComment`
5713
5725
  Executes a raw MongoDB command and returns the result of it.
5714
5726
  @example
5715
5727
  \`\`\`
@@ -5728,7 +5740,7 @@ function applyPendingMigrationsDefinition() {
5728
5740
  if (this.runtimeNameTs !== "react-native") {
5729
5741
  return null;
5730
5742
  }
5731
- const method3 = ts11.method("$applyPendingMigrations").setReturnType(ts11.promise(ts11.voidType)).setDocComment(
5743
+ const method3 = ts11.method("$applyPendingMigrations").setReturnType(promise(ts11.voidType)).setDocComment(
5732
5744
  ts11.docComment`Tries to apply pending migrations one by one. If a migration fails to apply, the function will stop and throw an error. You are responsible for informing the user and possibly blocking the app as we cannot guarantee the state of the database.`
5733
5745
  );
5734
5746
  return ts11.stringify(method3, { indentLevel: 1, newLine: "leading" });
@@ -7148,19 +7160,19 @@ var GENERATED_PACKAGE_NAME_PREFIX = "prisma-client-";
7148
7160
 
7149
7161
  // src/generator.ts
7150
7162
  import path5 from "node:path";
7151
- import Debug3 from "@prisma/debug";
7163
+ import { Debug as Debug3 } from "@prisma/debug";
7152
7164
  import { enginesVersion } from "@prisma/engines-version";
7153
7165
  import { ClientEngineType as ClientEngineType4, getClientEngineType as getClientEngineType3, parseEnvValue } from "@prisma/internals";
7154
7166
  import { match } from "ts-pattern";
7155
7167
 
7156
7168
  // package.json
7157
- var version = "6.6.0-dev.95";
7169
+ var version = "6.6.0-dev.97";
7158
7170
 
7159
7171
  // src/resolvePrismaClient.ts
7160
7172
  import fs2 from "node:fs/promises";
7161
7173
  import path4 from "node:path";
7162
7174
  import { detect, getCommand } from "@antfu/ni";
7163
- import Debug2 from "@prisma/debug";
7175
+ import { Debug as Debug2 } from "@prisma/debug";
7164
7176
  import { resolvePkg } from "@prisma/internals";
7165
7177
  var debug2 = Debug2("prisma:generator");
7166
7178
  async function resolvePrismaClient(baseDir) {
@@ -3,4 +3,4 @@ import { TSClientOptions } from '../TSClient/TSClient';
3
3
  * Builds the necessary glue code to load the query compiler wasm module.
4
4
  * @returns
5
5
  */
6
- export declare function buildQueryCompilerWasmModule(wasm: boolean, copyCompiler: boolean, runtimeNameJs: TSClientOptions['runtimeNameJs']): "config.compilerWasm = {\n getRuntime: () => require('./query_compiler_bg.js'),\n getQueryCompilerWasmModule: async () => {\n const queryCompilerWasmFilePath = require('path').join(config.dirname, 'query_compiler_bg.wasm')\n const queryCompilerWasmFileBytes = require('fs').readFileSync(queryCompilerWasmFilePath)\n \n return new WebAssembly.Module(queryCompilerWasmFileBytes)\n }\n }" | "config.compilerWasm = {\n getRuntime: () => require('./query_compiler_bg.js'),\n getQueryCompilerWasmModule: async () => {\n const loader = (await import('#wasm-compiler-loader')).default\n const compiler = (await loader).default\n return compiler \n }\n}" | "config.compilerWasm = undefined";
6
+ export declare function buildQueryCompilerWasmModule(wasm: boolean, copyCompiler: boolean, runtimeNameJs: TSClientOptions['runtimeNameJs']): "config.compilerWasm = {\n getRuntime: async () => require('./query_compiler_bg.js'),\n getQueryCompilerWasmModule: async () => {\n const queryCompilerWasmFilePath = require('path').join(config.dirname, 'query_compiler_bg.wasm')\n const queryCompilerWasmFileBytes = require('fs').readFileSync(queryCompilerWasmFilePath)\n\n return new WebAssembly.Module(queryCompilerWasmFileBytes)\n }\n }" | "config.compilerWasm = {\n getRuntime: async () => require('./query_compiler_bg.js'),\n getQueryCompilerWasmModule: async () => {\n const loader = (await import('#wasm-compiler-loader')).default\n const compiler = (await loader).default\n return compiler\n }\n}" | "config.compilerWasm = undefined";
@@ -3,4 +3,4 @@ import { TSClientOptions } from '../TSClient/TSClient';
3
3
  * Builds the necessary glue code to load the query engine wasm module.
4
4
  * @returns
5
5
  */
6
- export declare function buildQueryEngineWasmModule(wasm: boolean, copyEngine: boolean, runtimeNameJs: TSClientOptions['runtimeNameJs']): "config.engineWasm = {\n getRuntime: () => require('./query_engine_bg.js'),\n getQueryEngineWasmModule: async () => {\n const queryEngineWasmFilePath = require('path').join(config.dirname, 'query_engine_bg.wasm')\n const queryEngineWasmFileBytes = require('fs').readFileSync(queryEngineWasmFilePath)\n \n return new WebAssembly.Module(queryEngineWasmFileBytes)\n }\n }" | "config.engineWasm = {\n getRuntime: () => require('./query_engine_bg.js'),\n getQueryEngineWasmModule: async () => {\n const loader = (await import('#wasm-engine-loader')).default\n const engine = (await loader).default\n return engine \n }\n}" | "config.engineWasm = undefined";
6
+ export declare function buildQueryEngineWasmModule(wasm: boolean, copyEngine: boolean, runtimeNameJs: TSClientOptions['runtimeNameJs']): "config.engineWasm = {\n getRuntime: async () => require('./query_engine_bg.js'),\n getQueryEngineWasmModule: async () => {\n const queryEngineWasmFilePath = require('path').join(config.dirname, 'query_engine_bg.wasm')\n const queryEngineWasmFileBytes = require('fs').readFileSync(queryEngineWasmFilePath)\n\n return new WebAssembly.Module(queryEngineWasmFileBytes)\n }\n }" | "config.engineWasm = {\n getRuntime: async () => require('./query_engine_bg.js'),\n getQueryEngineWasmModule: async () => {\n const loader = (await import('#wasm-engine-loader')).default\n const engine = (await loader).default\n return engine\n }\n}" | "config.engineWasm = undefined";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/client-generator-js",
3
- "version": "6.6.0-dev.95",
3
+ "version": "6.6.0-dev.97",
4
4
  "description": "This package is intended for Prisma's internal use",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -33,14 +33,14 @@
33
33
  "pkg-up": "3.1.0",
34
34
  "pluralize": "8.0.0",
35
35
  "ts-pattern": "5.6.2",
36
- "@prisma/client-common": "6.6.0-dev.95",
37
- "@prisma/fetch-engine": "6.6.0-dev.95",
38
- "@prisma/get-platform": "6.6.0-dev.95",
39
- "@prisma/dmmf": "6.6.0-dev.95",
40
- "@prisma/debug": "6.6.0-dev.95",
41
- "@prisma/internals": "6.6.0-dev.95",
42
- "@prisma/ts-builders": "6.6.0-dev.95",
43
- "@prisma/generator": "6.6.0-dev.95"
36
+ "@prisma/debug": "6.6.0-dev.97",
37
+ "@prisma/fetch-engine": "6.6.0-dev.97",
38
+ "@prisma/client-common": "6.6.0-dev.97",
39
+ "@prisma/dmmf": "6.6.0-dev.97",
40
+ "@prisma/generator": "6.6.0-dev.97",
41
+ "@prisma/get-platform": "6.6.0-dev.97",
42
+ "@prisma/internals": "6.6.0-dev.97",
43
+ "@prisma/ts-builders": "6.6.0-dev.97"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/pluralize": "0.0.33",
@@ -54,6 +54,6 @@
54
54
  "scripts": {
55
55
  "dev": "DEV=true tsx helpers/build.ts",
56
56
  "build": "tsx helpers/build.ts",
57
- "test": "vitest run"
57
+ "test": "vitest run --testTimeout 30000"
58
58
  }
59
59
  }