@prisma-idb/idb-client-generator 0.34.0 → 0.35.0

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.
Files changed (29) hide show
  1. package/dist/fileCreators/batch-processor/create.js +56 -19
  2. package/dist/fileCreators/batch-processor/create.js.map +1 -1
  3. package/dist/fileCreators/idb-interface/create.js +12 -4
  4. package/dist/fileCreators/idb-interface/create.js.map +1 -1
  5. package/dist/fileCreators/idb-utils/create.js +3 -0
  6. package/dist/fileCreators/idb-utils/create.js.map +1 -1
  7. package/dist/fileCreators/idb-utils/helpers/extractEqualityValue.js +23 -0
  8. package/dist/fileCreators/idb-utils/helpers/extractEqualityValue.js.map +1 -0
  9. package/dist/fileCreators/prisma-idb-client/classes/PrismaIDBClient.js +30 -10
  10. package/dist/fileCreators/prisma-idb-client/classes/PrismaIDBClient.js.map +1 -1
  11. package/dist/fileCreators/prisma-idb-client/classes/models/IDBModelClass.js +3 -1
  12. package/dist/fileCreators/prisma-idb-client/classes/models/IDBModelClass.js.map +1 -1
  13. package/dist/fileCreators/prisma-idb-client/classes/models/api/findMany.js +93 -11
  14. package/dist/fileCreators/prisma-idb-client/classes/models/api/findMany.js.map +1 -1
  15. package/dist/fileCreators/prisma-idb-client/classes/models/api/findUnique.js +13 -4
  16. package/dist/fileCreators/prisma-idb-client/classes/models/api/findUnique.js.map +1 -1
  17. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_getRecords.js +65 -0
  18. package/dist/fileCreators/prisma-idb-client/classes/models/utils/_getRecords.js.map +1 -0
  19. package/dist/fileCreators/prisma-idb-client/create.js +4 -4
  20. package/dist/fileCreators/prisma-idb-client/create.js.map +1 -1
  21. package/dist/fileCreators/scoped-schema/create.js +10 -5
  22. package/dist/fileCreators/scoped-schema/create.js.map +1 -1
  23. package/dist/generator.js +4 -2
  24. package/dist/generator.js.map +1 -1
  25. package/dist/helpers/parseGeneratorConfig.js +49 -1
  26. package/dist/helpers/parseGeneratorConfig.js.map +1 -1
  27. package/dist/helpers/utils.js +57 -0
  28. package/dist/helpers/utils.js.map +1 -1
  29. package/package.json +3 -3
@@ -30,7 +30,8 @@ const _preprocessListFields_1 = require("./utils/_preprocessListFields");
30
30
  const _removeNestedCreateData_1 = require("./utils/_removeNestedCreateData");
31
31
  const _resolveOrderByKey_1 = require("./utils/_resolveOrderByKey");
32
32
  const _resolveSortOrder_1 = require("./utils/_resolveSortOrder");
