graphile-config 0.0.1-beta.7 → 0.0.1-beta.9

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/CHANGELOG.md CHANGED
@@ -1,5 +1,84 @@
1
1
  # graphile-config
2
2
 
3
+ ## 0.0.1-beta.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2071](https://github.com/graphile/crystal/pull/2071)
8
+ [`582bd768f`](https://github.com/graphile/crystal/commit/582bd768fec403ce3284f293b85b9fd86e4d3f40)
9
+ Thanks [@benjie](https://github.com/benjie)! - `GrafastExecutionArgs` now
10
+ accepts `resolvedPreset` and `requestContext` directly; passing these through
11
+ additional arguments is now deprecated and support will be removed in a future
12
+ revision. This affects:
13
+
14
+ - `grafast()`
15
+ - `execute()`
16
+ - `subscribe()`
17
+ - `hookArgs()`
18
+
19
+ `graphile-config` has gained a middleware system which is more powerful than
20
+ it's AsyncHooks system. Old hooks can be emulated through the middleware
21
+ system safely since middleware is a superset of hooks' capabilities.
22
+ `applyHooks` has been renamed to `orderedApply` (because it applies to more
23
+ than just hooks), calling `applyHooks` will still work but is deprecated.
24
+
25
+ 🚨 `grafast` no longer automatically reads your `graphile.config.ts` or
26
+ similar; you must do that yourself and pass the `resolvedPreset` to grafast
27
+ via the `args`. This is to aid in bundling of grafast since it should not need
28
+ to read from filesystem or dynamically load modules.
29
+
30
+ `grafast` no longer outputs performance warning when you set
31
+ `GRAPHILE_ENV=development`.
32
+
33
+ 🚨 `plugin.grafast.hooks.args` is now `plugin.grafast.middleware.prepareArgs`,
34
+ and the signature has changed - you must be sure to call the `next()` function
35
+ and ctx/resolvedPreset can be extracted directly from `args`:
36
+
37
+ ```diff
38
+ const plugin = {
39
+ grafast: {
40
+ - hooks: {
41
+ + middleware: {
42
+ - args({ args, ctx, resolvedPreset }) {
43
+ + prepareArgs(next, { args }) {
44
+ + const { requestContext: ctx, resolvedPreset } = args;
45
+ // ...
46
+ + return next();
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ```
52
+
53
+ Many more middleware have been added; use TypeScript's autocomplete to see
54
+ what's available until we have proper documentation for them.
55
+
56
+ `plugin.grafserv.hooks.*` are still supported but deprecated; instead use
57
+ middleware `plugin.grafserv.middleware.*` (note that call signatures have
58
+ changed slightly, similar to the diff above):
59
+
60
+ - `hooks.init` -> `middleware.setPreset`
61
+ - `hooks.processGraphQLRequestBody` -> `middleware.processGraphQLRequestBody`
62
+ - `hooks.ruruHTMLParts` -> `middleware.ruruHTMLParts`
63
+
64
+ A few TypeScript types related to Hooks have been renamed, but their old names
65
+ are still available, just deprecated. They will be removed in a future update:
66
+
67
+ - `HookObject` -> `FunctionalityObject`
68
+ - `PluginHook` -> `CallbackOrDescriptor`
69
+ - `PluginHookObject` -> `CallbackDescriptor`
70
+ - `PluginHookCallback` -> `UnwrapCallback`
71
+
72
+ ## 0.0.1-beta.8
73
+
74
+ ### Patch Changes
75
+
76
+ - [#2048](https://github.com/graphile/crystal/pull/2048)
77
+ [`db8ceed0f`](https://github.com/graphile/crystal/commit/db8ceed0f17923eb78ff09c9f3f28800a5c7e3b6)
78
+ Thanks [@benjie](https://github.com/benjie)! - Help detect more invalid
79
+ presets and plugins (bad imports) by forbidding keys starting with a capital
80
+ or the key `default`.
81
+
3
82
  ## 0.0.1-beta.7
4
83
 
5
84
  ### Patch Changes
package/README.md CHANGED
@@ -130,6 +130,7 @@ And please give some love to our featured sponsors 🤩:
130
130
  <td align="center"><a href="https://stellate.co/"><img src="https://graphile.org/images/sponsors/Stellate.png" width="90" height="90" alt="Stellate" /><br />Stellate</a> *</td>
131
131
  </tr><tr>
132
132
  <td align="center"><a href="https://gosteelhead.com/"><img src="https://graphile.org/images/sponsors/steelhead.svg" width="90" height="90" alt="Steelhead" /><br />Steelhead</a> *</td>
133
+ <td align="center"><a href="https://www.sylvera.com/"><img src="https://graphile.org/images/sponsors/sylvera.svg" width="90" height="90" alt="Sylvera" /><br />Sylvera</a> *</td>
133
134
  </tr></table>
134
135
 
135
136
  <em>\* Sponsors the entire Graphile suite</em>
@@ -0,0 +1,3 @@
1
+ import type { CallbackOrDescriptor, FunctionalityObject } from "./interfaces.js";
2
+ 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;
3
+ //# sourceMappingURL=functionality.d.ts.map
@@ -0,0 +1 @@
1
+ {"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"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orderedApply = void 0;
4
+ const sort_js_1 = require("./sort.js");
5
+ function orderedApply(plugins, functionalityRetriever, applyCallback) {
6
+ // Normalize all the hooks and gather them into collections
7
+ const allFunctionalities = Object.create(null);
8
+ let uid = 0;
9
+ if (plugins) {
10
+ for (const plugin of plugins) {
11
+ const hooks = functionalityRetriever(plugin);
12
+ if (!hooks) {
13
+ continue;
14
+ }
15
+ const keys = Object.keys(hooks);
16
+ for (const key of keys) {
17
+ const hookSpecRaw = hooks[key];
18
+ if (!hookSpecRaw) {
19
+ continue;
20
+ }
21
+ // TypeScript nonsense
22
+ const isCallbackDescriptor = (v) => typeof v !== "function";
23
+ const isCallback = (v) => typeof v === "function";
24
+ const callback = (isCallback(hookSpecRaw) ? hookSpecRaw : hookSpecRaw.callback);
25
+ const { provides, before, after } = isCallbackDescriptor(hookSpecRaw)
26
+ ? hookSpecRaw
27
+ : {};
28
+ if (!allFunctionalities[key]) {
29
+ allFunctionalities[key] = [];
30
+ }
31
+ // We need to give each functionality a unique ID
32
+ const id = String(uid++);
33
+ allFunctionalities[key].push({
34
+ id,
35
+ plugin,
36
+ callback,
37
+ provides: [...(provides || []), id, plugin.name],
38
+ before: before || [],
39
+ after: after || [],
40
+ });
41
+ }
42
+ }
43
+ }
44
+ // Sort the collections according to provides, before and after.
45
+ for (const functionalityName in allFunctionalities) {
46
+ const functionalities = allFunctionalities[functionalityName];
47
+ if (!functionalities) {
48
+ continue;
49
+ }
50
+ const final = (0, sort_js_1.sortWithBeforeAfterProvides)(functionalities, "id");
51
+ // Finally we can register the functionalities
52
+ for (const functionality of final) {
53
+ applyCallback(functionalityName, functionality.callback, functionality.plugin);
54
+ }
55
+ }
56
+ }
57
+ exports.orderedApply = orderedApply;
58
+ //# sourceMappingURL=functionality.js.map
@@ -0,0 +1 @@
1
+ {"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"}
package/dist/hooks.d.ts CHANGED
@@ -1,15 +1,24 @@
1
- import type { PluginHook } from "./interfaces.js";
2
- export type HookObject<T> = Record<keyof T, PluginHook<(...args: any[]) => any>>;
3
- export declare class AsyncHooks<THooks extends HookObject<THooks>> {
1
+ import { orderedApply } from "./functionality.js";
2
+ import type { CallbackDescriptor, CallbackOrDescriptor, FunctionalityObject, PromiseOrDirect, UnwrapCallback } from "./interfaces.js";
3
+ export declare class AsyncHooks<THooks extends FunctionalityObject<THooks>> {
4
4
  callbacks: {
5
- [key in keyof THooks]?: Array<THooks[keyof THooks] extends PluginHook<infer U> ? U : never>;
5
+ [key in keyof THooks]?: Array<THooks[keyof THooks] extends CallbackOrDescriptor<infer U> ? U : never>;
6
6
  };
7
- hook<THookName extends keyof THooks>(event: THookName, fn: THooks[THookName] extends PluginHook<infer U> ? U : never): void;
7
+ hook<THookName extends keyof THooks>(event: THookName, fn: THooks[THookName] extends CallbackOrDescriptor<infer U> ? U : never): void;
8
8
  /**
9
9
  * Hooks can _mutate_ the argument, they cannot return a replacement. This
10
10
  * allows us to completely side-step the problem of recursive calls.
11
11
  */
12
- process<THookName extends keyof THooks>(event: THookName, ...args: Parameters<THooks[THookName] extends PluginHook<infer U> ? U : never>): void | Promise<void>;
12
+ process<THookName extends keyof THooks>(hookName: THookName, ...args: Parameters<THooks[THookName] extends CallbackOrDescriptor<infer U> ? U : never>): void | Promise<void>;
13
13
  }
14
- 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;
14
+ /** @deprecated Use FunctionalityObject */
15
+ export type HookObject<T> = FunctionalityObject<T>;
16
+ /** @deprecated Use `orderedApply` */
17
+ export declare const applyHooks: typeof orderedApply;
18
+ /** @deprecated Use CallbackDescriptor */
19
+ export type PluginHookObject<T extends (...args: any[]) => any> = CallbackDescriptor<T>;
20
+ /** @deprecated Use CallbackOrDescriptor */
21
+ export type PluginHook<T extends (...args: any[]) => PromiseOrDirect<UnwrapCallback<any> | void>> = CallbackOrDescriptor<T>;
22
+ /** @deprecated Use UnwrapCallback */
23
+ export type PluginHookCallback<T extends CallbackOrDescriptor<(...args: any[]) => any>> = UnwrapCallback<T>;
15
24
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"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"}
package/dist/hooks.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.applyHooks = exports.AsyncHooks = void 0;
4
- const sort_js_1 = require("./sort.js");
4
+ const functionality_js_1 = require("./functionality.js");
5
5
  const isDev = process.env.GRAPHILE_ENV === "development";
6
6
  class AsyncHooks {
7
7
  constructor() {
@@ -15,8 +15,8 @@ class AsyncHooks {
15
15
  * Hooks can _mutate_ the argument, they cannot return a replacement. This
16
16
  * allows us to completely side-step the problem of recursive calls.
17
17
  */
18
- process(event, ...args) {
19
- const callbacks = this.callbacks[event];
18
+ process(hookName, ...args) {
19
+ const callbacks = this.callbacks[hookName];
20
20
  if (!callbacks) {
21
21
  return;
22
22
  }
@@ -31,7 +31,7 @@ class AsyncHooks {
31
31
  const result = callback.apply(null, args);
32
32
  if (result != null) {
33
33
  if (isDev && typeof result.then !== "function") {
34
- throw new Error(`Hook '${event}' returned invalid value of type ${typeof result} - must be 'undefined' or a Promise/PromiseLike.`);
34
+ throw new Error(`Hook '${hookName}' returned invalid value of type ${typeof result} - must be 'undefined' or a Promise/PromiseLike.`);
35
35
  }
36
36
  chain = result;
37
37
  }
@@ -41,57 +41,6 @@ class AsyncHooks {
41
41
  }
42
42
  }
43
43
  exports.AsyncHooks = AsyncHooks;
44
- function applyHooks(plugins, hooksRetriever, applyHookCallback) {
45
- // Normalize all the hooks and gather them into collections
46
- const allHooks = Object.create(null);
47
- let uid = 0;
48
- if (plugins) {
49
- for (const plugin of plugins) {
50
- const hooks = hooksRetriever(plugin);
51
- if (!hooks) {
52
- continue;
53
- }
54
- const keys = Object.keys(hooks);
55
- for (const key of keys) {
56
- const hookSpecRaw = hooks[key];
57
- if (!hookSpecRaw) {
58
- continue;
59
- }
60
- // TypeScript nonsense
61
- const isPluginHookObject = (v) => typeof v !== "function";
62
- const isPluginHookFunction = (v) => typeof v === "function";
63
- const callback = (isPluginHookFunction(hookSpecRaw) ? hookSpecRaw : hookSpecRaw.callback);
64
- const { provides, before, after } = isPluginHookObject(hookSpecRaw)
65
- ? hookSpecRaw
66
- : {};
67
- if (!allHooks[key]) {
68
- allHooks[key] = [];
69
- }
70
- // We need to give each hook a unique ID
71
- const id = String(uid++);
72
- allHooks[key].push({
73
- id,
74
- plugin,
75
- callback,
76
- provides: [...(provides || []), id, plugin.name],
77
- before: before || [],
78
- after: after || [],
79
- });
80
- }
81
- }
82
- }
83
- // Sort the collections according to provides, before and after.
84
- for (const hookName in allHooks) {
85
- const hooks = allHooks[hookName];
86
- if (!hooks) {
87
- continue;
88
- }
89
- const final = (0, sort_js_1.sortWithBeforeAfterProvides)(hooks, "id");
90
- // Finally we can register the hooks
91
- for (const hook of final) {
92
- applyHookCallback(hookName, hook.callback, hook.plugin);
93
- }
94
- }
95
- }
96
- exports.applyHooks = applyHooks;
44
+ /** @deprecated Use `orderedApply` */
45
+ exports.applyHooks = functionality_js_1.orderedApply;
97
46
  //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import "./interfaces.js";
2
2
  export { GraphileConfig };
3
- export { applyHooks, AsyncHooks, HookObject } from "./hooks.js";
4
- export type { PluginHook, PluginHookObject } from "./interfaces.js";
3
+ export { orderedApply } from "./functionality.js";
4
+ export { applyHooks, AsyncHooks, HookObject, PluginHook, PluginHookObject, } from "./hooks.js";
5
+ export type { CallbackDescriptor, CallbackOrDescriptor, FunctionalityObject, } from "./interfaces.js";
6
+ export type { MiddlewareNext } from "./middleware.js";
7
+ export { Middleware } from "./middleware.js";
5
8
  export { isResolvedPreset, resolvePresets } from "./resolvePresets.js";
6
9
  export declare function sortedPlugins(plugins: GraphileConfig.Plugin[] | undefined): GraphileConfig.Plugin[];
7
10
  declare global {
@@ -1 +1 @@
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"}
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,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"}
package/dist/index.js CHANGED
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sortedPlugins = exports.resolvePresets = exports.isResolvedPreset = exports.AsyncHooks = exports.applyHooks = void 0;
3
+ exports.sortedPlugins = exports.resolvePresets = exports.isResolvedPreset = exports.Middleware = exports.AsyncHooks = exports.applyHooks = exports.orderedApply = void 0;
4
4
  require("./interfaces.js");
5
5
  const sort_js_1 = require("./sort.js");
6
+ var functionality_js_1 = require("./functionality.js");
7
+ Object.defineProperty(exports, "orderedApply", { enumerable: true, get: function () { return functionality_js_1.orderedApply; } });
6
8
  var hooks_js_1 = require("./hooks.js");
7
9
  Object.defineProperty(exports, "applyHooks", { enumerable: true, get: function () { return hooks_js_1.applyHooks; } });
8
10
  Object.defineProperty(exports, "AsyncHooks", { enumerable: true, get: function () { return hooks_js_1.AsyncHooks; } });
11
+ var middleware_js_1 = require("./middleware.js");
12
+ Object.defineProperty(exports, "Middleware", { enumerable: true, get: function () { return middleware_js_1.Middleware; } });
9
13
  var resolvePresets_js_1 = require("./resolvePresets.js");
10
14
  Object.defineProperty(exports, "isResolvedPreset", { enumerable: true, get: function () { return resolvePresets_js_1.isResolvedPreset; } });
11
15
  Object.defineProperty(exports, "resolvePresets", { enumerable: true, get: function () { return resolvePresets_js_1.resolvePresets; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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"}
1
+ {"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,9 +1,12 @@
1
- export type PluginHookObject<T extends (...args: any[]) => any> = {
1
+ export type AnyCallback = (...args: any[]) => any;
2
+ export type CallbackDescriptor<T extends AnyCallback> = {
2
3
  provides?: string[];
3
4
  before?: string[];
4
5
  after?: string[];
5
6
  callback: T;
6
7
  };
7
- export type PluginHook<T extends (...args: any[]) => any> = T | PluginHookObject<T>;
8
- export type PluginHookCallback<T extends PluginHook<(...args: any[]) => any>> = T extends PluginHook<infer U> ? U : never;
8
+ export type PromiseOrDirect<T> = T | PromiseLike<T>;
9
+ export type CallbackOrDescriptor<T extends AnyCallback> = T | CallbackDescriptor<T>;
10
+ export type UnwrapCallback<T extends CallbackOrDescriptor<AnyCallback>> = T extends CallbackOrDescriptor<infer U> ? U : never;
11
+ export type FunctionalityObject<T> = Record<keyof T, CallbackOrDescriptor<AnyCallback>>;
9
12
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"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"}
@@ -0,0 +1,18 @@
1
+ import type { CallbackOrDescriptor, FunctionalityObject } from "./interfaces.js";
2
+ export interface MiddlewareNext<TRawResult, TAwaitedResult = Awaited<TRawResult>> {
3
+ (): TRawResult;
4
+ callback(callback: (error: object | null, result: TAwaitedResult) => TRawResult): TRawResult;
5
+ }
6
+ type ActivityFn<TActivities extends FunctionalityObject<TActivities>, TActivityName extends keyof TActivities> = TActivities[TActivityName] extends CallbackOrDescriptor<infer UFn> ? UFn : never;
7
+ type ActivityParameter<TActivities extends FunctionalityObject<TActivities>, TActivityName extends keyof TActivities> = TActivities[TActivityName] extends CallbackOrDescriptor<(arg: infer UArg) => any> ? UArg : never;
8
+ 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;
9
+ export declare class Middleware<TActivities extends FunctionalityObject<TActivities>> {
10
+ middleware: {
11
+ [key in keyof TActivities]?: Array<RealActivityFn<TActivities, key>>;
12
+ };
13
+ register<TActivityName extends keyof TActivities>(event: TActivityName, fn: RealActivityFn<TActivities, TActivityName>): void;
14
+ run<TActivityName extends keyof TActivities>(activityName: TActivityName, arg: ActivityParameter<TActivities, TActivityName>, activity: (arg: ActivityParameter<TActivities, TActivityName>) => ReturnType<ActivityFn<TActivities, TActivityName>>): ReturnType<ActivityFn<TActivities, TActivityName>>;
15
+ runSync<TActivityName extends keyof TActivities>(activityName: TActivityName, arg: ActivityParameter<TActivities, TActivityName>, activity: (arg: ActivityParameter<TActivities, TActivityName>) => ReturnType<ActivityFn<TActivities, TActivityName>>): ReturnType<ActivityFn<TActivities, TActivityName>>;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"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"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Middleware = void 0;
4
+ const utils_js_1 = require("./utils.js");
5
+ class Middleware {
6
+ constructor() {
7
+ this.middleware = Object.create(null);
8
+ }
9
+ register(event, fn) {
10
+ const list = this.middleware[event];
11
+ if (list !== undefined) {
12
+ list.push(fn);
13
+ }
14
+ else {
15
+ this.middleware[event] = [fn];
16
+ }
17
+ }
18
+ run(activityName, arg, activity) {
19
+ const middleware = this.middleware[activityName];
20
+ if (middleware === undefined) {
21
+ return activity(arg);
22
+ }
23
+ const m = middleware.length - 1;
24
+ return executeMiddleware(activityName, true, middleware, activity, arg, 0, m);
25
+ }
26
+ runSync(activityName, arg, activity) {
27
+ const middleware = this.middleware[activityName];
28
+ if (middleware === undefined) {
29
+ return activity(arg);
30
+ }
31
+ const m = middleware.length - 1;
32
+ return executeMiddleware(activityName, false, middleware, activity, arg, 0, m);
33
+ }
34
+ }
35
+ exports.Middleware = Middleware;
36
+ function executeMiddleware(activityName, allowAsync, middlewareList, activity, arg, idx, maxIdx) {
37
+ const next = makeNext(idx === maxIdx
38
+ ? () => activity(arg)
39
+ : () => executeMiddleware(activityName, allowAsync, middlewareList, activity, arg, idx + 1, maxIdx));
40
+ const middleware = middlewareList[idx];
41
+ const result = middleware(next, arg);
42
+ if (!allowAsync && (0, utils_js_1.isPromiseLike)(result)) {
43
+ throw new Error(`'${String(activityName)}' is a synchronous activity, all middleware must be synchronous but the middleware at index ${idx} returned a promise.`);
44
+ }
45
+ return result;
46
+ }
47
+ function makeNext(fn) {
48
+ let called = false;
49
+ const next = fn;
50
+ next.callback = (callback) => {
51
+ if (called) {
52
+ throw new Error(`next() was already called; don't call it twice!`);
53
+ }
54
+ called = true;
55
+ let result;
56
+ try {
57
+ result = fn();
58
+ }
59
+ catch (error) {
60
+ return callback(error, undefined);
61
+ }
62
+ if ((0, utils_js_1.isPromiseLike)(result)) {
63
+ return result.then((result) => callback(null, result), callback);
64
+ }
65
+ else {
66
+ return callback(null, result);
67
+ }
68
+ };
69
+ return next;
70
+ }
71
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":";;;AAKA,yCAA2C;AAoC3C,MAAa,UAAU;IAAvB;QACE,eAAU,GAEN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IA0D1B,CAAC;IAxDC,QAAQ,CACN,KAAoB,EACpB,EAA8C;QAE9C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACf;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,GAAG,CACD,YAA2B,EAC3B,GAAkD,EAClD,QAEuD;QAEvD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;SACtB;QACD,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,OAAO,iBAAiB,CACtB,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,GAAG,EACH,CAAC,EACD,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,CACL,YAA2B,EAC3B,GAAkD,EAClD,QAEuD;QAEvD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;SACtB;QACD,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,OAAO,iBAAiB,CACtB,YAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,GAAG,EACH,CAAC,EACD,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AA7DD,gCA6DC;AAED,SAAS,iBAAiB,CAIxB,YAA2B,EAC3B,UAAmB,EACnB,cAAyE,EACzE,QAEuD,EACvD,GAAkD,EAClD,GAAW,EACX,MAAc;IAEd,MAAM,IAAI,GAAG,QAAQ,CACnB,GAAG,KAAK,MAAM;QACZ,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,CAAC,CAAC,GAAG,EAAE,CACH,iBAAiB,CACf,YAAY,EACZ,UAAU,EACV,cAAc,EACd,QAAQ,EACR,GAAG,EACH,GAAG,GAAG,CAAC,EACP,MAAM,CACP,CACR,CAAC;IACF,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,UAAU,CACvB,IAAwC,EACxC,GAAG,CACG,CAAC;IACT,IAAI,CAAC,UAAU,IAAI,IAAA,wBAAa,EAAC,MAAM,CAAC,EAAE;QACxC,MAAM,IAAI,KAAK,CACb,IAAI,MAAM,CACR,YAAY,CACb,+FAA+F,GAAG,sBAAsB,CAC1H,CAAC;KACH;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CACf,EAAoB;IAEpB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,EAAgD,CAAC;IAC9D,IAAI,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC3B,IAAI,MAAM,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACpE;QACD,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,MAAuC,CAAC;QAC5C,IAAI;YACF,MAAM,GAAG,EAAE,EAAqC,CAAC;SAClD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,QAAQ,CAAC,KAAK,EAAE,SAAgB,CAAC,CAAC;SAC1C;QACD,IAAI,IAAA,wBAAa,EAAC,MAAM,CAAC,EAAE;YACzB,OAAO,MAAM,CAAC,IAAI,CAChB,CAAC,MAAM,EAAE,EAAE,CACT,QAAQ,CAAC,IAAI,EAAE,MAAM,CAEU,EACjC,QAAe,CACF,CAAC;SACjB;aAAM;YACL,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolvePresets.d.ts","sourceRoot":"","sources":["../src/resolvePresets.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAmCzB,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,CAAC,MAAM,GAC5B,MAAM,IAAI,cAAc,CAAC,cAAc,CAEzC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,EAC7C,cAAc,UAAO,GACpB,cAAc,CAAC,cAAc,CAkC/B"}
1
+ {"version":3,"file":"resolvePresets.d.ts","sourceRoot":"","sources":["../src/resolvePresets.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAuCzB,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,CAAC,MAAM,GAC5B,MAAM,IAAI,cAAc,CAAC,cAAc,CAEzC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,EAC7C,cAAc,UAAO,GACpB,cAAc,CAAC,cAAc,CAkC/B"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolvePresets = exports.isResolvedPreset = void 0;
4
4
  require("./interfaces.js");
5
5
  const sort_js_1 = require("./sort.js");
6
- const PRESET_FORBIDDEN_KEYS = [
6
+ const PROBABLY_A_PLUGIN_NOT_A_PRESET_KEYS = [
7
7
  "name",
8
8
  "experimental",
9
9
  "provides",
@@ -14,7 +14,11 @@ const PRESET_FORBIDDEN_KEYS = [
14
14
  "prependPlugins",
15
15
  "skipPlugins",
16
16
  ];
17
- const PLUGIN_FORBIDDEN_KEYS = ["plugins", "disablePlugins", "extends"];
17
+ const PROBABLY_A_PRESET_NOT_A_PLUGIN_KEYS = [
18
+ "plugins",
19
+ "disablePlugins",
20
+ "extends",
21
+ ];
18
22
  let inspect;
19
23
  try {
20
24
  inspect = require("util").inspect;
@@ -94,12 +98,28 @@ function assertPlugin(plugin) {
94
98
  if (plugin.version != null && typeof plugin.version !== "string") {
95
99
  throw new Error(`Expected plugin '${plugin.name}' to have a string 'version'; found ${inspect(plugin.version)}`);
96
100
  }
97
- for (const forbiddenKey of PLUGIN_FORBIDDEN_KEYS) {
101
+ const keys = Object.keys(plugin);
102
+ const forbiddenKeys = keys.filter(isForbiddenPluginKey);
103
+ if (forbiddenKeys.length) {
104
+ throw new Error(`Expected a GraphileConfig plugin, but found an object with forbidden keys ` +
105
+ `(e.g. keys starting with a capital letter, or a 'default' key). This typically indicates an ` +
106
+ `issue with ESM compatibility or import method, for example ` +
107
+ `doing \`import MyPlugin from 'my-plugin'\` instead of ` +
108
+ `\`import { MyPlugin } from 'my-plugin'\` or vice versa. ` +
109
+ `Forbidden keys: '${forbiddenKeys.join("', '")}', full value: '${inspect(plugin)}'`);
110
+ }
111
+ for (const forbiddenKey of PROBABLY_A_PRESET_NOT_A_PLUGIN_KEYS) {
98
112
  if (plugin[forbiddenKey]) {
99
113
  throw new Error(`Plugin '${plugin.name}' has '${forbiddenKey}' property which suggests it is a preset rather than a plugin. If it is indeed a preset you should add it to your preset via 'extends' rather than 'plugins'.`);
100
114
  }
101
115
  }
102
116
  }
117
+ function isForbiddenPresetKey(key) {
118
+ return /^[A-Z_]/.test(key) || key === "default";
119
+ }
120
+ function isForbiddenPluginKey(key) {
121
+ return /^[A-Z_]/.test(key) || key === "default";
122
+ }
103
123
  /**
104
124
  * Turns a preset into a resolved preset (i.e. resolves all its `extends`).
105
125
  *
@@ -109,8 +129,18 @@ function resolvePreset(preset) {
109
129
  if (!isGraphileConfigPreset(preset)) {
110
130
  throw new Error(`Expected a GraphileConfig preset (a plain JS object), but found '${inspect(preset)}'`);
111
131
  }
132
+ const keys = Object.keys(preset);
133
+ const forbiddenKeys = keys.filter(isForbiddenPresetKey);
134
+ if (forbiddenKeys.length) {
135
+ throw new Error(`Expected a GraphileConfig preset, but found an object with forbidden keys ` +
136
+ `(e.g. keys starting with a capital letter, or a 'default' key). This typically indicates an ` +
137
+ `issue with ESM compatibility or import method, for example ` +
138
+ `doing \`import MyPreset from 'my-preset'\` instead of ` +
139
+ `\`import { MyPreset } from 'my-preset'\` or vice versa. ` +
140
+ `Forbidden keys: '${forbiddenKeys.join("', '")}', full value: '${inspect(preset)}'`);
141
+ }
112
142
  try {
113
- for (const forbiddenKey of PRESET_FORBIDDEN_KEYS) {
143
+ for (const forbiddenKey of PROBABLY_A_PLUGIN_NOT_A_PRESET_KEYS) {
114
144
  if (preset[forbiddenKey]) {
115
145
  throw new Error(`Preset has '${forbiddenKey}' property which suggests it is a plugin rather than a preset. If it is indeed a plugin you should add it to your preset via 'plugins' rather than 'extends'.`);
116
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolvePresets.js","sourceRoot":"","sources":["../src/resolvePresets.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;AAEzB,uCAAwD;AAExD,MAAM,qBAAqB,GAAG;IAC5B,MAAM;IACN,cAAc;IACd,UAAU;IACV,QAAQ;IACR,OAAO;IACP,2CAA2C;IAC3C,eAAe;IACf,gBAAgB;IAChB,aAAa;CACd,CAAC;AACF,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAEvE,IAAI,OAA4D,CAAC;AAEjE,IAAI;IACF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;IAClC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;CACF;AAAC,MAAM;IACN,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;QAChB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACvB,CAAC,GAAG;YACJ,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI;YACnC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACrB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC,CAAC;CACH;AAED,SAAgB,gBAAgB,CAC9B,MAA6B;IAE7B,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC;AACnE,CAAC;AAJD,4CAIC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,OAA6C,EAC7C,cAAc,GAAG,IAAI;IAErB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,+BAA+B;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACtC,OAAO,MAAM,CAAC;SACf;KACF;IACD,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAC;IAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7C,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1C;IAED,IAAI,WAAW,CAAC,OAAO,EAAE;QACvB,WAAW,CAAC,OAAO,GAAG,IAAA,qCAA2B,EAC/C,WAAW,CAAC,OAAO,EACnB,MAAM,CACP,CAAC;KACH;IAED,IAAI,cAAc,EAAE;QAClB,IAAI,WAAW,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACvE,OAAO,CAAC,IAAI,CACV,+FAA+F,WAAW,CAAC,cAAc;iBACtH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;iBACtB,IAAI,CAAC,IAAI,CAAC,qCACX,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GACxD,EAAE,CACH,CAAC;SACH;KACF;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AArCD,wCAqCC;AAED,SAAS,sBAAsB,CAAC,GAAY;IAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAE1D,0BAA0B;IAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE;QACxD,OAAO,IAAI,CAAC;KACb;IAED,0EAA0E;IAC1E,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,iBAAiB,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,MAAW;IAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACpE;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,KAAK,CACb,oDAAoD,OAAO,CAAC,MAAM,CAAC,GAAG,CACvE,CAAC;KACH;IACD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;QACnC,MAAM,IAAI,KAAK,CACb,kDAAkD,OAAO,CACvD,MAAM,CAAC,IAAI,CACZ,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CACzB,CAAC;KACH;IACD,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;QAChE,MAAM,IAAI,KAAK,CACb,oBACE,MAAM,CAAC,IACT,uCAAuC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CACjE,CAAC;KACH;IACD,KAAK,MAAM,YAAY,IAAI,qBAAqB,EAAE;QAChD,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,IAAI,UAAU,YAAY,+JAA+J,CAC5M,CAAC;SACH;KACF;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CACpB,MAA6B;IAE7B,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;QACnC,MAAM,IAAI,KAAK,CACb,oEAAoE,OAAO,CACzE,MAAM,CACP,GAAG,CACL,CAAC;KACH;IAED,IAAI;QACF,KAAK,MAAM,YAAY,IAAI,qBAAqB,EAAE;YAChD,IAAK,MAAc,CAAC,YAAY,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CACb,eAAe,YAAY,+JAA+J,CAC3L,CAAC;aACH;SACF;QACD,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;QACzC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEhC,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC;QAC3C,IAAI,QAAQ,EAAE;YACZ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC9B,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBACxB;aACF;YACD,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAClC,UAAU,CAAC,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;SAC5C;QACD,OAAO,UAAU,CAAC;KACnB;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CACb,yCAAyC,CAAC,aAAa,OAAO,CAAC,MAAM,CAAC,EAAE,CACzE,CAAC;KACH;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAClB,YAA2C,EAC3C,YAAmC;IAEnC,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACrE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;KAC5E;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;QACtB,GAAG,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;QAC/B,GAAG,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;KAChC,CAAC,CAAC;IACH,YAAY,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACpC,IAAI,YAAY,CAAC,cAAc,EAAE;QAC/B,YAAY,CAAC,cAAc,GAAG;YAC5B,GAAG,IAAI,GAAG,CAAC;gBACT,GAAG,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;gBACtC,GAAG,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;aACvC,CAAC;SACH,CAAC;KACH;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,MAAM,WAAW,GACf,YAAY,CAAC,KAA4C,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,YAAY,CAAC,KAAoC,CAAC,CAAC;QACvE,IAAI,WAAW,IAAI,WAAW,EAAE;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC7D,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,kGAAkG,CAC3G,CAAC;aACH;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACrC,YAAY,CAAC,KAA4C,CAAC;oBACxD,WAAkB,CAAC;aACtB;iBAAM;gBACL,YAAY,CAAC,KAA4C,CAAC;oBACxD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;aAChE;SACF;aAAM;YACL,YAAY,CAAC,KAA4C,CAAC;gBACxD,CAAC,WAAW,IAAI,WAAW,CAAQ,CAAC;SACvC;KACF;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;QACL,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE;KACnB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,gBAAgB,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"resolvePresets.js","sourceRoot":"","sources":["../src/resolvePresets.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;AAEzB,uCAAwD;AAExD,MAAM,mCAAmC,GAAG;IAC1C,MAAM;IACN,cAAc;IACd,UAAU;IACV,QAAQ;IACR,OAAO;IACP,2CAA2C;IAC3C,eAAe;IACf,gBAAgB;IAChB,aAAa;CACd,CAAC;AACF,MAAM,mCAAmC,GAAG;IAC1C,SAAS;IACT,gBAAgB;IAChB,SAAS;CACV,CAAC;AAEF,IAAI,OAA4D,CAAC;AAEjE,IAAI;IACF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;IAClC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;CACF;AAAC,MAAM;IACN,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;QAChB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACvB,CAAC,GAAG;YACJ,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI;YACnC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACrB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC,CAAC;CACH;AAED,SAAgB,gBAAgB,CAC9B,MAA6B;IAE7B,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC;AACnE,CAAC;AAJD,4CAIC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,OAA6C,EAC7C,cAAc,GAAG,IAAI;IAErB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,+BAA+B;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACtC,OAAO,MAAM,CAAC;SACf;KACF;IACD,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAC;IAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7C,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1C;IAED,IAAI,WAAW,CAAC,OAAO,EAAE;QACvB,WAAW,CAAC,OAAO,GAAG,IAAA,qCAA2B,EAC/C,WAAW,CAAC,OAAO,EACnB,MAAM,CACP,CAAC;KACH;IAED,IAAI,cAAc,EAAE;QAClB,IAAI,WAAW,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACvE,OAAO,CAAC,IAAI,CACV,+FAA+F,WAAW,CAAC,cAAc;iBACtH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;iBACtB,IAAI,CAAC,IAAI,CAAC,qCACX,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GACxD,EAAE,CACH,CAAC;SACH;KACF;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AArCD,wCAqCC;AAED,SAAS,sBAAsB,CAAC,GAAY;IAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAE1D,0BAA0B;IAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE;QACxD,OAAO,IAAI,CAAC;KACb;IAED,0EAA0E;IAC1E,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,iBAAiB,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,MAAW;IAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACpE;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,KAAK,CACb,oDAAoD,OAAO,CAAC,MAAM,CAAC,GAAG,CACvE,CAAC;KACH;IACD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;QACnC,MAAM,IAAI,KAAK,CACb,kDAAkD,OAAO,CACvD,MAAM,CAAC,IAAI,CACZ,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CACzB,CAAC;KACH;IACD,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;QAChE,MAAM,IAAI,KAAK,CACb,oBACE,MAAM,CAAC,IACT,uCAAuC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CACjE,CAAC;KACH;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACxD,IAAI,aAAa,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC1E,8FAA8F;YAC9F,6DAA6D;YAC7D,wDAAwD;YACxD,0DAA0D;YAC1D,oBAAoB,aAAa,CAAC,IAAI,CACpC,MAAM,CACP,mBAAmB,OAAO,CAAC,MAAM,CAAC,GAAG,CACzC,CAAC;KACH;IACD,KAAK,MAAM,YAAY,IAAI,mCAAmC,EAAE;QAC9D,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,IAAI,UAAU,YAAY,+JAA+J,CAC5M,CAAC;SACH;KACF;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,SAAS,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CACpB,MAA6B;IAE7B,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;QACnC,MAAM,IAAI,KAAK,CACb,oEAAoE,OAAO,CACzE,MAAM,CACP,GAAG,CACL,CAAC;KACH;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACxD,IAAI,aAAa,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC1E,8FAA8F;YAC9F,6DAA6D;YAC7D,wDAAwD;YACxD,0DAA0D;YAC1D,oBAAoB,aAAa,CAAC,IAAI,CACpC,MAAM,CACP,mBAAmB,OAAO,CAAC,MAAM,CAAC,GAAG,CACzC,CAAC;KACH;IAED,IAAI;QACF,KAAK,MAAM,YAAY,IAAI,mCAAmC,EAAE;YAC9D,IAAK,MAAc,CAAC,YAAY,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CACb,eAAe,YAAY,+JAA+J,CAC3L,CAAC;aACH;SACF;QACD,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;QACzC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEhC,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC;QAC3C,IAAI,QAAQ,EAAE;YACZ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC9B,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBACxB;aACF;YACD,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAClC,UAAU,CAAC,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;SAC5C;QACD,OAAO,UAAU,CAAC;KACnB;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CACb,yCAAyC,CAAC,aAAa,OAAO,CAAC,MAAM,CAAC,EAAE,CACzE,CAAC;KACH;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAClB,YAA2C,EAC3C,YAAmC;IAEnC,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACrE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;KAC5E;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;QACtB,GAAG,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;QAC/B,GAAG,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;KAChC,CAAC,CAAC;IACH,YAAY,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACpC,IAAI,YAAY,CAAC,cAAc,EAAE;QAC/B,YAAY,CAAC,cAAc,GAAG;YAC5B,GAAG,IAAI,GAAG,CAAC;gBACT,GAAG,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;gBACtC,GAAG,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;aACvC,CAAC;SACH,CAAC;KACH;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,MAAM,WAAW,GACf,YAAY,CAAC,KAA4C,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,YAAY,CAAC,KAAoC,CAAC,CAAC;QACvE,IAAI,WAAW,IAAI,WAAW,EAAE;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC7D,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,kGAAkG,CAC3G,CAAC;aACH;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACrC,YAAY,CAAC,KAA4C,CAAC;oBACxD,WAAkB,CAAC;aACtB;iBAAM;gBACL,YAAY,CAAC,KAA4C,CAAC;oBACxD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;aAChE;SACF;aAAM;YACL,YAAY,CAAC,KAA4C,CAAC;gBACxD,CAAC,WAAW,IAAI,WAAW,CAAQ,CAAC;SACvC;KACF;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;QACL,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE;KACnB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,gBAAgB,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function isPromiseLike<T>(value: T | PromiseLike<T>): value is PromiseLike<T>;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"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"}
package/dist/utils.js ADDED
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPromiseLike = void 0;
4
+ function isPromiseLike(value) {
5
+ return (typeof value === "object" &&
6
+ value !== null &&
7
+ typeof value.then === "function");
8
+ }
9
+ exports.isPromiseLike = isPromiseLike;
10
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphile-config",
3
- "version": "0.0.1-beta.7",
3
+ "version": "0.0.1-beta.9",
4
4
  "description": "Standard plugin interface and helpers to be used across the Graphile stack.",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",