@orion-js/resolvers 4.1.6 → 4.1.7
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/index.cjs +1 -23
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -23
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -57,7 +57,6 @@ function getResolverArgs(...args) {
|
|
|
57
57
|
|
|
58
58
|
// src/resolver/getExecute/index.ts
|
|
59
59
|
var import_schema = require("@orion-js/schema");
|
|
60
|
-
var import_logger = require("@orion-js/logger");
|
|
61
60
|
|
|
62
61
|
// src/resolver/getExecute/getResultWithMiddlewares.ts
|
|
63
62
|
var import_helpers = require("@orion-js/helpers");
|
|
@@ -97,28 +96,7 @@ function getExecute(options) {
|
|
|
97
96
|
parent: executeParams.parent,
|
|
98
97
|
options
|
|
99
98
|
};
|
|
100
|
-
const result =
|
|
101
|
-
{
|
|
102
|
-
controllerType: "modelResolver",
|
|
103
|
-
viewer: executeContext.viewer,
|
|
104
|
-
params: executeContext.params,
|
|
105
|
-
parentData: executeContext.parent,
|
|
106
|
-
modelResolverName: executeContext.options.resolverName || "unknown"
|
|
107
|
-
},
|
|
108
|
-
async () => {
|
|
109
|
-
return await getResultWithMiddlewares(executeContext);
|
|
110
|
-
}
|
|
111
|
-
) : await (0, import_logger.runWithOrionAsyncContext)(
|
|
112
|
-
{
|
|
113
|
-
controllerType: "resolver",
|
|
114
|
-
viewer: executeContext.viewer,
|
|
115
|
-
params: executeContext.params,
|
|
116
|
-
resolverName: executeContext.options.resolverName || "unknown"
|
|
117
|
-
},
|
|
118
|
-
async () => {
|
|
119
|
-
return await getResultWithMiddlewares(executeContext);
|
|
120
|
-
}
|
|
121
|
-
);
|
|
99
|
+
const result = await getResultWithMiddlewares(executeContext);
|
|
122
100
|
if (options.returns) {
|
|
123
101
|
return await (0, import_schema.clean)(options.returns, result);
|
|
124
102
|
}
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/createResolverMiddleware.ts","../src/resolver/getArgs.ts","../src/resolver/getExecute/index.ts","../src/resolver/getExecute/getResultWithMiddlewares.ts","../src/resolver/getExecute/getResult.ts","../src/resolver/index.ts","../src/schemaWithResolvers/index.ts"],"sourcesContent":["export * from './resolver/types'\nexport * from './createResolverMiddleware'\nexport * from './resolver/getArgs'\nexport * from './resolver'\nexport * from './schemaWithResolvers'\n","import {ResolverMiddleware} from './resolver/types'\n\nexport function createResolverMiddleware(middleware: ResolverMiddleware) {\n return middleware\n}\n","export function getResolverArgs(...args: any[]) {\n if (args.length === 4) {\n return {\n parent: args[0],\n params: args[1] || {},\n viewer: args[2] || {},\n info: args[3] || {},\n }\n }\n if (args.length < 4) {\n return {\n params: args[0] || {},\n viewer: args[1] || {},\n info: args[2] || {},\n }\n }\n throw new Error('A resolver must be called with 2 parameters only')\n}\n","import {clean, cleanAndValidate} from '@orion-js/schema'\nimport {runWithOrionAsyncContext} from '@orion-js/logger'\nimport {ResolverOptions, Execute, ExecuteOptions} from '../types'\nimport {getResultWithMiddlewares} from './getResultWithMiddlewares'\n\nexport default function getExecute(options: ResolverOptions) {\n const execute: Execute = async executeParams => {\n const executeContext: ExecuteOptions = {\n params: options.params\n ? await cleanAndValidate(options.params, executeParams.params ?? {})\n : (executeParams.params ?? {}),\n viewer: executeParams.viewer || {},\n info: executeParams.info || {},\n parent: executeParams.parent,\n options: options,\n }\n\n const result = executeContext.parent\n ? await runWithOrionAsyncContext(\n {\n controllerType: 'modelResolver' as const,\n viewer: executeContext.viewer,\n params: executeContext.params,\n parentData: executeContext.parent,\n modelResolverName: executeContext.options.resolverName || 'unknown',\n },\n async () => {\n return await getResultWithMiddlewares(executeContext)\n },\n )\n : await runWithOrionAsyncContext(\n {\n controllerType: 'resolver' as const,\n viewer: executeContext.viewer,\n params: executeContext.params,\n resolverName: executeContext.options.resolverName || 'unknown',\n },\n async () => {\n return await getResultWithMiddlewares(executeContext)\n },\n )\n\n if (options.returns) {\n return await clean(options.returns, result)\n }\n\n return result\n }\n\n return execute\n}\n","import {composeMiddlewares} from '@orion-js/helpers'\nimport {createResolverMiddleware} from '../../createResolverMiddleware'\nimport {ExecuteOptions} from '../types'\nimport getResult from './getResult'\n\nexport async function getResultWithMiddlewares(executeOptions: ExecuteOptions) {\n const resolveMiddleware = createResolverMiddleware(async executeOptions => {\n return await getResult(executeOptions)\n })\n\n const composedMiddlewares = composeMiddlewares([\n ...(executeOptions.options.middlewares || []),\n resolveMiddleware,\n ])\n\n return await composedMiddlewares(executeOptions)\n}\n","import {ExecuteOptions} from '../types'\n\nexport default async function (executeOptions: ExecuteOptions) {\n const {parent, params, viewer, info, options} = executeOptions\n const executeResolver = async (): Promise<any> => {\n const resultFunc = options.resolve as (...args: any) => any\n if (parent) {\n return await resultFunc(parent, params, viewer, info)\n }\n return await resultFunc(params, viewer, info)\n }\n\n return await executeResolver()\n}\n","import getExecute from './getExecute'\nimport {generateId} from '@orion-js/helpers'\nimport {GlobalResolverOptions, ModelResolver, ModelResolverOptions, GlobalResolver} from './types'\nimport {getResolverArgs} from './getArgs'\nimport {getSchemaFromAnyOrionForm, SchemaFieldType} from '@orion-js/schema'\n\nfunction dynamicCreateResolver(options: any) {\n options.params = getSchemaFromAnyOrionForm(options.params)\n options.returns = getSchemaFromAnyOrionForm(options.returns)\n\n if (!options.resolverId) {\n options.resolverId = generateId()\n }\n\n if (!options.middlewares) {\n options.middlewares = []\n }\n\n const execute = getExecute(options)\n\n const resolve = async (...args: any[]) => {\n const params: any = getResolverArgs(...args)\n return await execute(params)\n }\n\n const resolver = {\n ...options,\n resolve,\n execute,\n }\n\n return resolver\n}\n\nconst createResolver = <\n TParams extends SchemaFieldType = any,\n TReturns extends SchemaFieldType = any,\n TViewer = any,\n TInfo = any,\n>(\n options: GlobalResolverOptions<TParams, TReturns, TViewer, TInfo>,\n): GlobalResolver<TParams, TReturns, TViewer, TInfo> => {\n return dynamicCreateResolver(options)\n}\n\nconst createModelResolver = <\n TItem = any,\n TParams extends SchemaFieldType = any,\n TReturns extends SchemaFieldType = any,\n TViewer = any,\n TInfo = any,\n>(\n options: ModelResolverOptions<TItem, TParams, TReturns, TViewer, TInfo>,\n): ModelResolver<TItem, TParams, TReturns, TViewer, TInfo> => {\n return dynamicCreateResolver(options)\n}\n\n/**\n * @deprecated Use createResolver and createModelResolver instead\n */\nconst resolver = createResolver\n\n/**\n * @deprecated Use createResolver and createModelResolver instead\n */\nconst modelResolver = createModelResolver\n\nexport {createResolver, createModelResolver, resolver, modelResolver}\n","import {Schema} from '@orion-js/schema'\nimport {ModelResolver, ModelResolverResolve} from '../resolver/types'\n\nexport interface SchemaWithResolversResolversMap<TSchema> {\n [key: string]: ModelResolver<ModelResolverResolve<TSchema>>\n}\n\nexport interface SchemaWithResolversOptions<\n TModelName extends string,\n TSchema extends Schema,\n TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>,\n> {\n name: TModelName\n schema: TSchema\n resolvers?: TTypeResolvers\n}\n\nexport function internal_schemaWithResolvers<\n TModelName extends string,\n TSchema extends Schema,\n TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>,\n>(options: SchemaWithResolversOptions<TModelName, TSchema, TTypeResolvers>) {\n const {name, schema, resolvers} = options\n return {\n __modelName: name,\n __resolvers: resolvers,\n ...schema,\n }\n}\n\n/**\n * This method is used to give backwards compatibility to models.initItem\n */\nexport function internal_appendResolversToItem<\n TItem,\n TSchema extends Schema,\n TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>,\n>(item: TItem, resolvers: TTypeResolvers) {\n const newItem = {...item} as any\n\n for (const resolverName in resolvers) {\n newItem[resolverName] = (...args: any[]) => resolvers[resolverName].resolve(newItem, ...args)\n }\n\n return newItem as TItem & {\n [key in keyof TTypeResolvers]: RemoveFirstArg<TTypeResolvers[key]>\n }\n}\n\ntype RemoveFirstArg<T> = T extends (x: any, ...args: infer P) => infer R ? (...args: P) => R : never\n"],"mappings":"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","names":["executeOptions","import_helpers","import_schema","resolver"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/createResolverMiddleware.ts","../src/resolver/getArgs.ts","../src/resolver/getExecute/index.ts","../src/resolver/getExecute/getResultWithMiddlewares.ts","../src/resolver/getExecute/getResult.ts","../src/resolver/index.ts","../src/schemaWithResolvers/index.ts"],"sourcesContent":["export * from './resolver/types'\nexport * from './createResolverMiddleware'\nexport * from './resolver/getArgs'\nexport * from './resolver'\nexport * from './schemaWithResolvers'\n","import {ResolverMiddleware} from './resolver/types'\n\nexport function createResolverMiddleware(middleware: ResolverMiddleware) {\n return middleware\n}\n","export function getResolverArgs(...args: any[]) {\n if (args.length === 4) {\n return {\n parent: args[0],\n params: args[1] || {},\n viewer: args[2] || {},\n info: args[3] || {},\n }\n }\n if (args.length < 4) {\n return {\n params: args[0] || {},\n viewer: args[1] || {},\n info: args[2] || {},\n }\n }\n throw new Error('A resolver must be called with 2 parameters only')\n}\n","import {clean, cleanAndValidate} from '@orion-js/schema'\nimport {ResolverOptions, Execute, ExecuteOptions} from '../types'\nimport {getResultWithMiddlewares} from './getResultWithMiddlewares'\n\nexport default function getExecute(options: ResolverOptions) {\n const execute: Execute = async executeParams => {\n const executeContext: ExecuteOptions = {\n params: options.params\n ? await cleanAndValidate(options.params, executeParams.params ?? {})\n : (executeParams.params ?? {}),\n viewer: executeParams.viewer || {},\n info: executeParams.info || {},\n parent: executeParams.parent,\n options: options,\n }\n\n const result = await getResultWithMiddlewares(executeContext)\n\n if (options.returns) {\n return await clean(options.returns, result)\n }\n\n return result\n }\n\n return execute\n}\n","import {composeMiddlewares} from '@orion-js/helpers'\nimport {createResolverMiddleware} from '../../createResolverMiddleware'\nimport {ExecuteOptions} from '../types'\nimport getResult from './getResult'\n\nexport async function getResultWithMiddlewares(executeOptions: ExecuteOptions) {\n const resolveMiddleware = createResolverMiddleware(async executeOptions => {\n return await getResult(executeOptions)\n })\n\n const composedMiddlewares = composeMiddlewares([\n ...(executeOptions.options.middlewares || []),\n resolveMiddleware,\n ])\n\n return await composedMiddlewares(executeOptions)\n}\n","import {ExecuteOptions} from '../types'\n\nexport default async function (executeOptions: ExecuteOptions) {\n const {parent, params, viewer, info, options} = executeOptions\n const executeResolver = async (): Promise<any> => {\n const resultFunc = options.resolve as (...args: any) => any\n if (parent) {\n return await resultFunc(parent, params, viewer, info)\n }\n return await resultFunc(params, viewer, info)\n }\n\n return await executeResolver()\n}\n","import getExecute from './getExecute'\nimport {generateId} from '@orion-js/helpers'\nimport {GlobalResolverOptions, ModelResolver, ModelResolverOptions, GlobalResolver} from './types'\nimport {getResolverArgs} from './getArgs'\nimport {getSchemaFromAnyOrionForm, SchemaFieldType} from '@orion-js/schema'\n\nfunction dynamicCreateResolver(options: any) {\n options.params = getSchemaFromAnyOrionForm(options.params)\n options.returns = getSchemaFromAnyOrionForm(options.returns)\n\n if (!options.resolverId) {\n options.resolverId = generateId()\n }\n\n if (!options.middlewares) {\n options.middlewares = []\n }\n\n const execute = getExecute(options)\n\n const resolve = async (...args: any[]) => {\n const params: any = getResolverArgs(...args)\n return await execute(params)\n }\n\n const resolver = {\n ...options,\n resolve,\n execute,\n }\n\n return resolver\n}\n\nconst createResolver = <\n TParams extends SchemaFieldType = any,\n TReturns extends SchemaFieldType = any,\n TViewer = any,\n TInfo = any,\n>(\n options: GlobalResolverOptions<TParams, TReturns, TViewer, TInfo>,\n): GlobalResolver<TParams, TReturns, TViewer, TInfo> => {\n return dynamicCreateResolver(options)\n}\n\nconst createModelResolver = <\n TItem = any,\n TParams extends SchemaFieldType = any,\n TReturns extends SchemaFieldType = any,\n TViewer = any,\n TInfo = any,\n>(\n options: ModelResolverOptions<TItem, TParams, TReturns, TViewer, TInfo>,\n): ModelResolver<TItem, TParams, TReturns, TViewer, TInfo> => {\n return dynamicCreateResolver(options)\n}\n\n/**\n * @deprecated Use createResolver and createModelResolver instead\n */\nconst resolver = createResolver\n\n/**\n * @deprecated Use createResolver and createModelResolver instead\n */\nconst modelResolver = createModelResolver\n\nexport {createResolver, createModelResolver, resolver, modelResolver}\n","import {Schema} from '@orion-js/schema'\nimport {ModelResolver, ModelResolverResolve} from '../resolver/types'\n\nexport interface SchemaWithResolversResolversMap<TSchema> {\n [key: string]: ModelResolver<ModelResolverResolve<TSchema>>\n}\n\nexport interface SchemaWithResolversOptions<\n TModelName extends string,\n TSchema extends Schema,\n TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>,\n> {\n name: TModelName\n schema: TSchema\n resolvers?: TTypeResolvers\n}\n\nexport function internal_schemaWithResolvers<\n TModelName extends string,\n TSchema extends Schema,\n TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>,\n>(options: SchemaWithResolversOptions<TModelName, TSchema, TTypeResolvers>) {\n const {name, schema, resolvers} = options\n return {\n __modelName: name,\n __resolvers: resolvers,\n ...schema,\n }\n}\n\n/**\n * This method is used to give backwards compatibility to models.initItem\n */\nexport function internal_appendResolversToItem<\n TItem,\n TSchema extends Schema,\n TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>,\n>(item: TItem, resolvers: TTypeResolvers) {\n const newItem = {...item} as any\n\n for (const resolverName in resolvers) {\n newItem[resolverName] = (...args: any[]) => resolvers[resolverName].resolve(newItem, ...args)\n }\n\n return newItem as TItem & {\n [key in keyof TTypeResolvers]: RemoveFirstArg<TTypeResolvers[key]>\n }\n}\n\ntype RemoveFirstArg<T> = T extends (x: any, ...args: infer P) => infer R ? (...args: P) => R : never\n"],"mappings":"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","names":["executeOptions","import_helpers","import_schema","resolver"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -25,7 +25,6 @@ interface ExecuteParams<Resolve = Function, IsModel = undefined> {
|
|
|
25
25
|
type Execute<Resolve = Function, IsModel = undefined> = (executeOptions: ExecuteParams<Resolve, IsModel>) => ReturnType<Resolve>;
|
|
26
26
|
interface SharedResolverOptions<TParams extends SchemaFieldType = any, TReturns extends SchemaFieldType = any> {
|
|
27
27
|
resolverId?: string;
|
|
28
|
-
resolverName?: string;
|
|
29
28
|
params?: TParams;
|
|
30
29
|
returns?: TReturns;
|
|
31
30
|
mutation?: boolean;
|
package/dist/index.d.ts
CHANGED
|
@@ -25,7 +25,6 @@ interface ExecuteParams<Resolve = Function, IsModel = undefined> {
|
|
|
25
25
|
type Execute<Resolve = Function, IsModel = undefined> = (executeOptions: ExecuteParams<Resolve, IsModel>) => ReturnType<Resolve>;
|
|
26
26
|
interface SharedResolverOptions<TParams extends SchemaFieldType = any, TReturns extends SchemaFieldType = any> {
|
|
27
27
|
resolverId?: string;
|
|
28
|
-
resolverName?: string;
|
|
29
28
|
params?: TParams;
|
|
30
29
|
returns?: TReturns;
|
|
31
30
|
mutation?: boolean;
|
package/dist/index.js
CHANGED
|
@@ -25,7 +25,6 @@ function getResolverArgs(...args) {
|
|
|
25
25
|
|
|
26
26
|
// src/resolver/getExecute/index.ts
|
|
27
27
|
import { clean, cleanAndValidate } from "@orion-js/schema";
|
|
28
|
-
import { runWithOrionAsyncContext } from "@orion-js/logger";
|
|
29
28
|
|
|
30
29
|
// src/resolver/getExecute/getResultWithMiddlewares.ts
|
|
31
30
|
import { composeMiddlewares } from "@orion-js/helpers";
|
|
@@ -65,28 +64,7 @@ function getExecute(options) {
|
|
|
65
64
|
parent: executeParams.parent,
|
|
66
65
|
options
|
|
67
66
|
};
|
|
68
|
-
const result =
|
|
69
|
-
{
|
|
70
|
-
controllerType: "modelResolver",
|
|
71
|
-
viewer: executeContext.viewer,
|
|
72
|
-
params: executeContext.params,
|
|
73
|
-
parentData: executeContext.parent,
|
|
74
|
-
modelResolverName: executeContext.options.resolverName || "unknown"
|
|
75
|
-
},
|
|
76
|
-
async () => {
|
|
77
|
-
return await getResultWithMiddlewares(executeContext);
|
|
78
|
-
}
|
|
79
|
-
) : await runWithOrionAsyncContext(
|
|
80
|
-
{
|
|
81
|
-
controllerType: "resolver",
|
|
82
|
-
viewer: executeContext.viewer,
|
|
83
|
-
params: executeContext.params,
|
|
84
|
-
resolverName: executeContext.options.resolverName || "unknown"
|
|
85
|
-
},
|
|
86
|
-
async () => {
|
|
87
|
-
return await getResultWithMiddlewares(executeContext);
|
|
88
|
-
}
|
|
89
|
-
);
|
|
67
|
+
const result = await getResultWithMiddlewares(executeContext);
|
|
90
68
|
if (options.returns) {
|
|
91
69
|
return await clean(options.returns, result);
|
|
92
70
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/createResolverMiddleware.ts","../src/resolver/getArgs.ts","../src/resolver/getExecute/index.ts","../src/resolver/getExecute/getResultWithMiddlewares.ts","../src/resolver/getExecute/getResult.ts","../src/resolver/index.ts","../src/schemaWithResolvers/index.ts"],"sourcesContent":["import {ResolverMiddleware} from './resolver/types'\n\nexport function createResolverMiddleware(middleware: ResolverMiddleware) {\n return middleware\n}\n","export function getResolverArgs(...args: any[]) {\n if (args.length === 4) {\n return {\n parent: args[0],\n params: args[1] || {},\n viewer: args[2] || {},\n info: args[3] || {},\n }\n }\n if (args.length < 4) {\n return {\n params: args[0] || {},\n viewer: args[1] || {},\n info: args[2] || {},\n }\n }\n throw new Error('A resolver must be called with 2 parameters only')\n}\n","import {clean, cleanAndValidate} from '@orion-js/schema'\nimport {
|
|
1
|
+
{"version":3,"sources":["../src/createResolverMiddleware.ts","../src/resolver/getArgs.ts","../src/resolver/getExecute/index.ts","../src/resolver/getExecute/getResultWithMiddlewares.ts","../src/resolver/getExecute/getResult.ts","../src/resolver/index.ts","../src/schemaWithResolvers/index.ts"],"sourcesContent":["import {ResolverMiddleware} from './resolver/types'\n\nexport function createResolverMiddleware(middleware: ResolverMiddleware) {\n return middleware\n}\n","export function getResolverArgs(...args: any[]) {\n if (args.length === 4) {\n return {\n parent: args[0],\n params: args[1] || {},\n viewer: args[2] || {},\n info: args[3] || {},\n }\n }\n if (args.length < 4) {\n return {\n params: args[0] || {},\n viewer: args[1] || {},\n info: args[2] || {},\n }\n }\n throw new Error('A resolver must be called with 2 parameters only')\n}\n","import {clean, cleanAndValidate} from '@orion-js/schema'\nimport {ResolverOptions, Execute, ExecuteOptions} from '../types'\nimport {getResultWithMiddlewares} from './getResultWithMiddlewares'\n\nexport default function getExecute(options: ResolverOptions) {\n const execute: Execute = async executeParams => {\n const executeContext: ExecuteOptions = {\n params: options.params\n ? await cleanAndValidate(options.params, executeParams.params ?? {})\n : (executeParams.params ?? {}),\n viewer: executeParams.viewer || {},\n info: executeParams.info || {},\n parent: executeParams.parent,\n options: options,\n }\n\n const result = await getResultWithMiddlewares(executeContext)\n\n if (options.returns) {\n return await clean(options.returns, result)\n }\n\n return result\n }\n\n return execute\n}\n","import {composeMiddlewares} from '@orion-js/helpers'\nimport {createResolverMiddleware} from '../../createResolverMiddleware'\nimport {ExecuteOptions} from '../types'\nimport getResult from './getResult'\n\nexport async function getResultWithMiddlewares(executeOptions: ExecuteOptions) {\n const resolveMiddleware = createResolverMiddleware(async executeOptions => {\n return await getResult(executeOptions)\n })\n\n const composedMiddlewares = composeMiddlewares([\n ...(executeOptions.options.middlewares || []),\n resolveMiddleware,\n ])\n\n return await composedMiddlewares(executeOptions)\n}\n","import {ExecuteOptions} from '../types'\n\nexport default async function (executeOptions: ExecuteOptions) {\n const {parent, params, viewer, info, options} = executeOptions\n const executeResolver = async (): Promise<any> => {\n const resultFunc = options.resolve as (...args: any) => any\n if (parent) {\n return await resultFunc(parent, params, viewer, info)\n }\n return await resultFunc(params, viewer, info)\n }\n\n return await executeResolver()\n}\n","import getExecute from './getExecute'\nimport {generateId} from '@orion-js/helpers'\nimport {GlobalResolverOptions, ModelResolver, ModelResolverOptions, GlobalResolver} from './types'\nimport {getResolverArgs} from './getArgs'\nimport {getSchemaFromAnyOrionForm, SchemaFieldType} from '@orion-js/schema'\n\nfunction dynamicCreateResolver(options: any) {\n options.params = getSchemaFromAnyOrionForm(options.params)\n options.returns = getSchemaFromAnyOrionForm(options.returns)\n\n if (!options.resolverId) {\n options.resolverId = generateId()\n }\n\n if (!options.middlewares) {\n options.middlewares = []\n }\n\n const execute = getExecute(options)\n\n const resolve = async (...args: any[]) => {\n const params: any = getResolverArgs(...args)\n return await execute(params)\n }\n\n const resolver = {\n ...options,\n resolve,\n execute,\n }\n\n return resolver\n}\n\nconst createResolver = <\n TParams extends SchemaFieldType = any,\n TReturns extends SchemaFieldType = any,\n TViewer = any,\n TInfo = any,\n>(\n options: GlobalResolverOptions<TParams, TReturns, TViewer, TInfo>,\n): GlobalResolver<TParams, TReturns, TViewer, TInfo> => {\n return dynamicCreateResolver(options)\n}\n\nconst createModelResolver = <\n TItem = any,\n TParams extends SchemaFieldType = any,\n TReturns extends SchemaFieldType = any,\n TViewer = any,\n TInfo = any,\n>(\n options: ModelResolverOptions<TItem, TParams, TReturns, TViewer, TInfo>,\n): ModelResolver<TItem, TParams, TReturns, TViewer, TInfo> => {\n return dynamicCreateResolver(options)\n}\n\n/**\n * @deprecated Use createResolver and createModelResolver instead\n */\nconst resolver = createResolver\n\n/**\n * @deprecated Use createResolver and createModelResolver instead\n */\nconst modelResolver = createModelResolver\n\nexport {createResolver, createModelResolver, resolver, modelResolver}\n","import {Schema} from '@orion-js/schema'\nimport {ModelResolver, ModelResolverResolve} from '../resolver/types'\n\nexport interface SchemaWithResolversResolversMap<TSchema> {\n [key: string]: ModelResolver<ModelResolverResolve<TSchema>>\n}\n\nexport interface SchemaWithResolversOptions<\n TModelName extends string,\n TSchema extends Schema,\n TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>,\n> {\n name: TModelName\n schema: TSchema\n resolvers?: TTypeResolvers\n}\n\nexport function internal_schemaWithResolvers<\n TModelName extends string,\n TSchema extends Schema,\n TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>,\n>(options: SchemaWithResolversOptions<TModelName, TSchema, TTypeResolvers>) {\n const {name, schema, resolvers} = options\n return {\n __modelName: name,\n __resolvers: resolvers,\n ...schema,\n }\n}\n\n/**\n * This method is used to give backwards compatibility to models.initItem\n */\nexport function internal_appendResolversToItem<\n TItem,\n TSchema extends Schema,\n TTypeResolvers extends SchemaWithResolversResolversMap<TSchema>,\n>(item: TItem, resolvers: TTypeResolvers) {\n const newItem = {...item} as any\n\n for (const resolverName in resolvers) {\n newItem[resolverName] = (...args: any[]) => resolvers[resolverName].resolve(newItem, ...args)\n }\n\n return newItem as TItem & {\n [key in keyof TTypeResolvers]: RemoveFirstArg<TTypeResolvers[key]>\n }\n}\n\ntype RemoveFirstArg<T> = T extends (x: any, ...args: infer P) => infer R ? (...args: P) => R : never\n"],"mappings":"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","names":["executeOptions","resolver"]}
|