joist-graphql-resolver-utils 1.143.3 → 1.144.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,4 @@
1
1
  import { GraphQLResolveInfo } from "graphql/type";
2
- import { EntityManager } from "joist-orm";
3
2
  export type MaybePromise<T> = T | Promise<T>;
4
3
  export type Resolver<R, A, T> = (root: R, args: A, ctx: any, info: GraphQLResolveInfo) => MaybePromise<T>;
5
- export type Context = {
6
- em: EntityManager;
7
- };
8
4
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAG7C,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;AAE1G,MAAM,MAAM,OAAO,GAAG;IAAE,EAAE,EAAE,aAAa,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAG7C,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC"}
@@ -1,12 +1,20 @@
1
- import { Context, Resolver } from "./context";
2
- import { ResolverResult } from "./makeRunObject";
1
+ import { Resolver } from "./context";
2
+ import { ResolverResult, RunFn } from "./typeUtils";
3
+ /**
4
+ * Creates a `makeRunInputMutation` function for each project's `testUtils` file.
5
+ *
6
+ * This is called `makeMake` because it's a factory for each project's `testUtils` to make its own factory
7
+ * that is customized (basically curried) to their own `newContext` function.
8
+ */
9
+ export declare function makeMakeRunInputMutation<C>(runFn: RunFn<C>): MakeRunInputMutation<C>;
3
10
  /**
4
11
  * Creates a `run` method to invoke a mutation resolver that uses the `input` convention.
5
12
  *
6
13
  * Following our `mutation / foo` conventions, `resolver` will have a single `fooResolver.foo` method.
7
14
  */
8
- export declare function makeRunInputMutation<T extends object>(resolver: T): RunInputMutationMethod<T>;
9
- type RunInputMutationMethod<T> = <I extends MutationInput<T>, R = ResolverResult<T, keyof T>>(ctx: Context, input: I | (() => I)) => Promise<R>;
15
+ export type MakeRunInputMutation<C> = <T extends object>(resolver: T) => RunInputMutationMethod<C, T>;
16
+ type RunInputMutationMethod<C, T> = <I extends MutationInput<T>, R = ResolverResult<T, keyof T>>(ctx: C, input: I | (() => I)) => Promise<R>;
17
+ /** Matches a mutation resolver that has a single `input` field. */
10
18
  type MutationInput<T> = T[keyof T] extends Resolver<any, {
11
19
  input: infer I;
12
20
  }, any> ? I : never;
