@prisma-idb/idb-client-generator 0.36.1 → 0.37.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.
@@ -0,0 +1,205 @@
1
+ # Prisma DMMF Internals for Generator Contributors
2
+
3
+ Prisma's **DMMF** (Data Model Meta Format) is the in-memory AST that the generator receives at code-gen time. It lives under `options.dmmf` in the `generatorHandler` callback. Prisma's own docs barely cover it, so this page records everything that matters for this project.
4
+
5
+ ## Top-Level Shape
6
+
7
+ ```text
8
+ options.dmmf.datamodel
9
+ ├── models: DMMF.Model[]
10
+ ├── enums: DMMF.DatamodelEnum[]
11
+ └── indexes: DMMF.Index[] ← only @@index, NOT @unique/@@unique/@@id
12
+ ```
13
+
14
+ > **Critical**: `indexes` only contains explicit `@@index` directives. Unique constraints and primary keys live on each `Model` object, not here.
15
+
16
+ In `parseGeneratorConfig.ts` we pull all three out and thread them through every file-creator:
17
+
18
+ ```ts
19
+ const models = options.dmmf.datamodel.models;
20
+ const enums = options.dmmf.datamodel.enums;
21
+ const indexes = options.dmmf.datamodel.indexes; // filtered to valid models later
22
+ ```
23
+
24
+ ## `DMMF.Model`
25
+
26
+ Our local alias: `type Model = DMMF.Datamodel["models"][number]`
27
+
28
+ ### Properties we use
29
+
30
+ | Property | Type | Notes |
31
+ | --------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
32
+ | `model.name` | `string` | PascalCase model name, e.g. `"Post"`. Used everywhere — class names, store names, type lookups. |
33
+ | `model.fields` | `Field[]` | All fields including virtual relation fields (see `field.kind`). |
34
+ | `model.primaryKey` | `{ name?: string; fields: string[] } \| null` | Only non-null for **composite** `@@id([a, b])`. Single-field `@id` is `null` here; use `field.isId` instead. |
35
+ | `model.uniqueIndexes` | `{ name?: string; fields: string[] }[]` | Composite `@@unique([a, b])` constraints. Single `@unique` fields are on `field.isUnique`, not here. |
36
+ | `model.uniqueFields` | `string[][]` | Legacy representation of `@@unique` as a plain array-of-arrays. Only used in `scoped-schema/create.ts` to re-emit `@@unique([...])` directives. Prefer `uniqueIndexes` for IDB logic. |
37
+
38
+ ### Deriving the IDB key path
39
+
40
+ ```text
41
+ 1. model.primaryKey != null → composite @@id → key = primaryKey.fields
42
+ 2. model.fields.find(f => f.isId) → single @id → key = [idField.name]
43
+ 3. (neither) → error: no valid IDB key
44
+ ```
45
+
46
+ `getUniqueIdentifiers()` in `utils.ts` covers all of this and also adds `@unique` / `@@unique` as secondary unique indexes.
47
+
48
+ ## `DMMF.Field`
49
+
50
+ Our local alias: `type Field = Model["fields"][number]`
51
+
52
+ ### `field.kind` — the most important discriminant
53
+
54
+ | Value | Meaning |
55
+ | --------------- | ----------------------------------------------------------------------------------------------- |
56
+ | `"scalar"` | Regular data field (string, int, datetime, bytes, …). Always has a column in the DB. |
57
+ | `"object"` | A relation field. **Does not correspond to a real column.** Represents a link to another model. |
58
+ | `"enum"` | An enum value field. |
59
+ | `"unsupported"` | A type Prisma can't model (e.g. PostGIS). Skipped in generation. |
60
+
61
+ Filtering out `"object"` fields is the most common guard in the codebase because relation fields don't exist in IDB records — they're populated at query time via `include`.
62
+
63
+ ### Scalar field properties
64
+
65
+ | Property | Type | Notes |
66
+ | ----------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
67
+ | `field.name` | `string` | camelCase field name. |
68
+ | `field.type` | `string` | Prisma type: `"String"`, `"Int"`, `"Float"`, `"Boolean"`, `"DateTime"`, `"Json"`, `"BigInt"`, `"Decimal"`, `"Bytes"`, or a model/enum name. |
69
+ | `field.isRequired` | `boolean` | `false` means the field is optional (`?`). |
70
+ | `field.isList` | `boolean` | `true` for array fields (`String[]`). |
71
+ | `field.isId` | `boolean` | `true` for the single `@id` field. `false` on every field when model uses composite `@@id`. |
72
+ | `field.isUnique` | `boolean` | `true` for `@unique` fields. Does **not** cover `@@unique`; use `model.uniqueIndexes` for that. |
73
+ | `field.isUpdatedAt` | `boolean` | `@updatedAt` annotation; auto-set by Prisma on writes. |
74
+ | `field.hasDefaultValue` | `boolean` | `true` when `@default(...)` is present. |
75
+ | `field.default` | `scalar \| { name: string; args: unknown[] }` | If it's an object with `.name`, it's a function default (`uuid()`, `cuid()`, `autoincrement()`, `now()`). Otherwise it's a literal. Always guard: `typeof field.default === "object" && "name" in field.default`. |
76
+
77
+ ### Relation field properties (`field.kind === "object"`)
78
+
79
+ | Property | Type | Notes |
80
+ | -------------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------- |
81
+ | `field.relationName` | `string` | The Prisma relation name that ties both sides together. |
82
+ | `field.relationFromFields` | `string[]` | FK column names **on this model**. Non-empty only on the owning side. Empty `[]` on the back-reference side. |
83
+ | `field.relationToFields` | `string[]` | The referenced column names **on the other model** (usually its PK). Parallel array to `relationFromFields`. |
84
+ | `field.relationOnDelete` | `string \| undefined` | `"Cascade"`, `"SetNull"`, `"SetDefault"`, `"Restrict"`, `"NoAction"`. Drives delete propagation logic in `delete.ts`. |
85
+
86
+ #### Identifying the FK-owning side of a relation
87
+
88
+ ```ts
89
+ // Only the owning side has FK columns to index
90
+ if (field.kind !== "object" || !field.relationFromFields?.length) continue;
91
+ // field.relationFromFields = ["authorId"], field.relationToFields = ["id"]
92
+ ```
93
+
94
+ This is the guard in `getForeignKeyIndexes()` — if `relationFromFields` is empty, this side of the relation is a pure back-reference with no real column.
95
+
96
+ ## `DMMF.Index`
97
+
98
+ Represents an explicit `@@index([...])` directive. **Not** used for primary keys or unique constraints.
99
+
100
+ ```ts
101
+ interface Index {
102
+ model: string; // model name
103
+ type: "normal" | "unique"; // in practice we only process "normal" here
104
+ fields: { name: string }[]; // array of { name } objects (not plain strings!)
105
+ name?: string; // user-defined name, or undefined
106
+ }
107
+ ```
108
+
109
+ > **Gotcha**: `idx.fields` is an array of objects `{ name: string }`, not an array of strings. Always `.map(f => f.name)` before use.
110
+
111
+ ## `DMMF.DatamodelEnum`
112
+
113
+ ```ts
114
+ interface DatamodelEnum {
115
+ name: string; // enum type name
116
+ values: { name: string }[]; // each member
117
+ }
118
+ ```
119
+
120
+ Used in `enums/create.ts` to emit the TypeScript enum and in `validators/model-validator.ts` to generate Zod enum validators.
121
+
122
+ ## How we derive each IDB construct
123
+
124
+ ### Primary key (IDB `keyPath`)
125
+
126
+ ```text
127
+ model.primaryKey != null
128
+ → composite @@id: keyPath = ["fieldA", "fieldB"]
129
+
130
+ model.fields.find(f => f.isId)
131
+ → single @id: keyPath = ["id"]
132
+ ```
133
+
134
+ ### Unique indexes (IDB unique indexes)
135
+
136
+ - Single `@unique` → `field.isUnique === true` → `keyPath = [field.name]`
137
+ - Composite `@@unique` → `model.uniqueIndexes[n].fields` → `keyPath = [...]`
138
+
139
+ ### Non-unique indexes (IDB regular indexes)
140
+
141
+ - Explicit `@@index` → `DMMF.Index` in `options.dmmf.datamodel.indexes` where `idx.type === "normal"`
142
+ - Auto-generated FK indexes → fields where `field.kind === "object" && field.relationFromFields.length > 0`
143
+
144
+ Both paths go through `utils.ts` (`getNonUniqueIndexes`, `getForeignKeyIndexes`) and deduplicate against already-indexed key paths.
145
+
146
+ ### Valid IDB key types
147
+
148
+ Not all Prisma types can be used as IndexedDB keys (`IDBValidKey = number | string | Date | BufferSource | IDBValidKey[]`):
149
+
150
+ | Prisma type | IDB-compatible |
151
+ | -------------------------------------- | ---------------------- |
152
+ | `Int`, `Float` | ✅ number |
153
+ | `String` | ✅ string |
154
+ | `DateTime` | ✅ Date |
155
+ | `Bytes` | ✅ BufferSource |
156
+ | `Boolean`, `Json`, `BigInt`, `Decimal` | ❌ — cannot be IDB key |
157
+
158
+ `validIDBKeyPrismaTypes` in `utils.ts` is the single source of truth. Any index that includes an incompatible type is silently skipped (with an optional log warning).
159
+
160
+ ## Prisma type → TypeScript type mapping
161
+
162
+ Used when generating type signatures for `keyPath` tuples and validator types:
163
+
164
+ ```ts
165
+ const prismaToPrimitiveTypesMap = {
166
+ Int: "number",
167
+ Float: "number",
168
+ String: "string",
169
+ Boolean: "boolean",
170
+ DateTime: "Date",
171
+ Json: "Prisma.InputJsonValue",
172
+ BigInt: "bigint",
173
+ Decimal: "Prisma.Decimal",
174
+ Bytes: "Uint8Array",
175
+ };
176
+ ```
177
+
178
+ ## Common field filter patterns in the generator
179
+
180
+ Most file creators iterate `model.fields` and filter down:
181
+
182
+ ```ts
183
+ // Only real storable fields (no relations)
184
+ model.fields.filter((f) => f.kind !== "object");
185
+
186
+ // Only scalar, non-list fields (for simple key/value writes)
187
+ model.fields.filter((f) => f.kind === "scalar" && !f.isList);
188
+
189
+ // Fields the user must supply (no default, required)
190
+ model.fields.filter((f) => f.isRequired && !f.hasDefaultValue && f.kind !== "object");
191
+
192
+ // Fields that need default-filling at create time
193
+ model.fields.filter((f) => f.hasDefaultValue);
194
+
195
+ // Optional fields (for partial input types)
196
+ model.fields.filter((f) => !f.isRequired);
197
+ ```
198
+
199
+ ## Sync-specific DMMF usage
200
+
201
+ When `outboxSync` is enabled, `parseGeneratorConfig.ts` enforces extra invariants by reading DMMF:
202
+
203
+ - Every syncable model's `@id` field **must** have a function default of `uuid` or `cuid` (`field.default.name`). Auto-increment and composite `@@id` are forbidden.
204
+ - The `rootModel` must exist in `models` and have a valid `@id`.
205
+ - The Changelog and Version meta models (if provided in config) must also exist in the DMMF and have the expected shape.
package/README.md CHANGED
@@ -1,158 +1,151 @@
1
- # Prisma IndexedDB Client Generator
1
+ # Prisma IDB
2
2
 
