@t4h.framework/orm 0.11.3 → 0.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.ai/skills/framework-orm/SKILL.md +87 -316
- package/CHANGELOG.md +27 -0
- package/README.md +21 -266
- package/dist/activities/ORMFindOneActivity.d.ts +2 -0
- package/dist/activities/ORMFindOneActivity.d.ts.map +1 -1
- package/dist/activities/ORMLoadActivity.d.ts.map +1 -1
- package/dist/activities/ORMLoadActivity.js +4 -3
- package/dist/activities/ORMLoadActivity.js.map +1 -1
- package/dist/claims/ORMClaim.js.map +1 -1
- package/dist/constraints/assert-constraints.d.ts +1 -1
- package/dist/constraints/assert-constraints.d.ts.map +1 -1
- package/dist/constraints/assert-constraints.js +1 -1
- package/dist/constraints/assert-constraints.js.map +1 -1
- package/dist/constraints/assert-property-type-constraint.js.map +1 -1
- package/dist/decorators/Entity.d.ts.map +1 -1
- package/dist/decorators/Entity.js +1 -1
- package/dist/decorators/Entity.js.map +1 -1
- package/dist/decorators/Index.d.ts.map +1 -1
- package/dist/decorators/Index.js.map +1 -1
- package/dist/decorators/ManyToOne.js.map +1 -1
- package/dist/decorators/OneToMany.d.ts +1 -1
- package/dist/decorators/OneToMany.d.ts.map +1 -1
- package/dist/decorators/OneToMany.js.map +1 -1
- package/dist/decorators/Property.d.ts.map +1 -1
- package/dist/decorators/Property.js.map +1 -1
- package/dist/decorators/metadata.d.ts +11 -9
- package/dist/decorators/metadata.d.ts.map +1 -1
- package/dist/decorators/metadata.js.map +1 -1
- package/dist/helpers/Insert.d.ts +4 -3
- package/dist/helpers/Insert.d.ts.map +1 -1
- package/dist/helpers/Insert.js +22 -15
- package/dist/helpers/Insert.js.map +1 -1
- package/dist/helpers/Populate.d.ts.map +1 -1
- package/dist/helpers/Populate.js +10 -5
- package/dist/helpers/Populate.js.map +1 -1
- package/dist/helpers/Serialize.d.ts +4 -3
- package/dist/helpers/Serialize.d.ts.map +1 -1
- package/dist/helpers/Serialize.js +20 -18
- package/dist/helpers/Serialize.js.map +1 -1
- package/dist/helpers/isPlainObject.js.map +1 -1
- package/dist/helpers/refs.d.ts +1 -1
- package/dist/helpers/refs.d.ts.map +1 -1
- package/dist/helpers/refs.js.map +1 -1
- package/dist/models/MapCollection.d.ts +1 -0
- package/dist/models/MapCollection.d.ts.map +1 -1
- package/dist/models/MapCollection.js +12 -5
- package/dist/models/MapCollection.js.map +1 -1
- package/dist/models/ORM.d.ts.map +1 -1
- package/dist/models/ORM.js +32 -16
- package/dist/models/ORM.js.map +1 -1
- package/dist/models/Ref.d.ts.map +1 -1
- package/dist/models/Ref.js +3 -2
- package/dist/models/Ref.js.map +1 -1
- package/dist/models/RefCollection.d.ts.map +1 -1
- package/dist/models/RefCollection.js +6 -4
- package/dist/models/RefCollection.js.map +1 -1
- package/dist/typings/FindWhere.d.ts +1 -1
- package/dist/typings/FindWhere.d.ts.map +1 -1
- package/dist/typings/ORM.d.ts +5 -5
- package/dist/typings/ORM.d.ts.map +1 -1
- package/dist/typings/Relations.d.ts +2 -2
- package/dist/typings/Relations.d.ts.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,295 +1,50 @@
|
|
|
1
1
|
# @t4h.framework/orm
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Durable, replay-safe database access for workflows. You describe tables as
|
|
4
|
+
decorated classes and read and write them through `ORM`, `Ref` and
|
|
5
|
+
`RefCollection`. The runtime gives the database through `ORMClaim`.
|
|
4
6
|
|
|
5
|
-
##
|
|
7
|
+
## Installation
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Abstract dependency for database operations. The runtime must provide a concrete implementation (e.g. PostgreSQL, SQLite).
|
|
10
|
-
|
|
11
|
-
```typescript
|
|
12
|
-
import { ORMClaim } from '@t4h.framework/orm'
|
|
9
|
+
```bash
|
|
10
|
+
npm install @t4h.framework/orm
|
|
13
11
|
```
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
```typescript
|
|
18
|
-
abstract class ORMClaim<R extends SerializableRowRef> {
|
|
19
|
-
public abstract find(input: SerializableFindInput): R[] | Promise<R[]>
|
|
20
|
-
public abstract create(input: SerializableCreateInput): R[] | Promise<R[]>
|
|
21
|
-
public abstract getSnapshot(input: SerializableGetSnapshotInput<R>): SerializedRow | Promise<SerializedRow>
|
|
22
|
-
public abstract update(input: SerializableUpdateInput<R>): void | Promise<void>
|
|
23
|
-
public abstract remove(input: SerializableRemoveInput<R>): void | Promise<void>
|
|
24
|
-
public abstract getSnapshots(input: SerializableGetSnapshotsInput<R>): (SerializedRow | null)[] | Promise<(SerializedRow | null)[]>
|
|
25
|
-
public abstract delete(input: SerializableDeleteInput): number | Promise<number>
|
|
26
|
-
|
|
27
|
-
// Default: find, then create or update. Override for a native upsert.
|
|
28
|
-
public upsert(input: SerializableUpsertInput): Promise<R[]>
|
|
29
|
-
}
|
|
30
|
-
```
|
|
13
|
+
Peer dependency: `@t4h.framework/core`. Enable `experimentalDecorators` and
|
|
14
|
+
`emitDecoratorMetadata` in `tsconfig.json`.
|
|
31
15
|
|
|
32
|
-
##
|
|
33
|
-
|
|
34
|
-
Use the `@Entity` and `@Property` decorators to define database entities:
|
|
16
|
+
## Usage
|
|
35
17
|
|
|
36
18
|
```typescript
|
|
37
|
-
import {
|
|
19
|
+
import { Workflow } from '@t4h.framework/core'
|
|
20
|
+
import { Entity, ORM, Property } from '@t4h.framework/orm'
|
|
21
|
+
|
|
22
|
+
import { environments } from './constants/environments.js'
|
|
38
23
|
|
|
39
24
|
@Entity({ tableName: 'users' })
|
|
40
25
|
class User {
|
|
41
26
|
@Property({ type: 'uuid', nullable: true })
|
|
42
27
|
public id?: string
|
|
43
28
|
|
|
44
|
-
@Property({ type: 'string' })
|
|
45
|
-
public name!: string
|
|
46
|
-
|
|
47
29
|
@Property({ type: 'string' })
|
|
48
30
|
public email!: string
|
|
49
|
-
|
|
50
|
-
@Property({ type: 'boolean', default: true })
|
|
51
|
-
public active?: boolean
|
|
52
31
|
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
`id` is assigned by the store on create, so declare it optional and `nullable`
|
|
56
|
-
— a non-nullable property missing from the data fails
|
|
57
|
-
`assertNonNullablePropertyConstraint`, and `EntityInsertData` would require you
|
|
58
|
-
to pass it yourself. The same goes for any property carrying a `default`.
|
|
59
|
-
|
|
60
|
-
### @Entity options
|
|
61
|
-
|
|
62
|
-
```typescript
|
|
63
|
-
@Entity({ tableName?: string })
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### @Property options
|
|
67
|
-
|
|
68
|
-
```typescript
|
|
69
|
-
@Property({
|
|
70
|
-
type?: string,
|
|
71
|
-
nullable?: boolean,
|
|
72
|
-
default?: any,
|
|
73
|
-
index?: boolean,
|
|
74
|
-
})
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
When `type` is omitted, it is inferred from the TypeScript property type if the project enables `emitDecoratorMetadata` (and imports `reflect-metadata`). Domain types such as `uuid` must be declared explicitly.
|
|
78
|
-
|
|
79
|
-
If `nullable` is omitted, the property is required at runtime validation.
|
|
80
|
-
|
|
81
|
-
### TypeScript configuration for entity classes
|
|
82
|
-
|
|
83
|
-
Projects that define entities with `@Property()` should enable:
|
|
84
|
-
|
|
85
|
-
```json
|
|
86
|
-
{
|
|
87
|
-
"compilerOptions": {
|
|
88
|
-
"experimentalDecorators": true,
|
|
89
|
-
"emitDecoratorMetadata": true
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## Constraints
|
|
95
|
-
|
|
96
|
-
Row validation runs in the ORM library (`ORM.create`, `ORM.upsert` and `Ref.update`), not in `ORMClaim` implementations. Failed checks throw `ConstraintError`.
|
|
97
|
-
|
|
98
|
-
### Pipeline
|
|
99
|
-
|
|
100
|
-
**Create** (full row, after defaults):
|
|
101
|
-
|
|
102
|
-
1. `applyDefaultProperties` — fills `default` for `undefined` fields
|
|
103
|
-
2. `assertPropertyTypeConstraint` — validates declared types
|
|
104
|
-
3. `assertNonNullablePropertyConstraint` — required fields must be present
|
|
105
|
-
|
|
106
|
-
**Update** (partial patch only):
|
|
107
|
-
|
|
108
|
-
1. Defaults only for keys present in the patch
|
|
109
|
-
2. Same asserts, scoped to patch keys
|
|
110
|
-
|
|
111
|
-
### Supported property types
|
|
112
|
-
|
|
113
|
-
`string`, `uuid`, `number`, `boolean`, `array`, `date`, `object`. Properties without `type` skip type validation.
|
|
114
|
-
|
|
115
|
-
### Example
|
|
116
|
-
|
|
117
|
-
```typescript
|
|
118
|
-
import { ConstraintError, ORM } from '@t4h.framework/orm'
|
|
119
|
-
|
|
120
|
-
try {
|
|
121
|
-
await orm.create(User, { email: 'taken@example.com' })
|
|
122
|
-
} catch (error) {
|
|
123
|
-
if (error instanceof ConstraintError) {
|
|
124
|
-
// handle validation failure
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## ORM Model
|
|
130
|
-
|
|
131
|
-
The `ORM` class provides a high-level API for database operations. It wraps the underlying activities (`ORMCreateActivity`, `ORMFindActivity`, `ORMFindOneActivity`).
|
|
132
|
-
|
|
133
|
-
### Creating records
|
|
134
|
-
|
|
135
|
-
```typescript
|
|
136
|
-
import { ORM } from '@t4h.framework/orm'
|
|
137
32
|
|
|
138
33
|
const orm = new ORM({
|
|
139
|
-
connectionString:
|
|
34
|
+
connectionString: environments.DATABASE_URL,
|
|
140
35
|
entities: [User],
|
|
141
36
|
})
|
|
142
37
|
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
email: 'john@example.com',
|
|
146
|
-
active: true,
|
|
147
|
-
})
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### Batch create
|
|
151
|
-
|
|
152
|
-
```typescript
|
|
153
|
-
const usersRef = await orm.create(User, [
|
|
154
|
-
{ name: 'Alice', email: 'alice@example.com', active: true },
|
|
155
|
-
{ name: 'Bob', email: 'bob@example.com', active: true },
|
|
156
|
-
])
|
|
157
|
-
```
|
|
38
|
+
export const onboard = new Workflow({ id: 'onboard' }, async () => {
|
|
39
|
+
const userRef = await orm.create(User, { email: 'john@example.com' })
|
|
158
40
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
```typescript
|
|
162
|
-
// Inserts, or updates the row with the same email
|
|
163
|
-
const userRef = await orm.upsert(
|
|
164
|
-
User,
|
|
165
|
-
{ email: 'john@example.com', name: 'John', active: true },
|
|
166
|
-
{ conflictOn: ['email'] },
|
|
167
|
-
)
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
Pass an array for a batch (returns a `RefCollection`). On update only the fields you passed are written; defaults apply on insert only. The call runs as a single `ORMUpsertActivity`, so a retry after a crash updates instead of duplicating; it is not atomic across workflows, so concurrent writes of the same key may both insert.
|
|
171
|
-
|
|
172
|
-
### Finding records
|
|
173
|
-
|
|
174
|
-
```typescript
|
|
175
|
-
const userRef = await orm.findOne(User, {
|
|
176
|
-
where: { email: 'john@example.com' },
|
|
177
|
-
})
|
|
178
|
-
|
|
179
|
-
const usersRef = await orm.find(User, {
|
|
180
|
-
where: { active: true },
|
|
181
|
-
orderBy: { name: 'asc' },
|
|
182
|
-
limit: 10,
|
|
183
|
-
offset: 0,
|
|
184
|
-
})
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
### Checking existence
|
|
188
|
-
|
|
189
|
-
```typescript
|
|
190
|
-
const exists = await orm.exists(User, {
|
|
191
|
-
where: { email: 'john@example.com' },
|
|
192
|
-
})
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### Deleting records
|
|
196
|
-
|
|
197
|
-
```typescript
|
|
198
|
-
const deleted = await orm.delete(User, {
|
|
199
|
-
where: { active: false },
|
|
200
|
-
}) // number of deleted rows
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
`where` is required; an empty `{}` deletes every row.
|
|
204
|
-
|
|
205
|
-
## Ref
|
|
206
|
-
|
|
207
|
-
A `Ref<T>` is a reference to a single entity row. It supports `getSnapshot`, `update`, and `remove`:
|
|
208
|
-
|
|
209
|
-
```typescript
|
|
210
|
-
const userRef = await orm.findOne(User, { where: { id: '...' } })
|
|
211
|
-
|
|
212
|
-
const user = await userRef.getSnapshot() // returns the full entity
|
|
213
|
-
await userRef.update({ name: 'Jane' }) // partial update
|
|
214
|
-
await userRef.remove() // delete
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
## RefCollection
|
|
218
|
-
|
|
219
|
-
A `RefCollection<T>` is a collection of entity references returned by `find` or batch `create`:
|
|
220
|
-
|
|
221
|
-
```typescript
|
|
222
|
-
const usersRef = await orm.find(User, { where: { active: true } })
|
|
223
|
-
|
|
224
|
-
const users = usersRef.toArray() // Ref<User>[]
|
|
225
|
-
usersRef.forEach(ref => { /* ... */ })
|
|
226
|
-
await usersRef.getSnapshots() // (User | null)[] in one activity
|
|
227
|
-
usersRef.filter(ref => { /* ... */ })
|
|
228
|
-
usersRef.at(0) // Ref<User> | undefined
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
## Relations
|
|
232
|
-
|
|
233
|
-
`@ManyToOne` owns the relation and stores the related row in a column; `@OneToMany` reads it back from the other table. The to-one side is a `Ref<T>`, the many side a lazy `MapCollection<T>`:
|
|
234
|
-
|
|
235
|
-
```typescript
|
|
236
|
-
@Entity({ tableName: 'users' })
|
|
237
|
-
class User {
|
|
238
|
-
@OneToMany(() => Post, post => post.author)
|
|
239
|
-
public posts!: MapCollection<Post>
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
@Entity({ tableName: 'posts' })
|
|
243
|
-
class Post {
|
|
244
|
-
@ManyToOne(() => User)
|
|
245
|
-
public author!: Ref<User>
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
await orm.create(Post, { title: 'Hello', author: userRef })
|
|
249
|
-
|
|
250
|
-
const aliceRef = await orm.findOne(User, { where: { name: 'Alice' } })
|
|
251
|
-
|
|
252
|
-
const user = await aliceRef!.getSnapshot({
|
|
253
|
-
populate: ['posts'], // read in the same activity
|
|
254
|
-
})
|
|
255
|
-
|
|
256
|
-
await user!.posts.map(post => post.title)
|
|
257
|
-
|
|
258
|
-
const posts = await aliceRef!.load('posts') // MapCollection<Post>, read when used
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
See [docs/relations.md](./docs/relations.md).
|
|
262
|
-
|
|
263
|
-
## Query Operators
|
|
264
|
-
|
|
265
|
-
The `where` clause supports the following operators:
|
|
266
|
-
|
|
267
|
-
```typescript
|
|
268
|
-
await orm.find(User, {
|
|
269
|
-
where: {
|
|
270
|
-
name: 'John', // $eq (implicit)
|
|
271
|
-
active: { $ne: false }, // not equal
|
|
272
|
-
email: { $like: '%@example%' }, // LIKE
|
|
273
|
-
age: { $gte: 18, $lt: 65 }, // range
|
|
274
|
-
},
|
|
41
|
+
return await userRef.getSnapshot()
|
|
275
42
|
})
|
|
276
43
|
```
|
|
277
44
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
## Activities
|
|
281
|
-
|
|
282
|
-
The package includes the following activities (used internally by `ORM` and `Ref`):
|
|
45
|
+
`environments` comes from `EnvDesign` in `src/constants/environments.ts`, with
|
|
46
|
+
`DATABASE_URL` declared as `{ type: Secret }`.
|
|
283
47
|
|
|
284
|
-
|
|
285
|
-
- `ORMFindActivity` -- finds multiple rows
|
|
286
|
-
- `ORMFindOneActivity` -- finds a single row
|
|
287
|
-
- `ORMGetSnapshotActivity` -- retrieves full entity data from a ref (no longer used by `Ref.getSnapshot`)
|
|
288
|
-
- `ORMLoadActivity` -- backs `getSnapshot` / `getSnapshots`: retrieves rows with their relations and `populate` in one activity
|
|
289
|
-
- `ORMLoadRelationActivity` -- follows a to-one relation from one or more refs, returning refs
|
|
290
|
-
- `ORMUpdateActivity` -- updates a row
|
|
291
|
-
- `ORMUpsertActivity` -- inserts or updates rows by `conflictOn` (via `ORMClaim.upsert`)
|
|
292
|
-
- `ORMRemoveActivity` -- removes a row
|
|
293
|
-
- `ORMDeleteActivity` -- deletes every row matching a `where`
|
|
48
|
+
## Documentation
|
|
294
49
|
|
|
295
|
-
|
|
50
|
+
https://tech4humans-brasil.github.io/framework/orm/
|
|
@@ -8,6 +8,8 @@ export declare class ORMFindOneActivity extends SyncActivity<[
|
|
|
8
8
|
toInput(input: SerializableFindInput): SerializableFindInput;
|
|
9
9
|
run(input: SerializableFindInput): Promise<string | number | boolean | import("@t4h.framework/core").Binary | import("@t4h.framework/core").SerializableClass | readonly import("@t4h.framework/core").Serializable[] | {
|
|
10
10
|
[x: string]: import("@t4h.framework/core").Serializable;
|
|
11
|
+
[x: number]: import("@t4h.framework/core").Serializable;
|
|
12
|
+
[x: symbol]: import("@t4h.framework/core").Serializable;
|
|
11
13
|
} | null>;
|
|
12
14
|
toOutput(output: SerializableRowRef | null): SerializableRowRef | null;
|
|
13
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ORMFindOneActivity.d.ts","sourceRoot":"","sources":["../../src/activities/ORMFindOneActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAS,MAAM,qBAAqB,CAAA;AAGzD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAE1B,QAAA,MAAM,UAAU,eAAqC,CAAA;AAErD,qBAAa,kBAAmB,SAAQ,YAAY,CAClD;IAAC,KAAK,EAAE,qBAAqB;CAAC,EAC9B,qBAAqB,EACrB,kBAAkB,GAAG,IAAI,EACzB,kBAAkB,GAAG,IAAI,CAC1B;IACC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAE3B;IAEK,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB;IAItD,GAAG,CAAC,KAAK,EAAE,qBAAqB
|
|
1
|
+
{"version":3,"file":"ORMFindOneActivity.d.ts","sourceRoot":"","sources":["../../src/activities/ORMFindOneActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAS,MAAM,qBAAqB,CAAA;AAGzD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAE1B,QAAA,MAAM,UAAU,eAAqC,CAAA;AAErD,qBAAa,kBAAmB,SAAQ,YAAY,CAClD;IAAC,KAAK,EAAE,qBAAqB;CAAC,EAC9B,qBAAqB,EACrB,kBAAkB,GAAG,IAAI,EACzB,kBAAkB,GAAG,IAAI,CAC1B;IACC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAE3B;IAEK,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB;IAItD,GAAG,CAAC,KAAK,EAAE,qBAAqB;;;;;IActC,QAAQ,CACb,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAChC,kBAAkB,GAAG,IAAI;CAG7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ORMLoadActivity.d.ts","sourceRoot":"","sources":["../../src/activities/ORMLoadActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAS,MAAM,qBAAqB,CAAA;AAWzD,OAAO,KAAK,EAEV,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,mBAAmB,CAAA;AAE1B,QAAA,MAAM,UAAU,eAAqC,CAAA;AAErD,qBAAa,eAAgB,SAAQ,YAAY,CAC/C;IAAC,KAAK,EAAE,qBAAqB;CAAC,EAC9B,qBAAqB,EACrB,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAChC,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,CACjC;IACC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAE3B;IAEK,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB;IAItD,GAAG,CAAC,KAAK,EAAE,qBAAqB;IAyBtC,QAAQ,CACb,MAAM,EAAE,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,GACvC,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE;YAIrB,IAAI;YA0BJ,KAAK;YAUL,QAAQ;
|
|
1
|
+
{"version":3,"file":"ORMLoadActivity.d.ts","sourceRoot":"","sources":["../../src/activities/ORMLoadActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAS,MAAM,qBAAqB,CAAA;AAWzD,OAAO,KAAK,EAEV,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,mBAAmB,CAAA;AAE1B,QAAA,MAAM,UAAU,eAAqC,CAAA;AAErD,qBAAa,eAAgB,SAAQ,YAAY,CAC/C;IAAC,KAAK,EAAE,qBAAqB;CAAC,EAC9B,qBAAqB,EACrB,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAChC,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,CACjC;IACC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAE3B;IAEK,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB;IAItD,GAAG,CAAC,KAAK,EAAE,qBAAqB;IAyBtC,QAAQ,CACb,MAAM,EAAE,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,GACvC,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE;YAIrB,IAAI;YA0BJ,KAAK;YAUL,QAAQ;CA0DvB"}
|
|
@@ -72,15 +72,16 @@ export class ORMLoadActivity extends SyncActivity {
|
|
|
72
72
|
});
|
|
73
73
|
await this.populate(orm, target, children, nested);
|
|
74
74
|
const groups = Map.groupBy(children, child => toRefKey(child.data[mappedBy]));
|
|
75
|
-
|
|
75
|
+
rows.forEach(row => {
|
|
76
76
|
row.relations[relation.name] = groups.get(toRefKey(row.ref)) ?? [];
|
|
77
|
+
});
|
|
77
78
|
continue;
|
|
78
79
|
}
|
|
79
80
|
const refs = rows.map(row => row.data[relation.name] ?? null);
|
|
80
81
|
const related = await this.read(orm, target, refs.filter(ref => ref !== null));
|
|
81
82
|
await this.populate(orm, target, [...related.values()], nested);
|
|
82
|
-
rows.forEach(
|
|
83
|
-
const ref =
|
|
83
|
+
rows.forEach(row => {
|
|
84
|
+
const ref = row.data[relation.name] ?? null;
|
|
84
85
|
if (ref !== null)
|
|
85
86
|
row.relations[relation.name] = related.get(toRefKey(ref)) ?? null;
|
|
86
87
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ORMLoadActivity.js","sourceRoot":"","sources":["../../src/activities/ORMLoadActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AASjD,MAAM,UAAU,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAA;AAErD,MAAM,OAAO,eAAgB,SAAQ,YAKpC;IACkB,CAAC,UAAU,CAAC,GAAG,IAAI,KAAK,CAAC;QACxC,GAAG,EAAE,QAAQ;KACd,CAAC,CAAA;IAEK,OAAO,CAAC,KAA4B;QACzC,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,KAA4B;QAC3C,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;QAE5B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAE5C,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;gBAC5B,GAAG;gBACH,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAA;YAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YAE3C,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAEpD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QAEzD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;IAC/D,CAAC;IAEM,QAAQ,CACb,MAAwC;QAExC,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,IAAI,CAChB,GAAQ,EACR,KAAa,EACb,IAA0B;QAE1B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAE3E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiC,CAAA;QAErD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAE/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;YACxD,GAAG;YACH,KAAK;YACL,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;YAE7B,IAAI,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,KAA4B;QAE5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAE1D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,GAAQ,EACR,KAAa,EACb,IAA6B,EAC7B,IAAmB;QAEnB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QAExB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAEnC,KAAK,MAAM,QAAQ,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAEtC,IAAI,CAAC,MAAM;gBAAE,SAAQ;YAErB,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAEpD,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAA;gBAE1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;oBAChC,GAAG;oBACH,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE;oBACxD,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B,CAAC,CAAA;gBAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;gBAElD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAC3C,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"ORMLoadActivity.js","sourceRoot":"","sources":["../../src/activities/ORMLoadActivity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ORMClaim.js","sourceRoot":"","sources":["../../src/claims/ORMClaim.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,MAAM,OAAgB,QAAQ;IAqBrB,KAAK,CAAC,MAAM,CAAC,EAClB,GAAG,EACH,KAAK,EACL,UAAU,EACV,IAAI,GACoB;QACxB,MAAM,IAAI,GAAQ,EAAE,CAAA;QAEpB,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"ORMClaim.js","sourceRoot":"","sources":["../../src/claims/ORMClaim.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,MAAM,OAAgB,QAAQ;IAqBrB,KAAK,CAAC,MAAM,CAAC,EAClB,GAAG,EACH,KAAK,EACL,UAAU,EACV,IAAI,GACoB;QACxB,MAAM,IAAI,GAAQ,EAAE,CAAA;QAEpB,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAC1C,CAAA;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;YAEzE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAEjE,SAAQ;YACV,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAEpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CAKF"}
|
|
@@ -2,6 +2,6 @@ import { type EntityConstructor, type SerializedRow } from '../orm.js';
|
|
|
2
2
|
interface AssertConstraintsOptions {
|
|
3
3
|
keys?: string[];
|
|
4
4
|
}
|
|
5
|
-
export declare function assertConstraints<T>(entity: EntityConstructor<T>, rows: SerializedRow[], options?: AssertConstraintsOptions):
|
|
5
|
+
export declare function assertConstraints<T>(entity: EntityConstructor<T>, rows: SerializedRow[], options?: AssertConstraintsOptions): void;
|
|
6
6
|
export {};
|
|
7
7
|
//# sourceMappingURL=assert-constraints.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert-constraints.d.ts","sourceRoot":"","sources":["../../src/constraints/assert-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAA;AAIlB,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,
|
|
1
|
+
{"version":3,"file":"assert-constraints.d.ts","sourceRoot":"","sources":["../../src/constraints/assert-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAA;AAIlB,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,aAAa,EAAE,EACrB,OAAO,CAAC,EAAE,wBAAwB,QAWnC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getEntityMetadata, } from '../orm.js';
|
|
2
2
|
import { assertNonNullablePropertyConstraint } from './assert-non-nullable-property-constraint.js';
|
|
3
3
|
import { assertPropertyTypeConstraint } from './assert-property-type-constraint.js';
|
|
4
|
-
export
|
|
4
|
+
export function assertConstraints(entity, rows, options) {
|
|
5
5
|
const entityMetadata = getEntityMetadata(entity);
|
|
6
6
|
assertPropertyTypeConstraint(rows, entityMetadata, {
|
|
7
7
|
keys: options?.keys,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert-constraints.js","sourceRoot":"","sources":["../../src/constraints/assert-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAGlB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAA;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAMnF,MAAM,
|
|
1
|
+
{"version":3,"file":"assert-constraints.js","sourceRoot":"","sources":["../../src/constraints/assert-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAGlB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAA;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAMnF,MAAM,UAAU,iBAAiB,CAC/B,MAA4B,EAC5B,IAAqB,EACrB,OAAkC;IAElC,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAEhD,4BAA4B,CAAC,IAAI,EAAE,cAAc,EAAE;QACjD,IAAI,EAAE,OAAO,EAAE,IAAI;KACpB,CAAC,CAAA;IAEF,mCAAmC,CAAC,IAAI,EAAE,cAAc,EAAE;QACxD,IAAI,EAAE,OAAO,EAAE,IAAI;KACpB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert-property-type-constraint.js","sourceRoot":"","sources":["../../src/constraints/assert-property-type-constraint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAG9D,MAAM,UAAU,GACd,+EAA+E,CAAA;AAEjF,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"assert-property-type-constraint.js","sourceRoot":"","sources":["../../src/constraints/assert-property-type-constraint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAG9D,MAAM,UAAU,GACd,+EAA+E,CAAA;AAEjF,MAAM,aAAa,GAAyD;IAC1E,MAAM,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ;IACrD,IAAI,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7E,MAAM,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7E,OAAO,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS;IACvD,KAAK,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/C,IAAI,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,YAAY,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;IAC5E,MAAM,EAAE,CAAC,KAAc,EAAE,EAAE,CACzB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;CACvE,CAAA;AAMD,MAAM,UAAU,4BAA4B,CAC1C,IAAqB,EACrB,MAAsB,EACtB,OAA6C;IAE7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAE3D,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;YAEvB,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,SAAQ;YAExB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAQ;YAEnD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAE1C,IAAI,CAAC,SAAS;gBACZ,MAAM,IAAI,eAAe,CACvB,aAAa,IAAI,2BAA2B,IAAI,CAAC,IAAI,GAAG,CACzD,CAAA;YAEH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,MAAM,IAAI,eAAe,CACvB,aAAa,IAAI,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAClD,CAAA;QACL,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/decorators/Entity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/decorators/Entity.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAQ7D"}
|
|
@@ -2,7 +2,7 @@ import { getEntityMetadata, registerEntity } from './metadata.js';
|
|
|
2
2
|
export function Entity(options) {
|
|
3
3
|
return target => {
|
|
4
4
|
const metadata = getEntityMetadata(target);
|
|
5
|
-
metadata.tableName = options
|
|
5
|
+
metadata.tableName = options.tableName;
|
|
6
6
|
registerEntity(target);
|
|
7
7
|
};
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../src/decorators/Entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../src/decorators/Entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAOjE,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,OAAO,MAAM,CAAC,EAAE;QACd,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAsC,CAAC,CAAA;QAE1E,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAEtC,cAAc,CAAC,MAAsC,CAAC,CAAA;IACxD,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../../src/decorators/Index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../../src/decorators/Index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAS5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../src/decorators/Index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../src/decorators/Index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAQjD,MAAM,UAAU,KAAK,CAAC,OAAsB;IAC1C,OAAO,MAAM,CAAC,EAAE;QACd,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM;YAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAErD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAsC,CAAC,CAAA;QAE1E,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManyToOne.js","sourceRoot":"","sources":["../../src/decorators/ManyToOne.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAOjD,MAAM,UAAU,SAAS,CACvB,MAA+B,EAC/B,OAA0B;IAE1B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"ManyToOne.js","sourceRoot":"","sources":["../../src/decorators/ManyToOne.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAOjD,MAAM,UAAU,SAAS,CACvB,MAA+B,EAC/B,OAA0B;IAE1B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAgC,CAAC,CAAA;QAE3E,MAAM,IAAI,GAAG,WAAqB,CAAA;QAElC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAE7C,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE;YAC3B,IAAI;YACJ,IAAI,EAAE,aAAa;YACnB,MAAM;YACN,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -5,5 +5,5 @@ export interface OneToManyOptions<T> {
|
|
|
5
5
|
[K in keyof EntityData<T>]?: 'asc' | 'desc';
|
|
6
6
|
};
|
|
7
7
|
}
|
|
8
|
-
export declare function OneToMany<T>(entity: () => EntityConstructor<T>, mappedBy: (entity: T) => Ref<
|
|
8
|
+
export declare function OneToMany<T>(entity: () => EntityConstructor<T>, mappedBy: (entity: T) => Ref<unknown> | null | undefined, options?: OneToManyOptions<T>): PropertyDecorator;
|
|
9
9
|
//# sourceMappingURL=OneToMany.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneToMany.d.ts","sourceRoot":"","sources":["../../src/decorators/OneToMany.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEtE,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM;KAAE,CAAA;CAC1D;AAID,wBAAgB,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"OneToMany.d.ts","sourceRoot":"","sources":["../../src/decorators/OneToMany.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEtE,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM;KAAE,CAAA;CAC1D;AAID,wBAAgB,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EACxD,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC5B,iBAAiB,CAsBnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneToMany.js","sourceRoot":"","sources":["../../src/decorators/OneToMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAQjD,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;AAEvE,MAAM,UAAU,SAAS,CACvB,MAAkC,EAClC,
|
|
1
|
+
{"version":3,"file":"OneToMany.js","sourceRoot":"","sources":["../../src/decorators/OneToMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAQjD,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;AAEvE,MAAM,UAAU,SAAS,CACvB,MAAkC,EAClC,QAAwD,EACxD,OAA6B;IAE7B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,WAAqB,CAAA;QAElC,MAAM,QAAQ,GAAY,QAAQ,CAAC,aAAkB,CAAC,CAAA;QAEtD,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC9B,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,mFAAmF,CACvG,CAAA;QAEH,iBAAiB,CAAC,MAAM,CAAC,WAAgC,CAAC,CAAC,SAAS,CAAC,GAAG,CACtE,IAAI,EACJ;YACE,IAAI;YACJ,IAAI,EAAE,aAAa;YACnB,MAAM;YACN,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,OAAO,EAAE,OAAqD;SACxE,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Property.d.ts","sourceRoot":"","sources":["../../src/decorators/Property.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Property.d.ts","sourceRoot":"","sources":["../../src/decorators/Property.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGxE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;AAW5D,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAwBrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Property.js","sourceRoot":"","sources":["../../src/decorators/Property.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAE,iBAAiB,EAAyB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Property.js","sourceRoot":"","sources":["../../src/decorators/Property.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAE,iBAAiB,EAAyB,MAAM,eAAe,CAAA;AAKxE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAkB;IAC3C,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,MAAM,EAAE,QAAQ,CAAC;CACnB,CAAC,CAAA;AAEF,MAAM,UAAU,QAAQ,CAAC,OAAyB;IAChD,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAgC,CAAC,CAAA;QAE3E,MAAM,QAAQ,GAAoB,EAAE,GAAG,OAAO,EAAE,CAAA;QAEhD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,UAAU,GAAY,OAAO,CAAC,WAAW,CAC7C,aAAa,EACb,MAAM,EACN,WAAW,CACZ,CAAA;YAED,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK;YAChB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,WAAqB,CAAC,EAAE,CAAC,CAAA;QAEhE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,WAAqB,EAAE;YAC7C,IAAI,EAAE,WAAqB;YAC3B,GAAG,QAAQ;SACZ,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Serializable } from '@t4h.framework/core';
|
|
2
2
|
import type { IndexMetadata } from './Index.js';
|
|
3
|
+
type EntityClass = new (...args: any[]) => any;
|
|
3
4
|
export interface EntityMetadata {
|
|
4
5
|
tableName?: string;
|
|
5
6
|
properties: Map<string, PropertyMetadata>;
|
|
@@ -9,13 +10,13 @@ export interface EntityMetadata {
|
|
|
9
10
|
export interface ManyToOneMetadata {
|
|
10
11
|
name: string;
|
|
11
12
|
kind: 'many-to-one';
|
|
12
|
-
entity: () =>
|
|
13
|
+
entity: () => EntityClass;
|
|
13
14
|
nullable?: boolean;
|
|
14
15
|
}
|
|
15
16
|
export interface OneToManyMetadata {
|
|
16
17
|
name: string;
|
|
17
18
|
kind: 'one-to-many';
|
|
18
|
-
entity: () =>
|
|
19
|
+
entity: () => EntityClass;
|
|
19
20
|
mappedBy: string;
|
|
20
21
|
orderBy?: Record<string, 'asc' | 'desc'>;
|
|
21
22
|
}
|
|
@@ -27,11 +28,12 @@ export interface PropertyMetadata {
|
|
|
27
28
|
default?: Serializable;
|
|
28
29
|
index?: boolean;
|
|
29
30
|
}
|
|
30
|
-
export declare function getEntityMetadata(target:
|
|
31
|
-
export declare function getEntityTableName(target:
|
|
32
|
-
export declare function getEntityProperties(target:
|
|
33
|
-
export declare function registerEntity(target:
|
|
34
|
-
export declare function getEntityByTableName(tableName: string):
|
|
35
|
-
export declare function getEntityRelations(target:
|
|
36
|
-
export declare function getInverseRelation(owner:
|
|
31
|
+
export declare function getEntityMetadata(target: EntityClass): EntityMetadata;
|
|
32
|
+
export declare function getEntityTableName(target: EntityClass): string;
|
|
33
|
+
export declare function getEntityProperties(target: EntityClass): Map<string, PropertyMetadata>;
|
|
34
|
+
export declare function registerEntity(target: EntityClass): void;
|
|
35
|
+
export declare function getEntityByTableName(tableName: string): EntityClass;
|
|
36
|
+
export declare function getEntityRelations(target: EntityClass): Map<string, RelationMetadata>;
|
|
37
|
+
export declare function getInverseRelation(owner: EntityClass, relation: OneToManyMetadata): ManyToOneMetadata;
|
|
38
|
+
export {};
|
|
37
39
|
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/decorators/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/decorators/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/C,KAAK,WAAW,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAE9C,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACzC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACxC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,MAAM,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,MAAM,WAAW,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAA;CACzC;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,CAAA;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAMD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,CASrE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAI9D;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,GAClB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAE/B;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAExD;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CASnE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,GAClB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAE/B;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,iBAAiB,GAC1B,iBAAiB,CAWnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/decorators/metadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/decorators/metadata.ts"],"names":[],"mappings":"AAuCA,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA0B,CAAA;AAE/D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAA;AAErD,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,IAAI,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAmB,CAAC,CAAA;IAEhE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACvE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAmB,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAE1C,OAAO,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAmB;IAEnB,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,UAAU,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAE5C,IAAI,CAAC,MAAM;QACT,MAAM,IAAI,KAAK,CACb,uCAAuC,SAAS,kCAAkC,CACnF,CAAA;IAEH,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAmB;IAEnB,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAkB,EAClB,QAA2B;IAE3B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAA;IAEhC,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEjE,IAAI,OAAO,EAAE,IAAI,KAAK,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,KAAK;QAC/D,MAAM,IAAI,KAAK,CACb,aAAa,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,oCAAoC,KAAK,CAAC,IAAI,EAAE,CAC5I,CAAA;IAEH,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/dist/helpers/Insert.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EntityConstructor } from '../typings/ORM.js';
|
|
2
2
|
export declare namespace Insert {
|
|
3
|
-
type Row = Record<string, unknown>;
|
|
3
|
+
export type Row = Record<string, unknown>;
|
|
4
4
|
interface Parents {
|
|
5
5
|
relation: string;
|
|
6
6
|
plan: Plan;
|
|
@@ -11,12 +11,13 @@ export declare namespace Insert {
|
|
|
11
11
|
plan: Plan;
|
|
12
12
|
parents: number[];
|
|
13
13
|
}
|
|
14
|
-
interface Plan {
|
|
14
|
+
export interface Plan {
|
|
15
15
|
entity: EntityConstructor;
|
|
16
16
|
rows: Row[];
|
|
17
17
|
parents: Parents[];
|
|
18
18
|
children: Children[];
|
|
19
19
|
}
|
|
20
|
-
function plan(entity: EntityConstructor, data: Row[], filled?: string): Promise<Plan>;
|
|
20
|
+
export function plan(entity: EntityConstructor, data: Row[], filled?: string): Promise<Plan>;
|
|
21
|
+
export {};
|
|
21
22
|
}
|
|
22
23
|
//# sourceMappingURL=Insert.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Insert.d.ts","sourceRoot":"","sources":["../../src/helpers/Insert.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,mBAAmB,CAAA;AAEzE,yBAAiB,MAAM,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"Insert.d.ts","sourceRoot":"","sources":["../../src/helpers/Insert.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,mBAAmB,CAAA;AAEzE,yBAAiB,MAAM,CAAC;IACtB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEzC,UAAU,OAAO;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,IAAI,CAAA;QACV,IAAI,EAAE,MAAM,EAAE,CAAA;KACf;IAED,UAAU,QAAQ;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,IAAI,CAAA;QACV,OAAO,EAAE,MAAM,EAAE,CAAA;KAClB;IAED,MAAM,WAAW,IAAI;QACnB,MAAM,EAAE,iBAAiB,CAAA;QACzB,IAAI,EAAE,GAAG,EAAE,CAAA;QACX,OAAO,EAAE,OAAO,EAAE,CAAA;QAClB,QAAQ,EAAE,QAAQ,EAAE,CAAA;KACrB;IAcD,gBAAsB,IAAI,CACxB,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAmGf;;CACF"}
|