@@ -1 +1 @@
1
- {"version":3,"file":"makeRunInputMutation.d.ts","sourceRoot":"","sources":["../src/makeRunInputMutation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAW7F;AAED,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAC1F,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KACjB,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"makeRunInputMutation.d.ts","sourceRoot":"","sources":["../src/makeRunInputMutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAapF;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEtG,KAAK,sBAAsB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAC7F,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KACjB,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,mEAAmE;AACnE,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeRunInputMutation = void 0;
4
- const joist_test_utils_1 = require("joist-test-utils");
3
+ exports.makeMakeRunInputMutation = void 0;
5
4
  /**
6
- * Creates a `run` method to invoke a mutation resolver that uses the `input` convention.
5
+ * Creates a `makeRunInputMutation` function for each project's `testUtils` file.
7
6
  *
8
- * Following our `mutation / foo` conventions, `resolver` will have a single `fooResolver.foo` method.
7
+ * This is called `makeMake` because it's a factory for each project's `testUtils` to make its own factory
8
+ * that is customized (basically curried) to their own `newContext` function.
9
9
  */
10
- function makeRunInputMutation(resolver) {
11
- return (ctx, args) => (0, joist_test_utils_1.run)(ctx, async (ctx) => {
12
- const key = Object.keys(resolver)[0];
13
- return resolver[key]({}, { input: args instanceof Function ? args() : args ?? {} }, ctx, undefined);
14
- });
10
+ function makeMakeRunInputMutation(runFn) {
11
+ return (resolver) => {
12
+ return (ctx, args) => runFn(ctx, async (ctx) => {
13
+ const key = Object.keys(resolver)[0];
14
+ return resolver[key]({}, { input: args instanceof Function ? args() : args ?? {} }, ctx, undefined);
15
+ });
16
+ };
15
17
  }
16
- exports.makeRunInputMutation = makeRunInputMutation;
18
+ exports.makeMakeRunInputMutation = makeMakeRunInputMutation;
17
19
  //# sourceMappingURL=makeRunInputMutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeRunInputMutation.js","sourceRoot":"","sources":["../src/makeRunInputMutation.ts"],"names":[],"mappings":";;;AAAA,uDAAuC;AAIvC;;;;GAIG;AACH,SAAgB,oBAAoB,CAAmB,QAAW;IAChE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACnB,IAAA,sBAAG,EAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAS,QAAgB,CAAC,GAAG,CAAS,CACpC,EAAE,EACF,EAAE,KAAK,EAAE,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,EACzD,GAAG,EACH,SAAU,CACX,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAXD,oDAWC"}
1
+ {"version":3,"file":"makeRunInputMutation.js","sourceRoot":"","sources":["../src/makeRunInputMutation.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAI,KAAe;IACzD,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACnB,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,OAAS,QAAgB,CAAC,GAAG,CAAS,CACpC,EAAE,EACF,EAAE,KAAK,EAAE,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,EACzD,GAAG,EACH,SAAU,CACX,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACJ,CAAC;AAbD,4DAaC"}
@@ -0,0 +1,14 @@
1
+ import { ResolverArgs, ResolverResult, ResolverRoot, RunFn } from "./typeUtils";
2
+ /**
3
+ * Creates a `makeRunObjectField` function for each project's `testUtils` file.
4
+ *
5
+ * This is called `makeMake` because it's a factory for each project's `testUtils` to make its own factory
6
+ * that is customized (basically curried) to their own `newContext` function.
7
+ */
8
+ export declare function makeMakeRunObjectField<C>(runFn: RunFn<C>): MakeRunObjectField<C>;
9
+ /** Creates a `run` method to invoke a single field resolver with that field's args. */
10
+ export type MakeRunObjectField<C> = <T extends object, R extends ResolverRoot<T>>(resolvers: T) => RunObjectFieldMethod<C, T, R>;
11
+ /** The return type of `makeRunObject`. */
12
+ type RunObjectFieldMethod<C, T, R> = <K extends keyof T, A extends ResolverArgs<T, K>>(ctx: C, root: R, key: K, args?: A | (() => A)) => Promise<ResolverResult<T, K>>;
13
+ export {};
14
+ //# sourceMappingURL=makeRunObjectField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeRunObjectField.d.ts","sourceRoot":"","sources":["../src/makeRunObjectField.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEhF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAShF;AAED,uFAAuF;AACvF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC9E,SAAS,EAAE,CAAC,KACT,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnC,0CAA0C;AAC1C,KAAK,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EACnF,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,CAAC,EAEN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KACjB,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeMakeRunObjectField = void 0;
4
+ const joist_orm_1 = require("joist-orm");
5
+ /**
6
+ * Creates a `makeRunObjectField` function for each project's `testUtils` file.
7
+ *
8
+ * This is called `makeMake` because it's a factory for each project's `testUtils` to make its own factory
9
+ * that is customized (basically curried) to their own `newContext` function.
10
+ */
11
+ function makeMakeRunObjectField(runFn) {
12
+ return (resolvers) => {
13
+ return (ctx, root, key, args) => runFn(ctx, async (ctx) => {
14
+ // Sneak in a Joist-ism that will load the entity in the new em
15
+ const _root = (0, joist_orm_1.isEntity)(root) ? await ctx.em.load(root.id) : root;
16
+ return resolvers[key](_root, args instanceof Function ? args() : args ?? {}, ctx, undefined);
17
+ });
18
+ };
19
+ }
20
+ exports.makeMakeRunObjectField = makeMakeRunObjectField;
21
+ //# sourceMappingURL=makeRunObjectField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeRunObjectField.js","sourceRoot":"","sources":["../src/makeRunObjectField.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAGrC;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAI,KAAe;IACvD,OAAO,CAAC,SAAS,EAAE,EAAE;QACnB,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAC9B,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACvB,+DAA+D;YAC/D,MAAM,KAAK,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAO,GAAW,CAAC,EAAE,CAAC,IAAI,CAAE,IAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnF,OAAQ,SAAS,CAAC,GAAG,CAAS,CAAC,KAAK,EAAE,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,SAAU,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACJ,CAAC;AATD,wDASC"}
@@ -1,8 +1,14 @@
1
- import { Context } from "./context";
2
- import { ResolverResult, ResolverRoot } from "./makeRunObject";
3
- /** Creates a `run` method that can invoke multiple keys against a resolver. */
4
- export declare function makeRunObjectFields<T, R extends ResolverRoot<T>>(resolver: T): RunKeysResolverMethod<T, R>;
5
- type RunKeysResolverMethod<T, R extends ResolverRoot<T>> = <K extends (keyof T)[]>(ctx: Context, root: R, keys: K) => Promise<{
1
+ import { ResolverResult, ResolverRoot, RunFn } from "./typeUtils";
2
+ /**
3
+ * Creates a `makeRunObjectFields` function for each project's `testUtils` file.
4
+ *
5
+ * This is called `makeMake` because it's a factory for each project's `testUtils` to make its own factory
6
+ * that is customized (basically curried) to their own `newContext` function.
7
+ */
8
+ export declare function makeMakeRunObjectFields<C, T>(runFn: RunFn<C>): MakeRunObjectFields<C>;
9
+ /** Creates a `run` method that can invoke multiple fields against an object resolver. */
10
+ export type MakeRunObjectFields<C> = <T, R extends ResolverRoot<T>>(resolvers: T) => RunFieldsResolverMethod<C, T, R>;
11
+ type RunFieldsResolverMethod<C, T, R extends ResolverRoot<T>> = <K extends (keyof T)[]>(ctx: C, root: R, keys: K) => Promise<{
6
12
  [k in K[number]]: ResolverResult<T, k>;
7
13
  }>;
8
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"makeRunObjectFields.d.ts","sourceRoot":"","sources":["../src/makeRunObjectFields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAU1G;AAGD,KAAK,qBAAqB,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAC/E,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,CAAC,KACJ,OAAO,CAAC;KAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;CAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"makeRunObjectFields.d.ts","sourceRoot":"","sources":["../src/makeRunObjectFields.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAarF;AAED,yFAAyF;AACzF,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAGtH,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EACpF,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,CAAC,KACJ,OAAO,CAAC;KAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;CAAE,CAAC,CAAC"}
@@ -1,17 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeRunObjectFields = void 0;
3
+ exports.makeMakeRunObjectFields = void 0;
4
4
  const joist_orm_1 = require("joist-orm");
5
- const joist_test_utils_1 = require("joist-test-utils");
6
- /** Creates a `run` method that can invoke multiple keys against a resolver. */
7
- function makeRunObjectFields(resolver) {
8
- return (ctx, root, keys) => {
9
- return (0, joist_test_utils_1.run)(ctx, async (ctx) => {
10
- const _root = (0, joist_orm_1.isEntity)(root) ? await ctx.em.load(root.id) : root;
11
- // Build a result with each key, where keys might return a promise, so we `await` to make assertions easier
12
- return Object.fromEntries(await Promise.all(keys.map(async (key) => [key, await resolver[key](_root, {}, ctx, undefined)])));
13
- });
5
+ /**
6
+ * Creates a `makeRunObjectFields` function for each project's `testUtils` file.
7
+ *
8
+ * This is called `makeMake` because it's a factory for each project's `testUtils` to make its own factory
9
+ * that is customized (basically curried) to their own `newContext` function.
10
+ */
11
+ function makeMakeRunObjectFields(runFn) {
12
+ return (resolver) => {
13
+ return (ctx, root, fields) => {
14
+ return runFn(ctx, async (ctx) => {
15
+ // Sneak in a Joist-ism that will load the entity in the new em
16
+ const _root = (0, joist_orm_1.isEntity)(root) ? await ctx.em.load(root.id) : root;
17
+ // Build a result with each key, where fields might return a promise, so we `await` to make assertions easier
18
+ return Object.fromEntries(await Promise.all(fields.map(async (key) => [key, await resolver[key](_root, {}, ctx, undefined)])));
19
+ });
20
+ };
14
21
  };
15
22
  }
16
- exports.makeRunObjectFields = makeRunObjectFields;
23
+ exports.makeMakeRunObjectFields = makeMakeRunObjectFields;
17
24
  //# sourceMappingURL=makeRunObjectFields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeRunObjectFields.js","sourceRoot":"","sources":["../src/makeRunObjectFields.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AACrC,uDAAuC;AAIvC,+EAA+E;AAC/E,SAAgB,mBAAmB,CAA+B,QAAW;IAC3E,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACzB,OAAO,IAAA,sBAAG,EAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAE,IAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,2GAA2G;YAC3G,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAO,QAAQ,CAAC,GAAG,CAAS,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,SAAU,CAAC,CAAC,CAAC,CAAC,CAC5G,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,kDAUC"}
1
+ {"version":3,"file":"makeRunObjectFields.js","sourceRoot":"","sources":["../src/makeRunObjectFields.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAGrC;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAO,KAAe;IAC3D,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAC3B,OAAO,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC9B,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAO,GAAW,CAAC,EAAE,CAAC,IAAI,CAAE,IAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnF,6GAA6G;gBAC7G,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAO,QAAQ,CAAC,GAAG,CAAS,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,SAAU,CAAC,CAAC,CAAC,CAAC,CAC9G,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAbD,0DAaC"}
@@ -1,11 +1,18 @@
1
- import { Context } from "./context";
2
- import { ResolverArgs, ResolverResult } from "./makeRunObject";
1
+ import { ResolverArgs, ResolverResult, RunFn } from "./typeUtils";
3
2
  /**
4
- * Creates a `run` method to invoke a query resolver.
3
+ * Creates a `makeRunQuery` function for each project's `testUtils` file.
5
4
  *
6
- * Following our `query / foo` conventions, `resolver` will have a single `fooResolver.foo` method.
5
+ * This is called `makeMake` because it's a factory for each project's `testUtils` to make its own factory
6
+ * that is customized (basically curried) to their own `newContext` function.
7
7
  */
8
- export declare function makeRunQuery<T extends object>(resolver: T): RunQueryMethod<T>;
9
- type RunQueryMethod<T> = <A extends ResolverArgs<T, keyof T>>(ctx: Context, args?: A | (() => A)) => Promise<ResolverResult<T, keyof T>>;
8
+ export declare function makeMakeRunQuery<C>(runFn: RunFn<C>): MakeRunQuery<C>;
9
+ /**
10
+ * Creates a `run` method that invokes the query resolver's single query.
11
+ *
12
+ * Following our `query / foo` conventions, query resolver will have a single `fooResolver.foo` method.
13
+ */
14
+ export type MakeRunQuery<C> = <T extends object>(resolver: T) => RunQueryMethod<C, T>;
15
+ /** The return type of `makeRunQuery`. */
16
+ type RunQueryMethod<C, T> = <A extends ResolverArgs<T, keyof T>>(ctx: C, args?: A | (() => A)) => Promise<ResolverResult<T, keyof T>>;
10
17
  export {};
11
18
  //# sourceMappingURL=makeRunQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeRunQuery.d.ts","sourceRoot":"","sources":["../src/makeRunQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAM7E;AAGD,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAC1D,GAAG,EAAE,OAAO,EAEZ,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KACjB,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"makeRunQuery.d.ts","sourceRoot":"","sources":["../src/makeRunQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAQpE;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEtF,yCAAyC;AACzC,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAC7D,GAAG,EAAE,CAAC,EAEN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KACjB,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC"}
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeRunQuery = void 0;
4
- const joist_test_utils_1 = require("joist-test-utils");
3
+ exports.makeMakeRunQuery = void 0;
5
4
  /**
6
- * Creates a `run` method to invoke a query resolver.
5
+ * Creates a `makeRunQuery` function for each project's `testUtils` file.
7
6
  *
8
- * Following our `query / foo` conventions, `resolver` will have a single `fooResolver.foo` method.
7
+ * This is called `makeMake` because it's a factory for each project's `testUtils` to make its own factory
8
+ * that is customized (basically curried) to their own `newContext` function.
9
9
  */
10
- function makeRunQuery(resolver) {
11
- return (ctx, args) => (0, joist_test_utils_1.run)(ctx, async (ctx) => {
12
- const key = Object.keys(resolver)[0];
13
- return resolver[key]({}, args instanceof Function ? args() : args ?? {}, ctx, undefined);
14
- });
10
+ function makeMakeRunQuery(runFn) {
11
+ return (resolver) => {
12
+ return (ctx, args) => runFn(ctx, async (ctx) => {
13
+ const key = Object.keys(resolver)[0];
14
+ return resolver[key]({}, args instanceof Function ? args() : args ?? {}, ctx, undefined);
15
+ });
16
+ };
15
17
  }
16
- exports.makeRunQuery = makeRunQuery;
18
+ exports.makeMakeRunQuery = makeMakeRunQuery;
17
19
  //# sourceMappingURL=makeRunQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeRunQuery.js","sourceRoot":"","sources":["../src/makeRunQuery.ts"],"names":[],"mappings":";;;AAAA,uDAAuC;AAIvC;;;;GAIG;AACH,SAAgB,YAAY,CAAmB,QAAW;IACxD,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACnB,IAAA,sBAAG,EAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAS,QAAgB,CAAC,GAAG,CAAS,CAAC,EAAE,EAAE,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,SAAU,CAAC,CAAC;IAC9G,CAAC,CAAC,CAAC;AACP,CAAC;AAND,oCAMC"}
1
+ {"version":3,"file":"makeRunQuery.js","sourceRoot":"","sources":["../src/makeRunQuery.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAI,KAAe;IACjD,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACnB,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,OAAS,QAAgB,CAAC,GAAG,CAAS,CAAC,EAAE,EAAE,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,SAAU,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACJ,CAAC;AARD,4CAQC"}
@@ -1,5 +1,5 @@
1
1
  import { DeepPartialOrNull, Entity, EntityConstructor, OptsOf } from "joist-orm";
2
- import { Context } from "./context";
2
+ import { Context } from "joist-test-utils";
3
3
  /** Given an GraphQL input, creates-or-updates an entity of `type`. */
4
4
  export declare function saveEntity<T extends Entity>(ctx: Context, type: EntityConstructor<T>, input: DeepPartialOrNull<T>, opts?: {
5
5
  flush?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"saveEntity.d.ts","sourceRoot":"","sources":["../src/saveEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,sEAAsE;AACtE,wBAAsB,UAAU,CAAC,CAAC,SAAS,MAAM,EAC/C,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC3B,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,4EAA4E;AAC5E,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EACjD,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAAE,EACtC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;CAAO,GACxD,OAAO,CAAC,CAAC,EAAE,CAAC,CAQd"}
1
+ {"version":3,"file":"saveEntity.d.ts","sourceRoot":"","sources":["../src/saveEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,sEAAsE;AACtE,wBAAsB,UAAU,CAAC,CAAC,SAAS,MAAM,EAC/C,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC3B,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,4EAA4E;AAC5E,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EACjD,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAAE,EACtC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;CAAO,GACxD,OAAO,CAAC,CAAC,EAAE,CAAC,CAQd"}
package/build/tests.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- export { makeRunInputMutation } from "./makeRunInputMutation";
2
- export { makeRunObject } from "./makeRunObject";
3
- export { makeRunObjectFields } from "./makeRunObjectFields";
4
- export { makeRunQuery } from "./makeRunQuery";
1
+ export { MakeRunInputMutation, makeMakeRunInputMutation } from "./makeRunInputMutation";
2
+ export { MakeRunObjectField, makeMakeRunObjectField } from "./makeRunObjectField";
3
+ export { MakeRunObjectFields, makeMakeRunObjectFields } from "./makeRunObjectFields";
4
+ export { MakeRunQuery, makeMakeRunQuery } from "./makeRunQuery";
5
+ export * from "./typeUtils";
5
6
  //# sourceMappingURL=tests.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../src/tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../src/tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,cAAc,aAAa,CAAC"}
package/build/tests.js CHANGED
@@ -1,12 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeRunQuery = exports.makeRunObjectFields = exports.makeRunObject = exports.makeRunInputMutation = void 0;
17
+ exports.makeMakeRunQuery = exports.makeMakeRunObjectFields = exports.makeMakeRunObjectField = exports.makeMakeRunInputMutation = void 0;
4
18
  var makeRunInputMutation_1 = require("./makeRunInputMutation");
5
- Object.defineProperty(exports, "makeRunInputMutation", { enumerable: true, get: function () { return makeRunInputMutation_1.makeRunInputMutation; } });
6
- var makeRunObject_1 = require("./makeRunObject");
7
- Object.defineProperty(exports, "makeRunObject", { enumerable: true, get: function () { return makeRunObject_1.makeRunObject; } });
19
+ Object.defineProperty(exports, "makeMakeRunInputMutation", { enumerable: true, get: function () { return makeRunInputMutation_1.makeMakeRunInputMutation; } });
20
+ var makeRunObjectField_1 = require("./makeRunObjectField");
21
+ Object.defineProperty(exports, "makeMakeRunObjectField", { enumerable: true, get: function () { return makeRunObjectField_1.makeMakeRunObjectField; } });
8
22
  var makeRunObjectFields_1 = require("./makeRunObjectFields");
9
- Object.defineProperty(exports, "makeRunObjectFields", { enumerable: true, get: function () { return makeRunObjectFields_1.makeRunObjectFields; } });
23
+ Object.defineProperty(exports, "makeMakeRunObjectFields", { enumerable: true, get: function () { return makeRunObjectFields_1.makeMakeRunObjectFields; } });
10
24
  var makeRunQuery_1 = require("./makeRunQuery");
11
- Object.defineProperty(exports, "makeRunQuery", { enumerable: true, get: function () { return makeRunQuery_1.makeRunQuery; } });
25
+ Object.defineProperty(exports, "makeMakeRunQuery", { enumerable: true, get: function () { return makeRunQuery_1.makeMakeRunQuery; } });
26
+ __exportStar(require("./typeUtils"), exports);
12
27
  //# sourceMappingURL=tests.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tests.js","sourceRoot":"","sources":["../src/tests.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"tests.js","sourceRoot":"","sources":["../src/tests.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAAwF;AAAzD,gIAAA,wBAAwB,OAAA;AACvD,2DAAkF;AAArD,4HAAA,sBAAsB,OAAA;AACnD,6DAAqF;AAAvD,8HAAA,uBAAuB,OAAA;AACrD,+CAAgE;AAAzC,gHAAA,gBAAgB,OAAA;AACvC,8CAA4B"}
@@ -0,0 +1,10 @@
1
+ import { Resolver } from "./context";
2
+ export type RunFn<C> = <T>(ctx: C, fn: (ctx: C) => Promise<T>) => Promise<T>;
3
+ /** Infers the root type of the given resolver, by assuming it's always the first arg. */
4
+ export type ResolverRoot<T> = T extends {
5
+ [key in keyof T]: infer F;
6
+ } ? F extends Resolver<infer R, any, any> ? R : never : never;
7
+ export type ResolverArgs<T, K extends keyof T> = T[K] extends Resolver<any, infer U, any> ? U : never;
8
+ /** Infers the return type of key `K` in the resolver object `T`. */
9
+ export type ResolverResult<T, K extends keyof T> = T[K] extends Resolver<any, any, infer U> ? U : never;
10
+ //# sourceMappingURL=typeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../src/typeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7E,yFAAyF;AACzF,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;KAAG,GAAG,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC;CAAE,GACjE,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GACnC,CAAC,GACD,KAAK,GACP,KAAK,CAAC;AAEV,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtG,oEAAoE;AACpE,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=typeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeUtils.js","sourceRoot":"","sources":["../src/typeUtils.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-graphql-resolver-utils",
3
- "version": "1.143.3",
3
+ "version": "1.144.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,8 +21,8 @@
21
21
  ],
22
22
  "dependencies": {
23
23
  "graphql": "^16.8.1",
24
- "joist-orm": "1.143.3",
25
- "joist-test-utils": "1.143.3"
24
+ "joist-orm": "1.144.0",
25
+ "joist-test-utils": "1.144.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@swc/core": "^1.3.101",
@@ -1,12 +0,0 @@
1
- import { Context, Resolver } from "./context";
2
- export type ResolverRoot<T> = T extends {
3
- [key in keyof T]: infer F;
4
- } ? F extends Resolver<infer R, any, any> ? R : never : never;
5
- export type ResolverArgs<T, K extends keyof T> = T[K] extends Resolver<any, infer U, any> ? U : never;
6
- export type ResolverResult<T, K extends keyof T> = T[K] extends Resolver<any, any, infer U> ? U : never;
7
- /** The return type of `makeRunObject`. */
8
- type RunResolverMethod<T, R> = <K extends keyof T, A extends ResolverArgs<T, K>>(ctx: Context, root: R, key: K, args?: A | (() => A)) => Promise<ResolverResult<T, K>>;
9
- /** Creates a `run` method to invoke a specific resolver key with that key's args. */
10
- export declare function makeRunObject<T, R extends ResolverRoot<T>>(resolvers: T): RunResolverMethod<T, R>;
11
- export {};
12
- //# sourceMappingURL=makeRunObject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"makeRunObject.d.ts","sourceRoot":"","sources":["../src/makeRunObject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;KAAG,GAAG,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC;CAAE,GACjE,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GACnC,CAAC,GACD,KAAK,GACP,KAAK,CAAC;AACV,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACtG,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAExG,0CAA0C;AAC1C,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7E,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,CAAC,EAEN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KACjB,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnC,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAMjG"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeRunObject = void 0;
4
- const joist_orm_1 = require("joist-orm");
5
- const joist_test_utils_1 = require("joist-test-utils");
6
- /** Creates a `run` method to invoke a specific resolver key with that key's args. */
7
- function makeRunObject(resolvers) {
8
- return (ctx, root, key, args) => (0, joist_test_utils_1.run)(ctx, async (ctx) => {
9
- const _root = (0, joist_orm_1.isEntity)(root) ? await ctx.em.load(root.id) : root;
10
- return resolvers[key](_root, args instanceof Function ? args() : args ?? {}, ctx, undefined);
11
- });
12
- }
13
- exports.makeRunObject = makeRunObject;
14
- //# sourceMappingURL=makeRunObject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"makeRunObject.js","sourceRoot":"","sources":["../src/makeRunObject.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AACrC,uDAAuC;AAoBvC,qFAAqF;AACrF,SAAgB,aAAa,CAA+B,SAAY;IACtE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAC9B,IAAA,sBAAG,EAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAE,IAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,OAAQ,SAAS,CAAC,GAAG,CAAS,CAAC,KAAK,EAAE,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,SAAU,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;AACP,CAAC;AAND,sCAMC"}