33
- function addIDBModelClass(writer, model, models, outboxSync, outboxModelName, versionMetaModelName) {
33
+ const _getRecords_1 = require("./utils/_getRecords");
34
+ function addIDBModelClass(writer, model, models, outboxSync, outboxModelName, versionMetaModelName, datamodelIndexes = []) {
34
35
  writer.writeLine(`class ${model.name}IDBClass extends BaseIDBModelClass<"${model.name}">`).block(() => {
35
36
  addConstructor(writer, model);
36
37
  (0, _applyWhereClause_1.addApplyWhereClause)(writer, model, models);
@@ -47,6 +48,7 @@ function addIDBModelClass(writer, model, models, outboxSync, outboxModelName, ve
47
48
  (0, _getNeededStoresForNestedDelete_1.addGetNeededStoresForNestedDelete)(writer, model, models, outboxSync, outboxModelName, versionMetaModelName);
48
49
  (0, _removeNestedCreateData_1.addRemoveNestedCreateDataMethod)(writer, model);
49
50
  (0, _preprocessListFields_1.addPreprocessListFields)(writer, model);
51
+ (0, _getRecords_1.addGetRecords)(writer, model, datamodelIndexes);
50
52
  (0, findMany_1.addFindManyMethod)(writer, model);
51
53
  (0, findFirst_1.addFindFirstMethod)(writer, model);
52
54
  (0, findFirstOrThrow_1.addFindFirstOrThrow)(writer, model);
@@ -1 +1 @@
1
- {"version":3,"file":"IDBModelClass.js","sourceRoot":"","sources":["../../../../../src/fileCreators/prisma-idb-client/classes/models/IDBModelClass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IDBModelClass.js","sourceRoot":"","sources":["../../../../../src/fileCreators/prisma-idb-client/classes/models/IDBModelClass.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addFindManyMethod = addFindManyMethod;
4
+ const utils_1 = require("../../../../../helpers/utils");
4
5
  const methodOptions_1 = require("../helpers/methodOptions");
5
6
  function addFindManyMethod(writer, model) {
6
7
  writer
@@ -10,17 +11,18 @@ function addFindManyMethod(writer, model) {
10
11
  .writeLine(`): Promise<Prisma.Result<Prisma.${model.name}Delegate, Q, "findMany">>`)
11
12
  .block(() => {
12
13
  writer.write((0, methodOptions_1.getOptionsSetupRead)());
13
- getRecords(writer, model);
14
+ getRecords(writer);
15
+ applyDistinctClauseToRecords(writer, model);
16
+ applyPaginationClause(writer, model);
14
17
  applyRelationsToRecords(writer, model);
15
18
  applySelectClauseToRecords(writer);
16
- applyDistinctClauseToRecords(writer);
17
19
  returnRecords(writer, model);
18
20
  });
19
21
  }
20
- function getRecords(writer, model) {
22
+ function getRecords(writer) {
21
23
  writer
22
24
  .writeLine(`tx = tx ?? this.client._db.transaction(Array.from(this._getNeededStoresForFind(query)), "readonly");`)
23
- .writeLine(`const records = await this._applyWhereClause(await tx.objectStore("${model.name}").getAll(), query?.where, tx);`)
25
+ .writeLine(`let records = await this._applyWhereClause(await this._getRecords(tx, query?.where), query?.where, tx);`)
24
26
  .writeLine(`await this._applyOrderByClause(records, query?.orderBy, tx);`);
25
27
  }
26
28
  function applyRelationsToRecords(writer, model) {
@@ -31,17 +33,25 @@ function applyRelationsToRecords(writer, model) {
31
33
  function applySelectClauseToRecords(writer) {
32
34
  writer
33
35
  .writeLine("const selectClause = query?.select;")
34
- .writeLine("let selectAppliedRecords = this._applySelectClause(relationAppliedRecords, selectClause);");
36
+ .writeLine("const selectAppliedRecords = this._applySelectClause(relationAppliedRecords, selectClause);");
37
+ writer.writeLine(`this._preprocessListFields(selectAppliedRecords);`);
35
38
  }
36
- function applyDistinctClauseToRecords(writer) {
39
+ function applyDistinctClauseToRecords(writer, model) {
40
+ const hasBigIntField = model.fields.some((f) => f.type === "BigInt");
37
41
  writer.writeLine("if (query?.distinct)").block(() => {
38
42
  writer
39
43
  .writeLine(`const distinctFields = IDBUtils.convertToArray(query.distinct);`)
40
44
  .writeLine(`const seen = new Set<string>();`)
41
- .writeLine(`selectAppliedRecords = selectAppliedRecords.filter((record) => `)
45
+ .writeLine(`records = records.filter((record) => `)
42
46
  .block(() => {
47
+ if (hasBigIntField) {
48
+ writer.writeLine(`const values = distinctFields.map((field) => { const v = record[field]; return typeof v === "bigint" ? v.toString() : v; });`);
49
+ }
50
+ else {
51
+ writer.writeLine(`const values = distinctFields.map((field) => record[field]);`);
52
+ }
43
53
  writer
44
- .writeLine(`const key = distinctFields.map((field) => record[field]).join("|");`)
54
+ .writeLine(`const key = JSON.stringify(values);`)
45
55
  .writeLine(`if (seen.has(key)) return false;`)
46
56
  .writeLine(`seen.add(key);`)
47
57
  .writeLine(`return true;`);
@@ -49,9 +59,81 @@ function applyDistinctClauseToRecords(writer) {
49
59
  .writeLine(");");
50
60
  });
51
61
  }
62
+ function applyPaginationClause(writer, model) {
63
+ const uniqueIdentifiers = (0, utils_1.getUniqueIdentifiers)(model);
64
+ writer.write("if (query?.skip !== undefined)").block(() => {
65
+ writer.write("if (!Number.isInteger(query.skip) || query.skip < 0)").block(() => {
66
+ writer.writeLine("throw new Error('skip must be a non-negative integer');");
67
+ });
68
+ });
69
+ writer.write("if (query?.take !== undefined)").block(() => {
70
+ writer.write("if (!Number.isInteger(query.take))").block(() => {
71
+ writer.writeLine("throw new Error('take must be an integer');");
72
+ });
73
+ });
74
+ if (uniqueIdentifiers.length > 0) {
75
+ emitCursorHandling(writer, uniqueIdentifiers);
76
+ }
77
+ emitSkipTakeSlices(writer);
78
+ }
79
+ function buildComparisonExpr(fields, fieldTypes) {
80
+ return fields
81
+ .map((f, i) => {
82
+ if (fieldTypes[i] === "Date") {
83
+ return `new Date(record.${f} as string | number | Date).getTime() === new Date(normalizedCursor.${f} as string | number | Date).getTime()`;
84
+ }
85
+ return `record.${f} === normalizedCursor.${f}`;
86
+ })
87
+ .join(" && ");
88
+ }
89
+ function emitCursorHandling(writer, uniqueIdentifiers) {
90
+ writer.write("if (query?.cursor)").block(() => {
91
+ writer.writeLine("let cursorIndex = -1;");
92
+ uniqueIdentifiers.forEach((uid, index) => {
93
+ const fields = JSON.parse(uid.keyPath);
94
+ const fieldTypes = uid.keyPathTypes;
95
+ const condition = `(query.cursor as Record<string, unknown>)[${JSON.stringify(uid.name)}] !== undefined`;
96
+ const prefix = index === 0 ? "if" : "else if";
97
+ writer.write(`${prefix} (${condition}) `).block(() => {
98
+ if (fields.length > 1) {
99
+ writer.writeLine(`const normalizedCursor = (query.cursor as Record<string, unknown>)[${JSON.stringify(uid.name)}] as Record<string, unknown>;`);
100
+ }
101
+ else {
102
+ writer.writeLine(`const normalizedCursor = query.cursor as Record<string, unknown>;`);
103
+ }
104
+ writer.writeLine(`cursorIndex = records.findIndex((record) => ${buildComparisonExpr(fields, fieldTypes)});`);
105
+ });
106
+ });
107
+ writer.write("if (cursorIndex === -1)").block(() => {
108
+ writer.writeLine("records = [];");
109
+ });
110
+ writer.write("else if (query.take !== undefined && query.take < 0)").block(() => {
111
+ writer.writeLine("const skip = query.skip ?? 0;");
112
+ writer.writeLine("const end = cursorIndex + 1 - skip;");
113
+ writer.writeLine("const start = end + query.take;");
114
+ writer.writeLine("records = records.slice(Math.max(0, start), Math.max(0, end));");
115
+ });
116
+ writer.write("else").block(() => {
117
+ writer.writeLine("records = records.slice(cursorIndex);");
118
+ });
119
+ });
120
+ }
121
+ function emitSkipTakeSlices(writer) {
122
+ writer.write("if (!(query?.cursor && query?.take !== undefined && query.take < 0))").block(() => {
123
+ writer.write("if (query?.skip !== undefined)").block(() => {
124
+ writer.writeLine("records = records.slice(query.skip);");
125
+ });
126
+ writer.write("if (query?.take !== undefined)").block(() => {
127
+ writer.write("if (query.take < 0)").block(() => {
128
+ writer.writeLine("records = records.slice(query.take);");
129
+ });
130
+ writer.write("else").block(() => {
131
+ writer.writeLine("records = records.slice(0, query.take);");
132
+ });
133
+ });
134
+ });
135
+ }
52
136
  function returnRecords(writer, model) {
53
- writer
54
- .writeLine(`this._preprocessListFields(selectAppliedRecords);`)
55
- .writeLine(`return selectAppliedRecords as Prisma.Result<Prisma.${model.name}Delegate, Q, 'findMany'>;`);
137
+ writer.writeLine(`return selectAppliedRecords as Prisma.Result<Prisma.${model.name}Delegate, Q, 'findMany'>;`);
56
138
  }
57
139
  //# sourceMappingURL=findMany.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findMany.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/findMany.ts"],"names":[],"mappings":";;AAIA,8CAcC;AAhBD,4DAAwF;AAExF,SAAgB,iBAAiB,CAAC,MAAuB,EAAE,KAAY;IACrE,MAAM;SACH,SAAS,CAAC,+CAA+C,KAAK,CAAC,IAAI,yBAAyB,CAAC;SAC7F,SAAS,CAAC,YAAY,CAAC;SACvB,KAAK,CAAC,IAAA,uCAAuB,GAAE,CAAC;SAChC,SAAS,CAAC,mCAAmC,KAAK,CAAC,IAAI,2BAA2B,CAAC;SACnF,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,IAAA,mCAAmB,GAAE,CAAC,CAAC;QACpC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1B,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACnC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QACrC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,UAAU,CAAC,MAAuB,EAAE,KAAY;IACvD,MAAM;SACH,SAAS,CAAC,sGAAsG,CAAC;SACjH,SAAS,CACR,sEAAsE,KAAK,CAAC,IAAI,iCAAiC,CAClH;SACA,SAAS,CAAC,8DAA8D,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAuB,EAAE,KAAY;IACpE,MAAM;SACH,KAAK,CAAC,kFAAkF,CAAC;SACzF,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,0CAA0C,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAuB;IACzD,MAAM;SACH,SAAS,CAAC,qCAAqC,CAAC;SAChD,SAAS,CAAC,2FAA2F,CAAC,CAAC;AAC5G,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAuB;IAC3D,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAClD,MAAM;aACH,SAAS,CAAC,iEAAiE,CAAC;aAC5E,SAAS,CAAC,iCAAiC,CAAC;aAC5C,SAAS,CAAC,iEAAiE,CAAC;aAC5E,KAAK,CAAC,GAAG,EAAE;YACV,MAAM;iBACH,SAAS,CAAC,qEAAqE,CAAC;iBAChF,SAAS,CAAC,kCAAkC,CAAC;iBAC7C,SAAS,CAAC,gBAAgB,CAAC;iBAC3B,SAAS,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC,CAAC;aACD,SAAS,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB,EAAE,KAAY;IAC1D,MAAM;SACH,SAAS,CAAC,mDAAmD,CAAC;SAC9D,SAAS,CAAC,uDAAuD,KAAK,CAAC,IAAI,2BAA2B,CAAC,CAAC;AAC7G,CAAC"}
1
+ {"version":3,"file":"findMany.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/findMany.ts"],"names":[],"mappings":"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"}
@@ -30,10 +30,16 @@ function getFromKeyIdentifier(writer, model) {
30
30
  const fieldNames = JSON.parse(keyUniqueIdentifier.keyPath);
31
31
  let fields;
32
32
  if (fieldNames.length === 1) {
33
- fields = JSON.stringify(fieldNames.map((fieldName) => `query.where.${fieldName}`));
33
+ fields = JSON.stringify(fieldNames.map((fieldName, i) => {
34
+ const access = `query.where.${fieldName}`;
35
+ return keyUniqueIdentifier.keyPathTypes[i] === "Date" ? `new Date(${access})` : access;
36
+ }));
34
37
  }
35
38
  else {
36
- fields = JSON.stringify(fieldNames.map((fieldName) => `query.where.${keyUniqueIdentifier.name}.${fieldName}`));
39
+ fields = JSON.stringify(fieldNames.map((fieldName, i) => {
40
+ const access = `query.where.${keyUniqueIdentifier.name}.${fieldName}`;
41
+ return keyUniqueIdentifier.keyPathTypes[i] === "Date" ? `new Date(${access})` : access;
42
+ }));
37
43
  }
38
44
  fields = fields.replaceAll('"', "");
39
45
  writer.writeLine(`if (query.where.${keyUniqueIdentifier.name} !== undefined)`).block(() => {
@@ -42,14 +48,17 @@ function getFromKeyIdentifier(writer, model) {
42
48
  }
43
49
  function getFromNonKeyIdentifier(writer, model) {
44
50
  const nonKeyUniqueIdentifiers = (0, utils_1.getUniqueIdentifiers)(model).slice(1);
45
- nonKeyUniqueIdentifiers.forEach(({ name, keyPath }) => {
51
+ nonKeyUniqueIdentifiers.forEach(({ name, keyPath, keyPathTypes }) => {
46
52
  const fieldNames = JSON.parse(keyPath);
47
53
  let fields;
48
54
  if (fieldNames.length === 1) {
49
55
  fields = JSON.stringify(fieldNames.map((fieldName) => `query.where.${fieldName}`));
50
56
  }
51
57
  else {
52
- fields = JSON.stringify(fieldNames.map((fieldName) => `query.where.${name}.${fieldName}`));
58
+ fields = JSON.stringify(fieldNames.map((fieldName, i) => {
59
+ const access = `query.where.${name}.${fieldName}`;
60
+ return keyPathTypes[i] === "Date" ? `new Date(${access})` : access;
61
+ }));
53
62
  }
54
63
  fields = fields.replaceAll('"', "");
55
64
  writer.writeLine(`else if (query.where.${name} !== undefined)`).block(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"findUnique.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/findUnique.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findUnique.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/api/findUnique.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addGetRecords = addGetRecords;
4
+ const utils_1 = require("../../../../../helpers/utils");
5
+ function addGetRecords(writer, model, datamodelIndexes) {
6
+ const nonUniqueIndexes = (0, utils_1.getNonUniqueIndexes)(model, datamodelIndexes);
7
+ writer
8
+ .writeLine(`private async _getRecords(`)
9
+ .writeLine(`tx: IDBUtils.TransactionType,`)
10
+ .writeLine(`where?: Prisma.Args<Prisma.${model.name}Delegate, 'findFirstOrThrow'>['where'],`)
11
+ .writeLine(`): Promise<Prisma.Result<Prisma.${model.name}Delegate, object, 'findFirstOrThrow'>[]>`)
12
+ .block(() => {
13
+ if (nonUniqueIndexes.length === 0) {
14
+ writer.writeLine(`return tx.objectStore("${model.name}").getAll();`);
15
+ return;
16
+ }
17
+ writer.writeLine(`if (!where) return tx.objectStore("${model.name}").getAll();`);
18
+ const indexesWithFields = nonUniqueIndexes.map((idx) => ({
19
+ ...idx,
20
+ fieldNames: JSON.parse(idx.keyPath),
21
+ }));
22
+ const sortedIndexes = [...indexesWithFields].sort((a, b) => b.fieldNames.length - a.fieldNames.length);
23
+ const allFieldNames = new Set();
24
+ for (const idx of sortedIndexes) {
25
+ for (const f of idx.fieldNames)
26
+ allFieldNames.add(f);
27
+ }
28
+ for (const fieldName of allFieldNames) {
29
+ const field = model.fields.find((f) => f.name === fieldName);
30
+ if (field.type === "DateTime") {
31
+ writer.writeLine(`let ${fieldName}Eq = IDBUtils.extractEqualityValue(where.${fieldName});`);
32
+ writer.writeLine(`if (typeof ${fieldName}Eq === 'string') ${fieldName}Eq = new Date(${fieldName}Eq);`);
33
+ }
34
+ else {
35
+ writer.writeLine(`const ${fieldName}Eq = IDBUtils.extractEqualityValue(where.${fieldName});`);
36
+ }
37
+ }
38
+ writer.blankLine();
39
+ for (const idx of sortedIndexes) {
40
+ const fields = idx.fieldNames;
41
+ const condition = fields.map((f) => `${f}Eq !== undefined`).join(" && ");
42
+ const keyArray = fields.map((f) => `${f}Eq`).join(", ");
43
+ writer.writeLine(`if (${condition})`).block(() => {
44
+ writer.writeLine(`return tx.objectStore("${model.name}").index("${idx.name}Index").getAll(IDBUtils.IDBKeyRange.only([${keyArray}]));`);
45
+ });
46
+ }
47
+ writer.blankLine();
48
+ for (const idx of sortedIndexes) {
49
+ const fields = idx.fieldNames;
50
+ if (fields.length < 2)
51
+ continue;
52
+ for (let prefixLen = fields.length - 1; prefixLen >= 1; prefixLen--) {
53
+ const prefixFields = fields.slice(0, prefixLen);
54
+ const condition = prefixFields.map((f) => `${f}Eq !== undefined`).join(" && ");
55
+ const lowerArray = prefixFields.map((f) => `${f}Eq`).join(", ");
56
+ writer.writeLine(`if (${condition})`).block(() => {
57
+ writer.writeLine(`return tx.objectStore("${model.name}").index("${idx.name}Index")` +
58
+ `.getAll(IDBUtils.IDBKeyRange.bound([${lowerArray}], [${lowerArray}, []], false, true));`);
59
+ });
60
+ }
61
+ }
62
+ writer.writeLine(`return tx.objectStore("${model.name}").getAll();`);
63
+ });
64
+ }
65
+ //# sourceMappingURL=_getRecords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_getRecords.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/utils/_getRecords.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ function addImports(writer, models, prismaClientImport, outboxSync = false) {
15
15
  .writeLine(`import * as IDBUtils from "./idb-utils";`);
16
16
  if (outboxSync) {
17
17
  writer
18
- .writeLine(`import type { OutboxEventRecord, ChangeMetaRecord, PrismaIDBSchema, SyncWorkerOptions, SyncWorker } from "./idb-interface";`)
18
+ .writeLine(`import type { OutboxEventRecord, ChangeMetaRecord, PrismaIDBSchema, SyncWorkerOptions, SyncWorker, IDBValidKey } from "./idb-interface";`)
19
19
  .writeLine(`import type { PushResult } from "../server/batch-processor";`)
20
20
  .writeLine(`import { validators, keyPathValidators, modelRecordToKeyPath } from "../validators";`)
21
21
  .writeLine(`import type { LogWithStringifiedRecord } from '../server/batch-processor';`)
@@ -39,13 +39,13 @@ function addVersionDeclaration(writer) {
39
39
  writer.writeLine(`const IDB_VERSION = 1;`);
40
40
  }
41
41
  function createPrismaIDBClientFile(writer, options) {
42
- const { models, prismaClientImport, outboxSync, outboxModelName, versionMetaModelName, include = ["*"], exclude = [], } = options;
42
+ const { models, prismaClientImport, outboxSync, outboxModelName, versionMetaModelName, indexes = [], include = ["*"], exclude = [], } = options;
43
43
  addImports(writer, models, prismaClientImport, outboxSync);
44
44
  addVersionDeclaration(writer);
45
- (0, PrismaIDBClient_1.addClientClass)(writer, models, outboxSync, outboxModelName, versionMetaModelName, include, exclude);
45
+ (0, PrismaIDBClient_1.addClientClass)(writer, models, outboxSync, outboxModelName, versionMetaModelName, include, exclude, indexes);
46
46
  (0, BaseIDBModelClass_1.addBaseModelClass)(writer, outboxSync);
47
47
  models.forEach((model) => {
48
- (0, IDBModelClass_1.addIDBModelClass)(writer, model, models, outboxSync, outboxModelName, versionMetaModelName);
48
+ (0, IDBModelClass_1.addIDBModelClass)(writer, model, models, outboxSync, outboxModelName, versionMetaModelName, indexes);
49
49
  });
50
50
  if (outboxSync) {
51
51
  (0, OutboxEventIDBClass_1.addOutboxEventIDBClass)(writer, outboxModelName);
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/prisma-idb-client/create.ts"],"names":[],"mappings":";;AAoDA,8DAgCC;AAjFD,mEAAgE;AAChE,kEAAkE;AAClE,+DAA2D;AAC3D,uEAAuE;AACvE,uEAAuE;AAEvE,SAAS,UAAU,CACjB,MAAuB,EACvB,MAAwB,EACxB,kBAA0B,EAC1B,aAAsB,KAAK;IAE3B,MAAM;SACH,SAAS,CAAC,wDAAwD,CAAC;SACnE,SAAS,CAAC,+BAA+B,CAAC;SAC1C,SAAS,CAAC,uEAAuE,CAAC;SAClF,SAAS,CAAC,gCAAgC,kBAAkB,IAAI,CAAC;SACjE,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAEzD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM;aACH,SAAS,CACR,6HAA6H,CAC9H;aACA,SAAS,CAAC,8DAA8D,CAAC;aACzE,SAAS,CAAC,sFAAsF,CAAC;aACjG,SAAS,CAAC,4EAA4E,CAAC;aACvF,SAAS,CAAC,iEAAiE,CAAC,CAAC;IAClF,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,SAAS,CAAC,yDAAyD,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,eAAe,GAAG,MAAM;SAC3B,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;SAChC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;IAEjH,IAAI,eAAe;QAAE,MAAM,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAE1F,MAAM,eAAe,GAAG,MAAM;SAC3B,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;SAChC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;IAEjH,IAAI,eAAe;QAAE,MAAM,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAuB;IACpD,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,yBAAyB,CACvC,MAAuB,EACvB,OAQC;IAED,MAAM,EACJ,MAAM,EACN,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,OAAO,GAAG,CAAC,GAAG,CAAC,EACf,OAAO,GAAG,EAAE,GACb,GAAG,OAAO,CAAC;IACZ,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAC3D,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAA,gCAAc,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpG,IAAA,qCAAiB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAA,gCAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IACH,IAAI,UAAU,EAAE,CAAC;QACf,IAAA,4CAAsB,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAChD,IAAA,4CAAsB,EAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/prisma-idb-client/create.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createScopedSchemaFile = createScopedSchemaFile;
4
4
  function createScopedSchemaFile(writer, options) {
5
- const { filteredModels, enums } = options;
5
+ const { filteredModels, enums, indexes = [] } = options;
6
6
  writerDatasourceAndClientGenerator(writer);
7
- writeModels(writer, filteredModels);
7
+ writeModels(writer, filteredModels, indexes);
8
8
  writeEnums(writer, enums);
9
9
  }
10
10
  function writerDatasourceAndClientGenerator(writer) {
@@ -25,14 +25,14 @@ function writerDatasourceAndClientGenerator(writer) {
25
25
  .writeLine(`}`)
26
26
  .blankLine();
27
27
  }
28
- function writeModels(writer, filteredModels) {
28
+ function writeModels(writer, filteredModels, indexes) {
29
29
  for (const model of filteredModels) {
30
30
  writer
31
31
  .writeLine(`model ${model.name} {`)
32
32
  .indent(() => {
33
33
  const filteredFields = getFilteredFields(model, filteredModels);
34
34
  writeFields(writer, filteredFields);
35
- writeUniqueFieldsAndIndexes(writer, model);
35
+ writeUniqueFieldsAndIndexes(writer, model, indexes);
36
36
  })
37
37
  .writeLine(`}`)
38
38
  .blankLine();
@@ -104,7 +104,7 @@ function computeRelationAttribute(field) {
104
104
  relationAttribute += `, fields: [${field.relationFromFields?.join(", ")}], references: [${field.relationToFields?.join(", ")}])`;
105
105
  return relationAttribute;
106
106
  }
107
- function writeUniqueFieldsAndIndexes(writer, model) {
107
+ function writeUniqueFieldsAndIndexes(writer, model, indexes) {
108
108
  if (model.primaryKey) {
109
109
  const pkFields = model.primaryKey.fields;
110
110
  writer.writeLine(`@@id([${pkFields.join(", ")}])`);
@@ -114,5 +114,10 @@ function writeUniqueFieldsAndIndexes(writer, model) {
114
114
  writer.writeLine(`@@unique([${uniqueFieldSet.join(", ")}])`);
115
115
  }
116
116
  }
117
+ const modelIndexes = indexes.filter((idx) => idx.model === model.name && idx.type === "normal");
118
+ for (const idx of modelIndexes) {
119
+ const fieldNames = idx.fields.map((f) => f.name);
120
+ writer.writeLine(`@@index([${fieldNames.join(", ")}])`);
121
+ }
117
122
  }
118
123
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/scoped-schema/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/scoped-schema/create.ts"],"names":[],"mappings":"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"}
package/dist/generator.js CHANGED
@@ -28,7 +28,7 @@ const path_1 = __importDefault(require("path"));
28
28
  },
29
29
  onGenerate: async (options) => {
30
30
  const outputPath = options.generator.output?.value;
31
- const { prismaClientImport, outboxSync, outboxModelName, versionMetaModelName, filteredModels, exportEnums, rootModel, } = (0, parseGeneratorConfig_1.parseGeneratorConfig)(options);
31
+ const { prismaClientImport, outboxSync, outboxModelName, versionMetaModelName, filteredModels, indexes, exportEnums, rootModel, } = (0, parseGeneratorConfig_1.parseGeneratorConfig)(options);
32
32
  let scopedPrismaImport = prismaClientImport;
33
33
  if (outboxSync) {
34
34
  if (!scopedPrismaImport) {
@@ -44,7 +44,7 @@ const path_1 = __importDefault(require("path"));
44
44
  (0, create_5.createApplyPullFile)(writer, { models: filteredModels, versionMetaModelName });
45
45
  });
46
46
  await (0, fileWriting_1.writePrismaSchemaFile)("client/scoped-schema.prisma", outputPath, (writer) => {
47
- (0, create_8.createScopedSchemaFile)(writer, { filteredModels, enums: options.dmmf.datamodel.enums });
47
+ (0, create_8.createScopedSchemaFile)(writer, { filteredModels, enums: options.dmmf.datamodel.enums, indexes });
48
48
  });
49
49
  await (0, fileWriting_1.writeCodeFile)("server/index.ts", outputPath, (writer) => {
50
50
  (0, create_server_index_1.createServerIndexFile)(writer);
@@ -62,6 +62,7 @@ const path_1 = __importDefault(require("path"));
62
62
  outboxSync,
63
63
  outboxModelName,
64
64
  versionMetaModelName,
65
+ indexes,
65
66
  });
66
67
  });
67
68
  await (0, fileWriting_1.writeCodeFile)("client/idb-interface.ts", outputPath, (writer) => {
@@ -71,6 +72,7 @@ const path_1 = __importDefault(require("path"));
71
72
  outboxSync,
72
73
  outboxModelName,
73
74
  versionMetaModelName,
75
+ indexes,
74
76
  });
75
77
  });
76
78
  await (0, fileWriting_1.writeCodeFile)("client/idb-utils.ts", outputPath, (writer) => {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parseGeneratorConfig = parseGeneratorConfig;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const getFilteredModels_1 = require("./getFilteredModels");
9
+ const utils_1 = require("./utils");
9
10
  function parseGeneratorConfig(options) {
10
11
  const { models, enums } = options.dmmf.datamodel;
11
12
  const outputPath = options.generator.output?.value;
@@ -90,6 +91,52 @@ function parseGeneratorConfig(options) {
90
91
  return !exclude.some((pattern) => matchPattern(modelName, pattern));
91
92
  };
92
93
  const filteredModels = (0, getFilteredModels_1.getProjectedFilteredModels)(models.filter((model) => isIncluded(model.name)));
94
+ const datamodelIndexes = options.dmmf.datamodel.indexes ?? [];
95
+ const excludedByKeyType = new Set();
96
+ for (const model of filteredModels) {
97
+ const unsupported = (0, utils_1.getUnsupportedKeyFields)(model);
98
+ if (unsupported.length > 0) {
99
+ excludedByKeyType.add(model.name);
100
+ for (const { fieldName, fieldType, context } of unsupported) {
101
+ console.warn(`@prisma-idb/idb-client-generator: Model "${model.name}" has field "${fieldName}" (${fieldType}) in ${context} ` +
102
+ `which is not a valid IndexedDB key type. Valid IDB key types are: number (Int/Float), string (String), Date (DateTime), BufferSource (Bytes). ` +
103
+ `This model will be excluded from the generated client.`);
104
+ }
105
+ }
106
+ }
107
+ if (excludedByKeyType.size > 0) {
108
+ let changed = true;
109
+ while (changed) {
110
+ changed = false;
111
+ for (const model of filteredModels) {
112
+ if (excludedByKeyType.has(model.name))
113
+ continue;
114
+ const requiredRelationsToExcluded = model.fields.filter((f) => f.kind === "object" && !f.isList && f.isRequired && excludedByKeyType.has(f.type));
115
+ if (requiredRelationsToExcluded.length > 0) {
116
+ excludedByKeyType.add(model.name);
117
+ changed = true;
118
+ const parentNames = requiredRelationsToExcluded.map((f) => `"${f.type}"`).join(", ");
119
+ console.warn(`@prisma-idb/idb-client-generator: Model "${model.name}" has a required relation to excluded model(s) ${parentNames}. ` +
120
+ `It will also be excluded from the generated client.`);
121
+ }
122
+ }
123
+ }
124
+ }
125
+ const validModels = excludedByKeyType.size > 0
126
+ ? (0, getFilteredModels_1.getProjectedFilteredModels)(filteredModels.filter((model) => !excludedByKeyType.has(model.name)))
127
+ : filteredModels;
128
+ if (outboxSync && rootModel) {
129
+ if (!validModels.some((m) => m.name === rootModel.name)) {
130
+ throw new Error(`@prisma-idb/idb-client-generator: Root model "${rootModel.name}" is not present in the final set of valid models. ` +
131
+ `It may have been excluded by include/exclude patterns or due to unsupported IDB key types. ` +
132
+ `The ownership DAG cannot be constructed without it.`);
133
+ }
134
+ }
135
+ const validModelNames = new Set(validModels.map((m) => m.name));
136
+ const validIndexes = datamodelIndexes.filter((idx) => validModelNames.has(idx.model));
137
+ for (const model of validModels) {
138
+ (0, utils_1.getNonUniqueIndexes)(model, validIndexes, true);
139
+ }
93
140
  return {
94
141
  prismaClientImport,
95
142
  outboxSync,
@@ -98,7 +145,8 @@ function parseGeneratorConfig(options) {
98
145
  exportEnums,
99
146
  include,
100
147
  exclude,
101
- filteredModels,
148
+ filteredModels: validModels,
149
+ indexes: validIndexes,
102
150
  rootModel,
103
151
  };
104
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parseGeneratorConfig.js","sourceRoot":"","sources":["../../src/helpers/parseGeneratorConfig.ts"],"names":[],"mappings":";;;;;AAoBA,oDA0IC;AA9JD,gDAAwB;AAExB,2DAAiE;AAkBjE,SAAgB,oBAAoB,CAAC,OAAyB;IAC5D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAe,CAAC;IAC7D,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;IAGjD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAClD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,eAAe,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,kBAAkB,CAC7F,CAAC;IAEF,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,yIAAyI;YACvI,sCAAsC;YACtC,wCAAwC;YACxC,sBAAsB;YACtB,gCAAgC;YAChC,yCAAyC;YACzC,OAAO;YACP,gCAAgC;YAChC,sBAAsB;YACtB,mCAAmC;YACnC,yCAAyC;YACzC,GAAG,CACN,CAAC;IACJ,CAAC;IAED,IAAI,kBAA0B,CAAC;IAC/B,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;IAEtD,IAAI,CAAC;QAEH,MAAM,OAAO,GAAG,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAGlG,kBAAkB,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,UAAU,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAChH,CAAC;IAAC,MAAM,CAAC;QAEP,kBAAkB;YAChB,eAAe,CAAC,QAAQ,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACzG,CAAC;IAGD,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,KAAK,MAAM,CAAC;IACzD,MAAM,eAAe,GAAI,eAAe,CAAC,eAA0B,IAAI,aAAa,CAAC;IACrF,MAAM,oBAAoB,GAAI,eAAe,CAAC,oBAA+B,IAAI,aAAa,CAAC;IAE/F,MAAM,eAAe,GAAG,eAAe,CAAC,SAA+B,CAAC;IACxE,IAAI,UAAU,IAAI,CAAC,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,uHAAuH,CACxH,CAAC;IACJ,CAAC;IAGD,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,IAAI,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,2DAA2D,eAAe,wCAAwC,CACnH,CAAC;IACJ,CAAC;IAGD,IAAI,UAAU,EAAE,CAAC;QACf,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAGD,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,KAAK,MAAM,CAAC;IAG3D,IAAI,OAAO,GAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,OAAO,GAAa,EAAE,CAAC;IAE3B,IAAI,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,IAAI,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;IACpC,CAAC;IAGD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,OAAe,EAAW,EAAE;QAC9D,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC;IAIF,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CACb,iKAAiK,CAClK,CAAC;IACJ,CAAC;IAGD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAGD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,2FAA2F;YACzF,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,EAAE;QACvC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,8CAA0B,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpG,OAAO;QACL,kBAAkB;QAClB,UAAU;QACV,eAAe;QACf,oBAAoB;QACpB,WAAW;QACX,OAAO;QACP,OAAO;QACP,cAAc;QACd,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA6B,EAAE,KAAoC;IAElG,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAClE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,qGAAqG;YACnG,uCAAuC;YACvC,qBAAqB;YACrB,yDAAyD;YACzD,0BAA0B;YAC1B,wBAAwB;YACxB,mCAAmC;YACnC,0BAA0B;YAC1B,2CAA2C;YAC3C,0BAA0B;YAC1B,OAAO;YACP,0BAA0B;YAC1B,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,GAAG,CACN,CAAC;IACJ,CAAC;IAGD,MAAM,kBAAkB,GAAG,CAAC,CAAC;IAC7B,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,uEAAuE,kBAAkB,oBAAoB,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAC7I,CAAC;IACJ,CAAC;IAGD,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,IAAI;gBACP,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,8EAA8E,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC/G,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBACxF,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;gBAC7F,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;gBACjG,CAAC;gBACD,IACE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oBACjC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;oBAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;oBACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAC3B,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,gFAAgF,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CACrL,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CACb,iFAAiF,KAAK,CAAC,IAAI,GAAG,CAC/F,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;gBAC3F,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;gBACzG,CAAC;gBACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;gBACtG,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CACb,iFAAiF,KAAK,CAAC,IAAI,GAAG,CAC/F,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;gBAC7F,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;gBAC3G,CAAC;gBACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;gBACxG,CAAC;gBACD,MAAM;YAER,KAAK,WAAW;gBACd,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CACb,8FAA8F,KAAK,CAAC,IAAI,GAAG,CAC5G,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;gBAC/F,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;gBAC7G,CAAC;gBACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;gBAC1G,CAAC;gBACD,MAAM;YAER,KAAK,UAAU;gBACb,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CACb,oFAAoF,KAAK,CAAC,IAAI,GAAG,CAClG,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;gBAC9F,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;gBAC5G,CAAC;gBACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;gBACzG,CAAC;gBACD,MAAM;YAER,KAAK,eAAe;gBAClB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CACb,yFAAyF,KAAK,CAAC,IAAI,GAAG,CACvG,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;gBACnG,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;gBAC5G,CAAC;gBACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;gBAC9G,CAAC;gBACD,MAAM;YAER;gBACE,MAAM,IAAI,KAAK,CACb,2EAA2E,KAAK,CAAC,IAAI,2FAA2F,CACjL,CAAC;QACN,CAAC;IACH,CAAC;IAGD,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;IAC5E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,0GAA0G;YACxG,uCAAuC;YACvC,0BAA0B;YAC1B,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,GAAG,CACN,CAAC;IACJ,CAAC;IAGD,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,uHAAuH,mBAAmB,CAAC,MAAM,CAAC,MAAM,GAAG,CAC5J,CAAC;IACJ,CAAC;IAGD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,SAAS,IAAI,mBAAmB,CAAC,MAAM,EAAE,CAAC;QACnD,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBAEX,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CACb,6EAA6E,SAAS,CAAC,IAAI,mDAAmD,CAC/I,CAAC;QACN,CAAC;IACH,CAAC;IAGD,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,qFAAqF,QAAQ,6CAA6C,CAC3I,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"parseGeneratorConfig.js","sourceRoot":"","sources":["../../src/helpers/parseGeneratorConfig.ts"],"names":[],"mappings":"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"}