graphile-config
Advanced tools
| import type { CallbackOrDescriptor, FunctionalityObject } from "./interfaces.js"; | ||
| export declare function orderedApply<TFunctionality extends FunctionalityObject<TFunctionality>>(plugins: readonly GraphileConfig.Plugin[] | undefined, functionalityRetriever: (plugin: GraphileConfig.Plugin) => Partial<TFunctionality> | undefined, applyCallback: <TFunctionalityName extends keyof TFunctionality>(functionalityName: TFunctionalityName, hookFn: TFunctionality[TFunctionalityName] extends CallbackOrDescriptor<infer U> ? U : never, plugin: GraphileConfig.Plugin) => void): void; | ||
| //# sourceMappingURL=functionality.d.ts.map |
| {"version":3,"file":"functionality.d.ts","sourceRoot":"","sources":["../src/functionality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,oBAAoB,EACpB,mBAAmB,EAEpB,MAAM,iBAAiB,CAAC;AAGzB,wBAAgB,YAAY,CAC1B,cAAc,SAAS,mBAAmB,CAAC,cAAc,CAAC,EAE1D,OAAO,EAAE,SAAS,cAAc,CAAC,MAAM,EAAE,GAAG,SAAS,EACrD,sBAAsB,EAAE,CACtB,MAAM,EAAE,cAAc,CAAC,MAAM,KAC1B,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,EACxC,aAAa,EAAE,CAAC,kBAAkB,SAAS,MAAM,cAAc,EAC7D,iBAAiB,EAAE,kBAAkB,EACrC,MAAM,EAAE,cAAc,CAAC,kBAAkB,CAAC,SAAS,oBAAoB,CACrE,MAAM,CAAC,CACR,GACG,CAAC,GACD,KAAK,EACT,MAAM,EAAE,cAAc,CAAC,MAAM,KAC1B,IAAI,GACR,IAAI,CAkFN"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.orderedApply = void 0; | ||
| const sort_js_1 = require("./sort.js"); | ||
| function orderedApply(plugins, functionalityRetriever, applyCallback) { | ||
| // Normalize all the hooks and gather them into collections | ||
| const allFunctionalities = Object.create(null); | ||
| let uid = 0; | ||
| if (plugins) { | ||
| for (const plugin of plugins) { | ||
| const hooks = functionalityRetriever(plugin); | ||
| if (!hooks) { | ||
| continue; | ||
| } | ||
| const keys = Object.keys(hooks); | ||
| for (const key of keys) { | ||
| const hookSpecRaw = hooks[key]; | ||
| if (!hookSpecRaw) { | ||
| continue; | ||
| } | ||
| // TypeScript nonsense | ||
| const isCallbackDescriptor = (v) => typeof v !== "function"; | ||
| const isCallback = (v) => typeof v === "function"; | ||
| const callback = (isCallback(hookSpecRaw) ? hookSpecRaw : hookSpecRaw.callback); | ||
| const { provides, before, after } = isCallbackDescriptor(hookSpecRaw) | ||
| ? hookSpecRaw | ||
| : {}; | ||
| if (!allFunctionalities[key]) { | ||
| allFunctionalities[key] = []; | ||
| } | ||
| // We need to give each functionality a unique ID | ||
| const id = String(uid++); | ||
| allFunctionalities[key].push({ | ||
| id, | ||
| plugin, | ||
| callback, | ||
| provides: [...(provides || []), id, plugin.name], | ||
| before: before || [], | ||
| after: after || [], | ||
| }); | ||
| } | ||
| } | ||
| } | ||
| // Sort the collections according to provides, before and after. | ||
| for (const functionalityName in allFunctionalities) { | ||
| const functionalities = allFunctionalities[functionalityName]; | ||
| if (!functionalities) { | ||
| continue; | ||
| } | ||
| const final = (0, sort_js_1.sortWithBeforeAfterProvides)(functionalities, "id"); | ||
| // Finally we can register the functionalities | ||
| for (const functionality of final) { | ||
| applyCallback(functionalityName, functionality.callback, functionality.plugin); | ||
| } | ||
| } | ||
| } | ||
| exports.orderedApply = orderedApply; | ||
| //# sourceMappingURL=functionality.js.map |
| {"version":3,"file":"functionality.js","sourceRoot":"","sources":["../src/functionality.ts"],"names":[],"mappings":";;;AAOA,uCAAwD;AAExD,SAAgB,YAAY,CAG1B,OAAqD,EACrD,sBAEwC,EACxC,aAQS;IAUT,2DAA2D;IAC3D,MAAM,kBAAkB,GAEpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,OAAO,EAAE;QACX,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,EAAE;gBACV,SAAS;aACV;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAyC,CAAC;YACxE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACtB,MAAM,WAAW,GAA2C,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvE,IAAI,CAAC,WAAW,EAAE;oBAChB,SAAS;iBACV;gBAED,sBAAsB;gBACtB,MAAM,oBAAoB,GAAG,CAC3B,CAA0B,EACE,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;gBACzD,MAAM,UAAU,GAAG,CACjB,CAA0B,EAClB,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;gBAErC,MAAM,QAAQ,GAIF,CACV,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CACtD,CAAC;gBACT,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,oBAAoB,CAAC,WAAW,CAAC;oBACnE,CAAC,CAAC,WAAW;oBACb,CAAC,CAAE,EAA8D,CAAC;gBACpE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE;oBAC5B,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;iBAC9B;gBACD,iDAAiD;gBACjD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzB,kBAAkB,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC;oBAC5B,EAAE;oBACF,MAAM;oBACN,QAAQ;oBACR,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;oBAChD,MAAM,EAAE,MAAM,IAAI,EAAE;oBACpB,KAAK,EAAE,KAAK,IAAI,EAAE;iBACnB,CAAC,CAAC;aACJ;SACF;KACF;IAED,gEAAgE;IAChE,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE;QAClD,MAAM,eAAe,GAAG,kBAAkB,CAAC,iBAAiB,CAE/C,CAAC;QACd,IAAI,CAAC,eAAe,EAAE;YACpB,SAAS;SACV;QAED,MAAM,KAAK,GAAG,IAAA,qCAA2B,EAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAEjE,8CAA8C;QAC9C,KAAK,MAAM,aAAa,IAAI,KAAK,EAAE;YACjC,aAAa,CACX,iBAAiB,EACjB,aAAa,CAAC,QAAQ,EACtB,aAAa,CAAC,MAAM,CACrB,CAAC;SACH;KACF;AACH,CAAC;AAlGD,oCAkGC"} |
| import type { CallbackOrDescriptor, FunctionalityObject } from "./interfaces.js"; | ||
| export interface MiddlewareNext<TRawResult, TAwaitedResult = Awaited<TRawResult>> { | ||
| (): TRawResult; | ||
| callback(callback: (error: object | null, result: TAwaitedResult) => TRawResult): TRawResult; | ||
| } | ||
| type ActivityFn<TActivities extends FunctionalityObject<TActivities>, TActivityName extends keyof TActivities> = TActivities[TActivityName] extends CallbackOrDescriptor<infer UFn> ? UFn : never; | ||
| type ActivityParameter<TActivities extends FunctionalityObject<TActivities>, TActivityName extends keyof TActivities> = TActivities[TActivityName] extends CallbackOrDescriptor<(arg: infer UArg) => any> ? UArg : never; | ||
| type RealActivityFn<TActivities extends FunctionalityObject<TActivities>, TActivityName extends keyof TActivities> = TActivities[TActivityName] extends CallbackOrDescriptor<(arg: infer UArg) => infer UResult> ? (next: MiddlewareNext<UResult>, arg: UArg) => UResult : never; | ||
| export declare class Middleware<TActivities extends FunctionalityObject<TActivities>> { | ||
| middleware: { | ||
| [key in keyof TActivities]?: Array<RealActivityFn<TActivities, key>>; | ||
| }; | ||
| register<TActivityName extends keyof TActivities>(event: TActivityName, fn: RealActivityFn<TActivities, TActivityName>): void; | ||
| run<TActivityName extends keyof TActivities>(activityName: TActivityName, arg: ActivityParameter<TActivities, TActivityName>, activity: (arg: ActivityParameter<TActivities, TActivityName>) => ReturnType<ActivityFn<TActivities, TActivityName>>): ReturnType<ActivityFn<TActivities, TActivityName>>; | ||
| runSync<TActivityName extends keyof TActivities>(activityName: TActivityName, arg: ActivityParameter<TActivities, TActivityName>, activity: (arg: ActivityParameter<TActivities, TActivityName>) => ReturnType<ActivityFn<TActivities, TActivityName>>): ReturnType<ActivityFn<TActivities, TActivityName>>; | ||
| } | ||
| export {}; | ||
| //# sourceMappingURL=middleware.d.ts.map |
| {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EAEpB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,cAAc,CAC7B,UAAU,EACV,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAEpC,IAAI,UAAU,CAAC;IACf,QAAQ,CACN,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,KAAK,UAAU,GACrE,UAAU,CAAC;CACf;AAED,KAAK,UAAU,CACb,WAAW,SAAS,mBAAmB,CAAC,WAAW,CAAC,EACpD,aAAa,SAAS,MAAM,WAAW,IACrC,WAAW,CAAC,aAAa,CAAC,SAAS,oBAAoB,CAAC,MAAM,GAAG,CAAC,GAClE,GAAG,GACH,KAAK,CAAC;AACV,KAAK,iBAAiB,CACpB,WAAW,SAAS,mBAAmB,CAAC,WAAW,CAAC,EACpD,aAAa,SAAS,MAAM,WAAW,IACrC,WAAW,CAAC,aAAa,CAAC,SAAS,oBAAoB,CACzD,CAAC,GAAG,EAAE,MAAM,IAAI,KAAK,GAAG,CACzB,GACG,IAAI,GACJ,KAAK,CAAC;AAEV,KAAK,cAAc,CACjB,WAAW,SAAS,mBAAmB,CAAC,WAAW,CAAC,EACpD,aAAa,SAAS,MAAM,WAAW,IACrC,WAAW,CAAC,aAAa,CAAC,SAAS,oBAAoB,CACzD,CAAC,GAAG,EAAE,MAAM,IAAI,KAAK,MAAM,OAAO,CACnC,GACG,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,KAAK,OAAO,GACrD,KAAK,CAAC;AAEV,qBAAa,UAAU,CAAC,WAAW,SAAS,mBAAmB,CAAC,WAAW,CAAC;IAC1E,UAAU,EAAE;SACT,GAAG,IAAI,MAAM,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;KACrE,CAAuB;IAExB,QAAQ,CAAC,aAAa,SAAS,MAAM,WAAW,EAC9C,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,cAAc,CAAC,WAAW,EAAE,aAAa,CAAC,GAC7C,IAAI;IASP,GAAG,CAAC,aAAa,SAAS,MAAM,WAAW,EACzC,YAAY,EAAE,aAAa,EAC3B,GAAG,EAAE,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,EAClD,QAAQ,EAAE,CACR,GAAG,EAAE,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,KAC/C,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,GACtD,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAgBrD,OAAO,CAAC,aAAa,SAAS,MAAM,WAAW,EAC7C,YAAY,EAAE,aAAa,EAC3B,GAAG,EAAE,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,EAClD,QAAQ,EAAE,CACR,GAAG,EAAE,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,KAC/C,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,GACtD,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;CAgBtD"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.Middleware = void 0; | ||
| const utils_js_1 = require("./utils.js"); | ||
| class Middleware { | ||
| constructor() { | ||
| this.middleware = Object.create(null); | ||
| } | ||
| register(event, fn) { | ||
| const list = this.middleware[event]; | ||
| if (list !== undefined) { | ||
| list.push(fn); | ||
| } | ||
| else { | ||
| this.middleware[event] = [fn]; | ||
| } | ||
| } | ||
| run(activityName, arg, activity) { | ||
| const middleware = this.middleware[activityName]; | ||
| if (middleware === undefined) { | ||
| return activity(arg); | ||
| } | ||
| const m = middleware.length - 1; | ||
| return executeMiddleware(activityName, true, middleware, activity, arg, 0, m); | ||
| } | ||
| runSync(activityName, arg, activity) { | ||
| const middleware = this.middleware[activityName]; | ||
| if (middleware === undefined) { | ||
| return activity(arg); | ||
| } | ||
| const m = middleware.length - 1; | ||
| return executeMiddleware(activityName, false, middleware, activity, arg, 0, m); | ||
| } | ||
| } | ||
| exports.Middleware = Middleware; | ||
| function executeMiddleware(activityName, allowAsync, middlewareList, activity, arg, idx, maxIdx) { | ||
| const next = makeNext(idx === maxIdx | ||
| ? () => activity(arg) | ||
| : () => executeMiddleware(activityName, allowAsync, middlewareList, activity, arg, idx + 1, maxIdx)); | ||
| const middleware = middlewareList[idx]; | ||
| const result = middleware(next, arg); | ||
| if (!allowAsync && (0, utils_js_1.isPromiseLike)(result)) { | ||
| throw new Error(`'${String(activityName)}' is a synchronous activity, all middleware must be synchronous but the middleware at index ${idx} returned a promise.`); | ||
| } | ||
| return result; | ||
| } | ||
| function makeNext(fn) { | ||
| let called = false; | ||
| const next = fn; | ||
| next.callback = (callback) => { | ||
| if (called) { | ||
| throw new Error(`next() was already called; don't call it twice!`); | ||
| } | ||
| called = true; | ||
| let result; | ||
| try { | ||
| result = fn(); | ||
| } | ||
| catch (error) { | ||
| return callback(error, undefined); | ||
| } | ||
| if ((0, utils_js_1.isPromiseLike)(result)) { | ||
| return result.then((result) => callback(null, result), callback); | ||
| } | ||
| else { | ||
| return callback(null, result); | ||
| } | ||
| }; | ||
| return next; | ||
| } | ||
| //# sourceMappingURL=middleware.js.map |
| {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"} |
| export declare function isPromiseLike<T>(value: T | PromiseLike<T>): value is PromiseLike<T>; | ||
| //# sourceMappingURL=utils.d.ts.map |
| {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GACxB,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAMzB"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.isPromiseLike = void 0; | ||
| function isPromiseLike(value) { | ||
| return (typeof value === "object" && | ||
| value !== null && | ||
| typeof value.then === "function"); | ||
| } | ||
| exports.isPromiseLike = isPromiseLike; | ||
| //# sourceMappingURL=utils.js.map |
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAC3B,KAAyB;IAEzB,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAa,CAAC,IAAI,KAAK,UAAU,CAC1C,CAAC;AACJ,CAAC;AARD,sCAQC"} |
+69
-0
| # graphile-config | ||
| ## 0.0.1-beta.9 | ||
| ### Patch Changes | ||
| - [#2071](https://github.com/graphile/crystal/pull/2071) | ||
| [`582bd768f`](https://github.com/graphile/crystal/commit/582bd768fec403ce3284f293b85b9fd86e4d3f40) | ||
| Thanks [@benjie](https://github.com/benjie)! - `GrafastExecutionArgs` now | ||
| accepts `resolvedPreset` and `requestContext` directly; passing these through | ||
| additional arguments is now deprecated and support will be removed in a future | ||
| revision. This affects: | ||
| - `grafast()` | ||
| - `execute()` | ||
| - `subscribe()` | ||
| - `hookArgs()` | ||
| `graphile-config` has gained a middleware system which is more powerful than | ||
| it's AsyncHooks system. Old hooks can be emulated through the middleware | ||
| system safely since middleware is a superset of hooks' capabilities. | ||
| `applyHooks` has been renamed to `orderedApply` (because it applies to more | ||
| than just hooks), calling `applyHooks` will still work but is deprecated. | ||
| 🚨 `grafast` no longer automatically reads your `graphile.config.ts` or | ||
| similar; you must do that yourself and pass the `resolvedPreset` to grafast | ||
| via the `args`. This is to aid in bundling of grafast since it should not need | ||
| to read from filesystem or dynamically load modules. | ||
| `grafast` no longer outputs performance warning when you set | ||
| `GRAPHILE_ENV=development`. | ||
| 🚨 `plugin.grafast.hooks.args` is now `plugin.grafast.middleware.prepareArgs`, | ||
| and the signature has changed - you must be sure to call the `next()` function | ||
| and ctx/resolvedPreset can be extracted directly from `args`: | ||
| ```diff | ||
| const plugin = { | ||
| grafast: { | ||
| - hooks: { | ||
| + middleware: { | ||
| - args({ args, ctx, resolvedPreset }) { | ||
| + prepareArgs(next, { args }) { | ||
| + const { requestContext: ctx, resolvedPreset } = args; | ||
| // ... | ||
| + return next(); | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| Many more middleware have been added; use TypeScript's autocomplete to see | ||
| what's available until we have proper documentation for them. | ||
| `plugin.grafserv.hooks.*` are still supported but deprecated; instead use | ||
| middleware `plugin.grafserv.middleware.*` (note that call signatures have | ||
| changed slightly, similar to the diff above): | ||
| - `hooks.init` -> `middleware.setPreset` | ||
| - `hooks.processGraphQLRequestBody` -> `middleware.processGraphQLRequestBody` | ||
| - `hooks.ruruHTMLParts` -> `middleware.ruruHTMLParts` | ||
| A few TypeScript types related to Hooks have been renamed, but their old names | ||
| are still available, just deprecated. They will be removed in a future update: | ||
| - `HookObject` -> `FunctionalityObject` | ||
| - `PluginHook` -> `CallbackOrDescriptor` | ||
| - `PluginHookObject` -> `CallbackDescriptor` | ||
| - `PluginHookCallback` -> `UnwrapCallback` | ||
| ## 0.0.1-beta.8 | ||
@@ -4,0 +73,0 @@ |
+16
-7
@@ -1,8 +0,8 @@ | ||
| import type { PluginHook } from "./interfaces.js"; | ||
| export type HookObject<T> = Record<keyof T, PluginHook<(...args: any[]) => any>>; | ||
| export declare class AsyncHooks<THooks extends HookObject<THooks>> { | ||
| import { orderedApply } from "./functionality.js"; | ||
| import type { CallbackDescriptor, CallbackOrDescriptor, FunctionalityObject, PromiseOrDirect, UnwrapCallback } from "./interfaces.js"; | ||
| export declare class AsyncHooks<THooks extends FunctionalityObject<THooks>> { | ||
| callbacks: { | ||
| [key in keyof THooks]?: Array<THooks[keyof THooks] extends PluginHook<infer U> ? U : never>; | ||
| [key in keyof THooks]?: Array<THooks[keyof THooks] extends CallbackOrDescriptor<infer U> ? U : never>; | ||
| }; | ||
| hook<THookName extends keyof THooks>(event: THookName, fn: THooks[THookName] extends PluginHook<infer U> ? U : never): void; | ||
| hook<THookName extends keyof THooks>(event: THookName, fn: THooks[THookName] extends CallbackOrDescriptor<infer U> ? U : never): void; | ||
| /** | ||
@@ -12,5 +12,14 @@ * Hooks can _mutate_ the argument, they cannot return a replacement. This | ||
| */ | ||
| process<THookName extends keyof THooks>(event: THookName, ...args: Parameters<THooks[THookName] extends PluginHook<infer U> ? U : never>): void | Promise<void>; | ||
| process<THookName extends keyof THooks>(hookName: THookName, ...args: Parameters<THooks[THookName] extends CallbackOrDescriptor<infer U> ? U : never>): void | Promise<void>; | ||
| } | ||
| export declare function applyHooks<THooks extends HookObject<THooks>>(plugins: readonly GraphileConfig.Plugin[] | undefined, hooksRetriever: (plugin: GraphileConfig.Plugin) => Partial<THooks> | undefined, applyHookCallback: <THookName extends keyof THooks>(hookName: THookName, hookFn: THooks[THookName] extends PluginHook<infer U> ? U : never, plugin: GraphileConfig.Plugin) => void): void; | ||
| /** @deprecated Use FunctionalityObject */ | ||
| export type HookObject<T> = FunctionalityObject<T>; | ||
| /** @deprecated Use `orderedApply` */ | ||
| export declare const applyHooks: typeof orderedApply; | ||
| /** @deprecated Use CallbackDescriptor */ | ||
| export type PluginHookObject<T extends (...args: any[]) => any> = CallbackDescriptor<T>; | ||
| /** @deprecated Use CallbackOrDescriptor */ | ||
| export type PluginHook<T extends (...args: any[]) => PromiseOrDirect<UnwrapCallback<any> | void>> = CallbackOrDescriptor<T>; | ||
| /** @deprecated Use UnwrapCallback */ | ||
| export type PluginHookCallback<T extends CallbackOrDescriptor<(...args: any[]) => any>> = UnwrapCallback<T>; | ||
| //# sourceMappingURL=hooks.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAC;AAKpE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAChC,MAAM,CAAC,EACP,UAAU,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CACpC,CAAC;AAEF,qBAAa,UAAU,CAAC,MAAM,SAAS,UAAU,CAAC,MAAM,CAAC;IACvD,SAAS,EAAE;SACR,GAAG,IAAI,MAAM,MAAM,CAAC,CAAC,EAAE,KAAK,CAC3B,MAAM,CAAC,MAAM,MAAM,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAC7D;KACF,CAAuB;IAExB,IAAI,CAAC,SAAS,SAAS,MAAM,MAAM,EACjC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAC5D,IAAI;IAKP;;;OAGG;IACH,OAAO,CAAC,SAAS,SAAS,MAAM,MAAM,EACpC,KAAK,EAAE,SAAS,EAChB,GAAG,IAAI,EAAE,UAAU,CACjB,MAAM,CAAC,SAAS,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAC1D,GACA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BxB;AAED,wBAAgB,UAAU,CAAC,MAAM,SAAS,UAAU,CAAC,MAAM,CAAC,EAC1D,OAAO,EAAE,SAAS,cAAc,CAAC,MAAM,EAAE,GAAG,SAAS,EACrD,cAAc,EAAE,CACd,MAAM,EAAE,cAAc,CAAC,MAAM,KAC1B,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,EAChC,iBAAiB,EAAE,CAAC,SAAS,SAAS,MAAM,MAAM,EAChD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EACjE,MAAM,EAAE,cAAc,CAAC,MAAM,KAC1B,IAAI,GACR,IAAI,CA0EN"} | ||
| {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACf,MAAM,iBAAiB,CAAC;AAIzB,qBAAa,UAAU,CAAC,MAAM,SAAS,mBAAmB,CAAC,MAAM,CAAC;IAChE,SAAS,EAAE;SACR,GAAG,IAAI,MAAM,MAAM,CAAC,CAAC,EAAE,KAAK,CAC3B,MAAM,CAAC,MAAM,MAAM,CAAC,SAAS,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CACvE;KACF,CAAuB;IAExB,IAAI,CAAC,SAAS,SAAS,MAAM,MAAM,EACjC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GACtE,IAAI;IAKP;;;OAGG;IACH,OAAO,CAAC,SAAS,SAAS,MAAM,MAAM,EACpC,QAAQ,EAAE,SAAS,EACnB,GAAG,IAAI,EAAE,UAAU,CACjB,MAAM,CAAC,SAAS,CAAC,SAAS,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CACpE,GACA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BxB;AAID,0CAA0C;AAC1C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACnD,qCAAqC;AACrC,eAAO,MAAM,UAAU,qBAAe,CAAC;AACvC,yCAAyC;AACzC,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAC5D,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACxB,2CAA2C;AAC3C,MAAM,MAAM,UAAU,CACpB,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IACvE,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC5B,qCAAqC;AACrC,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,oBAAoB,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,IACrD,cAAc,CAAC,CAAC,CAAC,CAAC"} |
+6
-57
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.applyHooks = exports.AsyncHooks = void 0; | ||
| const sort_js_1 = require("./sort.js"); | ||
| const functionality_js_1 = require("./functionality.js"); | ||
| const isDev = process.env.GRAPHILE_ENV === "development"; | ||
@@ -18,4 +18,4 @@ class AsyncHooks { | ||
| */ | ||
| process(event, ...args) { | ||
| const callbacks = this.callbacks[event]; | ||
| process(hookName, ...args) { | ||
| const callbacks = this.callbacks[hookName]; | ||
| if (!callbacks) { | ||
@@ -35,3 +35,3 @@ return; | ||
| if (isDev && typeof result.then !== "function") { | ||
| throw new Error(`Hook '${event}' returned invalid value of type ${typeof result} - must be 'undefined' or a Promise/PromiseLike.`); | ||
| throw new Error(`Hook '${hookName}' returned invalid value of type ${typeof result} - must be 'undefined' or a Promise/PromiseLike.`); | ||
| } | ||
@@ -46,55 +46,4 @@ chain = result; | ||
| exports.AsyncHooks = AsyncHooks; | ||
| function applyHooks(plugins, hooksRetriever, applyHookCallback) { | ||
| // Normalize all the hooks and gather them into collections | ||
| const allHooks = Object.create(null); | ||
| let uid = 0; | ||
| if (plugins) { | ||
| for (const plugin of plugins) { | ||
| const hooks = hooksRetriever(plugin); | ||
| if (!hooks) { | ||
| continue; | ||
| } | ||
| const keys = Object.keys(hooks); | ||
| for (const key of keys) { | ||
| const hookSpecRaw = hooks[key]; | ||
| if (!hookSpecRaw) { | ||
| continue; | ||
| } | ||
| // TypeScript nonsense | ||
| const isPluginHookObject = (v) => typeof v !== "function"; | ||
| const isPluginHookFunction = (v) => typeof v === "function"; | ||
| const callback = (isPluginHookFunction(hookSpecRaw) ? hookSpecRaw : hookSpecRaw.callback); | ||
| const { provides, before, after } = isPluginHookObject(hookSpecRaw) | ||
| ? hookSpecRaw | ||
| : {}; | ||
| if (!allHooks[key]) { | ||
| allHooks[key] = []; | ||
| } | ||
| // We need to give each hook a unique ID | ||
| const id = String(uid++); | ||
| allHooks[key].push({ | ||
| id, | ||
| plugin, | ||
| callback, | ||
| provides: [...(provides || []), id, plugin.name], | ||
| before: before || [], | ||
| after: after || [], | ||
| }); | ||
| } | ||
| } | ||
| } | ||
| // Sort the collections according to provides, before and after. | ||
| for (const hookName in allHooks) { | ||
| const hooks = allHooks[hookName]; | ||
| if (!hooks) { | ||
| continue; | ||
| } | ||
| const final = (0, sort_js_1.sortWithBeforeAfterProvides)(hooks, "id"); | ||
| // Finally we can register the hooks | ||
| for (const hook of final) { | ||
| applyHookCallback(hookName, hook.callback, hook.plugin); | ||
| } | ||
| } | ||
| } | ||
| exports.applyHooks = applyHooks; | ||
| /** @deprecated Use `orderedApply` */ | ||
| exports.applyHooks = functionality_js_1.orderedApply; | ||
| //# sourceMappingURL=hooks.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AASlD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,aAAa,CAAC;AAEzD,MAAa,UAAU;IAAvB;QACE,cAAS,GAIL,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IA8C1B,CAAC;IA5CC,IAAI,CACF,KAAgB,EAChB,EAAuE;QAEvE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,OAAO,CACL,QAAmB,EACnB,GAAG,IAEF;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QACD,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QAC3B,IAAI,KAAK,GAAG,SAAS,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aACtD;iBAAM;gBACL,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1C,IAAI,MAAM,IAAI,IAAI,EAAE;oBAClB,IAAI,KAAK,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;wBAC9C,MAAM,IAAI,KAAK,CACb,SACE,QACF,oCAAoC,OAAO,MAAM,kDAAkD,CACpG,CAAC;qBACH;oBACD,KAAK,GAAG,MAAM,CAAC;iBAChB;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAnDD,gCAmDC;AAMD,qCAAqC;AACxB,QAAA,UAAU,GAAG,+BAAY,CAAC"} |
+5
-2
| import "./interfaces.js"; | ||
| export { GraphileConfig }; | ||
| export { applyHooks, AsyncHooks, HookObject } from "./hooks.js"; | ||
| export type { PluginHook, PluginHookObject } from "./interfaces.js"; | ||
| export { orderedApply } from "./functionality.js"; | ||
| export { applyHooks, AsyncHooks, HookObject, PluginHook, PluginHookObject, } from "./hooks.js"; | ||
| export type { CallbackDescriptor, CallbackOrDescriptor, FunctionalityObject, } from "./interfaces.js"; | ||
| export type { MiddlewareNext } from "./middleware.js"; | ||
| export { Middleware } from "./middleware.js"; | ||
| export { isResolvedPreset, resolvePresets } from "./resolvePresets.js"; | ||
@@ -6,0 +9,0 @@ export declare function sortedPlugins(plugins: GraphileConfig.Plugin[] | undefined): GraphileConfig.Plugin[]; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAIzB,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEvE,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,GAAG,SAAS,GAC3C,cAAc,CAAC,MAAM,EAAE,CAMzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,MAAM;YACd,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB;QAED;;;;WAIG;QACH,UAAU,MAAM;YACd,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YACvC,aAAa,CAAC,EAAE,KAAK,CAAC;YACtB,cAAc,CAAC,EAAE,KAAK,CAAC;YACvB,WAAW,CAAC,EAAE,KAAK,CAAC;SAGrB;QAED,UAAU,cAAe,SAAQ,MAAM;YAErC,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;SACxC;KACF;CACF"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAIzB,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEvE,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,GAAG,SAAS,GAC3C,cAAc,CAAC,MAAM,EAAE,CAMzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,MAAM;YACd,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB;QAED;;;;WAIG;QACH,UAAU,MAAM;YACd,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YACvC,aAAa,CAAC,EAAE,KAAK,CAAC;YACtB,cAAc,CAAC,EAAE,KAAK,CAAC;YACvB,WAAW,CAAC,EAAE,KAAK,CAAC;SAGrB;QAED,UAAU,cAAe,SAAQ,MAAM;YAErC,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;SACxC;KACF;CACF"} |
+5
-1
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.sortedPlugins = exports.resolvePresets = exports.isResolvedPreset = exports.AsyncHooks = exports.applyHooks = void 0; | ||
| exports.sortedPlugins = exports.resolvePresets = exports.isResolvedPreset = exports.Middleware = exports.AsyncHooks = exports.applyHooks = exports.orderedApply = void 0; | ||
| require("./interfaces.js"); | ||
| const sort_js_1 = require("./sort.js"); | ||
| var functionality_js_1 = require("./functionality.js"); | ||
| Object.defineProperty(exports, "orderedApply", { enumerable: true, get: function () { return functionality_js_1.orderedApply; } }); | ||
| var hooks_js_1 = require("./hooks.js"); | ||
| Object.defineProperty(exports, "applyHooks", { enumerable: true, get: function () { return hooks_js_1.applyHooks; } }); | ||
| Object.defineProperty(exports, "AsyncHooks", { enumerable: true, get: function () { return hooks_js_1.AsyncHooks; } }); | ||
| var middleware_js_1 = require("./middleware.js"); | ||
| Object.defineProperty(exports, "Middleware", { enumerable: true, get: function () { return middleware_js_1.Middleware; } }); | ||
| var resolvePresets_js_1 = require("./resolvePresets.js"); | ||
@@ -10,0 +14,0 @@ Object.defineProperty(exports, "isResolvedPreset", { enumerable: true, get: function () { return resolvePresets_js_1.isResolvedPreset; } }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;AAEzB,uCAAwD;AAIxD,uCAAgE;AAAvD,sGAAA,UAAU,OAAA;AAAE,sGAAA,UAAU,OAAA;AAE/B,yDAAuE;AAA9D,qHAAA,gBAAgB,OAAA;AAAE,mHAAA,cAAc,OAAA;AAEzC,SAAgB,aAAa,CAC3B,OAA4C;IAE5C,IAAI,OAAO,EAAE;QACX,OAAO,IAAA,qCAA2B,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACrD;SAAM;QACL,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AARD,sCAQC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;AAEzB,uCAAwD;AAIxD,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AACrB,uCAMoB;AALlB,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AAWZ,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,yDAAuE;AAA9D,qHAAA,gBAAgB,OAAA;AAAE,mHAAA,cAAc,OAAA;AAEzC,SAAgB,aAAa,CAC3B,OAA4C;IAE5C,IAAI,OAAO,EAAE;QACX,OAAO,IAAA,qCAA2B,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACrD;SAAM;QACL,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AARD,sCAQC"} |
@@ -1,2 +0,3 @@ | ||
| export type PluginHookObject<T extends (...args: any[]) => any> = { | ||
| export type AnyCallback = (...args: any[]) => any; | ||
| export type CallbackDescriptor<T extends AnyCallback> = { | ||
| provides?: string[]; | ||
@@ -7,4 +8,6 @@ before?: string[]; | ||
| }; | ||
| export type PluginHook<T extends (...args: any[]) => any> = T | PluginHookObject<T>; | ||
| export type PluginHookCallback<T extends PluginHook<(...args: any[]) => any>> = T extends PluginHook<infer U> ? U : never; | ||
| export type PromiseOrDirect<T> = T | PromiseLike<T>; | ||
| export type CallbackOrDescriptor<T extends AnyCallback> = T | CallbackDescriptor<T>; | ||
| export type UnwrapCallback<T extends CallbackOrDescriptor<AnyCallback>> = T extends CallbackOrDescriptor<infer U> ? U : never; | ||
| export type FunctionalityObject<T> = Record<keyof T, CallbackOrDescriptor<AnyCallback>>; | ||
| //# sourceMappingURL=interfaces.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IAChE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IACpD,CAAC,GACD,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAExB,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,IAC1E,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"} | ||
| {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAElD,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,IAAI;IACtD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,WAAW,IAClD,CAAC,GACD,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAE1B,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,oBAAoB,CAAC,WAAW,CAAC,IACpE,CAAC,SAAS,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtD,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,MAAM,CACzC,MAAM,CAAC,EACP,oBAAoB,CAAC,WAAW,CAAC,CAClC,CAAC"} |
+1
-1
| { | ||
| "name": "graphile-config", | ||
| "version": "0.0.1-beta.8", | ||
| "version": "0.0.1-beta.9", | ||
| "description": "Standard plugin interface and helpers to be used across the Graphile stack.", | ||
@@ -5,0 +5,0 @@ "type": "commonjs", |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
82738
23.42%44
37.5%785
19.12%