3
- This library is a **Prisma generator** that creates a client with a similar syntax and behavior to the Prisma Client but is designed to operate with **IndexedDB** for local storage. It allows developers to interact with IndexedDB using a familiar Prisma-like API.
3
+ > You already write Prisma on the server. Now write it in the browser.
4
4
 
5
- **[📖 Documentation](https://prisma-idb.dev/) [🚀 Live Demo](https://kanban.prisma-idb.dev/) [📦 npm Package](https://www.npmjs.com/package/@prisma-idb/idb-client-generator) [🏗️ Main Repository](https://github.com/prisma-idb/idb-client-generator)**
5
+ `@prisma-idb/idb-client-generator` is the npm package that generates a type-safe IndexedDB client with the Prisma-style API you already know, plus an optional sync engine for offline-first apps.
6
6
 
7
- ## ⚠️ Warning
7
+ **[Documentation](https://prisma-idb.dev/) · [Live Demo](https://kanban.prisma-idb.dev/) · [Repository](https://github.com/prisma-idb/idb-client-generator)**
8
8
 
9
- This library is not fully ready yet. Check [issue #52](https://github.com/prisma-idb/idb-client-generator/issues/52) for the current list of implemented features.
9
+ ---
10
10
 
11
- ## Features
11
+ ## What this package does
12
12
 
13
- - Prisma-like syntax and API for IndexedDB.
14
- - Supports CRUD operations with structured data.
15
- - Integrates seamlessly with Prisma workflows.
16
- - Generates a client tailored to your Prisma schema.
13
+ This package is a Prisma generator. You add it to your Prisma schema, run `prisma generate`, and it produces a client in your app that talks to IndexedDB with familiar Prisma-style queries.
17
14
 
18
- ## Installation
15
+ ## The difference
19
16
 
20
- ```bash
21
- npm install @prisma-idb/idb-client-generator
17
+ Even with the [`idb`](https://github.com/jakearchibald/idb) library, querying across relations means manual index lookups, joins in application code, and no generated types:
18
+
19
+ ```typescript
20
+ const db = await openDB("MyDB", 1);
21
+
22
+ const posts = await db.getAllFromIndex("posts", "byAuthor", userId);
23
+
24
+ const result = [];
25
+ for (const post of posts) {
26
+ if (!post.published) continue;
27
+ const comments = await db.getAllFromIndex("comments", "byPost", post.id);
28
+ result.push({ ...post, comments });
29
+ }
30
+ result.sort((a, b) => b.createdAt - a.createdAt);
22
31
  ```
23
32
 
24
- ## Usage
33
+ Prisma IDB:
25
34
 
26
- ### 1. Add to Prisma Schema
35
+ ```typescript
36
+ const posts = await idb.post.findMany({
37
+ where: { authorId: userId, published: true },
38
+ include: {
39
+ comments: { orderBy: { createdAt: "desc" } },
40
+ },
41
+ orderBy: { createdAt: "desc" },
42
+ });
43
+ ```
27
44
 
28
- Update your `prisma.schema` file to include the generator:
45
+ Same API shape as Prisma Client. Fully typed. Local-first.
29
46
 
30
- ```prisma
31
- datasource db {
32
- provider = "postgresql"
33
- url = env("DATABASE_URL")
34
- }
47
+ ## And when you need sync
35
48
 
36
- generator client {
37
- provider = "prisma-client-js"
38
- }
49
+ Most IndexedDB libraries stop at CRUD. Prisma IDB can also generate a bidirectional sync layer that handles the harder parts:
39
50
 
51
+ ```prisma
40
52
  generator prismaIDB {
41
- provider = "idb-client-generator"
42
- output = "./prisma-idb"
43
- }
44
-
45
- model User {
46
- id Int @id @default(autoincrement())
47
- name String
48
- email String @unique
53
+ provider = "idb-client-generator"
54
+ output = "./prisma-idb"
55
+ outboxSync = true
56
+ rootModel = "User"
49
57
  }
50
58
  ```
51
59
 
52
- ### 2. Generate the Client
60
+ - Outbox pattern for reliable local mutations and retries
61
+ - Ownership DAG so sync authorization is structural
62
+ - Conflict handling through server-authoritative changelog materialization
63
+
64
+ ## Quick Start
53
65
 
54
- Run the Prisma client generation command:
66
+ ### Install
55
67
 
56
68
  ```bash
57
- npx prisma generate
69
+ pnpm add idb
70
+ pnpm add -D @prisma-idb/idb-client-generator
58
71
  ```
59
72
 
60
- This will generate a client in your project.
61
-
62
- ### 3. Use the Client
63
-
64
- Import the generated client and use it in your code:
73
+ You will also need your normal Prisma setup, including `prisma` and `@prisma/client`.
65
74
 
66
- ```typescript
67
- import { PrismaIDBClient } from "./outputPath/prisma-idb-client";
75
+ ### Configure
68
76
 
69
- async function main() {
70
- const idbClient = await PrismaIDBClient.createClient();
77
+ Add the generator to your `schema.prisma`:
71
78
 
72
- await idbClient.user.create({
73
- data: { name: "Alice", email: "alice@example.com" },
74
- });
79
+ ```prisma
80
+ generator prismaIDB {
81
+ provider = "idb-client-generator"
82
+ output = "./prisma-idb"
83
+ }
75
84
 
76
- const users = await idbClient.user.findMany();
77
- console.log(users);
85
+ model Todo {
86
+ id String @id @default(cuid())
87
+ title String
88
+ done Boolean @default(false)
78
89
  }
79
90
  ```
80
91
 
81
- ## API
92
+ If you enable sync, use a single client-generated ID field such as `cuid()` or `uuid()` on syncable models.
82
93
 
83
- The API mimics Prisma Client's API for ease of use:
94
+ ### Generate
84
95
 
85
- ### `create`
86
-
87
- Insert a new record:
88
-
89
- ```javascript
90
- idbClient.modelName.create({
91
- data: {
92
- field: value,
93
- },
94
- });
96
+ ```bash
97
+ pnpm exec prisma generate
95
98
  ```
96
99
 
97
- ### `findMany`
100
+ ### Use the generated client
98
101
 
99
- Retrieve all records:
100
-
101
- ```javascript
102
- idbClient.modelName.findMany();
103
- ```
104
-
105
- ### `findUnique`
102
+ ```typescript
103
+ import { PrismaIDBClient } from "./prisma-idb";
106
104
 
107
- Retrieve a single record by unique key:
105
+ const idb = await PrismaIDBClient.createClient();
108
106
 
109
- ```javascript
110
- idbClient.modelName.findUnique({
111
- where: { key: value },
107
+ await idb.todo.create({
108
+ data: { title: "Ship it", done: false },
112
109
  });
113
- ```
114
-
115
- ### `update`
116
110
 
117
- Update a record:
111
+ const todos = await idb.todo.findMany({
112
+ where: { done: false },
113
+ });
118
114
 
119
- ```javascript
120
- idbClient.modelName.update({
121
- where: { key: value },
122
- data: { key: newValue },
115
+ await idb.todo.update({
116
+ where: { id: todoId },
117
+ data: { done: true },
123
118
  });
124
119
  ```
125
120
 
126
- ### `delete`
127
-
128
- Delete a record:
121
+ ## Features
129
122
 
130
- ```javascript
131
- idbClient.modelName.delete({
132
- where: { key: value },
133
- });
134
- ```
123
+ - Prisma-compatible API for IndexedDB CRUD and queries
124
+ - Full type safety generated from your Prisma schema
125
+ - `include` and `select` support for relations
126
+ - Offline-first operation with no network dependency for local reads and writes
127
+ - Optional sync for bidirectional server reconciliation
128
+ - Client-generated IDs for local creates without round-trips
135
129
 
136
130
  ## Resources
137
131
 
138
- - **[📖 Full Documentation](https://prisma-idb.dev/)** - Complete API reference, sync guides, and schema requirements
139
- - **[🚀 Kanban Example](https://kanban.prisma-idb.dev/)** - Live demonstration of the sync engine
140
- - **[💻 Example Source Code](../../apps/pidb-kanban-example)** - Full working example with SvelteKit and sync workers
141
- - **[🏗️ Main Repository](https://github.com/prisma-idb/idb-client-generator)** - Source code and issue tracking
142
- - **[📦 npm Package](https://www.npmjs.com/package/@prisma-idb/idb-client-generator)** - Install from npm registry
132
+ - [Documentation](https://prisma-idb.dev/)
133
+ - [Live Kanban Demo](https://kanban.prisma-idb.dev/)
134
+ - [Example App Source](https://github.com/prisma-idb/idb-client-generator/tree/main/apps/pidb-kanban-example)
135
+ - [Issue Tracker](https://github.com/prisma-idb/idb-client-generator/issues)
143
136
 
144
137
  ## Contributing
145
138
 
146
- We welcome contributions! Please see our CONTRIBUTING.md for guidelines on how to contribute to this project.
139
+ Contributions welcome. See [CONTRIBUTING.md](https://github.com/prisma-idb/idb-client-generator/blob/main/.github/CONTRIBUTING.md).
147
140
 
148
141
  ## Security
149
142
 
150
- If you discover a security vulnerability, please follow our SECURITY.md guidelines on reporting issues responsibly.
143
+ See [SECURITY.md](https://github.com/prisma-idb/idb-client-generator/blob/main/.github/SECURITY.md) for reporting vulnerabilities.
151
144
 
152
145
  ## License
153
146
 
154
- This project is licensed under the MIT License. See the LICENSE file for more details.
147
+ MIT. See [LICENSE](https://github.com/prisma-idb/idb-client-generator/blob/main/LICENSE).
155
148
 
156
- ## Acknowledgements
149
+ ## Disclaimer
157
150
 
158
- Special thanks to the open-source community for their contributions to the tools and libraries used in this project.
151
+ Prisma is a trademark of Prisma. Prisma IDB is an independent open-source project, not affiliated with or endorsed by Prisma.
@@ -44,7 +44,8 @@ function createIDBInterfaceFile(writer, options) {
44
44
  function createFieldIndexes(writer, model, datamodelIndexes) {
45
45
  const nonKeyUniqueIdentifiers = (0, utils_1.getUniqueIdentifiers)(model).slice(1);
46
46
  const nonUniqueIndexes = (0, utils_1.getNonUniqueIndexes)(model, datamodelIndexes);
47
- if (nonKeyUniqueIdentifiers.length === 0 && nonUniqueIndexes.length === 0)
47
+ const fkIndexes = (0, utils_1.getForeignKeyIndexes)(model, datamodelIndexes);
48
+ if (nonKeyUniqueIdentifiers.length === 0 && nonUniqueIndexes.length === 0 && fkIndexes.length === 0)
48
49
  return;
49
50
  writer.writeLine("indexes: ").block(() => {
50
51
  nonKeyUniqueIdentifiers.forEach(({ name, keyPathType }) => {
@@ -53,6 +54,9 @@ function createFieldIndexes(writer, model, datamodelIndexes) {
53
54
  nonUniqueIndexes.forEach(({ name, keyPathType }) => {
54
55
  writer.writeLine(`${name}Index: ${keyPathType}`);
55
56
  });
57
+ fkIndexes.forEach(({ name, keyPathType }) => {
58
+ writer.writeLine(`${name}Index: ${keyPathType}`);
59
+ });
56
60
  });
57
61
  }
58
62
  function addOutboxEventTypeDefinition(writer) {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/idb-interface/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/fileCreators/idb-interface/create.ts"],"names":[],"mappings":"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"}
@@ -482,13 +482,15 @@ function addCreateSyncWorkerMethod(writer) {
482
482
  function addObjectStoreInitialization(model, writer, indexes = []) {
483
483
  const nonKeyUniqueIdentifiers = (0, utils_1.getUniqueIdentifiers)(model).slice(1);
484
484
  const nonUniqueIndexes = (0, utils_1.getNonUniqueIndexes)(model, indexes);
485
+ const fkIndexes = (0, utils_1.getForeignKeyIndexes)(model, indexes);
486
+ const allNonUniqueIndexes = [...nonUniqueIndexes, ...fkIndexes];
485
487
  const keyPath = (0, utils_1.getUniqueIdentifiers)(model)[0].keyPath;
486
- const hasAnyIndexes = nonKeyUniqueIdentifiers.length > 0 || nonUniqueIndexes.length > 0;
488
+ const hasAnyIndexes = nonKeyUniqueIdentifiers.length > 0 || allNonUniqueIndexes.length > 0;
487
489
  let declarationLine = hasAnyIndexes ? `const ${model.name}Store = ` : ``;
488
490
  declarationLine += `db.createObjectStore('${model.name}', { keyPath: ${keyPath} });`;
489
491
  writer.writeLine(declarationLine);
490
492
  nonKeyUniqueIdentifiers.forEach(({ name, keyPath }) => writer.writeLine(`${model.name}Store.createIndex("${name}Index", ${keyPath}, { unique: true });`));
491
- nonUniqueIndexes.forEach(({ name, keyPath }) => writer.writeLine(`${model.name}Store.createIndex("${name}Index", ${keyPath}, { unique: false });`));
493
+ allNonUniqueIndexes.forEach(({ name, keyPath }) => writer.writeLine(`${model.name}Store.createIndex("${name}Index", ${keyPath}, { unique: false });`));
492
494
  }
493
495
  function addOutboxObjectStoreInitialization(writer, outboxModelName) {
494
496
  writer.writeLine(`db.createObjectStore('${outboxModelName}', { keyPath: ['id'] });`);
@@ -1 +1 @@
1
- {"version":3,"file":"PrismaIDBClient.js","sourceRoot":"","sources":["../../../../src/fileCreators/prisma-idb-client/classes/PrismaIDBClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrismaIDBClient.js","sourceRoot":"","sources":["../../../../src/fileCreators/prisma-idb-client/classes/PrismaIDBClient.ts"],"names":[],"mappings":"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"}
@@ -3,24 +3,59 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addGetRecords = addGetRecords;
4
4
  const utils_1 = require("../../../../../helpers/utils");
5
5
  function addGetRecords(writer, model, datamodelIndexes) {
6
+ const primaryIdentifier = (0, utils_1.getUniqueIdentifiers)(model)[0];
7
+ const primaryKeyFields = JSON.parse(primaryIdentifier.keyPath);
8
+ const isCompositePrimaryKey = primaryKeyFields.length > 1;
6
9
  const nonUniqueIndexes = (0, utils_1.getNonUniqueIndexes)(model, datamodelIndexes);
10
+ const nonPrimaryUniqueIndexes = (0, utils_1.getUniqueIdentifiers)(model).slice(1);
11
+ const fkIndexes = (0, utils_1.getForeignKeyIndexes)(model, datamodelIndexes);
12
+ const allIndexes = [...nonUniqueIndexes, ...nonPrimaryUniqueIndexes, ...fkIndexes];
7
13
  writer
8
14
  .writeLine(`private async _getRecords(`)
9
15
  .writeLine(`tx: IDBUtils.TransactionType,`)
10
16
  .writeLine(`where?: Prisma.Args<Prisma.${model.name}Delegate, 'findFirstOrThrow'>['where'],`)
11
17
  .writeLine(`): Promise<Prisma.Result<Prisma.${model.name}Delegate, object, 'findFirstOrThrow'>[]>`)
12
18
  .block(() => {
13
- if (nonUniqueIndexes.length === 0) {
19
+ if (allIndexes.length === 0 && !isCompositePrimaryKey) {
14
20
  writer.writeLine(`return tx.objectStore("${model.name}").getAll();`);
15
21
  return;
16
22
  }
17
23
  writer.writeLine(`if (!where) return tx.objectStore("${model.name}").getAll();`);
18
- const indexesWithFields = nonUniqueIndexes.map((idx) => ({
24
+ const indexesWithFields = allIndexes.map((idx) => ({
19
25
  ...idx,
20
26
  fieldNames: JSON.parse(idx.keyPath),
21
27
  }));
22
28
  const sortedIndexes = [...indexesWithFields].sort((a, b) => b.fieldNames.length - a.fieldNames.length);
23
- const allFieldNames = new Set();
29
+ const modelFieldsByName = new Map(model.fields.map((field) => [field.name, field]));
30
+ const prefixMatchGroups = new Map();
31
+ for (const idx of sortedIndexes) {
32
+ const fields = idx.fieldNames;
33
+ if (fields.length < 2)
34
+ continue;
35
+ for (let prefixLen = fields.length - 1; prefixLen >= 1; prefixLen--) {
36
+ const trailingFields = fields.slice(prefixLen);
37
+ if (trailingFields.some((fieldName) => !modelFieldsByName.get(fieldName)?.isRequired))
38
+ continue;
39
+ const prefixFields = fields.slice(0, prefixLen);
40
+ const prefixKey = JSON.stringify(prefixFields);
41
+ const existingGroup = prefixMatchGroups.get(prefixKey);
42
+ if (existingGroup) {
43
+ existingGroup.candidates.push(idx);
44
+ continue;
45
+ }
46
+ prefixMatchGroups.set(prefixKey, {
47
+ prefixFields,
48
+ candidates: [idx],
49
+ });
50
+ }
51
+ }
52
+ const sortedPrefixMatchGroups = [...prefixMatchGroups.values()].sort((a, b) => {
53
+ if (b.prefixFields.length !== a.prefixFields.length) {
54
+ return b.prefixFields.length - a.prefixFields.length;
55
+ }
56
+ return (b.candidates[0]?.fieldNames.length ?? 0) - (a.candidates[0]?.fieldNames.length ?? 0);
57
+ });
58
+ const allFieldNames = new Set(isCompositePrimaryKey ? primaryKeyFields : []);
24
59
  for (const idx of sortedIndexes) {
25
60
  for (const f of idx.fieldNames)
26
61
  allFieldNames.add(f);
@@ -36,6 +71,14 @@ function addGetRecords(writer, model, datamodelIndexes) {
36
71
  }
37
72
  }
38
73
  writer.blankLine();
74
+ if (isCompositePrimaryKey) {
75
+ const pkCondition = primaryKeyFields.map((f) => `${f}Eq !== undefined`).join(" && ");
76
+ const pkKeyArray = primaryKeyFields.map((f) => `${f}Eq`).join(", ");
77
+ writer.writeLine(`if (${pkCondition})`).block(() => {
78
+ writer.writeLine(`return tx.objectStore("${model.name}").getAll(IDBUtils.IDBKeyRange.only([${pkKeyArray}]));`);
79
+ });
80
+ writer.blankLine();
81
+ }
39
82
  for (const idx of sortedIndexes) {
40
83
  const fields = idx.fieldNames;
41
84
  const condition = fields.map((f) => `${f}Eq !== undefined`).join(" && ");
@@ -45,19 +88,32 @@ function addGetRecords(writer, model, datamodelIndexes) {
45
88
  });
46
89
  }
47
90
  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")` +
91
+ for (const prefixGroup of sortedPrefixMatchGroups) {
92
+ const condition = prefixGroup.prefixFields.map((f) => `${f}Eq !== undefined`).join(" && ");
93
+ const lowerArray = prefixGroup.prefixFields.map((f) => `${f}Eq`).join(", ");
94
+ writer.writeLine(`if (${condition})`).block(() => {
95
+ if (prefixGroup.candidates.length === 1) {
96
+ const [candidate] = prefixGroup.candidates;
97
+ writer.writeLine(`return tx.objectStore("${model.name}").index("${candidate.name}Index")` +
58
98
  `.getAll(IDBUtils.IDBKeyRange.bound([${lowerArray}], [${lowerArray}, []], false, true));`);
99
+ return;
100
+ }
101
+ writer.writeLine(`const objectStore = tx.objectStore("${model.name}");`);
102
+ writer.writeLine(`return IDBUtils.removeDuplicatesByKeyPath(`);
103
+ writer.indent(() => {
104
+ writer.writeLine(`await Promise.all([`);
105
+ writer.indent(() => {
106
+ for (const candidate of prefixGroup.candidates) {
107
+ writer.writeLine(`objectStore.index("${candidate.name}Index").getAll(` +
108
+ `IDBUtils.IDBKeyRange.bound([${lowerArray}], [${lowerArray}, []], false, true)` +
109
+ `),`);
110
+ }
111
+ });
112
+ writer.writeLine(`]),`);
113
+ writer.writeLine(`${primaryIdentifier.keyPath},`);
59
114
  });
60
- }
115
+ writer.writeLine(`);`);
116
+ });
61
117
  }
62
118
  writer.writeLine(`return tx.objectStore("${model.name}").getAll();`);
63
119
  });
@@ -1 +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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"}
1
+ {"version":3,"file":"_getRecords.js","sourceRoot":"","sources":["../../../../../../src/fileCreators/prisma-idb-client/classes/models/utils/_getRecords.ts"],"names":[],"mappings":";;AAmBA,sCAsJC;AAtKD,wDAA+G;AAgB/G,SAAgB,aAAa,CAAC,MAAuB,EAAE,KAAY,EAAE,gBAAuC;IAC1G,MAAM,iBAAiB,GAAG,IAAA,4BAAoB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAa,CAAC;IAC3E,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1D,MAAM,gBAAgB,GAAG,IAAA,2BAAmB,EAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAEtE,MAAM,uBAAuB,GAAG,IAAA,4BAAoB,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAA,4BAAoB,EAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,uBAAuB,EAAE,GAAG,SAAS,CAAC,CAAC;IAEnF,MAAM;SACH,SAAS,CAAC,4BAA4B,CAAC;SACvC,SAAS,CAAC,+BAA+B,CAAC;SAC1C,SAAS,CAAC,8BAA8B,KAAK,CAAC,IAAI,yCAAyC,CAAC;SAC5F,SAAS,CAAC,mCAAmC,KAAK,CAAC,IAAI,0CAA0C,CAAC;SAClG,KAAK,CAAC,GAAG,EAAE;QACV,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtD,MAAM,CAAC,SAAS,CAAC,0BAA0B,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,sCAAsC,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;QAGjF,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjD,GAAG,GAAG;YACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAa;SAChD,CAAC,CAAC,CAAC;QAGJ,MAAM,aAAa,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvG,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAwE,CAAC;QAE1G,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;YAC9B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAEhC,KAAK,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;gBACpE,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;oBAAE,SAAS;gBAEhG,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC/C,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,aAAa,EAAE,CAAC;oBAClB,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnC,SAAS;gBACX,CAAC;gBAED,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE;oBAC/B,YAAY;oBACZ,UAAU,EAAE,CAAC,GAAG,CAAC;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,uBAAuB,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5E,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBACpD,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;YACvD,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU;gBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAGD,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAE,CAAC;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,MAAM,CAAC,SAAS,CAAC,OAAO,SAAS,4CAA4C,SAAS,IAAI,CAAC,CAAC;gBAC5F,MAAM,CAAC,SAAS,CAAC,cAAc,SAAS,oBAAoB,SAAS,iBAAiB,SAAS,MAAM,CAAC,CAAC;YACzG,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,SAAS,CAAC,SAAS,SAAS,4CAA4C,SAAS,IAAI,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,CAAC;QAInB,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrF,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,CAAC,SAAS,CAAC,OAAO,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACjD,MAAM,CAAC,SAAS,CACd,0BAA0B,KAAK,CAAC,IAAI,wCAAwC,UAAU,MAAM,CAC7F,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QAGD,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExD,MAAM,CAAC,SAAS,CAAC,OAAO,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC/C,MAAM,CAAC,SAAS,CACd,0BAA0B,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,IAAI,6CAA6C,QAAQ,MAAM,CACrH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,CAAC;QAKnB,KAAK,MAAM,WAAW,IAAI,uBAAuB,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3F,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE5E,MAAM,CAAC,SAAS,CAAC,OAAO,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC/C,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC;oBAC3C,MAAM,CAAC,SAAS,CACd,0BAA0B,KAAK,CAAC,IAAI,aAAa,SAAS,CAAC,IAAI,SAAS;wBACtE,uCAAuC,UAAU,OAAO,UAAU,uBAAuB,CAC5F,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,CAAC,SAAS,CAAC,uCAAuC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;gBACzE,MAAM,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC;gBAC/D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;oBACjB,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;oBACxC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;wBACjB,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;4BAC/C,MAAM,CAAC,SAAS,CACd,sBAAsB,SAAS,CAAC,IAAI,iBAAiB;gCACnD,+BAA+B,UAAU,OAAO,UAAU,qBAAqB;gCAC/E,IAAI,CACP,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACxB,MAAM,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC,OAAO,GAAG,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,CAAC,SAAS,CAAC,0BAA0B,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toCamelCase = toCamelCase;
4
4
  exports.getUnsupportedKeyFields = getUnsupportedKeyFields;
5
+ exports.getForeignKeyIndexes = getForeignKeyIndexes;
5
6
  exports.getNonUniqueIndexes = getNonUniqueIndexes;
6
7
  exports.getUniqueIdentifiers = getUniqueIdentifiers;
7
8
  exports.getModelFieldData = getModelFieldData;
@@ -13,7 +14,10 @@ function toCamelCase(str) {
13
14
  function createIdentifierTuple(fieldNames, model) {
14
15
  return JSON.stringify(fieldNames.map((keyFieldName) => {
15
16
  const keyField = model.fields.find(({ name }) => keyFieldName === name);
16
- return `${keyField.name}: Prisma.${model.name}['${keyField.name}']`;
17
+ const typeExpr = keyField.isRequired
18
+ ? `Prisma.${model.name}['${keyField.name}']`
19
+ : `NonNullable<Prisma.${model.name}['${keyField.name}']>`;
20
+ return `${keyField.name}: ${typeExpr}`;
17
21
  })).replaceAll('"', "");
18
22
  }
19
23
  const prismaToPrimitiveTypesMap = {
@@ -55,6 +59,49 @@ function getUnsupportedKeyFields(model) {
55
59
  }
56
60
  return unsupported;
57
61
  }
62
+ function getForeignKeyIndexes(model, datamodelIndexes) {
63
+ const alreadyIndexedKeyPaths = new Set([
64
+ ...getUniqueIdentifiers(model).map(({ keyPath }) => keyPath),
65
+ ...getNonUniqueIndexes(model, datamodelIndexes).map(({ keyPath }) => keyPath),
66
+ ]);
67
+ const existingIndexNames = new Set([
68
+ ...getUniqueIdentifiers(model).map(({ name }) => name),
69
+ ...getNonUniqueIndexes(model, datamodelIndexes).map(({ name }) => name),
70
+ ]);
71
+ const result = [];
72
+ const seenKeyPaths = new Set();
73
+ for (const field of model.fields) {
74
+ if (field.kind !== "object" || !field.relationFromFields?.length)
75
+ continue;
76
+ const fkFieldNames = field.relationFromFields;
77
+ const keyPath = JSON.stringify(fkFieldNames);
78
+ if (alreadyIndexedKeyPaths.has(keyPath))
79
+ continue;
80
+ if (seenKeyPaths.has(keyPath))
81
+ continue;
82
+ const hasInvalidType = fkFieldNames.some((fieldName) => {
83
+ const f = model.fields.find(({ name }) => name === fieldName);
84
+ return !f || !validIDBKeyPrismaTypes.has(f.type);
85
+ });
86
+ if (hasInvalidType)
87
+ continue;
88
+ seenKeyPaths.add(keyPath);
89
+ const baseName = fkFieldNames.join("_");
90
+ let finalName = baseName;
91
+ let suffix = 1;
92
+ while (existingIndexNames.has(finalName)) {
93
+ finalName = `${baseName}_${suffix}`;
94
+ suffix++;
95
+ }
96
+ existingIndexNames.add(finalName);
97
+ result.push({
98
+ name: finalName,
99
+ keyPath,
100
+ keyPathType: createIdentifierTuple(fkFieldNames, model),
101
+ });
102
+ }
103
+ return result;
104
+ }
58
105
  function getNonUniqueIndexes(model, datamodelIndexes, printLogs = false) {
59
106
  const modelIndexes = datamodelIndexes.filter((i) => i.model === model.name && i.type === "normal");
60
107
  const result = [];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@prisma-idb/idb-client-generator",
3
- "description": "Generate types for idb from prisma schema",
4
- "version": "0.36.1",
3
+ "description": "Prisma generator for a type-safe IndexedDB client with optional sync",
4
+ "version": "0.37.0",
5
5
  "main": "dist/generator.js",
6
6
  "license": "MIT",
7
7
  "bin": {
@@ -11,12 +11,12 @@
11
11
  "node": ">=20.0.0"
12
12
  },
13
13
  "dependencies": {
14
- "@prisma/generator-helper": "^7.6.0",
14
+ "@prisma/generator-helper": "^7.7.0",
15
15
  "code-block-writer": "^13.0.3",
16
16
  "prettier": "^3.8.1"
17
17
  },
18
18
  "devDependencies": {
19
- "@prisma/internals": "^7.6.0",
19
+ "@prisma/internals": "^7.7.0",
20
20
  "@release-it/conventional-changelog": "^10.0.6",
21
21
  "@types/node": "^24.12.2",
22
22
  "release-it": "^19.2.4",
@@ -45,7 +45,10 @@
45
45
  "author": "Yash Kolekar (https://whyash5114.com/)",
46
46
  "keywords": [
47
47
  "prisma",
48
- "generator"
48
+ "generator",
49
+ "indexeddb",
50
+ "offline-first",
51
+ "sync"
49
52
  ],
50
53
  "bugs": {
51
54
  "url": "https://github.com/prisma-idb/idb-client-generator/issues"