@contember/client-content 1.3.0-alpha.10

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 (145) 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 +11 -0
  10. package/dist/development/index.cjs.map +1 -0
  11. package/dist/development/index.js +11 -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 +11 -0
  54. package/dist/production/index.cjs.map +1 -0
  55. package/dist/production/index.js +11 -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 +17 -0
  90. package/dist/types/ContentClient.d.ts.map +1 -0
  91. package/dist/types/ContentQueryBuilder.d.ts +25 -0
  92. package/dist/types/ContentQueryBuilder.d.ts.map +1 -0
  93. package/dist/types/TypedContentQueryBuilder.d.ts +21 -0
  94. package/dist/types/TypedContentQueryBuilder.d.ts.map +1 -0
  95. package/dist/types/index.d.ts +6 -0
  96. package/dist/types/index.d.ts.map +1 -0
  97. package/dist/types/nodes/ContentEntitySelection.d.ts +51 -0
  98. package/dist/types/nodes/ContentEntitySelection.d.ts.map +1 -0
  99. package/dist/types/nodes/ContentOperation.d.ts +30 -0
  100. package/dist/types/nodes/ContentOperation.d.ts.map +1 -0
  101. package/dist/types/nodes/TypedEntitySelection.d.ts +45 -0
  102. package/dist/types/nodes/TypedEntitySelection.d.ts.map +1 -0
  103. package/dist/types/nodes/index.d.ts +4 -0
  104. package/dist/types/nodes/index.d.ts.map +1 -0
  105. package/dist/types/tsconfig.tsbuildinfo +1 -0
  106. package/dist/types/types/Input.d.ts +203 -0
  107. package/dist/types/types/Input.d.ts.map +1 -0
  108. package/dist/types/types/Result.d.ts +39 -0
  109. package/dist/types/types/Result.d.ts.map +1 -0
  110. package/dist/types/types/Schema.d.ts +43 -0
  111. package/dist/types/types/Schema.d.ts.map +1 -0
  112. package/dist/types/types/index.d.ts +4 -0
  113. package/dist/types/types/index.d.ts.map +1 -0
  114. package/dist/types/utils/ContentOperationSet.d.ts +13 -0
  115. package/dist/types/utils/ContentOperationSet.d.ts.map +1 -0
  116. package/dist/types/utils/createListArgs.d.ts +9 -0
  117. package/dist/types/utils/createListArgs.d.ts.map +1 -0
  118. package/dist/types/utils/createMutationOperationSet.d.ts +4 -0
  119. package/dist/types/utils/createMutationOperationSet.d.ts.map +1 -0
  120. package/dist/types/utils/createQueryOperationSet.d.ts +4 -0
  121. package/dist/types/utils/createQueryOperationSet.d.ts.map +1 -0
  122. package/dist/types/utils/createTypedArgs.d.ts +3 -0
  123. package/dist/types/utils/createTypedArgs.d.ts.map +1 -0
  124. package/dist/types/utils/mutationFragments.d.ts +3 -0
  125. package/dist/types/utils/mutationFragments.d.ts.map +1 -0
  126. package/package.json +48 -0
  127. package/src/ContentClient.ts +41 -0
  128. package/src/ContentQueryBuilder.ts +204 -0
  129. package/src/TypedContentQueryBuilder.ts +76 -0
  130. package/src/index.ts +5 -0
  131. package/src/nodes/ContentEntitySelection.ts +240 -0
  132. package/src/nodes/ContentOperation.ts +23 -0
  133. package/src/nodes/TypedEntitySelection.ts +111 -0
  134. package/src/nodes/index.ts +3 -0
  135. package/src/tsconfig.json +14 -0
  136. package/src/types/Input.ts +281 -0
  137. package/src/types/Result.ts +43 -0
  138. package/src/types/Schema.ts +49 -0
  139. package/src/types/index.ts +3 -0
  140. package/src/utils/ContentOperationSet.ts +11 -0
  141. package/src/utils/createListArgs.ts +23 -0
  142. package/src/utils/createMutationOperationSet.ts +42 -0
  143. package/src/utils/createQueryOperationSet.ts +20 -0
  144. package/src/utils/createTypedArgs.ts +15 -0
  145. package/src/utils/mutationFragments.ts +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/types/Input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { Result } from '@contember/schema';
