@contember/client-content 1.3.0-alpha.2 → 1.3.0-alpha.21

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 (107) hide show
  1. package/dist/development/ContentClient.cjs +27 -0
  2. package/dist/development/ContentClient.cjs.map +1 -0
  3. package/dist/development/ContentClient.js +27 -0
  4. package/dist/development/ContentClient.js.map +1 -0
  5. package/dist/development/ContentQueryBuilder.cjs +147 -0
  6. package/dist/development/ContentQueryBuilder.cjs.map +1 -0
  7. package/dist/development/ContentQueryBuilder.js +147 -0
  8. package/dist/development/ContentQueryBuilder.js.map +1 -0
  9. package/dist/development/index.cjs +13 -0
  10. package/dist/development/index.cjs.map +1 -0
  11. package/dist/development/index.js +13 -0
  12. package/dist/development/index.js.map +1 -0
  13. package/dist/development/nodes/ContentEntitySelection.cjs +161 -0
  14. package/dist/development/nodes/ContentEntitySelection.cjs.map +1 -0
  15. package/dist/development/nodes/ContentEntitySelection.js +161 -0
  16. package/dist/development/nodes/ContentEntitySelection.js.map +1 -0
  17. package/dist/development/nodes/ContentOperation.cjs +16 -0
  18. package/dist/development/nodes/ContentOperation.cjs.map +1 -0
  19. package/dist/development/nodes/ContentOperation.js +16 -0
  20. package/dist/development/nodes/ContentOperation.js.map +1 -0
  21. package/dist/development/utils/ContentOperationSet.cjs +10 -0
  22. package/dist/development/utils/ContentOperationSet.cjs.map +1 -0
  23. package/dist/development/utils/ContentOperationSet.js +10 -0
  24. package/dist/development/utils/ContentOperationSet.js.map +1 -0
  25. package/dist/development/utils/createListArgs.cjs +24 -0
  26. package/dist/development/utils/createListArgs.cjs.map +1 -0
  27. package/dist/development/utils/createListArgs.js +24 -0
  28. package/dist/development/utils/createListArgs.js.map +1 -0
  29. package/dist/development/utils/createMutationOperationSet.cjs +37 -0
  30. package/dist/development/utils/createMutationOperationSet.cjs.map +1 -0
  31. package/dist/development/utils/createMutationOperationSet.js +37 -0
  32. package/dist/development/utils/createMutationOperationSet.js.map +1 -0
  33. package/dist/development/utils/createQueryOperationSet.cjs +19 -0
  34. package/dist/development/utils/createQueryOperationSet.cjs.map +1 -0
  35. package/dist/development/utils/createQueryOperationSet.js +19 -0
  36. package/dist/development/utils/createQueryOperationSet.js.map +1 -0
  37. package/dist/development/utils/createTypedArgs.cjs +14 -0
  38. package/dist/development/utils/createTypedArgs.cjs.map +1 -0
  39. package/dist/development/utils/createTypedArgs.js +14 -0
  40. package/dist/development/utils/createTypedArgs.js.map +1 -0
  41. package/dist/development/utils/mutationFragments.cjs +55 -0
  42. package/dist/development/utils/mutationFragments.cjs.map +1 -0
  43. package/dist/development/utils/mutationFragments.js +55 -0
  44. package/dist/development/utils/mutationFragments.js.map +1 -0
  45. package/dist/production/ContentClient.cjs +27 -0
  46. package/dist/production/ContentClient.cjs.map +1 -0
  47. package/dist/production/ContentClient.js +27 -0
  48. package/dist/production/ContentClient.js.map +1 -0
  49. package/dist/production/ContentQueryBuilder.cjs +147 -0
  50. package/dist/production/ContentQueryBuilder.cjs.map +1 -0
  51. package/dist/production/ContentQueryBuilder.js +147 -0
  52. package/dist/production/ContentQueryBuilder.js.map +1 -0
  53. package/dist/production/index.cjs +13 -0
  54. package/dist/production/index.cjs.map +1 -0
  55. package/dist/production/index.js +13 -0
  56. package/dist/production/index.js.map +1 -0
  57. package/dist/production/nodes/ContentEntitySelection.cjs +161 -0
  58. package/dist/production/nodes/ContentEntitySelection.cjs.map +1 -0
  59. package/dist/production/nodes/ContentEntitySelection.js +161 -0
  60. package/dist/production/nodes/ContentEntitySelection.js.map +1 -0
  61. package/dist/production/nodes/ContentOperation.cjs +16 -0
  62. package/dist/production/nodes/ContentOperation.cjs.map +1 -0
  63. package/dist/production/nodes/ContentOperation.js +16 -0
  64. package/dist/production/nodes/ContentOperation.js.map +1 -0
  65. package/dist/production/utils/ContentOperationSet.cjs +10 -0
  66. package/dist/production/utils/ContentOperationSet.cjs.map +1 -0
  67. package/dist/production/utils/ContentOperationSet.js +10 -0
  68. package/dist/production/utils/ContentOperationSet.js.map +1 -0
  69. package/dist/production/utils/createListArgs.cjs +24 -0
  70. package/dist/production/utils/createListArgs.cjs.map +1 -0
  71. package/dist/production/utils/createListArgs.js +24 -0
  72. package/dist/production/utils/createListArgs.js.map +1 -0
  73. package/dist/production/utils/createMutationOperationSet.cjs +37 -0
  74. package/dist/production/utils/createMutationOperationSet.cjs.map +1 -0
  75. package/dist/production/utils/createMutationOperationSet.js +37 -0
  76. package/dist/production/utils/createMutationOperationSet.js.map +1 -0
  77. package/dist/production/utils/createQueryOperationSet.cjs +19 -0
  78. package/dist/production/utils/createQueryOperationSet.cjs.map +1 -0
  79. package/dist/production/utils/createQueryOperationSet.js +19 -0
  80. package/dist/production/utils/createQueryOperationSet.js.map +1 -0
  81. package/dist/production/utils/createTypedArgs.cjs +14 -0
  82. package/dist/production/utils/createTypedArgs.cjs.map +1 -0
  83. package/dist/production/utils/createTypedArgs.js +14 -0
  84. package/dist/production/utils/createTypedArgs.js.map +1 -0
  85. package/dist/production/utils/mutationFragments.cjs +55 -0
  86. package/dist/production/utils/mutationFragments.cjs.map +1 -0
  87. package/dist/production/utils/mutationFragments.js +55 -0
  88. package/dist/production/utils/mutationFragments.js.map +1 -0
  89. package/dist/types/ContentClient.d.ts +3 -4
  90. package/dist/types/ContentClient.d.ts.map +1 -1
  91. package/dist/types/ContentQueryBuilder.d.ts.map +1 -1
  92. package/dist/types/index.d.ts +1 -0
  93. package/dist/types/index.d.ts.map +1 -1
  94. package/dist/types/nodes/TypedEntitySelection.d.ts +3 -0
  95. package/dist/types/nodes/TypedEntitySelection.d.ts.map +1 -1
  96. package/dist/types/tsconfig.tsbuildinfo +1 -1
  97. package/dist/types/types/Input.d.ts +68 -8
  98. package/dist/types/types/Input.d.ts.map +1 -1
  99. package/dist/types/types/Schema.d.ts +3 -3
  100. package/dist/types/types/Schema.d.ts.map +1 -1
  101. package/package.json +6 -3
  102. package/src/ContentClient.ts +6 -7
  103. package/src/ContentQueryBuilder.ts +6 -2
  104. package/src/index.ts +1 -0
  105. package/src/nodes/TypedEntitySelection.ts +4 -0
  106. package/src/types/Input.ts +74 -9
  107. package/src/types/Schema.ts +3 -3
