@chassdev/client-sdk 2.46.0
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 +21 -0
- package/README.md +47 -0
- package/dist/application-CMx2Si6C.mjs +58980 -0
- package/dist/application-DUpOI260.js +58 -0
- package/dist/chunk-Dqa2HsxW.mjs +20 -0
- package/dist/chunk-mLOUI7ql.js +1 -0
- package/dist/core/generated/index.d.ts +7 -0
- package/dist/core/generated/schema.d.ts +1 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core.cjs +1 -0
- package/dist/core.mjs +9 -0
- package/dist/generate/client-wrapper.d.ts +7 -0
- package/dist/generate/fs-utils.d.ts +4 -0
- package/dist/generate/generate-core-client.d.ts +10 -0
- package/dist/generate/generate-metadata-client.d.ts +5 -0
- package/dist/generate/genql/config.d.ts +9 -0
- package/dist/generate/genql/helpers/files.d.ts +2 -0
- package/dist/generate/genql/helpers/prettify.d.ts +2 -0
- package/dist/generate/genql/index.d.ts +2 -0
- package/dist/generate/genql/main.d.ts +2 -0
- package/dist/generate/genql/render/client/renderClient.d.ts +3 -0
- package/dist/generate/genql/render/common/RenderContext.d.ts +24 -0
- package/dist/generate/genql/render/common/comment.d.ts +8 -0
- package/dist/generate/genql/render/common/excludedTypes.d.ts +1 -0
- package/dist/generate/genql/render/common/relativeImportPath.d.ts +1 -0
- package/dist/generate/genql/render/common/renderTyping.d.ts +2 -0
- package/dist/generate/genql/render/common/support.d.ts +2 -0
- package/dist/generate/genql/render/requestTypes/inputObjectType.d.ts +3 -0
- package/dist/generate/genql/render/requestTypes/objectType.d.ts +4 -0
- package/dist/generate/genql/render/requestTypes/renderRequestTypes.d.ts +3 -0
- package/dist/generate/genql/render/requestTypes/requestTypeName.d.ts +2 -0
- package/dist/generate/genql/render/requestTypes/unionType.d.ts +3 -0
- package/dist/generate/genql/render/responseTypes/enumType.d.ts +3 -0
- package/dist/generate/genql/render/responseTypes/interfaceType.d.ts +3 -0
- package/dist/generate/genql/render/responseTypes/objectType.d.ts +3 -0
- package/dist/generate/genql/render/responseTypes/renderResponseTypes.d.ts +3 -0
- package/dist/generate/genql/render/responseTypes/scalarType.d.ts +3 -0
- package/dist/generate/genql/render/responseTypes/typeMappedAlias.d.ts +3 -0
- package/dist/generate/genql/render/responseTypes/unionType.d.ts +3 -0
- package/dist/generate/genql/render/schema/renderSchema.d.ts +3 -0
- package/dist/generate/genql/render/typeGuards/renderTypeGuards.d.ts +3 -0
- package/dist/generate/genql/render/typeMap/objectType.d.ts +4 -0
- package/dist/generate/genql/render/typeMap/renderTypeMap.d.ts +5 -0
- package/dist/generate/genql/render/typeMap/scalarType.d.ts +4 -0
- package/dist/generate/genql/render/typeMap/support.d.ts +1 -0
- package/dist/generate/genql/render/typeMap/unionType.d.ts +4 -0
- package/dist/generate/genql/runtime/batcher.d.ts +105 -0
- package/dist/generate/genql/runtime/createClient.d.ts +23 -0
- package/dist/generate/genql/runtime/error.d.ts +18 -0
- package/dist/generate/genql/runtime/fetcher.d.ts +10 -0
- package/dist/generate/genql/runtime/generateGraphqlOperation.d.ts +30 -0
- package/dist/generate/genql/runtime/index.d.ts +11 -0
- package/dist/generate/genql/runtime/linkTypeMap.d.ts +9 -0
- package/dist/generate/genql/runtime/typeSelection.d.ts +28 -0
- package/dist/generate/genql/runtime/types.d.ts +55 -0
- package/dist/generate/genql/tasks/clientTasks.d.ts +3 -0
- package/dist/generate/genql/tasks/schemaTask.d.ts +3 -0
- package/dist/generate/index.d.ts +2 -0
- package/dist/generate/runtime-templates.d.ts +4 -0
- package/dist/generate/twenty-client-template.d.ts +53 -0
- package/dist/generate.cjs +2082 -0
- package/dist/generate.mjs +595 -0
- package/dist/metadata/generated/index.d.ts +71 -0
- package/dist/metadata/generated/runtime/batcher.d.ts +105 -0
- package/dist/metadata/generated/runtime/createClient.d.ts +23 -0
- package/dist/metadata/generated/runtime/error.d.ts +18 -0
- package/dist/metadata/generated/runtime/fetcher.d.ts +10 -0
- package/dist/metadata/generated/runtime/generateGraphqlOperation.d.ts +30 -0
- package/dist/metadata/generated/runtime/index.d.ts +11 -0
- package/dist/metadata/generated/runtime/linkTypeMap.d.ts +9 -0
- package/dist/metadata/generated/runtime/typeSelection.d.ts +28 -0
- package/dist/metadata/generated/runtime/types.d.ts +55 -0
- package/dist/metadata/generated/schema.d.ts +11648 -0
- package/dist/metadata/generated/types.d.ts +5616 -0
- package/dist/metadata/index.d.ts +2 -0
- package/dist/metadata.cjs +6 -0
- package/dist/metadata.mjs +7653 -0
- package/dist/rest/index.d.ts +54 -0
- package/dist/rest.cjs +1 -0
- package/dist/rest.mjs +112 -0
- package/dist/shared/twenty-client-options.type.d.ts +9 -0
- package/dist/shared/twenty-client-run-as.type.d.ts +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), s = (e, n) => {
|
|
3
|
+
let r = {};
|
|
4
|
+
for (var i in e) t(r, i, {
|
|
5
|
+
get: e[i],
|
|
6
|
+
enumerable: !0
|
|
7
|
+
});
|
|
8
|
+
return n || t(r, Symbol.toStringTag, { value: "Module" }), r;
|
|
9
|
+
}, c = (e, i, o, s) => {
|
|
10
|
+
if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, {
|
|
11
|
+
get: ((e) => i[e]).bind(null, d),
|
|
12
|
+
enumerable: !(s = n(i, d)) || s.enumerable
|
|
13
|
+
});
|
|
14
|
+
return e;
|
|
15
|
+
}, l = (n, r, a) => (a = n == null ? {} : e(i(n)), c(r || !n || !n.__esModule ? t(a, "default", {
|
|
16
|
+
value: n,
|
|
17
|
+
enumerable: !0
|
|
18
|
+
}) : a, n));
|
|
19
|
+
//#endregion
|
|
20
|
+
export { s as n, l as r, o as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type CoreSchema = {};
|
package/dist/core.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./chunk-mLOUI7ql.js");var t=class{constructor(e){throw Error("CoreApiClient was not generated. Install this app on a Chass instance or run `yarn chass dev`.")}},n=e.n({});exports.CoreApiClient=t,Object.defineProperty(exports,"CoreSchema",{enumerable:!0,get:function(){return n}});
|
package/dist/core.mjs
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { n as e } from "./chunk-Dqa2HsxW.mjs";
|
|
2
|
+
//#region src/core/generated/index.ts
|
|
3
|
+
var t = class {
|
|
4
|
+
constructor(e) {
|
|
5
|
+
throw Error("CoreApiClient was not generated. Install this app on a Chass instance or run `yarn chass dev`.");
|
|
6
|
+
}
|
|
7
|
+
}, n = /* @__PURE__ */ e({});
|
|
8
|
+
//#endregion
|
|
9
|
+
export { t as CoreApiClient, n as CoreSchema };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const ensureDir: (dirPath: string) => Promise<string | undefined>;
|
|
2
|
+
export declare const emptyDir: (dirPath: string) => Promise<void>;
|
|
3
|
+
export declare const move: (src: string, dest: string) => Promise<void>;
|
|
4
|
+
export declare const remove: (filePath: string) => Promise<void>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const GENERATED_CORE_DIR = "core/generated";
|
|
2
|
+
export declare const generateCoreClientFromSchema: ({ schema, outputPath, clientWrapperTemplateSource, }: {
|
|
3
|
+
schema: string;
|
|
4
|
+
outputPath: string;
|
|
5
|
+
clientWrapperTemplateSource?: string | undefined;
|
|
6
|
+
}) => Promise<void>;
|
|
7
|
+
export declare const replaceCoreClient: ({ packageRoot, schema, }: {
|
|
8
|
+
packageRoot: string;
|
|
9
|
+
schema: string;
|
|
10
|
+
}) => Promise<void>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { GraphQLSchema } from 'graphql';
|
|
2
|
+
import { BuiltInParserName } from 'prettier';
|
|
3
|
+
import { Config } from '../../config';
|
|
4
|
+
interface Import {
|
|
5
|
+
isDefault: boolean;
|
|
6
|
+
module?: string;
|
|
7
|
+
alias?: string;
|
|
8
|
+
}
|
|
9
|
+
interface ImportMap {
|
|
10
|
+
[from: string]: Import[];
|
|
11
|
+
}
|
|
12
|
+
export declare class RenderContext {
|
|
13
|
+
schema?: GraphQLSchema | undefined;
|
|
14
|
+
config?: Config | undefined;
|
|
15
|
+
protected codeBlocks: string[];
|
|
16
|
+
protected imports: ImportMap;
|
|
17
|
+
protected importAliasCounter: number;
|
|
18
|
+
constructor(schema?: GraphQLSchema | undefined, config?: Config | undefined);
|
|
19
|
+
addCodeBlock(block: string): void;
|
|
20
|
+
addImport(from: string, isDefault: boolean, module?: string, fromAbsolute?: boolean, noAlias?: boolean): string | undefined;
|
|
21
|
+
protected getImportBlock(): string | undefined;
|
|
22
|
+
toCode(parser?: BuiltInParserName, pretty?: boolean): Promise<string>;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GraphQLArgument, GraphQLEnumValue, GraphQLField, GraphQLInputField, GraphQLNamedType } from 'graphql';
|
|
2
|
+
export declare const comment: (comment: {
|
|
3
|
+
text?: string | null | undefined;
|
|
4
|
+
deprecated?: string | null | undefined;
|
|
5
|
+
}) => string;
|
|
6
|
+
export declare const typeComment: (type: GraphQLNamedType) => string;
|
|
7
|
+
export declare const fieldComment: (field: GraphQLEnumValue | GraphQLField<any, any, any>) => string;
|
|
8
|
+
export declare const argumentComment: (arg: GraphQLArgument | GraphQLInputField) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const excludedTypes: string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const relativeImportPath: (from: string, to: string) => string;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { GraphQLInputType, GraphQLNonNull, GraphQLOutputType } from 'graphql';
|
|
2
|
+
export declare const renderTyping: (type: import("graphql").GraphQLEnumType | import("graphql").GraphQLInputObjectType | import("graphql").GraphQLInterfaceType | import("graphql").GraphQLList<GraphQLInputType> | import("graphql").GraphQLList<GraphQLOutputType> | GraphQLNonNull<import("graphql").GraphQLEnumType | import("graphql").GraphQLInputObjectType | import("graphql").GraphQLList<GraphQLInputType> | import("graphql").GraphQLScalarType<unknown, unknown>> | GraphQLNonNull<import("graphql").GraphQLEnumType | import("graphql").GraphQLInterfaceType | import("graphql").GraphQLList<GraphQLOutputType> | import("graphql").GraphQLObjectType<any, any> | import("graphql").GraphQLScalarType<unknown, unknown> | import("graphql").GraphQLUnionType> | import("graphql").GraphQLObjectType<any, any> | import("graphql").GraphQLScalarType<unknown, unknown> | import("graphql").GraphQLScalarType<unknown, unknown> | import("graphql").GraphQLUnionType, undefinableValues: boolean, undefinableFields: boolean, root?: boolean, wrap?: any) => string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GraphQLField, GraphQLInterfaceType, GraphQLObjectType } from 'graphql';
|
|
2
|
+
import { RenderContext } from '../common/RenderContext';
|
|
3
|
+
export declare const objectType: (type: GraphQLInterfaceType | GraphQLObjectType<any, any>, ctx: RenderContext) => void;
|
|
4
|
+
export declare const toArgsString: (field: GraphQLField<any, any, any>) => string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GraphQLInterfaceType, GraphQLObjectType, GraphQLInputObjectType } from 'graphql';
|
|
2
|
+
import { RenderContext } from '../common/RenderContext';
|
|
3
|
+
import { FieldMap } from '../../runtime/types';
|
|
4
|
+
export declare const objectType: (type: GraphQLInputObjectType | GraphQLInterfaceType | GraphQLObjectType<any, any>, ctx: RenderContext) => FieldMap<string>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CompressedTypeMap, TypeMap } from '../../runtime/types';
|
|
2
|
+
import { GraphQLSchema } from 'graphql';
|
|
3
|
+
import { RenderContext } from '../common/RenderContext';
|
|
4
|
+
export declare const renderTypeMap: (schema: GraphQLSchema, ctx: RenderContext) => void;
|
|
5
|
+
export declare function replaceTypeNamesWithIndexes(typeMap: TypeMap<string>): CompressedTypeMap<number>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GraphQLEnumType, GraphQLScalarType } from 'graphql';
|
|
2
|
+
import { RenderContext } from '../common/RenderContext';
|
|
3
|
+
import { Type } from '../../runtime/types';
|
|
4
|
+
export declare const scalarType: (type: GraphQLEnumType | GraphQLScalarType<unknown, unknown>, _: RenderContext) => Type<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isEmpty(x: any): boolean;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { GraphqlOperation } from './generateGraphqlOperation';
|
|
2
|
+
type Variables = Record<string, any>;
|
|
3
|
+
type QueryError = Error & {
|
|
4
|
+
message: string;
|
|
5
|
+
locations?: Array<{
|
|
6
|
+
line: number;
|
|
7
|
+
column: number;
|
|
8
|
+
}>;
|
|
9
|
+
path?: any;
|
|
10
|
+
rid: string;
|
|
11
|
+
details?: Record<string, any>;
|
|
12
|
+
};
|
|
13
|
+
type Result = {
|
|
14
|
+
data: Record<string, any>;
|
|
15
|
+
errors: Array<QueryError>;
|
|
16
|
+
};
|
|
17
|
+
type Fetcher = (batchedQuery: GraphqlOperation | Array<GraphqlOperation>) => Promise<Array<Result>>;
|
|
18
|
+
type Options = {
|
|
19
|
+
batchInterval?: number;
|
|
20
|
+
shouldBatch?: boolean;
|
|
21
|
+
maxBatchSize?: number;
|
|
22
|
+
};
|
|
23
|
+
type Queue = Array<{
|
|
24
|
+
request: GraphqlOperation;
|
|
25
|
+
resolve: (...args: Array<any>) => any;
|
|
26
|
+
reject: (...args: Array<any>) => any;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Create a batcher client.
|
|
30
|
+
* @param {Fetcher} fetcher - A function that can handle the network requests to graphql endpoint
|
|
31
|
+
* @param {Options} options - the options to be used by client
|
|
32
|
+
* @param {boolean} options.shouldBatch - should the client batch requests. (default true)
|
|
33
|
+
* @param {integer} options.batchInterval - duration (in MS) of each batch window. (default 6)
|
|
34
|
+
* @param {integer} options.maxBatchSize - max number of requests in a batch. (default 0)
|
|
35
|
+
* @param {boolean} options.defaultHeaders - default headers to include with every request
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* const fetcher = batchedQuery => fetch('path/to/graphql', {
|
|
39
|
+
* method: 'post',
|
|
40
|
+
* headers: {
|
|
41
|
+
* Accept: 'application/json',
|
|
42
|
+
* 'Content-Type': 'application/json',
|
|
43
|
+
* },
|
|
44
|
+
* body: JSON.stringify(batchedQuery),
|
|
45
|
+
* credentials: 'include',
|
|
46
|
+
* })
|
|
47
|
+
* .then(response => response.json())
|
|
48
|
+
*
|
|
49
|
+
* const client = new QueryBatcher(fetcher, { maxBatchSize: 10 })
|
|
50
|
+
*/
|
|
51
|
+
export declare class QueryBatcher {
|
|
52
|
+
fetcher: Fetcher;
|
|
53
|
+
_options: Options;
|
|
54
|
+
_queue: Queue;
|
|
55
|
+
constructor(fetcher: Fetcher, { batchInterval, shouldBatch, maxBatchSize }?: Options);
|
|
56
|
+
/**
|
|
57
|
+
* Fetch will send a graphql request and return the parsed json.
|
|
58
|
+
* @param {string} query - the graphql query.
|
|
59
|
+
* @param {Variables} variables - any variables you wish to inject as key/value pairs.
|
|
60
|
+
* @param {[string]} operationName - the graphql operationName.
|
|
61
|
+
* @param {Options} overrides - the client options overrides.
|
|
62
|
+
*
|
|
63
|
+
* @return {promise} resolves to parsed json of server response
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* client.fetch(`
|
|
67
|
+
* query getHuman($id: ID!) {
|
|
68
|
+
* human(id: $id) {
|
|
69
|
+
* name
|
|
70
|
+
* height
|
|
71
|
+
* }
|
|
72
|
+
* }
|
|
73
|
+
* `, { id: "1001" }, 'getHuman')
|
|
74
|
+
* .then(human => {
|
|
75
|
+
* // do something with human
|
|
76
|
+
* console.log(human);
|
|
77
|
+
* });
|
|
78
|
+
*/
|
|
79
|
+
fetch(query: string, variables?: Variables, operationName?: string, overrides?: Options): Promise<Result>;
|
|
80
|
+
/**
|
|
81
|
+
* Fetch will send a graphql request and return the parsed json.
|
|
82
|
+
* @param {string} query - the graphql query.
|
|
83
|
+
* @param {Variables} variables - any variables you wish to inject as key/value pairs.
|
|
84
|
+
* @param {[string]} operationName - the graphql operationName.
|
|
85
|
+
* @param {Options} overrides - the client options overrides.
|
|
86
|
+
*
|
|
87
|
+
* @return {Promise<Array<Result>>} resolves to parsed json of server response
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* client.forceFetch(`
|
|
91
|
+
* query getHuman($id: ID!) {
|
|
92
|
+
* human(id: $id) {
|
|
93
|
+
* name
|
|
94
|
+
* height
|
|
95
|
+
* }
|
|
96
|
+
* }
|
|
97
|
+
* `, { id: "1001" }, 'getHuman')
|
|
98
|
+
* .then(human => {
|
|
99
|
+
* // do something with human
|
|
100
|
+
* console.log(human);
|
|
101
|
+
* });
|
|
102
|
+
*/
|
|
103
|
+
forceFetch(query: string, variables?: Variables, operationName?: string, overrides?: Options): Promise<Result>;
|
|
104
|
+
}
|
|
105
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type BatchOptions } from './fetcher';
|
|
2
|
+
import type { ExecutionResult, LinkedType } from './types';
|
|
3
|
+
import { type GraphqlOperation } from './generateGraphqlOperation';
|
|
4
|
+
export type Headers = HeadersInit | (() => HeadersInit) | (() => Promise<HeadersInit>);
|
|
5
|
+
export type BaseFetcher = (operation: GraphqlOperation | GraphqlOperation[]) => Promise<ExecutionResult | ExecutionResult[]>;
|
|
6
|
+
export type ClientOptions = Omit<RequestInit, 'body' | 'headers'> & {
|
|
7
|
+
url?: string;
|
|
8
|
+
batch?: BatchOptions | boolean;
|
|
9
|
+
fetcher?: BaseFetcher;
|
|
10
|
+
fetch?: Function;
|
|
11
|
+
headers?: Headers;
|
|
12
|
+
};
|
|
13
|
+
export declare const createClient: ({ queryRoot, mutationRoot, subscriptionRoot, ...options }: Omit<RequestInit, "body" | "headers"> & {
|
|
14
|
+
url?: string | undefined;
|
|
15
|
+
batch?: boolean | BatchOptions | undefined;
|
|
16
|
+
fetcher?: BaseFetcher | undefined;
|
|
17
|
+
fetch?: Function | undefined;
|
|
18
|
+
headers?: Headers | undefined;
|
|
19
|
+
} & {
|
|
20
|
+
queryRoot?: LinkedType | undefined;
|
|
21
|
+
mutationRoot?: LinkedType | undefined;
|
|
22
|
+
subscriptionRoot?: LinkedType | undefined;
|
|
23
|
+
}) => any;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare class GenqlError extends Error {
|
|
2
|
+
errors: Array<GraphqlError>;
|
|
3
|
+
/**
|
|
4
|
+
* Partial data returned by the server
|
|
5
|
+
*/
|
|
6
|
+
data?: any;
|
|
7
|
+
constructor(errors: any[], data: any);
|
|
8
|
+
}
|
|
9
|
+
interface GraphqlError {
|
|
10
|
+
message: string;
|
|
11
|
+
locations?: Array<{
|
|
12
|
+
line: number;
|
|
13
|
+
column: number;
|
|
14
|
+
}>;
|
|
15
|
+
path?: string[];
|
|
16
|
+
extensions?: Record<string, any>;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ClientOptions } from './createClient';
|
|
2
|
+
import type { GraphqlOperation } from './generateGraphqlOperation';
|
|
3
|
+
export interface Fetcher {
|
|
4
|
+
(gql: GraphqlOperation): Promise<any>;
|
|
5
|
+
}
|
|
6
|
+
export type BatchOptions = {
|
|
7
|
+
batchInterval?: number;
|
|
8
|
+
maxBatchSize?: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const createFetcher: ({ url, headers, fetcher, fetch: _fetch, batch, ...rest }: ClientOptions) => Fetcher;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { LinkedField, LinkedType } from './types';
|
|
2
|
+
export interface Args {
|
|
3
|
+
[arg: string]: any | undefined;
|
|
4
|
+
}
|
|
5
|
+
export interface Fields {
|
|
6
|
+
[field: string]: Request;
|
|
7
|
+
}
|
|
8
|
+
export type Request = boolean | number | Fields;
|
|
9
|
+
export interface Variables {
|
|
10
|
+
[name: string]: {
|
|
11
|
+
value: any;
|
|
12
|
+
typing: [LinkedType, string];
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export interface Context {
|
|
16
|
+
root: LinkedType;
|
|
17
|
+
varCounter: number;
|
|
18
|
+
variables: Variables;
|
|
19
|
+
fragmentCounter: number;
|
|
20
|
+
fragments: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface GraphqlOperation {
|
|
23
|
+
query: string;
|
|
24
|
+
variables?: {
|
|
25
|
+
[name: string]: any;
|
|
26
|
+
};
|
|
27
|
+
operationName?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare const generateGraphqlOperation: (operation: "mutation" | "query" | "subscription", root: LinkedType, fields?: Fields | undefined) => GraphqlOperation;
|
|
30
|
+
export declare const getFieldFromPath: (root: LinkedType | undefined, path: string[]) => LinkedField;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { createClient } from './createClient';
|
|
2
|
+
export type { ClientOptions } from './createClient';
|
|
3
|
+
export type { FieldsSelection } from './typeSelection';
|
|
4
|
+
export { generateGraphqlOperation } from './generateGraphqlOperation';
|
|
5
|
+
export type { GraphqlOperation } from './generateGraphqlOperation';
|
|
6
|
+
export { linkTypeMap } from './linkTypeMap';
|
|
7
|
+
export { createFetcher } from './fetcher';
|
|
8
|
+
export { GenqlError } from './error';
|
|
9
|
+
export declare const everything: {
|
|
10
|
+
__scalar: boolean;
|
|
11
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CompressedTypeMap, LinkedArgMap, LinkedTypeMap } from './types';
|
|
2
|
+
export interface PartialLinkedFieldMap {
|
|
3
|
+
[field: string]: {
|
|
4
|
+
type: string;
|
|
5
|
+
args?: LinkedArgMap;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export declare const linkTypeMap: (typeMap: CompressedTypeMap<number>) => LinkedTypeMap;
|
|
9
|
+
export declare const resolveConcreteTypes: (linkedTypeMap: LinkedTypeMap) => LinkedTypeMap;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type FieldsSelection<SRC extends Anify<DST> | undefined, DST> = {
|
|
2
|
+
scalar: SRC;
|
|
3
|
+
union: Handle__isUnion<SRC, DST>;
|
|
4
|
+
object: HandleObject<SRC, DST>;
|
|
5
|
+
array: SRC extends Nil ? never : SRC extends (infer T)[] ? Array<FieldsSelection<T, DST>> : never;
|
|
6
|
+
__scalar: Handle__scalar<SRC, DST>;
|
|
7
|
+
never: never;
|
|
8
|
+
}[DST extends Nil ? 'never' : SRC extends Nil ? 'never' : DST extends false | 0 ? 'never' : SRC extends Scalar ? 'scalar' : SRC extends any[] ? 'array' : SRC extends {
|
|
9
|
+
__isUnion?: any;
|
|
10
|
+
} ? 'union' : DST extends {
|
|
11
|
+
__scalar?: any;
|
|
12
|
+
} ? '__scalar' : DST extends {} ? 'object' : 'never'];
|
|
13
|
+
type HandleObject<SRC extends Anify<DST>, DST> = SRC extends Nil ? never : Pick<{
|
|
14
|
+
[Key in keyof SRC]: Key extends keyof DST ? FieldsSelection<NonNullable<SRC[Key]>, NonNullable<DST[Key]>> : SRC[Key];
|
|
15
|
+
}, Exclude<keyof DST, FieldsToRemove>>;
|
|
16
|
+
type Handle__scalar<SRC extends Anify<DST>, DST> = SRC extends Nil ? never : Pick<{
|
|
17
|
+
[Key in keyof SRC]: Key extends keyof DST ? FieldsSelection<SRC[Key], DST[Key]> : SRC[Key];
|
|
18
|
+
}, {
|
|
19
|
+
[Key in keyof SRC]: SRC[Key] extends Nil ? never : Key extends FieldsToRemove ? never : SRC[Key] extends Scalar ? Key : Key extends keyof DST ? Key : never;
|
|
20
|
+
}[keyof SRC]>;
|
|
21
|
+
type Handle__isUnion<SRC extends Anify<DST>, DST> = SRC extends Nil ? never : Omit<SRC, FieldsToRemove>;
|
|
22
|
+
type Scalar = string | number | Date | boolean | null | undefined;
|
|
23
|
+
type Anify<T> = {
|
|
24
|
+
[P in keyof T]?: any;
|
|
25
|
+
};
|
|
26
|
+
type FieldsToRemove = '__isUnion' | '__scalar' | '__name' | '__args';
|
|
27
|
+
type Nil = undefined | null;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface ExecutionResult<TData = {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}> {
|
|
4
|
+
errors?: Array<Error>;
|
|
5
|
+
data?: TData | null;
|
|
6
|
+
}
|
|
7
|
+
export interface ArgMap<keyType = number> {
|
|
8
|
+
[arg: string]: [keyType, string] | [keyType] | undefined;
|
|
9
|
+
}
|
|
10
|
+
export type CompressedField<keyType = number> = [
|
|
11
|
+
type: keyType,
|
|
12
|
+
args?: ArgMap<keyType>
|
|
13
|
+
];
|
|
14
|
+
export interface CompressedFieldMap<keyType = number> {
|
|
15
|
+
[field: string]: CompressedField<keyType> | undefined;
|
|
16
|
+
}
|
|
17
|
+
export type CompressedType<keyType = number> = CompressedFieldMap<keyType>;
|
|
18
|
+
export interface CompressedTypeMap<keyType = number> {
|
|
19
|
+
scalars: Array<keyType>;
|
|
20
|
+
types: {
|
|
21
|
+
[type: string]: CompressedType<keyType> | undefined;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export type Field<keyType = number> = {
|
|
25
|
+
type: keyType;
|
|
26
|
+
args?: ArgMap<keyType>;
|
|
27
|
+
};
|
|
28
|
+
export interface FieldMap<keyType = number> {
|
|
29
|
+
[field: string]: Field<keyType> | undefined;
|
|
30
|
+
}
|
|
31
|
+
export type Type<keyType = number> = FieldMap<keyType>;
|
|
32
|
+
export interface TypeMap<keyType = number> {
|
|
33
|
+
scalars: Array<keyType>;
|
|
34
|
+
types: {
|
|
35
|
+
[type: string]: Type<keyType> | undefined;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export interface LinkedArgMap {
|
|
39
|
+
[arg: string]: [LinkedType, string] | undefined;
|
|
40
|
+
}
|
|
41
|
+
export interface LinkedField {
|
|
42
|
+
type: LinkedType;
|
|
43
|
+
args?: LinkedArgMap;
|
|
44
|
+
}
|
|
45
|
+
export interface LinkedFieldMap {
|
|
46
|
+
[field: string]: LinkedField | undefined;
|
|
47
|
+
}
|
|
48
|
+
export interface LinkedType {
|
|
49
|
+
name: string;
|
|
50
|
+
fields?: LinkedFieldMap;
|
|
51
|
+
scalar?: string[];
|
|
52
|
+
}
|
|
53
|
+
export interface LinkedTypeMap {
|
|
54
|
+
[type: string]: LinkedType | undefined;
|
|
55
|
+
}
|