@contember/client 1.2.5 → 1.3.0-alpha.2
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/dist/development/content/formatContentApiRelativeUrl.cjs +5 -0
- package/dist/development/content/formatContentApiRelativeUrl.cjs.map +1 -0
- package/dist/development/content/params/whereToFilter.cjs +17 -0
- package/dist/development/content/params/whereToFilter.cjs.map +1 -0
- package/dist/development/content/replaceGraphQlLiteral.cjs +15 -0
- package/dist/development/content/replaceGraphQlLiteral.cjs.map +1 -0
- package/dist/development/content/replaceGraphQlLiteral.js +15 -0
- package/dist/development/content/replaceGraphQlLiteral.js.map +1 -0
- package/dist/development/content/upload/FileUploadError.cjs +10 -0
- package/dist/development/content/upload/FileUploadError.cjs.map +1 -0
- package/dist/development/content/upload/GenerateUploadUrlMutationBuilder.cjs +64 -0
- package/dist/development/content/upload/GenerateUploadUrlMutationBuilder.cjs.map +1 -0
- package/dist/development/content/upload/GenerateUploadUrlMutationBuilder.js +48 -19
- package/dist/development/content/upload/GenerateUploadUrlMutationBuilder.js.map +1 -1
- package/dist/development/content/upload/S3FileUploader.cjs +107 -0
- package/dist/development/content/upload/S3FileUploader.cjs.map +1 -0
- package/dist/development/content/upload/S3FileUploader.js +1 -2
- package/dist/development/content/upload/S3FileUploader.js.map +1 -1
- package/dist/development/graphQlBuilder/GraphQlLiteral.cjs +15 -0
- package/dist/development/graphQlBuilder/GraphQlLiteral.cjs.map +1 -0
- package/dist/development/graphQlBuilder/GraphQlLiteral.js +3 -0
- package/dist/development/graphQlBuilder/GraphQlLiteral.js.map +1 -1
- package/dist/development/graphQlClient/GraphQlClient.cjs +26 -0
- package/dist/development/graphQlClient/GraphQlClient.cjs.map +1 -0
- package/dist/development/graphQlClient/GraphQlClient.js +9 -16
- package/dist/development/graphQlClient/GraphQlClient.js.map +1 -1
- package/dist/development/index.cjs +46 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +5 -26
- package/dist/development/index.js.map +1 -1
- package/dist/development/system/formatSystemApiRelativeUrl.cjs +5 -0
- package/dist/development/system/formatSystemApiRelativeUrl.cjs.map +1 -0
- package/dist/development/tenant/loginMutation.cjs +34 -0
- package/dist/development/tenant/loginMutation.cjs.map +1 -0
- package/dist/development/tenant/tenantApiRelativeUrl.cjs +5 -0
- package/dist/development/tenant/tenantApiRelativeUrl.cjs.map +1 -0
- package/dist/development/tenant/tenantErrorMessages.cjs +18 -0
- package/dist/development/tenant/tenantErrorMessages.cjs.map +1 -0
- package/dist/development/utils/readFileAsArrayBuffer.cjs +15 -0
- package/dist/development/utils/readFileAsArrayBuffer.cjs.map +1 -0
- package/dist/production/content/formatContentApiRelativeUrl.cjs +5 -0
- package/dist/production/content/formatContentApiRelativeUrl.cjs.map +1 -0
- package/dist/production/content/params/whereToFilter.cjs +17 -0
- package/dist/production/content/params/whereToFilter.cjs.map +1 -0
- package/dist/production/content/replaceGraphQlLiteral.cjs +15 -0
- package/dist/production/content/replaceGraphQlLiteral.cjs.map +1 -0
- package/dist/production/content/replaceGraphQlLiteral.js +15 -0
- package/dist/production/content/replaceGraphQlLiteral.js.map +1 -0
- package/dist/production/content/upload/FileUploadError.cjs +10 -0
- package/dist/production/content/upload/FileUploadError.cjs.map +1 -0
- package/dist/production/content/upload/GenerateUploadUrlMutationBuilder.cjs +64 -0
- package/dist/production/content/upload/GenerateUploadUrlMutationBuilder.cjs.map +1 -0
- package/dist/production/content/upload/GenerateUploadUrlMutationBuilder.js +48 -19
- package/dist/production/content/upload/GenerateUploadUrlMutationBuilder.js.map +1 -1
- package/dist/production/content/upload/S3FileUploader.cjs +107 -0
- package/dist/production/content/upload/S3FileUploader.cjs.map +1 -0
- package/dist/production/content/upload/S3FileUploader.js +1 -2
- package/dist/production/content/upload/S3FileUploader.js.map +1 -1
- package/dist/production/graphQlBuilder/GraphQlLiteral.cjs +12 -0
- package/dist/production/graphQlBuilder/GraphQlLiteral.cjs.map +1 -0
- package/dist/production/graphQlBuilder/GraphQlLiteral.js.map +1 -1
- package/dist/production/graphQlClient/GraphQlClient.cjs +26 -0
- package/dist/production/graphQlClient/GraphQlClient.cjs.map +1 -0
- package/dist/production/graphQlClient/GraphQlClient.js +9 -16
- package/dist/production/graphQlClient/GraphQlClient.js.map +1 -1
- package/dist/production/index.cjs +46 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +5 -26
- package/dist/production/index.js.map +1 -1
- package/dist/production/system/formatSystemApiRelativeUrl.cjs +5 -0
- package/dist/production/system/formatSystemApiRelativeUrl.cjs.map +1 -0
- package/dist/production/tenant/loginMutation.cjs +34 -0
- package/dist/production/tenant/loginMutation.cjs.map +1 -0
- package/dist/production/tenant/tenantApiRelativeUrl.cjs +5 -0
- package/dist/production/tenant/tenantApiRelativeUrl.cjs.map +1 -0
- package/dist/production/tenant/tenantErrorMessages.cjs +18 -0
- package/dist/production/tenant/tenantErrorMessages.cjs.map +1 -0
- package/dist/production/utils/readFileAsArrayBuffer.cjs +15 -0
- package/dist/production/utils/readFileAsArrayBuffer.cjs.map +1 -0
- package/dist/types/content/index.d.ts +1 -0
- package/dist/types/content/index.d.ts.map +1 -1
- package/dist/types/content/replaceGraphQlLiteral.d.ts +6 -0
- package/dist/types/content/replaceGraphQlLiteral.d.ts.map +1 -0
- package/dist/types/content/upload/GenerateUploadUrlMutationBuilder.d.ts +8 -4
- package/dist/types/content/upload/GenerateUploadUrlMutationBuilder.d.ts.map +1 -1
- package/dist/types/content/upload/S3FileUploader.d.ts.map +1 -1
- package/dist/types/crudQueryBuilder/index.d.ts +0 -6
- package/dist/types/crudQueryBuilder/index.d.ts.map +1 -1
- package/dist/types/crudQueryBuilder/types.d.ts +2 -43
- package/dist/types/crudQueryBuilder/types.d.ts.map +1 -1
- package/dist/types/graphQlBuilder/GraphQlLiteral.d.ts +3 -0
- package/dist/types/graphQlBuilder/GraphQlLiteral.d.ts.map +1 -1
- package/dist/types/graphQlBuilder/QueryBuilder.d.ts +2 -8
- package/dist/types/graphQlBuilder/QueryBuilder.d.ts.map +1 -1
- package/dist/types/graphQlBuilder/index.d.ts +0 -3
- package/dist/types/graphQlBuilder/index.d.ts.map +1 -1
- package/dist/types/graphQlClient/GraphQlClient.d.ts +10 -12
- package/dist/types/graphQlClient/GraphQlClient.d.ts.map +1 -1
- package/dist/types/graphQlClient/index.d.ts +2 -0
- package/dist/types/graphQlClient/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -29
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -3
- package/src/content/index.ts +1 -1
- package/src/content/replaceGraphQlLiteral.ts +22 -0
- package/src/content/upload/GenerateUploadUrlMutationBuilder.ts +56 -33
- package/src/content/upload/S3FileUploader.ts +1 -2
- package/src/crudQueryBuilder/index.ts +0 -6
- package/src/crudQueryBuilder/types.ts +5 -70
- package/src/graphQlBuilder/GraphQlLiteral.ts +8 -1
- package/src/graphQlBuilder/QueryBuilder.ts +2 -23
- package/src/graphQlBuilder/index.ts +0 -3
- package/src/graphQlClient/GraphQlClient.ts +15 -28
- package/src/graphQlClient/index.ts +7 -0
- package/src/index.ts +5 -31
- package/src/tsconfig.json +12 -1
- package/dist/development/crudQueryBuilder/CrudQueryBuilder.js +0 -104
- package/dist/development/crudQueryBuilder/CrudQueryBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/CrudQueryBuilderError.js +0 -6
- package/dist/development/crudQueryBuilder/CrudQueryBuilderError.js.map +0 -1
- package/dist/development/crudQueryBuilder/ErrorsRelationBuilder.js +0 -15
- package/dist/development/crudQueryBuilder/ErrorsRelationBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/ReadBuilder.js +0 -70
- package/dist/development/crudQueryBuilder/ReadBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/ValidationRelationBuilder.js +0 -18
- package/dist/development/crudQueryBuilder/ValidationRelationBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/WriteBuilder.js +0 -54
- package/dist/development/crudQueryBuilder/WriteBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/WriteDataBuilder.js +0 -110
- package/dist/development/crudQueryBuilder/WriteDataBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/WriteManyRelationBuilder.js +0 -77
- package/dist/development/crudQueryBuilder/WriteManyRelationBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/WriteOneRelationBuilder.js +0 -51
- package/dist/development/crudQueryBuilder/WriteOneRelationBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/types.js +0 -40
- package/dist/development/crudQueryBuilder/types.js.map +0 -1
- package/dist/development/graphQlBuilder/GraphQlBuilderError.js +0 -6
- package/dist/development/graphQlBuilder/GraphQlBuilderError.js.map +0 -1
- package/dist/development/graphQlBuilder/ObjectBuilder.js +0 -80
- package/dist/development/graphQlBuilder/ObjectBuilder.js.map +0 -1
- package/dist/development/graphQlBuilder/QueryBuilder.js +0 -22
- package/dist/development/graphQlBuilder/QueryBuilder.js.map +0 -1
- package/dist/development/graphQlBuilder/QueryCompiler.js +0 -101
- package/dist/development/graphQlBuilder/QueryCompiler.js.map +0 -1
- package/dist/development/graphQlBuilder/RootObjectBuilder.js +0 -31
- package/dist/development/graphQlBuilder/RootObjectBuilder.js.map +0 -1
- package/dist/development/utils/isEmptyObject.js +0 -12
- package/dist/development/utils/isEmptyObject.js.map +0 -1
- package/dist/production/crudQueryBuilder/CrudQueryBuilder.js +0 -104
- package/dist/production/crudQueryBuilder/CrudQueryBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/CrudQueryBuilderError.js +0 -6
- package/dist/production/crudQueryBuilder/CrudQueryBuilderError.js.map +0 -1
- package/dist/production/crudQueryBuilder/ErrorsRelationBuilder.js +0 -15
- package/dist/production/crudQueryBuilder/ErrorsRelationBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/ReadBuilder.js +0 -70
- package/dist/production/crudQueryBuilder/ReadBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/ValidationRelationBuilder.js +0 -18
- package/dist/production/crudQueryBuilder/ValidationRelationBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/WriteBuilder.js +0 -54
- package/dist/production/crudQueryBuilder/WriteBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/WriteDataBuilder.js +0 -110
- package/dist/production/crudQueryBuilder/WriteDataBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/WriteManyRelationBuilder.js +0 -77
- package/dist/production/crudQueryBuilder/WriteManyRelationBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/WriteOneRelationBuilder.js +0 -51
- package/dist/production/crudQueryBuilder/WriteOneRelationBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/types.js +0 -40
- package/dist/production/crudQueryBuilder/types.js.map +0 -1
- package/dist/production/graphQlBuilder/GraphQlBuilderError.js +0 -6
- package/dist/production/graphQlBuilder/GraphQlBuilderError.js.map +0 -1
- package/dist/production/graphQlBuilder/ObjectBuilder.js +0 -80
- package/dist/production/graphQlBuilder/ObjectBuilder.js.map +0 -1
- package/dist/production/graphQlBuilder/QueryBuilder.js +0 -22
- package/dist/production/graphQlBuilder/QueryBuilder.js.map +0 -1
- package/dist/production/graphQlBuilder/QueryCompiler.js +0 -101
- package/dist/production/graphQlBuilder/QueryCompiler.js.map +0 -1
- package/dist/production/graphQlBuilder/RootObjectBuilder.js +0 -31
- package/dist/production/graphQlBuilder/RootObjectBuilder.js.map +0 -1
- package/dist/production/utils/isEmptyObject.js +0 -12
- package/dist/production/utils/isEmptyObject.js.map +0 -1
- package/dist/types/crudQueryBuilder/CrudQueryBuilder.d.ts +0 -21
- package/dist/types/crudQueryBuilder/CrudQueryBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/CrudQueryBuilderError.d.ts +0 -3
- package/dist/types/crudQueryBuilder/CrudQueryBuilderError.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/ErrorsRelationBuilder.d.ts +0 -5
- package/dist/types/crudQueryBuilder/ErrorsRelationBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/ReadBuilder.d.ts +0 -31
- package/dist/types/crudQueryBuilder/ReadBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/ValidationRelationBuilder.d.ts +0 -5
- package/dist/types/crudQueryBuilder/ValidationRelationBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/WriteBuilder.d.ts +0 -24
- package/dist/types/crudQueryBuilder/WriteBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/WriteDataBuilder.d.ts +0 -24
- package/dist/types/crudQueryBuilder/WriteDataBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/WriteManyRelationBuilder.d.ts +0 -27
- package/dist/types/crudQueryBuilder/WriteManyRelationBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/WriteOneRelationBuilder.d.ts +0 -28
- package/dist/types/crudQueryBuilder/WriteOneRelationBuilder.d.ts.map +0 -1
- package/dist/types/graphQlBuilder/GraphQlBuilderError.d.ts +0 -3
- package/dist/types/graphQlBuilder/GraphQlBuilderError.d.ts.map +0 -1
- package/dist/types/graphQlBuilder/ObjectBuilder.d.ts +0 -28
- package/dist/types/graphQlBuilder/ObjectBuilder.d.ts.map +0 -1
- package/dist/types/graphQlBuilder/QueryCompiler.d.ts +0 -13
- package/dist/types/graphQlBuilder/QueryCompiler.d.ts.map +0 -1
- package/dist/types/graphQlBuilder/RootObjectBuilder.d.ts +0 -17
- package/dist/types/graphQlBuilder/RootObjectBuilder.d.ts.map +0 -1
- package/src/crudQueryBuilder/CrudQueryBuilder.ts +0 -168
- package/src/crudQueryBuilder/CrudQueryBuilderError.ts +0 -1
- package/src/crudQueryBuilder/ErrorsRelationBuilder.ts +0 -16
- package/src/crudQueryBuilder/ReadBuilder.ts +0 -106
- package/src/crudQueryBuilder/ValidationRelationBuilder.ts +0 -17
- package/src/crudQueryBuilder/WriteBuilder.ts +0 -79
- package/src/crudQueryBuilder/WriteDataBuilder.ts +0 -153
- package/src/crudQueryBuilder/WriteManyRelationBuilder.ts +0 -141
- package/src/crudQueryBuilder/WriteOneRelationBuilder.ts +0 -101
- package/src/graphQlBuilder/GraphQlBuilderError.ts +0 -1
- package/src/graphQlBuilder/ObjectBuilder.ts +0 -87
- package/src/graphQlBuilder/QueryCompiler.ts +0 -115
- package/src/graphQlBuilder/RootObjectBuilder.ts +0 -36
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { WriteDataBuilder } from "./WriteDataBuilder.js";
|
|
2
|
-
class WriteOneRelationBuilder {
|
|
3
|
-
constructor(data = void 0) {
|
|
4
|
-
this.data = data;
|
|
5
|
-
}
|
|
6
|
-
static instantiate(data = void 0) {
|
|
7
|
-
return new WriteOneRelationBuilder(data);
|
|
8
|
-
}
|
|
9
|
-
static instantiateFromFactory(builder) {
|
|
10
|
-
if (typeof builder === "function") {
|
|
11
|
-
return builder(WriteOneRelationBuilder.instantiate());
|
|
12
|
-
}
|
|
13
|
-
if (builder && "data" in builder) {
|
|
14
|
-
return WriteOneRelationBuilder.instantiate(builder.data);
|
|
15
|
-
}
|
|
16
|
-
return WriteOneRelationBuilder.instantiate(builder);
|
|
17
|
-
}
|
|
18
|
-
create(data) {
|
|
19
|
-
const resolvedData = WriteDataBuilder.resolveData(data);
|
|
20
|
-
return resolvedData === void 0 ? this : WriteOneRelationBuilder.instantiate({
|
|
21
|
-
create: resolvedData
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
connect(where) {
|
|
25
|
-
return WriteOneRelationBuilder.instantiate({ connect: where });
|
|
26
|
-
}
|
|
27
|
-
delete() {
|
|
28
|
-
return WriteOneRelationBuilder.instantiate({ delete: true });
|
|
29
|
-
}
|
|
30
|
-
disconnect() {
|
|
31
|
-
return WriteOneRelationBuilder.instantiate({ disconnect: true });
|
|
32
|
-
}
|
|
33
|
-
update(data) {
|
|
34
|
-
const resolvedData = WriteDataBuilder.resolveData(data);
|
|
35
|
-
return resolvedData === void 0 ? this : new WriteOneRelationBuilder({ update: resolvedData });
|
|
36
|
-
}
|
|
37
|
-
upsert(update, create) {
|
|
38
|
-
const resolvedCreate = WriteDataBuilder.resolveData(create);
|
|
39
|
-
const resolvedUpdate = WriteDataBuilder.resolveData(update);
|
|
40
|
-
return resolvedUpdate === void 0 && resolvedCreate === void 0 ? this : WriteOneRelationBuilder.instantiate({
|
|
41
|
-
upsert: {
|
|
42
|
-
update: resolvedUpdate || {},
|
|
43
|
-
create: resolvedCreate || {}
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export {
|
|
49
|
-
WriteOneRelationBuilder
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=WriteOneRelationBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WriteOneRelationBuilder.js","sources":["../../../src/crudQueryBuilder/WriteOneRelationBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport type { GraphQlLiteral } from '../graphQlBuilder'\nimport type { WriteOperation, WriteRelationOps } from './types'\nimport { WriteDataBuilder } from './WriteDataBuilder'\n\nclass WriteOneRelationBuilder<\n\tOp extends WriteOperation.ContentfulOperation,\n\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n> {\n\tprotected constructor(public readonly data: D = undefined as D) {}\n\n\tpublic static instantiate<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t>(data: D = undefined as D): WriteOneRelationBuilder.Builder<Op, Allowed, D> {\n\t\treturn new WriteOneRelationBuilder<Op, Allowed, D>(data)\n\t}\n\n\tpublic static instantiateFromFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t>(builder: WriteOneRelationBuilder.BuilderFactory<Op, Allowed, D>): WriteOneRelationBuilder.Builder<Op, never, D> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(WriteOneRelationBuilder.instantiate())\n\t\t}\n\t\tif (builder && 'data' in builder!) {\n\t\t\treturn WriteOneRelationBuilder.instantiate(builder.data)\n\t\t}\n\t\treturn WriteOneRelationBuilder.instantiate(builder)\n\t}\n\n\tpublic create(data: WriteDataBuilder.DataLike<WriteOperation.Create>) {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn resolvedData === undefined\n\t\t\t? this\n\t\t\t: WriteOneRelationBuilder.instantiate<Op, never>({\n\t\t\t\t\tcreate: resolvedData,\n\t\t\t })\n\t}\n\n\tpublic connect(where: Input.UniqueWhere<GraphQlLiteral>) {\n\t\treturn WriteOneRelationBuilder.instantiate<Op, never>({ connect: where })\n\t}\n\n\tpublic delete() {\n\t\treturn WriteOneRelationBuilder.instantiate<WriteOperation.Update, never>({ delete: true })\n\t}\n\n\tpublic disconnect() {\n\t\treturn WriteOneRelationBuilder.instantiate<WriteOperation.Update, never>({ disconnect: true })\n\t}\n\n\tpublic update(data: WriteDataBuilder.DataLike<WriteOperation.Update>) {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn resolvedData === undefined ? this : new WriteOneRelationBuilder({ update: resolvedData })\n\t}\n\n\tpublic upsert(\n\t\tupdate: WriteDataBuilder.DataLike<WriteOperation.Update>,\n\t\tcreate: WriteDataBuilder.DataLike<WriteOperation.Create>,\n\t) {\n\t\tconst resolvedCreate = WriteDataBuilder.resolveData(create)\n\t\tconst resolvedUpdate = WriteDataBuilder.resolveData(update)\n\n\t\treturn resolvedUpdate === undefined && resolvedCreate === undefined\n\t\t\t? this\n\t\t\t: WriteOneRelationBuilder.instantiate<WriteOperation.Update, never>({\n\t\t\t\t\tupsert: {\n\t\t\t\t\t\tupdate: resolvedUpdate || {},\n\t\t\t\t\t\tcreate: resolvedCreate || {},\n\t\t\t\t\t},\n\t\t\t })\n\t}\n}\n\nnamespace WriteOneRelationBuilder {\n\texport interface DataFormat {\n\t\tcreate: Input.CreateOneRelationInput<GraphQlLiteral>\n\t\tupdate: Input.UpdateOneRelationInput<GraphQlLiteral>\n\t}\n\n\texport type Builder<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t> = Omit<\n\t\tWriteOneRelationBuilder<Op, Allowed, D>,\n\t\tExclude<WriteRelationOps[WriteOperation.ContentfulOperation['op']], Allowed>\n\t>\n\n\texport type BuilderFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t> = D | Builder<Op, never, D> | ((builder: Builder<Op, Allowed, D>) => Builder<Op, never, D>)\n}\n\nexport { WriteOneRelationBuilder }\n"],"names":[],"mappings":";AAKA,MAAM,wBAIJ;AAAA,EACS,YAA4B,OAAU,QAAgB;AAA1B,SAAA,OAAA;AAAA,EAA2B;AAAA,EAEjE,OAAc,YAIZ,OAAU,QAAiE;AACrE,WAAA,IAAI,wBAAwC,IAAI;AAAA,EACxD;AAAA,EAEA,OAAc,uBAIZ,SAAgH;AAC7G,QAAA,OAAO,YAAY,YAAY;AAC3B,aAAA,QAAQ,wBAAwB,YAAA,CAAa;AAAA,IACrD;AACI,QAAA,WAAW,UAAU,SAAU;AAC3B,aAAA,wBAAwB,YAAY,QAAQ,IAAI;AAAA,IACxD;AACO,WAAA,wBAAwB,YAAY,OAAO;AAAA,EACnD;AAAA,EAEO,OAAO,MAAwD;AAC/D,UAAA,eAAe,iBAAiB,YAAY,IAAI;AACtD,WAAO,iBAAiB,SACrB,OACA,wBAAwB,YAAuB;AAAA,MAC/C,QAAQ;AAAA,IAAA,CACP;AAAA,EACL;AAAA,EAEO,QAAQ,OAA0C;AACxD,WAAO,wBAAwB,YAAuB,EAAE,SAAS,MAAO,CAAA;AAAA,EACzE;AAAA,EAEO,SAAS;AACf,WAAO,wBAAwB,YAA0C,EAAE,QAAQ,KAAM,CAAA;AAAA,EAC1F;AAAA,EAEO,aAAa;AACnB,WAAO,wBAAwB,YAA0C,EAAE,YAAY,KAAM,CAAA;AAAA,EAC9F;AAAA,EAEO,OAAO,MAAwD;AAC/D,UAAA,eAAe,iBAAiB,YAAY,IAAI;AAC/C,WAAA,iBAAiB,SAAY,OAAO,IAAI,wBAAwB,EAAE,QAAQ,cAAc;AAAA,EAChG;AAAA,EAEO,OACN,QACA,QACC;AACK,UAAA,iBAAiB,iBAAiB,YAAY,MAAM;AACpD,UAAA,iBAAiB,iBAAiB,YAAY,MAAM;AAE1D,WAAO,mBAAmB,UAAa,mBAAmB,SACvD,OACA,wBAAwB,YAA0C;AAAA,MAClE,QAAQ;AAAA,QACP,QAAQ,kBAAkB,CAAC;AAAA,QAC3B,QAAQ,kBAAkB,CAAC;AAAA,MAC5B;AAAA,IAAA,CACC;AAAA,EACL;AACD;"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __publicField = (obj, key, value) => {
|
|
4
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
-
return value;
|
|
6
|
-
};
|
|
7
|
-
var WriteOperation;
|
|
8
|
-
((WriteOperation2) => {
|
|
9
|
-
class Operation {
|
|
10
|
-
}
|
|
11
|
-
WriteOperation2.Operation = Operation;
|
|
12
|
-
class ContentfulOperation extends Operation {
|
|
13
|
-
}
|
|
14
|
-
WriteOperation2.ContentfulOperation = ContentfulOperation;
|
|
15
|
-
class Update extends ContentfulOperation {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
__publicField(this, "op", "update");
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
WriteOperation2.Update = Update;
|
|
22
|
-
class Create extends ContentfulOperation {
|
|
23
|
-
constructor() {
|
|
24
|
-
super(...arguments);
|
|
25
|
-
__publicField(this, "op", "create");
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
WriteOperation2.Create = Create;
|
|
29
|
-
class Delete extends Operation {
|
|
30
|
-
constructor() {
|
|
31
|
-
super(...arguments);
|
|
32
|
-
__publicField(this, "op", "delete");
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
WriteOperation2.Delete = Delete;
|
|
36
|
-
})(WriteOperation || (WriteOperation = {}));
|
|
37
|
-
export {
|
|
38
|
-
WriteOperation
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../src/crudQueryBuilder/types.ts"],"sourcesContent":["import { GraphQlLiteral } from '../graphQlBuilder'\n\nexport type Mutations = 'create' | 'update' | 'delete'\n\nexport type Queries = 'get' | 'list' | 'paginate'\n\nexport type GetQueryArguments = 'by'\n\nexport type ListQueryArguments = 'filter' | 'orderBy' | 'offset' | 'limit'\n\nexport type PaginateQueryArguments = 'filter' | 'orderBy' | 'skip' | 'first'\n\nexport type CreateMutationArguments = 'data'\n\nexport type UpdateMutationArguments = 'data' | 'by'\n\nexport type DeleteMutationArguments = 'by'\n\nexport type ReductionArguments = 'filter' | 'by'\n\nexport type HasOneArguments = 'filter'\n\nexport type HasManyArguments = 'filter' | 'orderBy' | 'offset' | 'limit'\n\nexport type UpdateMutationFields = 'ok' | 'validation' | 'errors' | 'errorMessage' | 'node'\n\nexport type CreateMutationFields = 'ok' | 'validation' | 'errors' | 'errorMessage' | 'node'\n\nexport type DeleteMutationFields = 'ok' | 'node' | 'errors' | 'errorMessage'\n\nexport type WriteArguments = CreateMutationArguments | UpdateMutationArguments | DeleteMutationArguments\n\nexport type WriteFields = UpdateMutationFields | CreateMutationFields\n\nexport type ReadArguments =\n\t| GetQueryArguments\n\t| ListQueryArguments\n\t| PaginateQueryArguments\n\t| HasOneArguments\n\t| HasManyArguments\n\nexport interface WriteRelationOps {\n\tcreate: 'create' | 'connect'\n\tupdate: 'create' | 'connect' | 'delete' | 'disconnect' | 'update' | 'upsert'\n}\n\nexport type OrderDirection = GraphQlLiteral<'asc'> | GraphQlLiteral<'desc'>\n\n// TODO Silly enums because TS does not support enum extension 🙄\n// https://github.com/Microsoft/TypeScript/issues/17592\nexport namespace WriteOperation {\n\texport interface Operation {\n\t\top: 'create' | 'update' | 'delete'\n\t}\n\texport abstract class Operation implements Operation {}\n\n\texport interface ContentfulOperation {\n\t\top: 'create' | 'update'\n\t}\n\texport abstract class ContentfulOperation extends Operation implements ContentfulOperation {}\n\n\texport class Update extends ContentfulOperation {\n\t\toverride readonly op = 'update' as const\n\t}\n\n\texport class Create extends ContentfulOperation {\n\t\toverride readonly op = 'create' as const\n\t}\n\n\texport class Delete extends Operation {\n\t\toverride readonly op = 'delete' as const\n\t}\n}\n"],"names":["WriteOperation"],"mappings":";;;;;;AAkDiB,IAAA;AAAA,CAAV,CAAUA,oBAAV;AAIC,QAAe,UAA+B;AAAA,EAAC;AAA/CA,kBAAe,YAAA;AAKf,QAAe,4BAA4B,UAAyC;AAAA,EAAC;AAArFA,kBAAe,sBAAA;AAEf,QAAM,eAAe,oBAAoB;AAAA,IAAzC;AAAA;AACY,gCAAK;AAAA;AAAA,EACxB;AAFOA,kBAAM,SAAA;AAIN,QAAM,eAAe,oBAAoB;AAAA,IAAzC;AAAA;AACY,gCAAK;AAAA;AAAA,EACxB;AAFOA,kBAAM,SAAA;AAIN,QAAM,eAAe,UAAU;AAAA,IAA/B;AAAA;AACY,gCAAK;AAAA;AAAA,EACxB;AAFOA,kBAAM,SAAA;AAAA,GAnBG,mBAAA,iBAAA,CAAA,EAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GraphQlBuilderError.js","sources":["../../../src/graphQlBuilder/GraphQlBuilderError.ts"],"sourcesContent":["export class GraphQlBuilderError extends Error {}\n"],"names":[],"mappings":"AAAO,MAAM,4BAA4B,MAAM;AAAC;"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
class ObjectBuilder {
|
|
2
|
-
constructor(fields = [], objects = {}, args = {}, fragmentApplications = [], inlineFragments = {}, objectName) {
|
|
3
|
-
this.fields = fields;
|
|
4
|
-
this.objects = objects;
|
|
5
|
-
this.args = args;
|
|
6
|
-
this.fragmentApplications = fragmentApplications;
|
|
7
|
-
this.inlineFragments = inlineFragments;
|
|
8
|
-
this.objectName = objectName;
|
|
9
|
-
}
|
|
10
|
-
argument(name, value) {
|
|
11
|
-
return new ObjectBuilder(
|
|
12
|
-
this.fields,
|
|
13
|
-
this.objects,
|
|
14
|
-
{ ...this.args, [name]: value },
|
|
15
|
-
this.fragmentApplications,
|
|
16
|
-
this.inlineFragments,
|
|
17
|
-
this.objectName
|
|
18
|
-
);
|
|
19
|
-
}
|
|
20
|
-
name(name) {
|
|
21
|
-
return new ObjectBuilder(
|
|
22
|
-
this.fields,
|
|
23
|
-
this.objects,
|
|
24
|
-
this.args,
|
|
25
|
-
this.fragmentApplications,
|
|
26
|
-
this.inlineFragments,
|
|
27
|
-
name
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
field(name) {
|
|
31
|
-
return new ObjectBuilder(
|
|
32
|
-
[...this.fields, name],
|
|
33
|
-
this.objects,
|
|
34
|
-
this.args,
|
|
35
|
-
this.fragmentApplications,
|
|
36
|
-
this.inlineFragments,
|
|
37
|
-
this.objectName
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
object(name, builder) {
|
|
41
|
-
if (!(builder instanceof ObjectBuilder)) {
|
|
42
|
-
builder = builder(new ObjectBuilder());
|
|
43
|
-
}
|
|
44
|
-
return new ObjectBuilder(
|
|
45
|
-
this.fields,
|
|
46
|
-
{ ...this.objects, [name]: builder },
|
|
47
|
-
this.args,
|
|
48
|
-
this.fragmentApplications,
|
|
49
|
-
this.inlineFragments,
|
|
50
|
-
this.objectName
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
inlineFragment(typeName, builder) {
|
|
54
|
-
if (!(builder instanceof ObjectBuilder)) {
|
|
55
|
-
builder = builder(new ObjectBuilder());
|
|
56
|
-
}
|
|
57
|
-
return new ObjectBuilder(
|
|
58
|
-
this.fields,
|
|
59
|
-
this.objects,
|
|
60
|
-
this.args,
|
|
61
|
-
this.fragmentApplications,
|
|
62
|
-
{ ...this.inlineFragments, [typeName]: builder },
|
|
63
|
-
this.objectName
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
applyFragment(fragmentName) {
|
|
67
|
-
return new ObjectBuilder(
|
|
68
|
-
this.fields,
|
|
69
|
-
this.objects,
|
|
70
|
-
this.args,
|
|
71
|
-
[...this.fragmentApplications, fragmentName],
|
|
72
|
-
this.inlineFragments,
|
|
73
|
-
this.objectName
|
|
74
|
-
);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
export {
|
|
78
|
-
ObjectBuilder
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=ObjectBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectBuilder.js","sources":["../../../src/graphQlBuilder/ObjectBuilder.ts"],"sourcesContent":["export class ObjectBuilder {\n\tconstructor(\n\t\tpublic readonly fields: string[] = [],\n\t\tpublic readonly objects: { [name: string]: ObjectBuilder } = {},\n\t\tpublic readonly args: { [name: string]: any } = {},\n\t\tpublic readonly fragmentApplications: string[] = [],\n\t\tpublic readonly inlineFragments: { [typeName: string]: ObjectBuilder } = {},\n\t\tpublic readonly objectName?: string,\n\t) {}\n\n\tpublic argument(name: string, value: any): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\t{ ...this.args, [name]: value },\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic name(name: string): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tname,\n\t\t)\n\t}\n\n\tpublic field(name: string): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\t[...this.fields, name],\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic object(name: string, builder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder): ObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\t{ ...this.objects, [name]: builder },\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic inlineFragment(\n\t\ttypeName: string,\n\t\tbuilder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder,\n\t): ObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\t{ ...this.inlineFragments, [typeName]: builder },\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic applyFragment(fragmentName: string): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\t[...this.fragmentApplications, fragmentName],\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n}\n"],"names":[],"mappings":"AAAO,MAAM,cAAc;AAAA,EAC1B,YACiB,SAAmB,IACnB,UAA6C,CAAA,GAC7C,OAAgC,CAAC,GACjC,uBAAiC,CAAC,GAClC,kBAAyD,CAAA,GACzD,YACf;AANe,SAAA,SAAA;AACA,SAAA,UAAA;AACA,SAAA,OAAA;AACA,SAAA,uBAAA;AACA,SAAA,kBAAA;AACA,SAAA,aAAA;AAAA,EACd;AAAA,EAEI,SAAS,MAAc,OAA2B;AACxD,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,EAAE,GAAG,KAAK,MAAM,CAAC,IAAI,GAAG,MAAM;AAAA,MAC9B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEP;AAAA,EAEO,KAAK,MAA6B;AACxC,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,IAAA;AAAA,EAEF;AAAA,EAEO,MAAM,MAA6B;AACzC,WAAO,IAAI;AAAA,MACV,CAAC,GAAG,KAAK,QAAQ,IAAI;AAAA,MACrB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEP;AAAA,EAEO,OAAO,MAAc,SAAqF;AAC5G,QAAA,EAAE,mBAAmB,gBAAgB;AAC9B,gBAAA,QAAQ,IAAI,cAAA,CAAe;AAAA,IACtC;AAEA,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,EAAE,GAAG,KAAK,SAAS,CAAC,IAAI,GAAG,QAAQ;AAAA,MACnC,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEP;AAAA,EAEO,eACN,UACA,SACgB;AACZ,QAAA,EAAE,mBAAmB,gBAAgB;AAC9B,gBAAA,QAAQ,IAAI,cAAA,CAAe;AAAA,IACtC;AAEA,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,EAAE,GAAG,KAAK,iBAAiB,CAAC,QAAQ,GAAG,QAAQ;AAAA,MAC/C,KAAK;AAAA,IAAA;AAAA,EAEP;AAAA,EAEO,cAAc,cAAqC;AACzD,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,CAAC,GAAG,KAAK,sBAAsB,YAAY;AAAA,MAC3C,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEP;AACD;"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { QueryCompiler } from "./QueryCompiler.js";
|
|
2
|
-
import { RootObjectBuilder } from "./RootObjectBuilder.js";
|
|
3
|
-
class QueryBuilder {
|
|
4
|
-
query(builder) {
|
|
5
|
-
if (!(builder instanceof RootObjectBuilder)) {
|
|
6
|
-
builder = builder(new RootObjectBuilder());
|
|
7
|
-
}
|
|
8
|
-
const compiler = new QueryCompiler("query", builder);
|
|
9
|
-
return compiler.create();
|
|
10
|
-
}
|
|
11
|
-
mutation(builder) {
|
|
12
|
-
if (!(builder instanceof RootObjectBuilder)) {
|
|
13
|
-
builder = builder(new RootObjectBuilder());
|
|
14
|
-
}
|
|
15
|
-
const compiler = new QueryCompiler("mutation", builder);
|
|
16
|
-
return compiler.create();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export {
|
|
20
|
-
QueryBuilder
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=QueryBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sources":["../../../src/graphQlBuilder/QueryBuilder.ts"],"sourcesContent":["import type { GraphQlLiteral } from './GraphQlLiteral'\nimport { QueryCompiler } from './QueryCompiler'\nimport { RootObjectBuilder } from './RootObjectBuilder'\n\nclass QueryBuilder {\n\tquery(builder: ((builder: RootObjectBuilder) => RootObjectBuilder) | RootObjectBuilder): string {\n\t\tif (!(builder instanceof RootObjectBuilder)) {\n\t\t\tbuilder = builder(new RootObjectBuilder())\n\t\t}\n\t\tconst compiler = new QueryCompiler('query', builder)\n\t\treturn compiler.create()\n\t}\n\n\tmutation(builder: ((builder: RootObjectBuilder) => RootObjectBuilder) | RootObjectBuilder): string {\n\t\tif (!(builder instanceof RootObjectBuilder)) {\n\t\t\tbuilder = builder(new RootObjectBuilder())\n\t\t}\n\t\tconst compiler = new QueryCompiler('mutation', builder)\n\t\treturn compiler.create()\n\t}\n}\n\nnamespace QueryBuilder {\n\texport interface Object {\n\t\t[key: string]: Value\n\t}\n\n\texport interface List extends Array<Value> {}\n\n\texport type AtomicValue = string | null | number | boolean | GraphQlLiteral\n\texport type Value = AtomicValue | QueryBuilder.Object | List\n}\n\nexport { QueryBuilder }\n"],"names":[],"mappings":";;AAIA,MAAM,aAAa;AAAA,EAClB,MAAM,SAA0F;AAC3F,QAAA,EAAE,mBAAmB,oBAAoB;AAClC,gBAAA,QAAQ,IAAI,kBAAA,CAAmB;AAAA,IAC1C;AACA,UAAM,WAAW,IAAI,cAAc,SAAS,OAAO;AACnD,WAAO,SAAS;EACjB;AAAA,EAEA,SAAS,SAA0F;AAC9F,QAAA,EAAE,mBAAmB,oBAAoB;AAClC,gBAAA,QAAQ,IAAI,kBAAA,CAAmB;AAAA,IAC1C;AACA,UAAM,WAAW,IAAI,cAAc,YAAY,OAAO;AACtD,WAAO,SAAS;EACjB;AACD;"}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { GraphQlLiteral } from "./GraphQlLiteral.js";
|
|
2
|
-
class QueryCompiler {
|
|
3
|
-
constructor(operation, builder) {
|
|
4
|
-
this.operation = operation;
|
|
5
|
-
this.builder = builder;
|
|
6
|
-
}
|
|
7
|
-
create() {
|
|
8
|
-
const rootObjects = this.formatRootObjects(this.builder.objects);
|
|
9
|
-
const fragmentDefinitions = this.formatFragmentDefinitions(this.builder.fragmentDefinitions);
|
|
10
|
-
return `${this.operation} {
|
|
11
|
-
${rootObjects}
|
|
12
|
-
}${fragmentDefinitions ? `
|
|
13
|
-
${fragmentDefinitions}` : ""}`;
|
|
14
|
-
}
|
|
15
|
-
formatFragmentDefinitions(fragments) {
|
|
16
|
-
const lines = [];
|
|
17
|
-
for (const name in fragments) {
|
|
18
|
-
const object = fragments[name];
|
|
19
|
-
lines.push(`fragment ${name} on ${object.objectName} {`);
|
|
20
|
-
lines.push(...this.formatObjectBody(object));
|
|
21
|
-
lines.push("}");
|
|
22
|
-
}
|
|
23
|
-
return lines.join("\n");
|
|
24
|
-
}
|
|
25
|
-
formatRootObjects(objects) {
|
|
26
|
-
const lines = [];
|
|
27
|
-
for (const alias in objects) {
|
|
28
|
-
lines.push(...this.formatObject(alias, objects[alias]).map((val) => ` ${val}`));
|
|
29
|
-
}
|
|
30
|
-
return lines.join("\n");
|
|
31
|
-
}
|
|
32
|
-
formatObject(alias, builder) {
|
|
33
|
-
const result = [];
|
|
34
|
-
result.push(`${alias}${builder.objectName ? `: ${builder.objectName}` : ""}${this.formatArgs(builder.args, 0)} {`);
|
|
35
|
-
result.push(...this.formatObjectBody(builder));
|
|
36
|
-
result.push("}");
|
|
37
|
-
return result;
|
|
38
|
-
}
|
|
39
|
-
formatObjectBody(builder) {
|
|
40
|
-
const result = ["__typename"];
|
|
41
|
-
for (const fieldName of builder.fields) {
|
|
42
|
-
result.push(fieldName);
|
|
43
|
-
}
|
|
44
|
-
for (const fragmentName of builder.fragmentApplications) {
|
|
45
|
-
result.push(`... ${fragmentName}`);
|
|
46
|
-
}
|
|
47
|
-
for (const typeName in builder.inlineFragments) {
|
|
48
|
-
const fragment = builder.inlineFragments[typeName];
|
|
49
|
-
result.push(`... on ${typeName} {`, ...this.formatObjectBody(fragment), "}");
|
|
50
|
-
}
|
|
51
|
-
for (const alias in builder.objects) {
|
|
52
|
-
result.push(...this.formatObject(alias, builder.objects[alias]));
|
|
53
|
-
}
|
|
54
|
-
return result.map((val) => ` ${val}`);
|
|
55
|
-
}
|
|
56
|
-
formatArgs(args, level) {
|
|
57
|
-
if (args === null) {
|
|
58
|
-
return "null";
|
|
59
|
-
}
|
|
60
|
-
if (typeof args === "number") {
|
|
61
|
-
return args.toString();
|
|
62
|
-
}
|
|
63
|
-
if (typeof args === "boolean") {
|
|
64
|
-
return args ? "true" : "false";
|
|
65
|
-
}
|
|
66
|
-
if (typeof args === "string") {
|
|
67
|
-
return JSON.stringify(args);
|
|
68
|
-
}
|
|
69
|
-
if (Array.isArray(args)) {
|
|
70
|
-
const vals = args.map((val) => this.formatArgs(val, level + 1));
|
|
71
|
-
return `[${vals.join(", ")}]`;
|
|
72
|
-
}
|
|
73
|
-
if (args instanceof GraphQlLiteral) {
|
|
74
|
-
return args.value;
|
|
75
|
-
}
|
|
76
|
-
if (typeof args === "object") {
|
|
77
|
-
let result = "";
|
|
78
|
-
for (let key in args) {
|
|
79
|
-
const argValue = args[key];
|
|
80
|
-
if (argValue === void 0) {
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
result += `${key}: ${this.formatArgs(argValue, level + 1)}, `;
|
|
84
|
-
}
|
|
85
|
-
if (result.length > 0) {
|
|
86
|
-
result = result.substring(0, result.length - 2);
|
|
87
|
-
}
|
|
88
|
-
if (level > 0) {
|
|
89
|
-
return `{${result}}`;
|
|
90
|
-
} else if (result.length > 0) {
|
|
91
|
-
return `(${result})`;
|
|
92
|
-
}
|
|
93
|
-
return "";
|
|
94
|
-
}
|
|
95
|
-
throw new Error(typeof args);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
export {
|
|
99
|
-
QueryCompiler
|
|
100
|
-
};
|
|
101
|
-
//# sourceMappingURL=QueryCompiler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryCompiler.js","sources":["../../../src/graphQlBuilder/QueryCompiler.ts"],"sourcesContent":["import { GraphQlLiteral } from './GraphQlLiteral'\nimport type { ObjectBuilder } from './ObjectBuilder'\nimport type { RootObjectBuilder } from './RootObjectBuilder'\n\nexport class QueryCompiler {\n\tconstructor(private operation: 'query' | 'mutation', private builder: RootObjectBuilder) {}\n\n\tpublic create(): string {\n\t\tconst rootObjects = this.formatRootObjects(this.builder.objects)\n\t\tconst fragmentDefinitions = this.formatFragmentDefinitions(this.builder.fragmentDefinitions)\n\n\t\treturn `${this.operation} {\\n${rootObjects}\\n}${fragmentDefinitions ? `\\n${fragmentDefinitions}` : ''}`\n\t}\n\n\tprivate formatFragmentDefinitions(fragments: RootObjectBuilder['fragmentDefinitions']): string {\n\t\tconst lines: string[] = []\n\n\t\tfor (const name in fragments) {\n\t\t\tconst object = fragments[name]\n\n\t\t\tlines.push(`fragment ${name} on ${object.objectName!} {`)\n\t\t\tlines.push(...this.formatObjectBody(object))\n\t\t\tlines.push('}')\n\t\t}\n\n\t\treturn lines.join('\\n')\n\t}\n\n\tprivate formatRootObjects(objects: RootObjectBuilder['objects']): string {\n\t\tconst lines: string[] = []\n\n\t\tfor (const alias in objects) {\n\t\t\tlines.push(...this.formatObject(alias, objects[alias]).map(val => `\\t${val}`))\n\t\t}\n\n\t\treturn lines.join('\\n')\n\t}\n\n\tprivate formatObject(alias: string, builder: ObjectBuilder): string[] {\n\t\tconst result = []\n\n\t\tresult.push(`${alias}${builder.objectName ? `: ${builder.objectName}` : ''}${this.formatArgs(builder.args, 0)} {`)\n\n\t\tresult.push(...this.formatObjectBody(builder))\n\n\t\tresult.push('}')\n\n\t\treturn result\n\t}\n\n\tprivate formatObjectBody(builder: ObjectBuilder): string[] {\n\t\tconst result = ['__typename']\n\t\tfor (const fieldName of builder.fields) {\n\t\t\tresult.push(fieldName)\n\t\t}\n\t\tfor (const fragmentName of builder.fragmentApplications) {\n\t\t\tresult.push(`... ${fragmentName}`)\n\t\t}\n\t\tfor (const typeName in builder.inlineFragments) {\n\t\t\tconst fragment = builder.inlineFragments[typeName]\n\t\t\tresult.push(`... on ${typeName} {`, ...this.formatObjectBody(fragment), '}')\n\t\t}\n\t\tfor (const alias in builder.objects) {\n\t\t\tresult.push(...this.formatObject(alias, builder.objects[alias]))\n\t\t}\n\t\treturn result.map(val => `\\t${val}`)\n\t}\n\n\tprivate formatArgs(args: any, level: number): string {\n\t\tif (args === null) {\n\t\t\treturn 'null'\n\t\t}\n\n\t\tif (typeof args === 'number') {\n\t\t\treturn args.toString()\n\t\t}\n\n\t\tif (typeof args === 'boolean') {\n\t\t\treturn args ? 'true' : 'false'\n\t\t}\n\t\tif (typeof args === 'string') {\n\t\t\treturn JSON.stringify(args)\n\t\t}\n\n\t\tif (Array.isArray(args)) {\n\t\t\tconst vals = args.map(val => this.formatArgs(val, level + 1))\n\t\t\treturn `[${vals.join(', ')}]`\n\t\t}\n\t\tif (args instanceof GraphQlLiteral) {\n\t\t\treturn args.value\n\t\t}\n\n\t\tif (typeof args === 'object') {\n\t\t\tlet result = ''\n\t\t\tfor (let key in args) {\n\t\t\t\tconst argValue = args[key]\n\t\t\t\tif (argValue === undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tresult += `${key}: ${this.formatArgs(argValue, level + 1)}, `\n\t\t\t}\n\t\t\tif (result.length > 0) {\n\t\t\t\tresult = result.substring(0, result.length - 2)\n\t\t\t}\n\t\t\tif (level > 0) {\n\t\t\t\treturn `{${result}}`\n\t\t\t} else if (result.length > 0) {\n\t\t\t\treturn `(${result})`\n\t\t\t}\n\t\t\treturn ''\n\t\t}\n\n\t\tthrow new Error(typeof args)\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { GraphQlBuilderError } from "./GraphQlBuilderError.js";
|
|
2
|
-
import { ObjectBuilder } from "./ObjectBuilder.js";
|
|
3
|
-
import { isEmptyObject } from "../utils/isEmptyObject.js";
|
|
4
|
-
class RootObjectBuilder {
|
|
5
|
-
constructor(objects = {}, fragmentDefinitions = {}) {
|
|
6
|
-
this.objects = objects;
|
|
7
|
-
this.fragmentDefinitions = fragmentDefinitions;
|
|
8
|
-
}
|
|
9
|
-
fragment(name, builder) {
|
|
10
|
-
if (!(builder instanceof ObjectBuilder)) {
|
|
11
|
-
builder = builder(new ObjectBuilder());
|
|
12
|
-
}
|
|
13
|
-
if (!isEmptyObject(builder.args)) {
|
|
14
|
-
throw new GraphQlBuilderError(`Cannot supply args to Graph QL fragments!`);
|
|
15
|
-
}
|
|
16
|
-
if (!builder.objectName) {
|
|
17
|
-
throw new GraphQlBuilderError(`Object names are mandatory for Graph QL fragments!`);
|
|
18
|
-
}
|
|
19
|
-
return new RootObjectBuilder(this.objects, { ...this.fragmentDefinitions, [name]: builder });
|
|
20
|
-
}
|
|
21
|
-
object(name, builder) {
|
|
22
|
-
if (!(builder instanceof ObjectBuilder)) {
|
|
23
|
-
builder = builder(new ObjectBuilder());
|
|
24
|
-
}
|
|
25
|
-
return new RootObjectBuilder({ ...this.objects, [name]: builder }, this.fragmentDefinitions);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
export {
|
|
29
|
-
RootObjectBuilder
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=RootObjectBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RootObjectBuilder.js","sources":["../../../src/graphQlBuilder/RootObjectBuilder.ts"],"sourcesContent":["import { isEmptyObject } from '../utils'\nimport { GraphQlBuilderError } from './GraphQlBuilderError'\nimport { ObjectBuilder } from './ObjectBuilder'\n\nexport class RootObjectBuilder {\n\tconstructor(\n\t\tpublic readonly objects: { [name: string]: ObjectBuilder } = {},\n\t\tpublic readonly fragmentDefinitions: { [name: string]: ObjectBuilder } = {},\n\t) {}\n\n\tpublic fragment(\n\t\tname: string,\n\t\tbuilder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder,\n\t): RootObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\tif (!isEmptyObject(builder.args)) {\n\t\t\tthrow new GraphQlBuilderError(`Cannot supply args to Graph QL fragments!`)\n\t\t}\n\t\tif (!builder.objectName) {\n\t\t\tthrow new GraphQlBuilderError(`Object names are mandatory for Graph QL fragments!`)\n\t\t}\n\n\t\treturn new RootObjectBuilder(this.objects, { ...this.fragmentDefinitions, [name]: builder })\n\t}\n\n\tpublic object(name: string, builder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder): RootObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\treturn new RootObjectBuilder({ ...this.objects, [name]: builder }, this.fragmentDefinitions)\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,kBAAkB;AAAA,EAC9B,YACiB,UAA6C,IAC7C,sBAAyD,CAAA,GACxE;AAFe,SAAA,UAAA;AACA,SAAA,sBAAA;AAAA,EACd;AAAA,EAEI,SACN,MACA,SACoB;AAChB,QAAA,EAAE,mBAAmB,gBAAgB;AAC9B,gBAAA,QAAQ,IAAI,cAAA,CAAe;AAAA,IACtC;AAEA,QAAI,CAAC,cAAc,QAAQ,IAAI,GAAG;AAC3B,YAAA,IAAI,oBAAoB,2CAA2C;AAAA,IAC1E;AACI,QAAA,CAAC,QAAQ,YAAY;AAClB,YAAA,IAAI,oBAAoB,oDAAoD;AAAA,IACnF;AAEA,WAAO,IAAI,kBAAkB,KAAK,SAAS,EAAE,GAAG,KAAK,qBAAqB,CAAC,IAAI,GAAG,QAAA,CAAS;AAAA,EAC5F;AAAA,EAEO,OAAO,MAAc,SAAyF;AAChH,QAAA,EAAE,mBAAmB,gBAAgB;AAC9B,gBAAA,QAAQ,IAAI,cAAA,CAAe;AAAA,IACtC;AAEA,WAAO,IAAI,kBAAkB,EAAE,GAAG,KAAK,SAAS,CAAC,IAAI,GAAG,QAAW,GAAA,KAAK,mBAAmB;AAAA,EAC5F;AACD;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isEmptyObject.js","sources":["../../../src/utils/isEmptyObject.ts"],"sourcesContent":["export const isEmptyObject = (arg: object): boolean => {\n\t// This is faster than Object.keys(arg).length === 0 && arg.constructor === Object\n\tfor (const key in arg) {\n\t\tif (arg.hasOwnProperty(key)) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"],"names":[],"mappings":"AAAa,MAAA,gBAAgB,CAAC,QAAyB;AAEtD,aAAW,OAAO,KAAK;AAClB,QAAA,IAAI,eAAe,GAAG,GAAG;AACrB,aAAA;AAAA,IACR;AAAA,EACD;AACO,SAAA;AACR;"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { CrudQueryBuilderError } from "./CrudQueryBuilderError.js";
|
|
2
|
-
import { ReadBuilder } from "./ReadBuilder.js";
|
|
3
|
-
import { WriteBuilder } from "./WriteBuilder.js";
|
|
4
|
-
import { RootObjectBuilder } from "../graphQlBuilder/RootObjectBuilder.js";
|
|
5
|
-
import { QueryBuilder } from "../graphQlBuilder/QueryBuilder.js";
|
|
6
|
-
import { isEmptyObject } from "../utils/isEmptyObject.js";
|
|
7
|
-
import { ObjectBuilder } from "../graphQlBuilder/ObjectBuilder.js";
|
|
8
|
-
class CrudQueryBuilder {
|
|
9
|
-
constructor(type = void 0, rootObjectBuilder = new RootObjectBuilder()) {
|
|
10
|
-
this.type = type;
|
|
11
|
-
this.rootObjectBuilder = rootObjectBuilder;
|
|
12
|
-
}
|
|
13
|
-
fragment(name, typeName, query) {
|
|
14
|
-
const readBuilder = ReadBuilder.instantiateFromFactory(query);
|
|
15
|
-
const objectBuilder = readBuilder.objectBuilder.name(typeName);
|
|
16
|
-
return new CrudQueryBuilder(this.type, this.rootObjectBuilder.fragment(name, objectBuilder));
|
|
17
|
-
}
|
|
18
|
-
list(name, query, alias) {
|
|
19
|
-
if (this.type === "mutation") {
|
|
20
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
21
|
-
}
|
|
22
|
-
name = `list${name}`;
|
|
23
|
-
query = ReadBuilder.instantiateFromFactory(query);
|
|
24
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
25
|
-
return new CrudQueryBuilder("query", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
26
|
-
}
|
|
27
|
-
paginate(name, query, alias) {
|
|
28
|
-
if (this.type === "mutation") {
|
|
29
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
30
|
-
}
|
|
31
|
-
name = `paginate${name}`;
|
|
32
|
-
query = ReadBuilder.instantiateFromFactory(query);
|
|
33
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
34
|
-
return new CrudQueryBuilder("query", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
35
|
-
}
|
|
36
|
-
get(name, query, alias) {
|
|
37
|
-
if (this.type === "mutation") {
|
|
38
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
39
|
-
}
|
|
40
|
-
name = `get${name}`;
|
|
41
|
-
query = ReadBuilder.instantiateFromFactory(query);
|
|
42
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
43
|
-
return new CrudQueryBuilder("query", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
44
|
-
}
|
|
45
|
-
update(name, query, alias) {
|
|
46
|
-
if (this.type === "query") {
|
|
47
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
48
|
-
}
|
|
49
|
-
name = `update${name}`;
|
|
50
|
-
query = WriteBuilder.instantiateFromFactory(query);
|
|
51
|
-
if (isEmptyObject(query.objectBuilder.args.data)) {
|
|
52
|
-
return this;
|
|
53
|
-
}
|
|
54
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
55
|
-
return new CrudQueryBuilder("mutation", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
56
|
-
}
|
|
57
|
-
create(name, query, alias) {
|
|
58
|
-
if (this.type === "query") {
|
|
59
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
60
|
-
}
|
|
61
|
-
name = `create${name}`;
|
|
62
|
-
query = WriteBuilder.instantiateFromFactory(query);
|
|
63
|
-
if (isEmptyObject(query.objectBuilder.args.data)) {
|
|
64
|
-
return this;
|
|
65
|
-
}
|
|
66
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
67
|
-
return new CrudQueryBuilder("mutation", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
68
|
-
}
|
|
69
|
-
delete(name, query, alias) {
|
|
70
|
-
if (this.type === "query") {
|
|
71
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
72
|
-
}
|
|
73
|
-
name = `delete${name}`;
|
|
74
|
-
query = WriteBuilder.instantiateFromFactory(query);
|
|
75
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
76
|
-
return new CrudQueryBuilder("mutation", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
77
|
-
}
|
|
78
|
-
inTransaction(alias = "transaction", options = {}) {
|
|
79
|
-
const objectBuilder = new ObjectBuilder(
|
|
80
|
-
["ok", "errorMessage"],
|
|
81
|
-
{ ...this.rootObjectBuilder.objects },
|
|
82
|
-
{ options },
|
|
83
|
-
void 0,
|
|
84
|
-
void 0,
|
|
85
|
-
"transaction"
|
|
86
|
-
);
|
|
87
|
-
return new CrudQueryBuilder(this.type, new RootObjectBuilder({ [alias]: objectBuilder }, this.rootObjectBuilder.fragmentDefinitions));
|
|
88
|
-
}
|
|
89
|
-
getGql() {
|
|
90
|
-
const builder = new QueryBuilder();
|
|
91
|
-
switch (this.type) {
|
|
92
|
-
case "mutation":
|
|
93
|
-
return builder.mutation(this.rootObjectBuilder);
|
|
94
|
-
case "query":
|
|
95
|
-
return builder.query(this.rootObjectBuilder);
|
|
96
|
-
default:
|
|
97
|
-
throw new CrudQueryBuilderError(`Invalid type ${this.type}`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
export {
|
|
102
|
-
CrudQueryBuilder
|
|
103
|
-
};
|
|
104
|
-
//# sourceMappingURL=CrudQueryBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CrudQueryBuilder.js","sources":["../../../src/crudQueryBuilder/CrudQueryBuilder.ts"],"sourcesContent":["import { ObjectBuilder, QueryBuilder, RootObjectBuilder } from '../graphQlBuilder'\nimport { isEmptyObject } from '../utils'\nimport { CrudQueryBuilderError } from './CrudQueryBuilderError'\nimport { ReadBuilder } from './ReadBuilder'\nimport type {\n\tCreateMutationArguments,\n\tCreateMutationFields,\n\tDeleteMutationArguments,\n\tDeleteMutationFields,\n\tGetQueryArguments,\n\tListQueryArguments,\n\tMutations,\n\tPaginateQueryArguments,\n\tQueries,\n\tUpdateMutationArguments,\n\tUpdateMutationFields,\n\tWriteOperation,\n} from './types'\nimport { WriteBuilder } from './WriteBuilder'\n\nexport class CrudQueryBuilder {\n\tconstructor(\n\t\tprivate type: undefined | 'query' | 'mutation' = undefined,\n\t\tprivate rootObjectBuilder: RootObjectBuilder = new RootObjectBuilder(),\n\t) {}\n\n\tpublic fragment(name: string, typeName: string, query: ReadBuilder.BuilderFactory<never>): CrudQueryBuilder {\n\t\tconst readBuilder = ReadBuilder.instantiateFromFactory(query)\n\t\tconst objectBuilder = readBuilder.objectBuilder.name(typeName)\n\n\t\treturn new CrudQueryBuilder(this.type, this.rootObjectBuilder.fragment(name, objectBuilder))\n\t}\n\n\tpublic list(\n\t\tname: string,\n\t\tquery: ReadBuilder.BuilderFactory<ListQueryArguments>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Mutations> {\n\t\tif (this.type === 'mutation') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `list${name}`\n\t\tquery = ReadBuilder.instantiateFromFactory(query)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('query', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic paginate(\n\t\tname: string,\n\t\tquery: ReadBuilder.BuilderFactory<PaginateQueryArguments>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Mutations> {\n\t\tif (this.type === 'mutation') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `paginate${name}`\n\t\tquery = ReadBuilder.instantiateFromFactory(query)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('query', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic get(\n\t\tname: string,\n\t\tquery: ReadBuilder.BuilderFactory<GetQueryArguments>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Mutations> {\n\t\tif (this.type === 'mutation') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `get${name}`\n\t\tquery = ReadBuilder.instantiateFromFactory(query)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('query', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic update(\n\t\tname: string,\n\t\tquery: WriteBuilder.BuilderFactory<UpdateMutationArguments, UpdateMutationFields, WriteOperation.Update>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Queries> {\n\t\tif (this.type === 'query') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `update${name}`\n\t\tquery = WriteBuilder.instantiateFromFactory(query)\n\n\t\tif (isEmptyObject(query.objectBuilder.args.data)) {\n\t\t\treturn this\n\t\t}\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('mutation', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic create(\n\t\tname: string,\n\t\tquery: WriteBuilder.BuilderFactory<CreateMutationArguments, CreateMutationFields, WriteOperation.Create>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Queries> {\n\t\tif (this.type === 'query') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `create${name}`\n\t\tquery = WriteBuilder.instantiateFromFactory(query)\n\n\t\tif (isEmptyObject(query.objectBuilder.args.data)) {\n\t\t\treturn this\n\t\t}\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('mutation', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic delete(\n\t\tname: string,\n\t\tquery: WriteBuilder.BuilderFactory<DeleteMutationArguments, DeleteMutationFields, WriteOperation.Delete>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Queries> {\n\t\tif (this.type === 'query') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `delete${name}`\n\t\tquery = WriteBuilder.instantiateFromFactory(query)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('mutation', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic inTransaction(alias: string = 'transaction', options: { deferForeignKeyConstraints?: boolean } = {}): CrudQueryBuilder {\n\t\tconst objectBuilder = new ObjectBuilder(\n\t\t\t['ok', 'errorMessage'],\n\t\t\t{ ...this.rootObjectBuilder.objects },\n\t\t\t{ options },\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\t'transaction',\n\t\t)\n\n\t\treturn new CrudQueryBuilder(this.type, new RootObjectBuilder({ [alias]: objectBuilder }, this.rootObjectBuilder.fragmentDefinitions))\n\t}\n\n\tgetGql(): string {\n\t\tconst builder = new QueryBuilder()\n\t\tswitch (this.type) {\n\t\t\tcase 'mutation':\n\t\t\t\treturn builder.mutation(this.rootObjectBuilder)\n\t\t\tcase 'query':\n\t\t\t\treturn builder.query(this.rootObjectBuilder)\n\t\t\tdefault:\n\t\t\t\tthrow new CrudQueryBuilderError(`Invalid type ${this.type}`)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CrudQueryBuilderError.js","sources":["../../../src/crudQueryBuilder/CrudQueryBuilderError.ts"],"sourcesContent":["export class CrudQueryBuilderError extends Error {}\n"],"names":[],"mappings":"AAAO,MAAM,8BAA8B,MAAM;AAAC;"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
class ErrorsRelationBuilder {
|
|
2
|
-
static errorsRelation(objectBuilder) {
|
|
3
|
-
return objectBuilder.object(
|
|
4
|
-
"errors",
|
|
5
|
-
(builder) => builder.field("type").field("message").object(
|
|
6
|
-
"path",
|
|
7
|
-
(builder2) => builder2.inlineFragment("_FieldPathFragment", (builder3) => builder3.field("field")).inlineFragment("_IndexPathFragment", (builder3) => builder3.field("index").field("alias"))
|
|
8
|
-
)
|
|
9
|
-
);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export {
|
|
13
|
-
ErrorsRelationBuilder
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=ErrorsRelationBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorsRelationBuilder.js","sources":["../../../src/crudQueryBuilder/ErrorsRelationBuilder.ts"],"sourcesContent":["import type { ObjectBuilder } from '../graphQlBuilder'\n\nexport class ErrorsRelationBuilder {\n\tpublic static errorsRelation(objectBuilder: ObjectBuilder): ObjectBuilder {\n\t\treturn objectBuilder.object('errors', builder =>\n\t\t\tbuilder\n\t\t\t\t.field('type')\n\t\t\t\t.field('message')\n\t\t\t\t.object('path', builder =>\n\t\t\t\t\tbuilder\n\t\t\t\t\t\t.inlineFragment('_FieldPathFragment', builder => builder.field('field'))\n\t\t\t\t\t\t.inlineFragment('_IndexPathFragment', builder => builder.field('index').field('alias')),\n\t\t\t\t),\n\t\t)\n\t}\n}\n"],"names":["builder"],"mappings":"AAEO,MAAM,sBAAsB;AAAA,EAClC,OAAc,eAAe,eAA6C;AACzE,WAAO,cAAc;AAAA,MAAO;AAAA,MAAU,aACrC,QACE,MAAM,MAAM,EACZ,MAAM,SAAS,EACf;AAAA,QAAO;AAAA,QAAQ,CAAAA,aACfA,SACE,eAAe,sBAAsB,CAAAA,aAAWA,SAAQ,MAAM,OAAO,CAAC,EACtE,eAAe,sBAAsB,CAAAA,aAAWA,SAAQ,MAAM,OAAO,EAAE,MAAM,OAAO,CAAC;AAAA,MACxF;AAAA,IAAA;AAAA,EAEH;AACD;"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { ObjectBuilder } from "../graphQlBuilder/ObjectBuilder.js";
|
|
2
|
-
class ReadBuilder {
|
|
3
|
-
constructor(objectBuilder = new ObjectBuilder()) {
|
|
4
|
-
this.objectBuilder = objectBuilder;
|
|
5
|
-
}
|
|
6
|
-
static instantiate(objectBuilder = new ObjectBuilder()) {
|
|
7
|
-
return new ReadBuilder(objectBuilder);
|
|
8
|
-
}
|
|
9
|
-
static instantiateFromFactory(builder) {
|
|
10
|
-
if (typeof builder === "function") {
|
|
11
|
-
return builder(ReadBuilder.instantiate());
|
|
12
|
-
}
|
|
13
|
-
return builder;
|
|
14
|
-
}
|
|
15
|
-
instantiate(objectBuilder = new ObjectBuilder()) {
|
|
16
|
-
return ReadBuilder.instantiate(objectBuilder);
|
|
17
|
-
}
|
|
18
|
-
by(by) {
|
|
19
|
-
return this.instantiate(this.objectBuilder.argument("by", by));
|
|
20
|
-
}
|
|
21
|
-
filter(where) {
|
|
22
|
-
return this.instantiate(this.objectBuilder.argument("filter", where));
|
|
23
|
-
}
|
|
24
|
-
orderBy(orderBy) {
|
|
25
|
-
return this.instantiate(this.objectBuilder.argument("orderBy", orderBy));
|
|
26
|
-
}
|
|
27
|
-
offset(offset) {
|
|
28
|
-
return this.instantiate(this.objectBuilder.argument("offset", offset));
|
|
29
|
-
}
|
|
30
|
-
limit(limit) {
|
|
31
|
-
return this.instantiate(this.objectBuilder.argument("limit", limit));
|
|
32
|
-
}
|
|
33
|
-
skip(offset) {
|
|
34
|
-
return this.instantiate(this.objectBuilder.argument("skip", offset));
|
|
35
|
-
}
|
|
36
|
-
first(limit) {
|
|
37
|
-
return this.instantiate(this.objectBuilder.argument("first", limit));
|
|
38
|
-
}
|
|
39
|
-
column(name) {
|
|
40
|
-
return this.instantiate(this.objectBuilder.field(name));
|
|
41
|
-
}
|
|
42
|
-
inlineFragment(typeName, builder) {
|
|
43
|
-
builder = ReadBuilder.instantiateFromFactory(builder);
|
|
44
|
-
return this.instantiate(this.objectBuilder.inlineFragment(typeName, builder.objectBuilder));
|
|
45
|
-
}
|
|
46
|
-
applyFragment(fragmentName) {
|
|
47
|
-
return this.instantiate(this.objectBuilder.applyFragment(fragmentName));
|
|
48
|
-
}
|
|
49
|
-
reductionRelation(name, builder, alias) {
|
|
50
|
-
return this.relation(name, builder, alias);
|
|
51
|
-
}
|
|
52
|
-
hasOneRelation(name, builder, alias) {
|
|
53
|
-
return this.relation(name, builder, alias);
|
|
54
|
-
}
|
|
55
|
-
hasManyRelation(name, builder, alias) {
|
|
56
|
-
return this.relation(name, builder, alias);
|
|
57
|
-
}
|
|
58
|
-
anyRelation(name, builder, alias) {
|
|
59
|
-
return this.relation(name, builder, alias);
|
|
60
|
-
}
|
|
61
|
-
relation(name, builder, alias) {
|
|
62
|
-
builder = ReadBuilder.instantiateFromFactory(builder);
|
|
63
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, builder.objectBuilder.name(name)] : [name, builder.objectBuilder];
|
|
64
|
-
return this.instantiate(this.objectBuilder.object(objectName, objectBuilder));
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
export {
|
|
68
|
-
ReadBuilder
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=ReadBuilder.js.map
|