2
+ export type TransactionResult<V> = {
3
+ readonly ok: boolean;
4
+ readonly errorMessage: string | null;
5
+ readonly errors: MutationError[];
6
+ readonly validation: ValidationResult;
7
+ readonly data: V;
8
+ };
9
+ export type MutationResult<Value = unknown> = {
10
+ readonly ok: boolean;
11
+ readonly errorMessage: string | null;
12
+ readonly errors: MutationError[];
13
+ readonly node: Value | null;
14
+ readonly validation?: ValidationResult;
15
+ };
16
+ export type ValidationResult = {
17
+ readonly valid: boolean;
18
+ readonly errors: ValidationError[];
19
+ };
20
+ export type ValidationError = {
21
+ readonly path: Path;
22
+ readonly message: {
23
+ text: string;
24
+ };
25
+ };
26
+ export type MutationError = {
27
+ readonly paths: Path[];
28
+ readonly message: string;
29
+ readonly type: Result.ExecutionErrorType;
30
+ };
31
+ export type Path = Array<FieldPath | IndexPath>;
32
+ export type FieldPath = {
33
+ readonly field: string;
34
+ };
35
+ export type IndexPath = {
36
+ readonly index: number;
37
+ readonly alias: string | null;
38
+ };
39
+ //# sourceMappingURL=Result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../../src/types/Result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IAClC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,GAAG,OAAO,IAAI;IAC7C,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;AAE/C,MAAM,MAAM,SAAS,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,SAAS,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { JSONObject } from '@contember/schema';
2
+ export type SchemaEntityNames<Name extends string> = {
3
+ readonly name: Name;
4
+ readonly scalars: string[];
5
+ readonly fields: {
6
+ readonly [fieldName: string]: {
7
+ readonly type: 'column';
8
+ } | {
9
+ readonly type: 'many' | 'one';
10
+ readonly entity: string;
11
+ };
12
+ };
13
+ };
14
+ export type SchemaNames = {
15
+ entities: {
16
+ [entityName: string]: SchemaEntityNames<string>;
17
+ };
18
+ };
19
+ export type EntityTypeLike = {
20
+ name: string;
21
+ unique: JSONObject;
22
+ columns: {
23
+ [columnName: string]: any;
24
+ };
25
+ hasOne: {
26
+ [relationName: string]: EntityTypeLike;
27
+ };
28
+ hasMany: {
29
+ [relationName: string]: EntityTypeLike;
30
+ };
31
+ hasManyBy: {
32
+ [relationName: string]: {
33
+ entity: EntityTypeLike;
34
+ by: JSONObject;
35
+ };
36
+ };
37
+ };
38
+ export type SchemaTypeLike = {
39
+ entities: {
40
+ [entityName: string]: EntityTypeLike;
41
+ };
42
+ };
43
+ //# sourceMappingURL=Schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/types/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,MAAM,iBAAiB,CAAC,IAAI,SAAS,MAAM,IAAI;IACpD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,SAAS,EAAE,MAAM,GACxB;YACD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;SACvB,GACC;YACD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;YAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SACvB,CAAA;KACF,CAAA;CACD,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE;QACT,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;KAC/C,CAAA;CACD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE;QACR,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;KACzB,CAAA;IACD,MAAM,EAAE;QACP,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,CAAA;KACtC,CAAA;IACD,OAAO,EAAE;QACR,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,CAAA;KACtC,CAAA;IACD,SAAS,EAAE;QACV,CAAC,YAAY,EAAE,MAAM,GAAG;YACvB,MAAM,EAAE,cAAc,CAAA;YACtB,EAAE,EAAE,UAAU,CAAA;SACd,CAAA;KACD,CAAA;CACD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE;QACT,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAAA;KACpC,CAAA;CACD,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Input';
2
+ export * from './Result';
3
+ export * from './Schema';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { GraphQlSelectionSet } from '@contember/graphql-builder';
2
+ export declare class ContentOperationSet<TValue> {
3
+ /** @internal */
4
+ readonly selection: GraphQlSelectionSet;
5
+ /** @internal */
6
+ readonly parse: (value: any) => TValue;
7
+ constructor(
8
+ /** @internal */
9
+ selection: GraphQlSelectionSet,
10
+ /** @internal */
11
+ parse?: (value: any) => TValue);
12
+ }
13
+ //# sourceMappingURL=ContentOperationSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentOperationSet.d.ts","sourceRoot":"","sources":["../../../src/utils/ContentOperationSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,qBAAa,mBAAmB,CAAC,MAAM;IAErC,gBAAgB;aACA,SAAS,EAAE,mBAAmB;IAC9C,gBAAgB;aACA,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM;;IAH7C,gBAAgB;IACA,SAAS,EAAE,mBAAmB;IAC9C,gBAAgB;IACA,KAAK,GAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAA2B;CAGnE"}
@@ -0,0 +1,9 @@
1
+ import { SchemaEntityNames } from '../types';
2
+ import { GraphQlFieldTypedArgs } from '@contember/graphql-builder';
3
+ export declare const createListArgs: (entity: SchemaEntityNames<string>, args: {
4
+ filter?: any;
5
+ orderBy?: any;
6
+ limit?: number;
7
+ offset?: number;
8
+ }, type?: 'list' | 'paginate') => GraphQlFieldTypedArgs;
9
+ //# sourceMappingURL=createListArgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createListArgs.d.ts","sourceRoot":"","sources":["../../../src/utils/createListArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,eAAO,MAAM,cAAc,WAAY,kBAAkB,MAAM,CAAC,QAAQ;IAAE,MAAM,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,SAAQ,MAAM,GAAG,UAAU,KAAY,qBAmB9K,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { ContentMutation, ContentQuery } from '../nodes';
2
+ import { ContentOperationSet } from './ContentOperationSet';
3
+ export declare const createMutationOperationSet: (input: Record<string, ContentMutation<any> | ContentQuery<any>> | ContentMutation<any> | ContentMutation<any>[]) => ContentOperationSet<any>;
4
+ //# sourceMappingURL=createMutationOperationSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMutationOperationSet.d.ts","sourceRoot":"","sources":["../../../src/utils/createMutationOperationSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAoB,YAAY,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,eAAO,MAAM,0BAA0B,UAEnC,OAAO,MAAM,EAAE,gBAAgB,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC,GACxD,gBAAgB,GAAG,CAAC,GACpB,gBAAgB,GAAG,CAAC,EAAE,KACvB,oBAAoB,GAAG,CAgCzB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { ContentQuery } from '../nodes';
2
+ import { ContentOperationSet } from './ContentOperationSet';
3
+ export declare const createQueryOperationSet: (input: Record<string, ContentQuery<any>> | ContentQuery<any>) => ContentOperationSet<any>;
4
+ //# sourceMappingURL=createQueryOperationSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createQueryOperationSet.d.ts","sourceRoot":"","sources":["../../../src/utils/createQueryOperationSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAG3D,eAAO,MAAM,uBAAuB,UAC5B,OAAO,MAAM,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,KAC1D,oBAAoB,GAAG,CAazB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { GraphQlFieldTypedArgs } from '@contember/graphql-builder';
2
+ export declare const createTypedArgs: <TArgs extends Record<string, any>>(args: TArgs, types: { [key in keyof TArgs]: string; }) => GraphQlFieldTypedArgs;
3
+ //# sourceMappingURL=createTypedArgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTypedArgs.d.ts","sourceRoot":"","sources":["../../../src/utils/createTypedArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,eAAO,MAAM,eAAe,gGAGzB,qBASF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { GraphQlFragment } from '@contember/graphql-builder';
2
+ export declare const mutationFragments: Record<string, GraphQlFragment>;
3
+ //# sourceMappingURL=mutationFragments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationFragments.d.ts","sourceRoot":"","sources":["../../../src/utils/mutationFragments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,eAAe,EAAgD,MAAM,4BAA4B,CAAA;AAExH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiD7D,CAAA"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@contember/client-content",
3
+ "license": "Apache-2.0",
4
+ "version": "1.3.0-alpha.10",
5
+ "main": "./dist/production/index.js",
6
+ "exports": {
7
+ ".": {
8
+ "import": {
9
+ "types": "./dist/types/index.d.ts",
10
+ "development": "./dist/development/index.js",
11
+ "production": "./dist/production/index.js",
12
+ "default": "./dist/production/index.js"
13
+ },
14
+ "require": {
15
+ "types": "./dist/types/index.d.ts",
16
+ "development": "./dist/development/index.cjs",
17
+ "production": "./dist/production/index.cjs",
18
+ "default": "./dist/production/index.cjs"
19
+ }
20
+ }
21
+ },
22
+ "files": [
23
+ "dist/",
24
+ "src/"
25
+ ],
26
+ "typings": "./dist/types/index.d.ts",
27
+ "type": "module",
28
+ "sideEffects": false,
29
+ "scripts": {
30
+ "build": "yarn build:js:dev && yarn build:js:prod",
31
+ "build:js:dev": "NODE_ENV=development vite build --mode development",
32
+ "build:js:prod": "vite build --mode production",
33
+ "ae:build": "api-extractor run --local",
34
+ "ae:test": "api-extractor run",
35
+ "test": "vitest"
36
+ },
37
+ "dependencies": {
38
+ "@contember/graphql-builder": "1.3.0-alpha.10",
39
+ "@contember/graphql-client": "1.3.0-alpha.10",
40
+ "@contember/schema": "^1.3.6"
41
+ },
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "https://github.com/contember/interface.git",
45
+ "directory": "packages/client-content"
46
+ },
47
+ "stableVersion": "0.0.0"
48
+ }
@@ -0,0 +1,41 @@
1
+ import { mutationFragments } from './utils/mutationFragments'
2
+ import { GraphQlClient, GraphQlClientRequestOptions } from '@contember/graphql-client'
3
+ import { GraphQlQueryPrinter } from '@contember/graphql-builder'
4
+ import { ContentMutation, ContentQuery } from './nodes'
5
+ import { createMutationOperationSet } from './utils/createMutationOperationSet'
6
+ import { createQueryOperationSet } from './utils/createQueryOperationSet'
7
+
8
+
9
+ export type QueryExecutorOptions =
10
+ & GraphQlClientRequestOptions
11
+
12
+ export class ContentClient {
13
+ constructor(
14
+ private readonly client: Pick<GraphQlClient, 'execute'>,
15
+ ) {
16
+ }
17
+
18
+
19
+ public async query<Value>(query: ContentQuery<Value>, options?: QueryExecutorOptions): Promise<Value>
20
+ public async query<Values extends Record<string, any>>(queries: {[K in keyof Values]: ContentQuery<Values[K]>}, options?: QueryExecutorOptions): Promise<Values>
21
+ public async query(queries: Record<string, ContentQuery<any>> | ContentQuery<any>, options?: QueryExecutorOptions): Promise<any> {
22
+ const printer = new GraphQlQueryPrinter()
23
+ const operationSet = createQueryOperationSet(queries)
24
+ const { query, variables } = printer.printDocument('query', operationSet.selection, {})
25
+ const result = await this.client.execute(query, { variables, ...options })
26
+ return operationSet.parse(result)
27
+ }
28
+
29
+ public async mutate<Value>(mutation: ContentMutation<Value>, options?: QueryExecutorOptions,): Promise<Value>
30
+ public async mutate<Value>(mutations: ContentMutation<Value>[], options?: QueryExecutorOptions,): Promise<Value[]>
31
+ public async mutate<Values extends Record<string, any>>(mutations: { [K in keyof Values]: ContentMutation<Values[K]> | ContentQuery<Values[K]> }, options?: QueryExecutorOptions): Promise<Values>
32
+ public async mutate(input: Record<string, ContentMutation<any> | ContentQuery<any>> | ContentMutation<any> | ContentMutation<any>[], options?: QueryExecutorOptions): Promise<any> {
33
+ const operationSet = createMutationOperationSet(input)
34
+
35
+ const printer = new GraphQlQueryPrinter()
36
+ const { query, variables } = printer.printDocument('mutation', operationSet.selection, mutationFragments)
37
+ const result = await this.client.execute(query, { variables, ...options })
38
+
39
+ return operationSet.parse(result)
40
+ }
41
+ }
@@ -0,0 +1,204 @@
1
+ import { ContentClientInput, MutationResult, SchemaNames, TransactionResult } from './types'
2
+ import {
3
+ ContentEntitySelection,
4
+ ContentEntitySelectionCallback,
5
+ ContentEntitySelectionContext,
6
+ ContentMutation,
7
+ ContentOperation,
8
+ ContentQuery,
9
+ } from './nodes'
10
+ import { createListArgs } from './utils/createListArgs'
11
+ import { createTypedArgs } from './utils/createTypedArgs'
12
+ import { Input } from '@contember/schema'
13
+ import { GraphQlField, GraphQlFragmentSpread, GraphQlSelectionSet } from '@contember/graphql-builder'
14
+ import { createMutationOperationSet } from './utils/createMutationOperationSet'
15
+
16
+ export type EntitySelectionOrCallback =
17
+ | ContentEntitySelection
18
+ | ContentEntitySelectionCallback
19
+
20
+ export type MutationTransactionOptions = {
21
+ deferForeignKeyConstraints?: boolean
22
+ deferUniqueConstraints?: boolean
23
+ }
24
+
25
+ export class ContentQueryBuilder {
26
+ constructor(private readonly schema: SchemaNames) {
27
+ }
28
+
29
+
30
+ public fragment(name: string, fieldsCallback?: ContentEntitySelectionCallback): ContentEntitySelection {
31
+ const context = this.createContext(name)
32
+
33
+ const entitySelection = new ContentEntitySelection(context, [])
34
+ if (!fieldsCallback) {
35
+ return entitySelection
36
+ }
37
+ return fieldsCallback(entitySelection)
38
+ }
39
+
40
+
41
+
42
+ public count(name: string, args: Pick<ContentClientInput.AnyListQueryInput, 'filter'>): ContentQuery<number> {
43
+ const context = this.createContext(name)
44
+ const fieldName = `paginate${name}`
45
+ const typedArgs = createTypedArgs(args, {
46
+ filter: `${context.entity.name}Where`,
47
+ })
48
+ const selectionSet: GraphQlSelectionSet = [
49
+ new GraphQlField(null, 'pageInfo', {}, [
50
+ new GraphQlField(null, 'totalCount'),
51
+ ]),
52
+ ]
53
+
54
+ return new ContentOperation('query', fieldName, typedArgs, selectionSet, it => {
55
+ return it.pageInfo.totalCount
56
+ })
57
+ }
58
+
59
+
60
+ public list(name: string, args: ContentClientInput.AnyListQueryInput, fields: EntitySelectionOrCallback): ContentQuery<any[]> {
61
+ const context = this.createContext(name)
62
+ const fieldName = `list${name}`
63
+ const typedArgs = createListArgs(context.entity, args)
64
+ const selectionSet = this.resolveSelectionSet(fields, context)
65
+
66
+ return new ContentOperation('query', fieldName, typedArgs, selectionSet)
67
+ }
68
+
69
+
70
+ public get(name: string, args: Input.UniqueQueryInput, fields: EntitySelectionOrCallback): ContentQuery<Record<string, unknown> | null> {
71
+ const context = this.createContext(name)
72
+ const fieldName = `get${name}`
73
+ const typedArgs = createTypedArgs(args, {
74
+ by: `${context.entity.name}UniqueWhere!`,
75
+ filter: `${context.entity.name}Where`,
76
+ })
77
+ const selectionSet = this.resolveSelectionSet(fields, context)
78
+
79
+ return new ContentOperation('query', fieldName, typedArgs, selectionSet)
80
+ }
81
+
82
+
83
+ public create(name: string, args: Input.CreateInput, fields?: EntitySelectionOrCallback): ContentMutation<MutationResult> {
84
+
85
+ const context = this.createContext(name)
86
+ const fieldName = `create${name}`
87
+ const typedArgs = createTypedArgs(args, {
88
+ data: `${context.entity.name}CreateInput!`,
89
+ })
90
+ const selectionSet = this.createMutationSelection('create', fields ? this.resolveSelectionSet(fields, context) : undefined)
91
+
92
+ return new ContentOperation('mutation', fieldName, typedArgs, selectionSet)
93
+ }
94
+
95
+
96
+ public update(name: string, args: Input.UpdateInput, fields?: EntitySelectionOrCallback): ContentMutation<MutationResult> {
97
+
98
+ const context = this.createContext(name)
99
+ const fieldName = `update${name}`
100
+ const typedArgs = createTypedArgs(args, {
101
+ data: `${context.entity.name}UpdateInput!`,
102
+ by: `${context.entity.name}UniqueWhere!`,
103
+ filter: `${context.entity.name}Where`,
104
+ })
105
+ const selectionSet = this.createMutationSelection('update', fields ? this.resolveSelectionSet(fields, context) : undefined)
106
+
107
+ return new ContentOperation('mutation', fieldName, typedArgs, selectionSet)
108
+ }
109
+
110
+
111
+ public upsert(name: string, args: Input.UpsertInput, fields?: EntitySelectionOrCallback): ContentMutation<MutationResult> {
112
+
113
+ const context = this.createContext(name)
114
+ const fieldName = `upsert${name}`
115
+ const typedArgs = createTypedArgs(args, {
116
+ update: `${context.entity.name}UpdateInput!`,
117
+ create: `${context.entity.name}CreateInput!`,
118
+ by: `${context.entity.name}UniqueWhere!`,
119
+ filter: `${context.entity.name}Where`,
120
+ })
121
+
122
+ const selectionSet = this.createMutationSelection('upsert', fields ? this.resolveSelectionSet(fields, context) : undefined)
123
+
124
+ return new ContentOperation('mutation', fieldName, typedArgs, selectionSet)
125
+ }
126
+
127
+
128
+ public delete(name: string, args: Input.UniqueQueryInput, fields?: EntitySelectionOrCallback): ContentMutation<MutationResult> {
129
+
130
+ const context = this.createContext(name)
131
+ const typedArgs = createTypedArgs(args, {
132
+ by: `${context.entity.name}UniqueWhere!`,
133
+ filter: `${context.entity.name}Where`,
134
+ })
135
+ const fieldName = `delete${name}`
136
+ const selectionSet = this.createMutationSelection('delete', fields ? this.resolveSelectionSet(fields, context) : undefined)
137
+
138
+ return new ContentOperation('mutation', fieldName, typedArgs, selectionSet)
139
+ }
140
+
141
+ public transaction(
142
+ input: Record<string, ContentMutation<any> | ContentQuery<any>> | ContentMutation<any> | ContentMutation<any>[],
143
+ options: MutationTransactionOptions = {},
144
+ ): ContentMutation<TransactionResult<any>> {
145
+ const combined = createMutationOperationSet(input)
146
+
147
+ const transactionArgs = createTypedArgs({ options }, {
148
+ options: 'MutationTransactionOptions',
149
+ })
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 }) => {
155
+ return {
156
+ ok,
157
+ errorMessage,
158
+ errors,
159
+ validation,
160
+ data: combined.parse(data),
161
+ }
162
+ })
163
+ }
164
+
165
+ private createMutationSelection(operation: 'create' | 'update' | 'delete' | 'upsert' | 'transaction', selection?: GraphQlSelectionSet): GraphQlSelectionSet {
166
+ const items: GraphQlSelectionSet = [
167
+ new GraphQlField(null, 'ok'),
168
+ new GraphQlField(null, 'errorMessage'),
169
+ new GraphQlField(null, 'errors', {}, [
170
+ new GraphQlFragmentSpread('MutationError'),
171
+ ]),
172
+ ]
173
+ if (operation !== 'delete') {
174
+ items.push(new GraphQlField(null, 'validation', {}, [
175
+ new GraphQlFragmentSpread('ValidationResult'),
176
+ ]))
177
+ }
178
+ if (selection) {
179
+ items.push(new GraphQlField(null, 'node', {}, selection))
180
+ }
181
+ return items
182
+ }
183
+
184
+
185
+ private resolveSelectionSet(
186
+ fields: EntitySelectionOrCallback,
187
+ context: ContentEntitySelectionContext<string>,
188
+ ) {
189
+ return (typeof fields === 'function' ? fields(new ContentEntitySelection(context, [])) : fields).selectionSet
190
+ }
191
+
192
+ private createContext(
193
+ name: string,
194
+ ): ContentEntitySelectionContext<string> {
195
+ const entity = this.schema.entities[name]
196
+ if (!entity) {
197
+ throw new Error(`Entity ${name} not found`)
198
+ }
199
+ return {
200
+ entity: entity,
201
+ schema: this.schema,
202
+ }
203
+ }
204
+ }
@@ -0,0 +1,76 @@
1
+ import { ContentClientInput, MutationResult, SchemaTypeLike, TransactionResult } from './types'
2
+ import { ContentMutation, ContentQuery, TypedEntitySelection, TypedEntitySelectionCallback } from './nodes'
3
+ import { MutationTransactionOptions } from './ContentQueryBuilder'
4
+
5
+
6
+ export type TypedContentEntitySelectionOrCallback<TSchema extends SchemaTypeLike, TEntityName extends keyof TSchema['entities'] & string, TValue> =
7
+ | TypedEntitySelection<TSchema, TEntityName, TSchema['entities'][TEntityName], TValue>
8
+ | TypedEntitySelectionCallback<TSchema, TEntityName, TSchema['entities'][TEntityName], TValue>
9
+
10
+
11
+ export interface TypedContentQueryBuilder<TSchema extends SchemaTypeLike> {
12
+
13
+ fragment<EntityName extends keyof TSchema['entities'] & string>(
14
+ name: EntityName,
15
+ ): TypedEntitySelection<TSchema, EntityName, TSchema['entities'][EntityName], {}>
16
+ fragment<EntityName extends keyof TSchema['entities'] & string, TFields>(
17
+ name: EntityName,
18
+ fieldsCallback: TypedEntitySelectionCallback<TSchema, EntityName, TSchema['entities'][EntityName], TFields>,
19
+ ): TypedEntitySelection<TSchema, EntityName, TSchema['entities'][EntityName], TFields>
20
+
21
+ count<EntityName extends keyof TSchema['entities'] & string>(
22
+ name: EntityName,
23
+ args: Pick<ContentClientInput.ListQueryInput<TSchema['entities'][EntityName]>, 'filter'>,
24
+ ): ContentQuery<number>
25
+
26
+ list<EntityName extends keyof TSchema['entities'] & string, TValue>(
27
+ name: EntityName,
28
+ args: ContentClientInput.ListQueryInput<TSchema['entities'][EntityName]>,
29
+ fields: TypedContentEntitySelectionOrCallback<TSchema, EntityName, TValue>,
30
+ ): ContentQuery<TValue[]>
31
+
32
+ get<EntityName extends keyof TSchema['entities'] & string, TValue>(
33
+ name: EntityName,
34
+ args: ContentClientInput.UniqueQueryInput<TSchema['entities'][EntityName]>,
35
+ fields: TypedContentEntitySelectionOrCallback<TSchema, EntityName, TValue>,
36
+ ): ContentQuery<TValue | null>
37
+
38
+ create<EntityName extends keyof TSchema['entities'] & string, TValue>(
39
+ name: EntityName,
40
+ args: ContentClientInput.CreateInput<TSchema['entities'][EntityName]>,
41
+ fields?: TypedContentEntitySelectionOrCallback<TSchema, EntityName, TValue>,
42
+ ): ContentMutation<MutationResult<TValue>>
43
+
44
+ update<EntityName extends keyof TSchema['entities'] & string, TValue>(
45
+ name: EntityName,
46
+ args: ContentClientInput.UpdateInput<TSchema['entities'][EntityName]>,
47
+ fields?: TypedContentEntitySelectionOrCallback<TSchema, EntityName, TValue>,
48
+ ): ContentMutation<MutationResult<TValue>>
49
+
50
+ upsert<EntityName extends keyof TSchema['entities'] & string, TValue>(
51
+ name: EntityName,
52
+ args: ContentClientInput.UpsertInput<TSchema['entities'][EntityName]>,
53
+ fields?: TypedContentEntitySelectionOrCallback<TSchema, EntityName, TValue>,
54
+ ): ContentMutation<MutationResult<TValue>>
55
+
56
+ delete<EntityName extends keyof TSchema['entities'] & string, TValue>(
57
+ name: EntityName,
58
+ args: ContentClientInput.UniqueQueryInput<TSchema['entities'][EntityName]>,
59
+ fields?: TypedContentEntitySelectionOrCallback<TSchema, EntityName, TValue>,
60
+ ): ContentMutation<MutationResult<TValue>>
61
+
62
+ transaction<Value>(
63
+ mutation: ContentMutation<Value>,
64
+ options?: MutationTransactionOptions,
65
+ ): ContentMutation<TransactionResult<Value>>
66
+ transaction<Value>(
67
+ mutations: ContentMutation<Value>[],
68
+ options?: MutationTransactionOptions,
69
+ ): ContentMutation<TransactionResult<Value[]>>
70
+
71
+ transaction<Values extends Record<string, any>>(
72
+ mutations: { [K in keyof Values]: ContentMutation<Values[K]> | ContentQuery<Values[K]> },
73
+ options?: MutationTransactionOptions,
74
+ ): ContentMutation<TransactionResult<Values>>
75
+ }
76
+
package/src/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from './ContentClient'
2
+ export * from './TypedContentQueryBuilder'
3
+ export * from './ContentQueryBuilder'
4
+ export * from './nodes'
5
+ export * from './types'