@orion-js/resolvers 4.0.0-next.2 → 4.0.0-next.4
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/dist/index.cjs +153 -2053
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +48 -20
- package/dist/index.d.ts +48 -20
- package/dist/index.js +125 -2052
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { OrionCache } from '@orion-js/cache';
|
|
2
|
-
import { Blackbox } from '@orion-js/schema';
|
|
2
|
+
import { Blackbox, InferSchemaType, SchemaFieldType, Schema } from '@orion-js/schema';
|
|
3
3
|
|
|
4
|
-
type GlobalResolverResolve =
|
|
5
|
-
type ModelResolverResolve =
|
|
6
|
-
type GlobalCheckPermissions = (params: any, viewer: any, info?: any) => Promise<string
|
|
7
|
-
type ModelCheckPermissions = (parent: any, params: any, viewer: any, info?: any) => Promise<string
|
|
4
|
+
type GlobalResolverResolve<TParams = any, TReturns = any, TViewer = any, TInfo = any> = (params?: InferSchemaType<TParams>, viewer?: TViewer, info?: TInfo) => Promise<InferSchemaType<TReturns>>;
|
|
5
|
+
type ModelResolverResolve<TItem = any, TParams = any, TReturns = any, TViewer = any, TInfo = any> = (item?: TItem, params?: InferSchemaType<TParams>, viewer?: TViewer, info?: TInfo) => Promise<InferSchemaType<TReturns>>;
|
|
6
|
+
type GlobalCheckPermissions = (params: any, viewer: any, info?: any) => Promise<string>;
|
|
7
|
+
type ModelCheckPermissions = (parent: any, params: any, viewer: any, info?: any) => Promise<string>;
|
|
8
8
|
type GlobalGetCacheKey = (params: any, viewer: any, info: any) => Promise<any>;
|
|
9
9
|
type ModelGetCacheKey = (parent: any, params: any, viewer: any, info: any) => Promise<any>;
|
|
10
10
|
interface ExecuteOptions {
|
|
@@ -12,7 +12,7 @@ interface ExecuteOptions {
|
|
|
12
12
|
viewer: any;
|
|
13
13
|
parent?: any;
|
|
14
14
|
info?: any;
|
|
15
|
-
options:
|
|
15
|
+
options: GlobalResolverOptions | ModelResolverOptions;
|
|
16
16
|
}
|
|
17
17
|
type Parameters<T> = T extends (...args: infer P) => any ? P : never;
|
|
18
18
|
type ReturnType<T> = T extends (...args: any) => infer R ? R : any;
|
|
@@ -24,10 +24,10 @@ interface ExecuteParams<Resolve = Function, IsModel = undefined> {
|
|
|
24
24
|
info?: any;
|
|
25
25
|
}
|
|
26
26
|
type Execute<Resolve = Function, IsModel = undefined> = (executeOptions: ExecuteParams<Resolve, IsModel>) => ReturnType<Resolve>;
|
|
27
|
-
interface SharedResolverOptions {
|
|
27
|
+
interface SharedResolverOptions<TParams = any, TReturns = any> {
|
|
28
28
|
resolverId?: string;
|
|
29
|
-
params?:
|
|
30
|
-
returns?:
|
|
29
|
+
params?: TParams;
|
|
30
|
+
returns?: TReturns;
|
|
31
31
|
mutation?: boolean;
|
|
32
32
|
private?: boolean;
|
|
33
33
|
checkPermission?: GlobalCheckPermissions | ModelCheckPermissions;
|
|
@@ -37,9 +37,13 @@ interface SharedResolverOptions {
|
|
|
37
37
|
permissionsOptions?: any;
|
|
38
38
|
middlewares?: ResolverMiddleware[];
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
resolve:
|
|
42
|
-
}
|
|
40
|
+
type GlobalResolverOptions<TParams = any, TReturns = any, TViewer = any, TInfo = any> = SharedResolverOptions<TParams, TReturns> & {
|
|
41
|
+
resolve: GlobalResolverResolve<TParams, TReturns, TViewer, TInfo>;
|
|
42
|
+
};
|
|
43
|
+
type ModelResolverOptions<TItem = any, TParams = any, TReturns = any, TViewer = any, TInfo = any> = SharedResolverOptions<TParams, TReturns> & {
|
|
44
|
+
resolve: ModelResolverResolve<TItem, TParams, TReturns, TViewer, TInfo>;
|
|
45
|
+
};
|
|
46
|
+
type ResolverOptions<TParams = any, TReturns = any, TViewer = any, TInfo = any, TItem = any> = GlobalResolverOptions<TParams, TReturns, TViewer, TInfo> | ModelResolverOptions<TItem, TParams, TReturns, TViewer, TInfo>;
|
|
43
47
|
type OmitFirstArg<F> = F extends (x: any, ...args: infer P) => infer R ? (...args: P) => R : never;
|
|
44
48
|
interface Resolver<Resolve = Function, IsModel = undefined> extends SharedResolverOptions {
|
|
45
49
|
execute: Execute<Resolve, IsModel>;
|
|
@@ -47,21 +51,16 @@ interface Resolver<Resolve = Function, IsModel = undefined> extends SharedResolv
|
|
|
47
51
|
modelResolve: IsModel extends undefined ? undefined : OmitFirstArg<Resolve>;
|
|
48
52
|
}
|
|
49
53
|
type ModelResolver<Resolve = Function> = Resolver<Resolve, true>;
|
|
50
|
-
type CreateResolver = <Resolve extends GlobalResolverResolve>(options: ResolverOptions<Resolve>) => Resolver<Resolve>;
|
|
51
|
-
type CreateModelResolver = <Resolve extends ModelResolverResolve>(options: ResolverOptions<Resolve>) => ModelResolver<Resolve>;
|
|
52
54
|
interface PermissionCheckerOptions {
|
|
53
|
-
resolver:
|
|
55
|
+
resolver: GlobalResolverOptions | ModelResolverOptions;
|
|
54
56
|
parent: any;
|
|
55
57
|
params: any;
|
|
56
58
|
viewer: any;
|
|
57
59
|
info: any;
|
|
58
60
|
}
|
|
59
|
-
type PermissionChecker = (options: PermissionCheckerOptions) => Promise<string
|
|
61
|
+
type PermissionChecker = (options: PermissionCheckerOptions) => Promise<string>;
|
|
60
62
|
type ResolverMiddleware = (executeOptions: ExecuteOptions, next: () => Promise<any>) => Promise<any>;
|
|
61
63
|
|
|
62
|
-
declare const resolver: CreateResolver;
|
|
63
|
-
declare const modelResolver: CreateModelResolver;
|
|
64
|
-
|
|
65
64
|
declare function createResolverMiddleware(middleware: ResolverMiddleware): ResolverMiddleware;
|
|
66
65
|
|
|
67
66
|
declare function export_default$2(executeOptions: ExecuteOptions, options: ResolverOptions): Promise<void>;
|
|
@@ -84,4 +83,33 @@ declare function getResolverArgs(...args: any[]): {
|
|
|
84
83
|
parent?: undefined;
|
|
85
84
|
};
|
|
86
85
|
|
|
87
|
-
|
|
86
|
+
declare const createResolver: <TParams extends SchemaFieldType = SchemaFieldType, TReturns extends SchemaFieldType = SchemaFieldType, TViewer = any, TInfo = any>(options: GlobalResolverOptions<TParams, TReturns, TViewer, TInfo>) => Resolver<GlobalResolverResolve<TParams, TReturns, TViewer, TInfo>>;
|
|
87
|
+
declare const createModelResolver: <TItem = any, TParams extends SchemaFieldType = SchemaFieldType, TReturns extends SchemaFieldType = SchemaFieldType, TViewer = any, TInfo = any>(options: ModelResolverOptions<TItem, TParams, TReturns, TViewer, TInfo>) => ModelResolver<ModelResolverResolve<TItem, TParams, TReturns, TViewer, TInfo>>;
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated Use createResolver and createModelResolver instead
|
|
90
|
+
*/
|
|
91
|
+
declare const resolver: <TParams extends SchemaFieldType = SchemaFieldType, TReturns extends SchemaFieldType = SchemaFieldType, TViewer = any, TInfo = any>(options: GlobalResolverOptions<TParams, TReturns, TViewer, TInfo>) => Resolver<GlobalResolverResolve<TParams, TReturns, TViewer, TInfo>>;
|
|
92
|
+
/**
|
|
93
|
+
* @deprecated Use createResolver and createModelResolver instead
|
|
94
|
+
*/
|
|
95
|
+
declare const modelResolver: <TItem = any, TParams extends SchemaFieldType = SchemaFieldType, TReturns extends SchemaFieldType = SchemaFieldType, TViewer = any, TInfo = any>(options: ModelResolverOptions<TItem, TParams, TReturns, TViewer, TInfo>) => ModelResolver<ModelResolverResolve<TItem, TParams, TReturns, TViewer, TInfo>>;
|
|
96
|
+
|
|
97
|
+
interface SchemaWithResolversResolversMap<TSchema> {
|
|
98
|
+
[key: string]: ModelResolver<ModelResolverResolve<TSchema>>;
|
|
99
|
+
}
|
|
100
|
+
interface SchemaWithResolversOptions<TModelName extends string, TSchema extends Schema, TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>> {
|
|
101
|
+
name: TModelName;
|
|
102
|
+
schema: TSchema;
|
|
103
|
+
resolvers?: TTypeResolvers;
|
|
104
|
+
}
|
|
105
|
+
declare function internal_schemaWithResolvers<TModelName extends string, TSchema extends Schema, TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>>(options: SchemaWithResolversOptions<TModelName, TSchema, TTypeResolvers>): {
|
|
106
|
+
__modelName: TModelName;
|
|
107
|
+
__resolvers: TTypeResolvers;
|
|
108
|
+
} & TSchema;
|
|
109
|
+
/**
|
|
110
|
+
* This method is used to give backwards compatibility to models.initItem
|
|
111
|
+
*/
|
|
112
|
+
declare function internal_appendResolversToItem<TItem, TSchema extends Schema, TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>>(item: TItem, resolvers: TTypeResolvers): TItem & { [key in keyof TTypeResolvers]: RemoveFirstArg<TTypeResolvers[key]>; };
|
|
113
|
+
type RemoveFirstArg<T> = T extends (x: any, ...args: infer P) => infer R ? (...args: P) => R : never;
|
|
114
|
+
|
|
115
|
+
export { type Execute, type ExecuteOptions, type ExecuteParams, type GlobalCheckPermissions, type GlobalGetCacheKey, type GlobalResolverOptions, type GlobalResolverResolve, type ModelCheckPermissions, type ModelGetCacheKey, type ModelResolver, type ModelResolverOptions, type ModelResolverResolve, type PermissionChecker, type PermissionCheckerOptions, type Resolver, type ResolverMiddleware, type ResolverOptions, type SchemaWithResolversOptions, type SchemaWithResolversResolversMap, type SharedResolverOptions, addPermissionChecker, export_default$2 as checkPermissions, export_default$1 as cleanParams, export_default as cleanReturns, createModelResolver, createResolver, createResolverMiddleware, getResolverArgs, internal_appendResolversToItem, internal_schemaWithResolvers, modelResolver, resolver };
|