@@ -147,7 +147,11 @@ export class ContentQueryBuilder {
147
147
  const transactionArgs = createTypedArgs({ options }, {
148
148
  options: 'MutationTransactionOptions',
149
149
  })
150
- return new ContentOperation<TransactionResult<any>, 'mutation'>('mutation', 'transaction', transactionArgs, combined.selection, ({ ok, errorMessage, errors, validation, ...data }) => {
150
+ const items = [
151
+ ...this.createMutationSelection('transaction'),
152
+ ...combined.selection,
153
+ ]
154
+ return new ContentOperation<TransactionResult<any>, 'mutation'>('mutation', 'transaction', transactionArgs, items, ({ ok, errorMessage, errors, validation, ...data }) => {
151
155
  return {
152
156
  ok,
153
157
  errorMessage,
@@ -158,7 +162,7 @@ export class ContentQueryBuilder {
158
162
  })
159
163
  }
160
164
 
161
- private createMutationSelection(operation: 'create' | 'update' | 'delete' | 'upsert', selection?: GraphQlSelectionSet): GraphQlSelectionSet {
165
+ private createMutationSelection(operation: 'create' | 'update' | 'delete' | 'upsert' | 'transaction', selection?: GraphQlSelectionSet): GraphQlSelectionSet {
162
166
  const items: GraphQlSelectionSet = [
163
167
  new GraphQlField(null, 'ok'),
164
168
  new GraphQlField(null, 'errorMessage'),
package/src/index.ts CHANGED
@@ -3,3 +3,4 @@ export * from './TypedContentQueryBuilder'
3
3
  export * from './ContentQueryBuilder'
4
4
  export * from './nodes'
5
5
  export * from './types'
6
+ export * from './utils/mutationFragments'
@@ -1,5 +1,6 @@
1
1
  import { EntityTypeLike, SchemaTypeLike } from '../types/Schema'
2
2
  import { ContentClientInput } from '../types'
3
+ import { ContentEntitySelectionContext } from './ContentEntitySelection'
3
4
 
4
5
  export type TypedEntitySelectionCallback<
5
6
  TSchema extends SchemaTypeLike,
@@ -10,6 +11,9 @@ export type TypedEntitySelectionCallback<
10
11
 
11
12
  export interface TypedEntitySelection<TSchema extends SchemaTypeLike, TEntityName extends string, TEntity extends EntityTypeLike, TValue> {
12
13
 
14
+ /** @internal */
15
+ readonly context: ContentEntitySelectionContext<TEntityName>,
16
+
13
17
  $$(): TypedEntitySelection<TSchema, TEntityName, TEntity, TValue & {
14
18
  [key in keyof TEntity['columns']]: TEntity['columns'][key]
15
19
  }>
@@ -4,31 +4,45 @@ import { EntityTypeLike } from './Schema'
4
4
 
5
5
  export namespace ContentClientInput {
6
6
  export type ConnectRelationInput<TEntity extends EntityTypeLike> = {
7
+ /** @internal */
8
+ readonly __typeGuard?: TEntity['name']
7
9
  readonly connect: UniqueWhere<TEntity>
8
10
  }
9
11
 
10
12
  export type CreateRelationInput<TEntity extends EntityTypeLike> = {
13
+ /** @internal */
14
+ readonly __typeGuard?: TEntity['name']
11
15
  readonly create: CreateDataInput<TEntity>
12
16
  }
13
17
 
14
18
  export type ConnectOrCreateInput<TEntity extends EntityTypeLike> = {
19
+ /** @internal */
20
+ readonly __typeGuard?: TEntity['name']
15
21
  readonly connect: UniqueWhere<TEntity>
16
22
  readonly create: CreateDataInput<TEntity>
17
23
  }
18
24
 
19
25
  export type ConnectOrCreateRelationInput<TEntity extends EntityTypeLike> = {
26
+ /** @internal */
27
+ readonly __typeGuard?: TEntity['name']
20
28
  readonly connectOrCreate: ConnectOrCreateInput<TEntity>
21
29
  }
22
30
 
23
31
  export type DisconnectSpecifiedRelationInput<TEntity extends EntityTypeLike> = {
32
+ /** @internal */
33
+ readonly __typeGuard?: TEntity['name']
24
34
  readonly disconnect: UniqueWhere<TEntity>
25
35
  }
26
36
 
27
37
  export type DeleteSpecifiedRelationInput<TEntity extends EntityTypeLike> = {
38
+ /** @internal */
39
+ readonly __typeGuard?: TEntity['name']
28
40
  readonly delete: UniqueWhere<TEntity>
29
41
  }
30
42
 
31
43
  export type UpdateSpecifiedRelationInput<TEntity extends EntityTypeLike> = {
44
+ /** @internal */
45
+ readonly __typeGuard?: TEntity['name']
32
46
  readonly update: {
33
47
  readonly by: UniqueWhere<TEntity>
34
48
  readonly data: UpdateDataInput<TEntity>
@@ -36,6 +50,8 @@ export namespace ContentClientInput {
36
50
  }
37
51
 
38
52
  export type UpsertSpecifiedRelationInput<TEntity extends EntityTypeLike> = {
53
+ /** @internal */
54
+ readonly __typeGuard?: TEntity['name']
39
55
  readonly upsert: {
40
56
  readonly by: UniqueWhere<TEntity>
41
57
  readonly update: UpdateDataInput<TEntity>
@@ -43,19 +59,27 @@ export namespace ContentClientInput {
43
59
  }
44
60
  }
45
61
 
46
- export type DisconnectRelationInput = {
62
+ export type DisconnectRelationInput<TEntity extends EntityTypeLike> = {
63
+ /** @internal */
64
+ readonly __typeGuard?: TEntity['name']
47
65
  readonly disconnect: true
48
66
  }
49
67
 
50
68
  export type UpdateRelationInput<TEntity extends EntityTypeLike> = {
69
+ /** @internal */
70
+ readonly __typeGuard?: TEntity['name']
51
71
  readonly update: UpdateDataInput<TEntity>
52
72
  }
53
73
 
54
- export type DeleteRelationInput = {
74
+ export type DeleteRelationInput<TEntity extends EntityTypeLike> = {
75
+ /** @internal */
76
+ readonly __typeGuard?: TEntity['name']
55
77
  readonly delete: true
56
78
  }
57
79
 
58
80
  export type UpsertRelationInput<TEntity extends EntityTypeLike> = {
81
+ /** @internal */
82
+ readonly __typeGuard?: TEntity['name']
59
83
  readonly upsert: {
60
84
  readonly update: UpdateDataInput<TEntity>
61
85
  readonly create: CreateDataInput<TEntity>
@@ -64,7 +88,11 @@ export namespace ContentClientInput {
64
88
 
65
89
  export type CreateDataInput<TEntity extends EntityTypeLike> =
66
90
  & {
67
- readonly [key in keyof TEntity['columns']]?: TEntity['columns'][key]['tsType']
91
+ /** @internal */
92
+ readonly __typeGuard?: TEntity['name']
93
+ }
94
+ & {
95
+ readonly [key in keyof TEntity['columns']]?: TEntity['columns'][key]
68
96
  }
69
97
  & {
70
98
  readonly [key in keyof TEntity['hasMany']]?: CreateManyRelationInput<TEntity['hasMany'][key]>
@@ -80,9 +108,16 @@ export namespace ContentClientInput {
80
108
 
81
109
  export type CreateManyRelationInput<TEntity extends EntityTypeLike> = readonly CreateOneRelationInput<TEntity>[]
82
110
 
111
+
83
112
  export type UpdateDataInput<TEntity extends EntityTypeLike> =
84
113
  & {
85
- readonly [key in keyof TEntity['columns']]?: TEntity['columns'][key]['tsType']
114
+ /**
115
+ * @internal
116
+ */
117
+ readonly __typeGuard?: TEntity['name']
118
+ }
119
+ & {
120
+ readonly [key in keyof TEntity['columns']]?: TEntity['columns'][key]
86
121
  }
87
122
  & {
88
123
  readonly [key in keyof TEntity['hasMany']]?: UpdateManyRelationInput<TEntity['hasMany'][key]>
@@ -92,12 +127,16 @@ export namespace ContentClientInput {
92
127
  }
93
128
 
94
129
  export type UpdateInput<TEntity extends EntityTypeLike> = {
130
+ /** @internal */
131
+ readonly __typeGuard?: TEntity['name']
95
132
  readonly by: UniqueWhere<TEntity>
96
133
  readonly filter?: Where<TEntity>
97
134
  readonly data: UpdateDataInput<TEntity>
98
135
  }
99
136
 
100
137
  export type UpsertInput<TEntity extends EntityTypeLike> = {
138
+ /** @internal */
139
+ readonly __typeGuard?: TEntity['name']
101
140
  readonly by: UniqueWhere<TEntity>
102
141
  readonly filter?: Where<TEntity>
103
142
  readonly update: UpdateDataInput<TEntity>
@@ -105,20 +144,28 @@ export namespace ContentClientInput {
105
144
  }
106
145
 
107
146
  export type CreateInput<TEntity extends EntityTypeLike> = {
147
+ /** @internal */
148
+ readonly __typeGuard?: TEntity['name']
108
149
  readonly data: CreateDataInput<TEntity>
109
150
  }
110
151
 
111
152
  export type DeleteInput<TEntity extends EntityTypeLike> = {
153
+ /** @internal */
154
+ readonly __typeGuard?: TEntity['name']
112
155
  readonly by: UniqueWhere<TEntity>
113
156
  readonly filter?: Where<TEntity>
114
157
  }
115
158
 
116
159
  export type UniqueQueryInput<TEntity extends EntityTypeLike> = {
160
+ /** @internal */
161
+ readonly __typeGuard?: TEntity['name']
117
162
  readonly by: UniqueWhere<TEntity>
118
163
  readonly filter?: Where<TEntity>
119
164
  }
120
165
 
121
166
  export type ListQueryInput<TEntity extends EntityTypeLike> = {
167
+ /** @internal */
168
+ readonly __typeGuard?: TEntity['name']
122
169
  readonly filter?: Where<TEntity>
123
170
  readonly orderBy?: readonly OrderBy<TEntity>[]
124
171
  readonly offset?: number
@@ -126,6 +173,8 @@ export namespace ContentClientInput {
126
173
  }
127
174
 
128
175
  export type PaginationQueryInput<TEntity extends EntityTypeLike> = {
176
+ /** @internal */
177
+ readonly __typeGuard?: TEntity['name']
129
178
  readonly filter?: Where<TEntity>
130
179
  readonly orderBy?: readonly OrderBy<TEntity>[]
131
180
  readonly skip?: number
@@ -133,10 +182,14 @@ export namespace ContentClientInput {
133
182
  }
134
183
 
135
184
  export type HasOneRelationInput<TEntity extends EntityTypeLike> = {
185
+ /** @internal */
186
+ readonly __typeGuard?: TEntity['name']
136
187
  readonly filter?: Where<TEntity>
137
188
  }
138
189
 
139
190
  export type HasManyByRelationInput<TEntity extends EntityTypeLike, TUnique extends JSONObject> = {
191
+ /** @internal */
192
+ readonly __typeGuard?: TEntity['name']
140
193
  readonly by: TUnique
141
194
  readonly filter?: Where<TEntity>
142
195
  }
@@ -149,8 +202,8 @@ export namespace ContentClientInput {
149
202
  | CreateRelationInput<TEntity>
150
203
  | ConnectRelationInput<TEntity>
151
204
  | ConnectOrCreateRelationInput<TEntity>
152
- | DeleteRelationInput
153
- | DisconnectRelationInput
205
+ | DeleteRelationInput<TEntity>
206
+ | DisconnectRelationInput<TEntity>
154
207
  | UpdateRelationInput<TEntity>
155
208
  | UpsertRelationInput<TEntity>
156
209
 
@@ -169,10 +222,11 @@ export namespace ContentClientInput {
169
222
 
170
223
  export type FieldOrderBy<TEntity extends EntityTypeLike> =
171
224
  & {
172
- readonly [key in keyof TEntity['columns']]?: `${Input.OrderDirection}` | null
225
+ /** @internal */
226
+ readonly __typeGuard?: TEntity['name']
173
227
  }
174
228
  & {
175
- readonly [key in keyof TEntity['hasMany']]?: FieldOrderBy<TEntity['hasMany'][key]> | null
229
+ readonly [key in keyof TEntity['columns']]?: `${Input.OrderDirection}` | null
176
230
  }
177
231
  & {
178
232
  readonly [key in keyof TEntity['hasOne']]?: FieldOrderBy<TEntity['hasOne'][key]> | null
@@ -180,17 +234,28 @@ export namespace ContentClientInput {
180
234
 
181
235
  export type OrderBy<TEntity extends EntityTypeLike> =
182
236
  & {
237
+ /** @internal */
238
+ readonly __typeGuard?: TEntity['name']
183
239
  readonly _random?: boolean
184
240
  readonly _randomSeeded?: number
185
241
  }
186
242
  & FieldOrderBy<TEntity>
187
243
 
188
244
 
189
- export type UniqueWhere<TEntity extends EntityTypeLike> = TEntity['unique']
245
+ export type UniqueWhere<TEntity extends EntityTypeLike> =
246
+ & {
247
+ /**
248
+ * @internal
249
+ */
250
+ readonly __typeGuard?: TEntity['name']
251
+ }
252
+ & TEntity['unique']
190
253
 
191
254
 
192
255
  export type Where<TEntity extends EntityTypeLike> =
193
256
  & {
257
+ /** @internal */
258
+ readonly __typeGuard?: TEntity['name']
194
259
  readonly and?: (readonly (Where<TEntity>)[]) | null
195
260
  readonly or?: (readonly (Where<TEntity>)[]) | null
196
261
  readonly not?: Where<TEntity> | null
@@ -28,14 +28,14 @@ export type EntityTypeLike = {
28
28
  [columnName: string]: any
29
29
  }
30
30
  hasOne: {
31
- [relationName: string]: EntityTypeLike
31
+ [relationName: string]: any
32
32
  }
33
33
  hasMany: {
34
- [relationName: string]: EntityTypeLike
34
+ [relationName: string]: any
35
35
  }
36
36
  hasManyBy: {
37
37
  [relationName: string]: {
38
- entity: EntityTypeLike
38
+ entity: any
39
39
  by: JSONObject
40
40
  }
41
41
  }