@contember/client 0.8.0-alpha.8 → 1.0.0-alpha.3
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/LICENSE +1 -1
- package/dist/client.d.ts +3 -1
- package/dist/development/crudQueryBuilder/CrudQueryBuilder.js +3 -12
- package/dist/development/crudQueryBuilder/CrudQueryBuilder.js.map +1 -1
- package/dist/production/crudQueryBuilder/CrudQueryBuilder.js +3 -12
- package/dist/production/crudQueryBuilder/CrudQueryBuilder.js.map +1 -1
- package/package.json +1 -1
package/LICENSE
CHANGED
package/dist/client.d.ts
CHANGED
|
@@ -45,7 +45,9 @@ declare class CrudQueryBuilder_2 {
|
|
|
45
45
|
update(name: string, query: WriteBuilder.BuilderFactory<UpdateMutationArguments, UpdateMutationFields, WriteOperation.Update>, alias?: string): Omit<CrudQueryBuilder_2, Queries>;
|
|
46
46
|
create(name: string, query: WriteBuilder.BuilderFactory<CreateMutationArguments, CreateMutationFields, WriteOperation.Create>, alias?: string): Omit<CrudQueryBuilder_2, Queries>;
|
|
47
47
|
delete(name: string, query: WriteBuilder.BuilderFactory<DeleteMutationArguments, DeleteMutationFields, WriteOperation.Delete>, alias?: string): Omit<CrudQueryBuilder_2, Queries>;
|
|
48
|
-
inTransaction(alias?: string
|
|
48
|
+
inTransaction(alias?: string, options?: {
|
|
49
|
+
deferForeignKeyConstraints?: boolean;
|
|
50
|
+
}): CrudQueryBuilder_2;
|
|
49
51
|
getGql(): string;
|
|
50
52
|
}
|
|
51
53
|
|
|
@@ -76,18 +76,9 @@ class CrudQueryBuilder {
|
|
|
76
76
|
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
77
77
|
return new CrudQueryBuilder("mutation", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
78
78
|
}
|
|
79
|
-
inTransaction(alias) {
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
alias,
|
|
83
|
-
new ObjectBuilder(void 0, { ...this.rootObjectBuilder.objects }, void 0, void 0, void 0, name),
|
|
84
|
-
this.rootObjectBuilder.fragmentDefinitions
|
|
85
|
-
] : [
|
|
86
|
-
name,
|
|
87
|
-
new ObjectBuilder(void 0, { ...this.rootObjectBuilder.objects }),
|
|
88
|
-
this.rootObjectBuilder.fragmentDefinitions
|
|
89
|
-
];
|
|
90
|
-
return new CrudQueryBuilder(this.type, new RootObjectBuilder({ [objectName]: objectBuilder }, fragments));
|
|
79
|
+
inTransaction(alias = "transaction", options = {}) {
|
|
80
|
+
const objectBuilder = new ObjectBuilder(void 0, { ...this.rootObjectBuilder.objects }, { options }, void 0, void 0, "transaction");
|
|
81
|
+
return new CrudQueryBuilder(this.type, new RootObjectBuilder({ [alias]: objectBuilder }, this.rootObjectBuilder.fragmentDefinitions));
|
|
91
82
|
}
|
|
92
83
|
getGql() {
|
|
93
84
|
const builder = new QueryBuilder();
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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(undefined, { ...this.rootObjectBuilder.objects }, { options }, undefined, undefined, 'transaction')\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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"}
|
|
@@ -75,18 +75,9 @@ class CrudQueryBuilder {
|
|
|
75
75
|
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
76
76
|
return new CrudQueryBuilder("mutation", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
77
77
|
}
|
|
78
|
-
inTransaction(alias) {
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
alias,
|
|
82
|
-
new ObjectBuilder(void 0, { ...this.rootObjectBuilder.objects }, void 0, void 0, void 0, name),
|
|
83
|
-
this.rootObjectBuilder.fragmentDefinitions
|
|
84
|
-
] : [
|
|
85
|
-
name,
|
|
86
|
-
new ObjectBuilder(void 0, { ...this.rootObjectBuilder.objects }),
|
|
87
|
-
this.rootObjectBuilder.fragmentDefinitions
|
|
88
|
-
];
|
|
89
|
-
return new CrudQueryBuilder(this.type, new RootObjectBuilder({ [objectName]: objectBuilder }, fragments));
|
|
78
|
+
inTransaction(alias = "transaction", options = {}) {
|
|
79
|
+
const objectBuilder = new ObjectBuilder(void 0, { ...this.rootObjectBuilder.objects }, { options }, void 0, void 0, "transaction");
|
|
80
|
+
return new CrudQueryBuilder(this.type, new RootObjectBuilder({ [alias]: objectBuilder }, this.rootObjectBuilder.fragmentDefinitions));
|
|
90
81
|
}
|
|
91
82
|
getGql() {
|
|
92
83
|
const builder = new QueryBuilder();
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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(undefined, { ...this.rootObjectBuilder.objects }, { options }, undefined, undefined, 'transaction')\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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"}
|