@smartive/graphql-magic 8.1.2 → 9.0.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.
package/CHANGELOG.md CHANGED
@@ -1,6 +1 @@
1
- ## [8.1.2](https://github.com/smartive/graphql-magic/compare/v8.1.1...v8.1.2) (2023-09-06)
2
-
3
-
4
- ### Bug Fixes
5
-
6
- * gqm build ([#58](https://github.com/smartive/graphql-magic/issues/58)) ([e40e550](https://github.com/smartive/graphql-magic/commit/e40e5506efd43ca93dc5dff835221b6b31c2a383))
1
+ # [9.0.0](https://github.com/smartive/graphql-magic/compare/v8.1.3...v9.0.0) (2023-09-06)
package/dist/bin/gqm.cjs CHANGED
@@ -31,6 +31,7 @@ var import_simple_git = require("simple-git");
31
31
  // src/api/execute.ts
32
32
  var import_schema = require("@graphql-tools/schema");
33
33
  var import_graphql = require("graphql");
34
+ var import_lodash = require("lodash");
34
35
 
35
36
  // src/client/mutations.ts
36
37
  var import_upperCase = __toESM(require("lodash/upperCase"), 1);
@@ -892,15 +893,6 @@ var import_flatMap2 = __toESM(require("lodash/flatMap"), 1);
892
893
 
893
894
  // src/schema/utils.ts
894
895
  var import_luxon = require("luxon");
895
-
896
- // src/values.ts
897
- var Enum = class {
898
- constructor(value2) {
899
- this.value = value2;
900
- }
901
- };
902
-
903
- // src/schema/utils.ts
904
896
  var document = (definitions) => ({
905
897
  kind: "Document",
906
898
  definitions
@@ -1006,9 +998,9 @@ var value = (val = null) => val === null ? {
1006
998
  } : typeof val === "string" ? {
1007
999
  kind: "StringValue",
1008
1000
  value: val
1009
- } : val instanceof Enum ? {
1001
+ } : val instanceof Symbol ? {
1010
1002
  kind: "EnumValue",
1011
- value: val.value
1003
+ value: val.description
1012
1004
  } : Array.isArray(val) ? {
1013
1005
  kind: "ListValue",
1014
1006
  values: val.map(value)
@@ -1484,16 +1476,23 @@ var import_ts_morph2 = require("ts-morph");
1484
1476
 
1485
1477
  // src/bin/gqm/visitor.ts
1486
1478
  var import_ts_morph = require("ts-morph");
1487
- var visit = (node, context, visitor2) => {
1488
- const kind = node?.getKind();
1489
- if (kind in visitor2) {
1490
- return visitor2[kind](node.asKindOrThrow(kind), context);
1479
+ var visit = (node, context, visitor) => {
1480
+ if (!node) {
1481
+ if (visitor.undefined) {
1482
+ return visitor.undefined();
1483
+ }
1484
+ console.trace();
1485
+ throw new Error(`Cannot handle undefined node.`);
1486
+ }
1487
+ const kind = node.getKind();
1488
+ const func = visitor[kind];
1489
+ if (func) {
1490
+ return func(node, context);
1491
1491
  }
1492
- if ("unknown" in visitor2) {
1493
- return visitor2.unknown(node);
1492
+ if (visitor.unknown) {
1493
+ return visitor.unknown(node);
1494
1494
  }
1495
1495
  console.error(node.getText());
1496
- console.error(node.getParent().getText());
1497
1496
  throw new Error(
1498
1497
  `Cannot handle kind ${get(
1499
1498
  Object.entries(import_ts_morph.SyntaxKind).find(([, val]) => val === kind),
@@ -1503,8 +1502,8 @@ var visit = (node, context, visitor2) => {
1503
1502
  };
1504
1503
 
1505
1504
  // src/bin/gqm/static-eval.ts
1506
- var staticEval = (node, context) => visit(node, context, visitor);
1507
- var visitor = {
1505
+ var staticEval = (node, context) => visit(node, context, VISITOR);
1506
+ var VISITOR = {
1508
1507
  undefined: () => void 0,
1509
1508
  [import_ts_morph2.SyntaxKind.VariableDeclaration]: (node, context) => staticEval(node.getInitializer(), context),
1510
1509
  [import_ts_morph2.SyntaxKind.ArrayLiteralExpression]: (node, context) => {
@@ -1540,6 +1539,8 @@ var visitor = {
1540
1539
  return void 0;
1541
1540
  case "process":
1542
1541
  return process;
1542
+ case "Symbol":
1543
+ return Symbol;
1543
1544
  }
1544
1545
  const definitionNodes = node.getDefinitionNodes();
1545
1546
  if (!definitionNodes.length) {
@@ -1553,6 +1554,7 @@ var visitor = {
1553
1554
  [import_ts_morph2.SyntaxKind.TrueKeyword]: () => true,
1554
1555
  [import_ts_morph2.SyntaxKind.FalseKeyword]: () => false,
1555
1556
  [import_ts_morph2.SyntaxKind.NumericLiteral]: (node) => node.getLiteralValue(),
1557
+ [import_ts_morph2.SyntaxKind.BigIntLiteral]: (node) => node.getLiteralValue(),
1556
1558
  [import_ts_morph2.SyntaxKind.CallExpression]: (node, context) => {
1557
1559
  const method = staticEval(node.getExpression(), context);
1558
1560
  const args2 = node.getArguments().map((arg) => staticEval(arg, context));
@@ -1678,7 +1680,8 @@ var visitor = {
1678
1680
  const argument = staticEval(node.getArgumentExpression(), context);
1679
1681
  return target[argument];
1680
1682
  },
1681
- [import_ts_morph2.SyntaxKind.NoSubstitutionTemplateLiteral]: (node) => node.getLiteralValue()
1683
+ [import_ts_morph2.SyntaxKind.NoSubstitutionTemplateLiteral]: (node) => node.getLiteralValue(),
1684
+ [import_ts_morph2.SyntaxKind.NullKeyword]: () => null
1682
1685
  };
1683
1686
 
1684
1687
  // src/bin/gqm/utils.ts
@@ -30,7 +30,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  var src_exports = {};
31
31
  __export(src_exports, {
32
32
  AliasGenerator: () => AliasGenerator,
33
- Enum: () => Enum,
34
33
  ForbiddenError: () => ForbiddenError,
35
34
  GraphQLError: () => GraphQLError,
36
35
  ID_ALIAS: () => ID_ALIAS,
@@ -128,7 +127,7 @@ __export(src_exports, {
128
127
  isVisibleRelation: () => isVisibleRelation,
129
128
  it: () => it,
130
129
  list: () => list,
131
- merge: () => merge,
130
+ merge: () => merge2,
132
131
  mutationResolver: () => mutationResolver,
133
132
  name: () => name,
134
133
  namedType: () => namedType,
@@ -158,6 +157,7 @@ module.exports = __toCommonJS(src_exports);
158
157
  // src/api/execute.ts
159
158
  var import_schema = require("@graphql-tools/schema");
160
159
  var import_graphql = require("graphql");
160
+ var import_lodash = require("lodash");
161
161
  var execute = async ({
162
162
  additionalResolvers,
163
163
  body,
@@ -167,10 +167,7 @@ var execute = async ({
167
167
  const generatedResolvers = getResolvers(ctx.models);
168
168
  const schema = (0, import_schema.makeExecutableSchema)({
169
169
  typeDefs: document2,
170
- resolvers: {
171
- ...generatedResolvers,
172
- ...additionalResolvers
173
- }
170
+ resolvers: (0, import_lodash.merge)(generatedResolvers, additionalResolvers)
174
171
  });
175
172
  const contextValue = {
176
173
  document: document2,
@@ -255,7 +252,7 @@ var import_get = __toESM(require("lodash/get"), 1);
255
252
  var import_kebabCase = __toESM(require("lodash/kebabCase"), 1);
256
253
  var import_startCase = __toESM(require("lodash/startCase"), 1);
257
254
  var isNotFalsy = (v) => typeof v !== "undefined" && v !== null && v !== false;
258
- var merge = (objects) => (objects || []).filter(isNotFalsy).reduce((i, acc) => ({ ...acc, ...i }), {});
255
+ var merge2 = (objects) => (objects || []).filter(isNotFalsy).reduce((i, acc) => ({ ...acc, ...i }), {});
259
256
  var typeToField = (type) => type.substr(0, 1).toLowerCase() + type.substr(1);
260
257
  var getModelPlural = (model) => model.plural || (0, import_inflection.pluralize)(model.name);
261
258
  var getModelPluralField = (model) => typeToField(getModelPlural(model));
@@ -2345,7 +2342,7 @@ var isEndOfDay = (field) => isPrimitive(field) && field.type === "DateTime" && f
2345
2342
 
2346
2343
  // src/resolvers/resolvers.ts
2347
2344
  var getResolvers = (models) => ({
2348
- Query: merge([
2345
+ Query: merge2([
2349
2346
  {
2350
2347
  me: queryResolver
2351
2348
  },
@@ -2356,7 +2353,7 @@ var getResolvers = (models) => ({
2356
2353
  [getModelPluralField(model)]: queryResolver
2357
2354
  }))
2358
2355
  ]),
2359
- Mutation: merge([
2356
+ Mutation: merge2([
2360
2357
  ...models.filter(({ creatable }) => creatable).map((model) => ({
2361
2358
  [`create${model.name}`]: mutationResolver
2362
2359
  })),
@@ -2376,15 +2373,6 @@ var import_flatMap2 = __toESM(require("lodash/flatMap"), 1);
2376
2373
 
2377
2374
  // src/schema/utils.ts
2378
2375
  var import_luxon = require("luxon");
2379
-
2380
- // src/values.ts
2381
- var Enum = class {
2382
- constructor(value2) {
2383
- this.value = value2;
2384
- }
2385
- };
2386
-
2387
- // src/schema/utils.ts
2388
2376
  var document = (definitions) => ({
2389
2377
  kind: "Document",
2390
2378
  definitions
@@ -2511,9 +2499,9 @@ var value = (val = null) => val === null ? {
2511
2499
  } : typeof val === "string" ? {
2512
2500
  kind: "StringValue",
2513
2501
  value: val
2514
- } : val instanceof Enum ? {
2502
+ } : val instanceof Symbol ? {
2515
2503
  kind: "EnumValue",
2516
- value: val.value
2504
+ value: val.description
2517
2505
  } : Array.isArray(val) ? {
2518
2506
  kind: "ListValue",
2519
2507
  values: val.map(value)
@@ -2759,7 +2747,6 @@ var printSchemaFromModels = (models) => printSchema((0, import_graphql5.buildAST
2759
2747
  // Annotate the CommonJS export names for ESM import in node:
2760
2748
  0 && (module.exports = {
2761
2749
  AliasGenerator,
2762
- Enum,
2763
2750
  ForbiddenError,
2764
2751
  GraphQLError,
2765
2752
  ID_ALIAS,
@@ -1,15 +1,13 @@
1
1
  import { makeExecutableSchema } from '@graphql-tools/schema';
2
2
  import { Source, execute as graphqlExecute, parse } from 'graphql';
3
+ import { merge } from 'lodash';
3
4
  import { generate, get, getResolvers } from '..';
4
5
  export const execute = async ({ additionalResolvers, body, ...ctx }) => {
5
6
  const document = generate(ctx.rawModels);
6
7
  const generatedResolvers = getResolvers(ctx.models);
7
8
  const schema = makeExecutableSchema({
8
9
  typeDefs: document,
9
- resolvers: {
10
- ...generatedResolvers,
11
- ...additionalResolvers,
12
- },
10
+ resolvers: merge(generatedResolvers, additionalResolvers),
13
11
  });
14
12
  const contextValue = {
15
13
  document,
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/api/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAsB,MAAM,EAAE,OAAO,IAAI,cAAc,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAW,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAE1D,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,EAC5B,mBAAmB,EACnB,IAAI,EACJ,GAAG,GAAG,EAIqB,EAAE,EAAE;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEzC,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,oBAAoB,CAAC;QAClC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE;YACT,GAAG,kBAAkB;YACrB,GAAG,mBAAmB;SACvB;KACF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAY;QAC5B,QAAQ;QACR,GAAG,GAAG;KACP,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAClC,MAAM;QACN,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC1D,YAAY;QACZ,cAAc,EAAE,IAAI,CAAC,SAAS;QAC9B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAwB,EAAE,EAAE;YAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/api/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAsB,MAAM,EAAE,OAAO,IAAI,cAAc,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAW,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAE1D,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,EAC5B,mBAAmB,EACnB,IAAI,EACJ,GAAG,GAAG,EAIqB,EAAE,EAAE;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEzC,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,oBAAoB,CAAC;QAClC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,KAAK,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;KAC1D,CAAC,CAAC;IAEH,MAAM,YAAY,GAAY;QAC5B,QAAQ;QACR,GAAG,GAAG;KACP,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAClC,MAAM;QACN,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC1D,YAAY;QACZ,cAAc,EAAE,IAAI,CAAC,SAAS;QAC9B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAwB,EAAE,EAAE;YAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { DateTime } from 'luxon';
2
- import { Enum } from '../values';
3
2
  export const document = (definitions) => ({
4
3
  kind: 'Document',
5
4
  definitions,
@@ -124,10 +123,10 @@ export const value = (val = null) => val === null
124
123
  kind: 'StringValue',
125
124
  value: val,
126
125
  }
127
- : val instanceof Enum
126
+ : val instanceof Symbol
128
127
  ? {
129
128
  kind: 'EnumValue',
130
- value: val.value,
129
+ value: val.description,
131
130
  }
132
131
  : Array.isArray(val)
133
132
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/schema/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/schema/utils.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,4 @@
1
1
  import { DateTime } from 'luxon';
2
- export declare class Enum {
3
- value: string;
4
- constructor(value: string);
5
- }
6
2
  export type BasicValue = undefined | null | boolean | string | number | DateTime;
7
3
  export type Value = any;
8
4
  export type Values = {
@@ -1,7 +1,2 @@
1
- export class Enum {
2
- value;
3
- constructor(value) {
4
- this.value = value;
5
- }
6
- }
1
+ export {};
7
2
  //# sourceMappingURL=values.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/values.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,IAAI;IACI;IAAnB,YAAmB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CACrC"}
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/values.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartive/graphql-magic",
3
- "version": "8.1.2",
3
+ "version": "9.0.0",
4
4
  "description": "",
5
5
  "source": "src/index.ts",
6
6
  "type": "module",
@@ -1,6 +1,7 @@
1
1
  import { makeExecutableSchema } from '@graphql-tools/schema';
2
2
  import { IResolvers } from '@graphql-tools/utils';
3
3
  import { GraphQLResolveInfo, Source, execute as graphqlExecute, parse } from 'graphql';
4
+ import { merge } from 'lodash';
4
5
  import { Context, generate, get, getResolvers } from '..';
5
6
 
6
7
  export const execute = async ({
@@ -17,10 +18,7 @@ export const execute = async ({
17
18
 
18
19
  const schema = makeExecutableSchema({
19
20
  typeDefs: document,
20
- resolvers: {
21
- ...generatedResolvers,
22
- ...additionalResolvers,
23
- },
21
+ resolvers: merge(generatedResolvers, additionalResolvers),
24
22
  });
25
23
 
26
24
  const contextValue: Context = {
@@ -13,10 +13,10 @@ import {
13
13
  } from 'ts-morph';
14
14
  import { Visitor, visit } from './visitor';
15
15
 
16
- export const staticEval = (node: Node, context: Dictionary<unknown>) =>
17
- visit<unknown, Dictionary<unknown>>(node, context, visitor);
16
+ export const staticEval = (node: Node | undefined, context: Dictionary<unknown>) =>
17
+ visit<unknown, Dictionary<unknown>>(node, context, VISITOR);
18
18
 
19
- const visitor: Visitor<unknown, Dictionary<unknown>> = {
19
+ const VISITOR: Visitor<unknown, Dictionary<unknown>> = {
20
20
  undefined: () => undefined,
21
21
  [SyntaxKind.VariableDeclaration]: (node, context) => staticEval(node.getInitializer(), context),
22
22
  [SyntaxKind.ArrayLiteralExpression]: (node, context) => {
@@ -52,6 +52,8 @@ const visitor: Visitor<unknown, Dictionary<unknown>> = {
52
52
  return undefined;
53
53
  case 'process':
54
54
  return process;
55
+ case 'Symbol':
56
+ return Symbol;
55
57
  }
56
58
  const definitionNodes = node.getDefinitionNodes();
57
59
  if (!definitionNodes.length) {
@@ -68,6 +70,7 @@ const visitor: Visitor<unknown, Dictionary<unknown>> = {
68
70
  [SyntaxKind.TrueKeyword]: () => true,
69
71
  [SyntaxKind.FalseKeyword]: () => false,
70
72
  [SyntaxKind.NumericLiteral]: (node) => node.getLiteralValue(),
73
+ [SyntaxKind.BigIntLiteral]: (node) => node.getLiteralValue(),
71
74
  [SyntaxKind.CallExpression]: (node, context) => {
72
75
  const method = staticEval(node.getExpression(), context) as (...args: unknown[]) => unknown;
73
76
  const args = node.getArguments().map((arg) => staticEval(arg, context));
@@ -200,4 +203,5 @@ const visitor: Visitor<unknown, Dictionary<unknown>> = {
200
203
  return target[argument];
201
204
  },
202
205
  [SyntaxKind.NoSubstitutionTemplateLiteral]: (node) => node.getLiteralValue(),
206
+ [SyntaxKind.NullKeyword]: () => null,
203
207
  };
@@ -1,25 +1,33 @@
1
- import { KindToNodeMappings, Node, SyntaxKind } from 'ts-morph';
1
+ import { ImplementedKindToNodeMappings, Node, SyntaxKind } from 'ts-morph';
2
2
  import { get } from '../..';
3
3
 
4
4
  export type Visitor<T, C> = {
5
5
  undefined?: () => T;
6
6
  unknown?: (node: Node) => T;
7
7
  } & {
8
- [kind in keyof KindToNodeMappings]?: (node: KindToNodeMappings[kind], context: C) => T;
8
+ [kind in keyof ImplementedKindToNodeMappings]?: (node: ImplementedKindToNodeMappings[kind], context: C) => T;
9
9
  };
10
10
 
11
11
  export const visit = <T, C>(node: Node | undefined, context: C, visitor: Visitor<T, C>) => {
12
- const kind: undefined | keyof KindToNodeMappings = node?.getKind();
13
- if (kind in visitor) {
14
- return visitor[kind](node.asKindOrThrow(kind), context);
12
+ if (!node) {
13
+ if (visitor.undefined) {
14
+ return visitor.undefined();
15
+ }
16
+ console.trace();
17
+ throw new Error(`Cannot handle undefined node.`);
15
18
  }
16
19
 
17
- if ('unknown' in visitor) {
20
+ const kind = node.getKind();
21
+ const func = visitor[kind];
22
+ if (func) {
23
+ return func(node, context);
24
+ }
25
+
26
+ if (visitor.unknown) {
18
27
  return visitor.unknown(node);
19
28
  }
20
29
 
21
30
  console.error(node.getText());
22
- console.error(node.getParent().getText());
23
31
  throw new Error(
24
32
  `Cannot handle kind ${get(
25
33
  Object.entries(SyntaxKind).find(([, val]) => val === kind),
@@ -22,7 +22,7 @@ import {
22
22
  ValueNode,
23
23
  } from 'graphql';
24
24
  import { DateTime } from 'luxon';
25
- import { Directive, Enum, Value, Values } from '../values';
25
+ import { Directive, Value, Values } from '../values';
26
26
 
27
27
  export type Field = {
28
28
  name: string;
@@ -206,10 +206,10 @@ export const value = (val: Value = null): ValueNode =>
206
206
  kind: 'StringValue',
207
207
  value: val,
208
208
  }
209
- : val instanceof Enum
209
+ : val instanceof Symbol
210
210
  ? {
211
211
  kind: 'EnumValue',
212
- value: val.value,
212
+ value: val.description,
213
213
  }
214
214
  : Array.isArray(val)
215
215
  ? {
package/src/values.ts CHANGED
@@ -1,12 +1,8 @@
1
1
  import { DateTime } from 'luxon';
2
2
 
3
- export class Enum {
4
- constructor(public value: string) {}
5
- }
6
-
7
3
  export type BasicValue = undefined | null | boolean | string | number | DateTime;
8
4
 
9
- export type Value = any; // BasicValue | Enum | Enum[] | Record<string, Value> | Value[];
5
+ export type Value = any; // BasicValue | Symbol | Symbol[] | Record<string, Value> | Value[];
10
6
 
11
7
  export type Values = {
12
8
  name: string;