giraffeql 2.0.9 → 2.0.12

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.
@@ -2,6 +2,6 @@ import { GiraffeqlBaseError } from "..";
2
2
  export declare class GiraffeqlArgsError extends GiraffeqlBaseError {
3
3
  constructor(params: {
4
4
  message: string;
5
- fieldPath: string[];
5
+ fieldPath?: string[];
6
6
  });
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"argsError.js","sourceRoot":"","sources":["../../../src/classes/error/argsError.ts"],"names":[],"mappings":";;;AAAA,0BAAwC;AACxC,MAAa,kBAAmB,SAAQ,sBAAkB;IACxD,YAAY,MAAgD;QAC1D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QACtC,KAAK,CAAC;YACJ,SAAS,EAAE,oBAAoB;YAC/B,OAAO;YACP,SAAS;YACT,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAVD,gDAUC"}
1
+ {"version":3,"file":"argsError.js","sourceRoot":"","sources":["../../../src/classes/error/argsError.ts"],"names":[],"mappings":";;;AAAA,0BAAwC;AACxC,MAAa,kBAAmB,SAAQ,sBAAkB;IACxD,YAAY,MAAiD;QAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QACtC,KAAK,CAAC;YACJ,SAAS,EAAE,oBAAoB;YAC/B,OAAO;YACP,SAAS;YACT,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAVD,gDAUC"}
@@ -1,10 +1,10 @@
1
1
  export declare class GiraffeqlBaseError extends Error {
2
2
  name: string;
3
- fieldPath: string[];
3
+ fieldPath?: string[];
4
4
  statusCode: number;
5
5
  constructor(params: {
6
6
  errorName?: string;
7
- message: string;
7
+ message?: string;
8
8
  fieldPath?: string[];
9
9
  statusCode?: number;
10
10
  });
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GiraffeqlBaseError = void 0;
4
4
  class GiraffeqlBaseError extends Error {
5
5
  constructor(params) {
6
- const { errorName = "GiraffeqlBaseError", message, fieldPath = [], statusCode = 500, } = params;
6
+ const { errorName = "GiraffeqlBaseError", message = "An unspecified error has occurred", fieldPath, statusCode = 500, } = params;
7
7
  super(message);
8
8
  this.name = errorName;
9
9
  this.fieldPath = fieldPath;
@@ -1 +1 @@
1
- {"version":3,"file":"baseError.js","sourceRoot":"","sources":["../../../src/classes/error/baseError.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAmB,SAAQ,KAAK;IAK3C,YAAY,MAKX;QACC,MAAM,EACJ,SAAS,GAAG,oBAAoB,EAChC,OAAO,EACP,SAAS,GAAG,EAAE,EACd,UAAU,GAAG,GAAG,GACjB,GAAG,MAAM,CAAC;QACX,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAtBD,gDAsBC"}
1
+ {"version":3,"file":"baseError.js","sourceRoot":"","sources":["../../../src/classes/error/baseError.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAmB,SAAQ,KAAK;IAK3C,YAAY,MAKX;QACC,MAAM,EACJ,SAAS,GAAG,oBAAoB,EAChC,OAAO,GAAG,mCAAmC,EAC7C,SAAS,EACT,UAAU,GAAG,GAAG,GACjB,GAAG,MAAM,CAAC;QACX,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAtBD,gDAsBC"}
@@ -2,6 +2,6 @@ import { GiraffeqlBaseError } from "..";
2
2
  export declare class GiraffeqlQueryError extends GiraffeqlBaseError {
3
3
  constructor(params: {
4
4
  message: string;
5
- fieldPath: string[];
5
+ fieldPath?: string[];
6
6
  });
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queryError.js","sourceRoot":"","sources":["../../../src/classes/error/queryError.ts"],"names":[],"mappings":";;;AAAA,0BAAwC;AACxC,MAAa,mBAAoB,SAAQ,sBAAkB;IACzD,YAAY,MAAgD;QAC1D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QACtC,KAAK,CAAC;YACJ,SAAS,EAAE,qBAAqB;YAChC,OAAO;YACP,SAAS;YACT,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAVD,kDAUC"}
1
+ {"version":3,"file":"queryError.js","sourceRoot":"","sources":["../../../src/classes/error/queryError.ts"],"names":[],"mappings":";;;AAAA,0BAAwC;AACxC,MAAa,mBAAoB,SAAQ,sBAAkB;IACzD,YAAY,MAAiD;QAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QACtC,KAAK,CAAC;YACJ,SAAS,EAAE,qBAAqB;YAChC,OAAO;YACP,SAAS;YACT,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAVD,kDAUC"}
@@ -2,6 +2,6 @@ import { GiraffeqlBaseError } from "..";
2
2
  export declare class GiraffeqlResultError extends GiraffeqlBaseError {
3
3
  constructor(params: {
4
4
  message: string;
5
- fieldPath: string[];
5
+ fieldPath?: string[];
6
6
  });
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resultError.js","sourceRoot":"","sources":["../../../src/classes/error/resultError.ts"],"names":[],"mappings":";;;AAAA,0BAAwC;AACxC,MAAa,oBAAqB,SAAQ,sBAAkB;IAC1D,YAAY,MAAgD;QAC1D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QACtC,KAAK,CAAC;YACJ,SAAS,EAAE,sBAAsB;YACjC,OAAO;YACP,SAAS;YACT,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAVD,oDAUC"}
1
+ {"version":3,"file":"resultError.js","sourceRoot":"","sources":["../../../src/classes/error/resultError.ts"],"names":[],"mappings":";;;AAAA,0BAAwC;AACxC,MAAa,oBAAqB,SAAQ,sBAAkB;IAC1D,YAAY,MAAiD;QAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QACtC,KAAK,CAAC;YACJ,SAAS,EAAE,sBAAsB;YACjC,OAAO;YACP,SAAS;YACT,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAVD,oDAUC"}
@@ -1,6 +1,7 @@
1
- import { GiraffeqlObjectType, GiraffeqlScalarType, GiraffeqlObjectTypeLookup, GiraffeqlInputFieldType } from "../classes";
1
+ import { GiraffeqlObjectType, GiraffeqlScalarType, GiraffeqlObjectTypeLookup, GiraffeqlInputFieldType, GiraffeqlBaseError } from "../classes";
2
2
  import { GiraffeqlResolverNode, ResolverObject, RootResolverDefinition, GiraffeqlProcessorFunction, ObjectTypeDefinitionField, ArrayOptions, StringKeyObject } from "../types";
3
3
  export declare function isObject(ele: unknown): ele is StringKeyObject;
4
+ export declare function processError(err: unknown, fieldPath?: string[]): GiraffeqlBaseError;
4
5
  export declare function validateExternalArgs(args: unknown, argDefinition: GiraffeqlInputFieldType | undefined, fieldPath: string[]): unknown;
5
6
  export declare function validateGiraffeqlResults(giraffeqlResultsNode: unknown, giraffeqlResolverNode: GiraffeqlResolverNode, fieldPath: string[]): Promise<unknown>;
6
7
  export declare function validateResultFields(value: unknown, resolverObject: ResolverObject, fieldPath: string[]): void;
@@ -9,7 +10,7 @@ export declare function generateAnonymousRootResolver(type: GiraffeqlObjectType
9
10
  export declare function generateGiraffeqlResolverTree({ fieldValue, resolverObject, fieldPath, fullTree, validateArgs, }: {
10
11
  fieldValue: unknown;
11
12
  resolverObject: ObjectTypeDefinitionField | RootResolverDefinition;
12
- fieldPath?: string[];
13
+ fieldPath: string[];
13
14
  fullTree?: boolean;
14
15
  validateArgs?: boolean;
15
16
  }): GiraffeqlResolverNode;
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  return t;
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.processGiraffeqlResolverTree = exports.generateGiraffeqlResolverTree = exports.generateAnonymousRootResolver = exports.validateResultNullish = exports.validateResultFields = exports.validateGiraffeqlResults = exports.validateExternalArgs = exports.isObject = void 0;
14
+ exports.processGiraffeqlResolverTree = exports.generateGiraffeqlResolverTree = exports.generateAnonymousRootResolver = exports.validateResultNullish = exports.validateResultFields = exports.validateGiraffeqlResults = exports.validateExternalArgs = exports.processError = exports.isObject = void 0;
15
15
  const __1 = require("..");
16
16
  const classes_1 = require("../classes");
17
17
  const types_1 = require("../types");
@@ -19,301 +19,322 @@ function isObject(ele) {
19
19
  return Object.prototype.toString.call(ele) === "[object Object]";
20
20
  }
21
21
  exports.isObject = isObject;
22
- // validates and replaces the args, returns the validated args
23
- function validateExternalArgs(args, argDefinition, fieldPath) {
24
- let parsedArgs;
25
- // if no argDefinition and args provided, throw error
26
- if (!argDefinition) {
27
- if (args)
28
- throw new classes_1.GiraffeqlArgsError({
29
- message: `Not expecting any args`,
30
- fieldPath,
31
- });
32
- else
33
- return;
22
+ function processError(err, fieldPath) {
23
+ if (err instanceof classes_1.GiraffeqlBaseError) {
24
+ // only set fieldPath if it is defined and if it was not already set
25
+ if (fieldPath && !err.fieldPath)
26
+ err.fieldPath = fieldPath;
27
+ return err;
34
28
  }
35
- // if no arg required and args is undefined, return
36
- if (!argDefinition.definition.required && args === undefined)
37
- return;
38
- // if argDefinition.required and args is undefined, throw err
39
- if (argDefinition.definition.required && args === undefined)
40
- throw new classes_1.GiraffeqlArgsError({
41
- message: `Args is required`,
29
+ else if (err instanceof Error) {
30
+ return new classes_1.GiraffeqlBaseError({
31
+ message: err.message,
42
32
  fieldPath,
43
33
  });
44
- // if !argDefinition.allowNull and args is null, throw err
45
- if (!argDefinition.definition.allowNull && args === null)
46
- throw new classes_1.GiraffeqlArgsError({
47
- message: `Null field is not allowed`,
34
+ }
35
+ else {
36
+ return new classes_1.GiraffeqlBaseError({
48
37
  fieldPath,
49
38
  });
50
- // if array field
51
- if (argDefinition.definition.arrayOptions) {
52
- // if allowNull and not array, must be null
53
- if (argDefinition.definition.allowNull &&
54
- !Array.isArray(args) &&
55
- args !== null) {
56
- throw new classes_1.GiraffeqlArgsError({
57
- message: `Field must be Array or null`,
58
- fieldPath,
59
- });
39
+ }
40
+ }
41
+ exports.processError = processError;
42
+ // validates and replaces the args, returns the validated args
43
+ function validateExternalArgs(args, argDefinition, fieldPath) {
44
+ try {
45
+ let parsedArgs;
46
+ // if no argDefinition and args provided, throw error
47
+ if (!argDefinition) {
48
+ if (args)
49
+ throw new classes_1.GiraffeqlArgsError({
50
+ message: `Not expecting any args`,
51
+ });
52
+ else
53
+ return;
60
54
  }
61
- // if !allowNull and not array, throw err
62
- if (!argDefinition.definition.allowNull && !Array.isArray(args))
55
+ // if no arg required and args is undefined, return
56
+ if (!argDefinition.definition.required && args === undefined)
57
+ return;
58
+ // if argDefinition.required and args is undefined, throw err
59
+ if (argDefinition.definition.required && args === undefined)
63
60
  throw new classes_1.GiraffeqlArgsError({
64
- message: `Array expected`,
65
- fieldPath,
61
+ message: `Args is required`,
66
62
  });
67
- }
68
- let argDefType = argDefinition.definition.type;
69
- // // if lookup field, convert from map
70
- if (argDefType instanceof classes_1.GiraffeqlInputTypeLookup) {
71
- const inputDef = __1.inputTypeDefs.get(argDefType.name);
72
- if (!inputDef)
63
+ // if !argDefinition.allowNull and args is null, throw err
64
+ if (!argDefinition.definition.allowNull && args === null)
73
65
  throw new classes_1.GiraffeqlArgsError({
74
- message: `Unknown inputDef '${argDefType.name}'`,
75
- fieldPath,
66
+ message: `Null field is not allowed`,
76
67
  });
77
- argDefType = inputDef;
78
- }
79
- // if argDefinition.type is inputTypeDefinition
80
- if (argDefType instanceof classes_1.GiraffeqlInputType) {
81
- let argsArray;
82
- const fields = argDefType.definition.fields;
83
- // if args is array and it is supposed to be array, process each array element
84
- if (Array.isArray(args) && argDefinition.definition.arrayOptions) {
85
- // if !allowNullElements and there is a null element, throw err
86
- if (!argDefinition.definition.arrayOptions.allowNullElement &&
87
- args.some((ele) => ele === null)) {
68
+ // if array field
69
+ if (argDefinition.definition.arrayOptions) {
70
+ // if allowNull and not array, must be null
71
+ if (argDefinition.definition.allowNull &&
72
+ !Array.isArray(args) &&
73
+ args !== null) {
88
74
  throw new classes_1.GiraffeqlArgsError({
89
- message: `Null field is not allowed on array element`,
90
- fieldPath,
75
+ message: `Field must be Array or null`,
91
76
  });
92
77
  }
93
- argsArray = args;
78
+ // if !allowNull and not array, throw err
79
+ if (!argDefinition.definition.allowNull && !Array.isArray(args))
80
+ throw new classes_1.GiraffeqlArgsError({
81
+ message: `Array expected`,
82
+ });
94
83
  }
95
- else {
96
- argsArray = [args];
84
+ let argDefType = argDefinition.definition.type;
85
+ // // if lookup field, convert from map
86
+ if (argDefType instanceof classes_1.GiraffeqlInputTypeLookup) {
87
+ const inputDef = __1.inputTypeDefs.get(argDefType.name);
88
+ if (!inputDef)
89
+ throw new classes_1.GiraffeqlArgsError({
90
+ message: `Unknown inputDef '${argDefType.name}'`,
91
+ });
92
+ argDefType = inputDef;
97
93
  }
98
- // process all args
99
- for (const arg of argsArray) {
100
- if (!isObject(arg)) {
101
- if (argDefinition.definition.allowNull && arg !== null) {
94
+ // if argDefinition.type is inputTypeDefinition
95
+ if (argDefType instanceof classes_1.GiraffeqlInputType) {
96
+ let argsArray;
97
+ const fields = argDefType.definition.fields;
98
+ // if args is array and it is supposed to be array, process each array element
99
+ if (Array.isArray(args) && argDefinition.definition.arrayOptions) {
100
+ // if !allowNullElements and there is a null element, throw err
101
+ if (!argDefinition.definition.arrayOptions.allowNullElement &&
102
+ args.some((ele) => ele === null)) {
102
103
  throw new classes_1.GiraffeqlArgsError({
103
- message: `Object or null expected`,
104
- fieldPath,
104
+ message: `Null field is not allowed on array element`,
105
105
  });
106
106
  }
107
- if (!argDefinition.definition.allowNull) {
108
- throw new classes_1.GiraffeqlArgsError({
109
- message: `Object expected`,
110
- fieldPath,
107
+ argsArray = args;
108
+ }
109
+ else {
110
+ argsArray = [args];
111
+ }
112
+ // process all args
113
+ for (const arg of argsArray) {
114
+ if (!isObject(arg)) {
115
+ if (argDefinition.definition.allowNull && arg !== null) {
116
+ throw new classes_1.GiraffeqlArgsError({
117
+ message: `Object or null expected`,
118
+ });
119
+ }
120
+ if (!argDefinition.definition.allowNull) {
121
+ throw new classes_1.GiraffeqlArgsError({
122
+ message: `Object expected`,
123
+ });
124
+ }
125
+ }
126
+ // if arg is null and allowed to be null, do nothing
127
+ if (isObject(arg)) {
128
+ const keysToValidate = new Set(Object.keys(arg));
129
+ Object.entries(fields).forEach(([key, argDef]) => {
130
+ // validate each key of arg
131
+ const validatedArg = validateExternalArgs(arg[key], argDef, fieldPath.concat(key));
132
+ // if key is undefined, make sure it is deleted
133
+ if (validatedArg === undefined)
134
+ delete arg[key];
135
+ else {
136
+ arg[key] = validatedArg;
137
+ }
138
+ keysToValidate.delete(key);
111
139
  });
140
+ // check if any remaining keys to validate (aka unknown args)
141
+ if (keysToValidate.size > 0) {
142
+ throw new classes_1.GiraffeqlArgsError({
143
+ message: `Unknown args '${[...keysToValidate].join(",")}'`,
144
+ });
145
+ }
146
+ // perform validation on results
147
+ if (argDefType.definition.inputsValidator) {
148
+ argDefType.definition.inputsValidator(arg, fieldPath);
149
+ }
112
150
  }
113
151
  }
114
- // if arg is null and allowed to be null, do nothing
115
- if (isObject(arg)) {
116
- const keysToValidate = new Set(Object.keys(arg));
117
- Object.entries(fields).forEach(([key, argDef]) => {
118
- // validate each key of arg
119
- const validatedArg = validateExternalArgs(arg[key], argDef, fieldPath.concat(key));
120
- // if key is undefined, make sure it is deleted
121
- if (validatedArg === undefined)
122
- delete arg[key];
152
+ }
153
+ else {
154
+ // if argDefinition.type is scalarDefinition, attempt to parseValue args
155
+ // replace value if parseValue
156
+ const parseValue = argDefType.definition.parseValue;
157
+ // if arg is null, skip
158
+ if (parseValue && args !== null) {
159
+ try {
160
+ // if arg is an array and supposed to be array, loop through
161
+ if (Array.isArray(args) && argDefinition.definition.arrayOptions) {
162
+ parsedArgs = args.map((ele) => parseValue(ele));
163
+ }
123
164
  else {
124
- arg[key] = validatedArg;
165
+ parsedArgs = parseValue(args);
125
166
  }
126
- keysToValidate.delete(key);
127
- });
128
- // check if any remaining keys to validate (aka unknown args)
129
- if (keysToValidate.size > 0) {
167
+ }
168
+ catch (_a) {
169
+ // transform any errors thrown into GiraffeqlParseError
130
170
  throw new classes_1.GiraffeqlArgsError({
131
- message: `Unknown args '${[...keysToValidate].join(",")}'`,
132
- fieldPath,
171
+ message: `Invalid scalar value for '${argDefType.definition.name}'`,
133
172
  });
134
173
  }
135
- // perform validation on results
136
- if (argDefType.definition.inputsValidator) {
137
- argDefType.definition.inputsValidator(arg, fieldPath);
138
- }
139
174
  }
140
175
  }
141
- }
142
- else {
143
- // if argDefinition.type is scalarDefinition, attempt to parseValue args
144
- // replace value if parseValue
145
- const parseValue = argDefType.definition.parseValue;
146
- // if arg is null, skip
147
- if (parseValue && args !== null) {
148
- try {
149
- // if arg is an array and supposed to be array, loop through
150
- if (Array.isArray(args) && argDefinition.definition.arrayOptions) {
151
- parsedArgs = args.map((ele) => parseValue(ele));
152
- }
153
- else {
154
- parsedArgs = parseValue(args);
155
- }
156
- }
157
- catch (_a) {
158
- // transform any errors thrown into GiraffeqlParseError
159
- throw new classes_1.GiraffeqlArgsError({
160
- message: `Invalid scalar value for '${argDefType.definition.name}'`,
161
- fieldPath: fieldPath,
162
- });
163
- }
176
+ /*
177
+ // if an argsValidator function is available, also run that
178
+ if (argDefinition.argsValidator) {
179
+ argDefinition.argsValidator(parsedArgs, fieldPath);
164
180
  }
181
+ */
182
+ return parsedArgs !== null && parsedArgs !== void 0 ? parsedArgs : args;
165
183
  }
166
- /*
167
- // if an argsValidator function is available, also run that
168
- if (argDefinition.argsValidator) {
169
- argDefinition.argsValidator(parsedArgs, fieldPath);
184
+ catch (err) {
185
+ throw processError(err, fieldPath);
170
186
  }
171
- */
172
- return parsedArgs !== null && parsedArgs !== void 0 ? parsedArgs : args;
173
187
  }
174
188
  exports.validateExternalArgs = validateExternalArgs;
175
189
  // traverses results according to GiraffeqlResolverTree and validates nulls, arrays, extracts results from objs
176
190
  async function validateGiraffeqlResults(giraffeqlResultsNode, giraffeqlResolverNode, fieldPath) {
177
- const nested = giraffeqlResolverNode.nested;
178
- if (nested) {
179
- // if output is null, cut the tree short and return
180
- if (giraffeqlResultsNode === null) {
181
- // but first, check if null is allowed. if not, throw err
182
- if (!giraffeqlResolverNode.typeDef.allowNull) {
183
- throw new classes_1.GiraffeqlResultError({
184
- message: `Null output not allowed`,
185
- fieldPath: fieldPath,
186
- });
191
+ try {
192
+ const nested = giraffeqlResolverNode.nested;
193
+ if (nested) {
194
+ // if output is null, cut the tree short and return
195
+ if (giraffeqlResultsNode === null) {
196
+ // but first, check if null is allowed. if not, throw err
197
+ if (!giraffeqlResolverNode.typeDef.allowNull) {
198
+ throw new classes_1.GiraffeqlResultError({
199
+ message: `Null output not allowed`,
200
+ });
201
+ }
202
+ return null;
187
203
  }
188
- return null;
189
- }
190
- if (giraffeqlResolverNode.typeDef.arrayOptions) {
191
- if (Array.isArray(giraffeqlResultsNode)) {
192
- return Promise.all(giraffeqlResultsNode.map(async (ele) => {
193
- const arrReturnValue = {};
194
- for (const field in giraffeqlResolverNode.nested) {
195
- arrReturnValue[field] = await validateGiraffeqlResults(ele[field], giraffeqlResolverNode.nested[field], fieldPath.concat(field));
196
- }
197
- return arrReturnValue;
198
- }));
204
+ if (giraffeqlResolverNode.typeDef.arrayOptions) {
205
+ if (Array.isArray(giraffeqlResultsNode)) {
206
+ return Promise.all(giraffeqlResultsNode.map(async (ele) => {
207
+ const arrReturnValue = {};
208
+ for (const field in giraffeqlResolverNode.nested) {
209
+ arrReturnValue[field] = await validateGiraffeqlResults(ele[field], giraffeqlResolverNode.nested[field], fieldPath.concat(field));
210
+ }
211
+ return arrReturnValue;
212
+ }));
213
+ }
214
+ else {
215
+ // if field is not Array or null, throw err
216
+ throw new classes_1.GiraffeqlResultError({
217
+ message: `Expecting array or null`,
218
+ });
219
+ }
199
220
  }
200
221
  else {
201
- // if field is not Array or null, throw err
202
- throw new classes_1.GiraffeqlResultError({
203
- message: `Expecting array or null`,
204
- fieldPath: fieldPath,
205
- });
222
+ const tempReturnValue = {};
223
+ // if no nested fields requested, return empty object
224
+ if (giraffeqlResolverNode.nested &&
225
+ Object.keys(giraffeqlResolverNode.nested).length < 1) {
226
+ return isObject(giraffeqlResultsNode) ? tempReturnValue : null;
227
+ }
228
+ if (!isObject(giraffeqlResultsNode))
229
+ throw new classes_1.GiraffeqlResultError({
230
+ message: `Expecting object`,
231
+ });
232
+ for (const field in giraffeqlResolverNode.nested) {
233
+ tempReturnValue[field] = await validateGiraffeqlResults(giraffeqlResultsNode[field], giraffeqlResolverNode.nested[field], fieldPath.concat(field));
234
+ }
235
+ return tempReturnValue;
206
236
  }
207
237
  }
208
238
  else {
209
- const tempReturnValue = {};
210
- // if no nested fields requested, return empty object
211
- if (giraffeqlResolverNode.nested &&
212
- Object.keys(giraffeqlResolverNode.nested).length < 1) {
213
- return isObject(giraffeqlResultsNode) ? tempReturnValue : null;
214
- }
215
- if (!isObject(giraffeqlResultsNode))
216
- throw new classes_1.GiraffeqlResultError({
217
- message: `Expecting object`,
218
- fieldPath: fieldPath,
219
- });
220
- for (const field in giraffeqlResolverNode.nested) {
221
- tempReturnValue[field] = await validateGiraffeqlResults(giraffeqlResultsNode[field], giraffeqlResolverNode.nested[field], fieldPath.concat(field));
239
+ // check for nulls and ensure array fields are arrays
240
+ validateResultFields(giraffeqlResultsNode, giraffeqlResolverNode.typeDef, fieldPath);
241
+ // if typeDef of field is ScalarDefinition, apply the serialize function to the end result
242
+ let fieldType = giraffeqlResolverNode.typeDef.type;
243
+ if (fieldType instanceof classes_1.GiraffeqlObjectTypeLookup) {
244
+ const typeDef = __1.objectTypeDefs.get(fieldType.name);
245
+ if (!typeDef) {
246
+ throw new classes_1.GiraffeqlQueryError({
247
+ message: `TypeDef '${fieldType.name}' not found`,
248
+ });
249
+ }
250
+ fieldType = typeDef;
222
251
  }
223
- return tempReturnValue;
224
- }
225
- }
226
- else {
227
- // check for nulls and ensure array fields are arrays
228
- validateResultFields(giraffeqlResultsNode, giraffeqlResolverNode.typeDef, fieldPath);
229
- // if typeDef of field is ScalarDefinition, apply the serialize function to the end result
230
- let fieldType = giraffeqlResolverNode.typeDef.type;
231
- if (fieldType instanceof classes_1.GiraffeqlObjectTypeLookup) {
232
- const typeDef = __1.objectTypeDefs.get(fieldType.name);
233
- if (!typeDef) {
234
- throw new classes_1.GiraffeqlQueryError({
235
- message: `TypeDef '${fieldType.name}' not found`,
236
- fieldPath: fieldPath,
237
- });
252
+ if (fieldType instanceof classes_1.GiraffeqlObjectType) {
253
+ return giraffeqlResultsNode;
238
254
  }
239
- fieldType = typeDef;
240
- }
241
- if (fieldType instanceof classes_1.GiraffeqlObjectType) {
242
- return giraffeqlResultsNode;
243
- }
244
- else {
245
- const serializeFn = fieldType.definition.serialize;
246
- // if field is null, skip
247
- if (serializeFn &&
248
- giraffeqlResultsNode !== null &&
249
- giraffeqlResultsNode !== undefined) {
250
- try {
251
- if (Array.isArray(giraffeqlResultsNode) &&
252
- giraffeqlResolverNode.typeDef.arrayOptions) {
253
- const allowNullElement = giraffeqlResolverNode.typeDef.arrayOptions
254
- .allowNullElement;
255
- return giraffeqlResultsNode.map((ele) => {
256
- if (allowNullElement && ele === null)
257
- return null;
258
- return serializeFn(ele);
259
- });
255
+ else {
256
+ const serializeFn = fieldType.definition.serialize;
257
+ // if field is null, skip
258
+ if (serializeFn &&
259
+ giraffeqlResultsNode !== null &&
260
+ giraffeqlResultsNode !== undefined) {
261
+ try {
262
+ if (Array.isArray(giraffeqlResultsNode) &&
263
+ giraffeqlResolverNode.typeDef.arrayOptions) {
264
+ const allowNullElement = giraffeqlResolverNode.typeDef
265
+ .arrayOptions.allowNullElement;
266
+ return giraffeqlResultsNode.map((ele) => {
267
+ if (allowNullElement && ele === null)
268
+ return null;
269
+ return serializeFn(ele);
270
+ });
271
+ }
272
+ else {
273
+ return serializeFn(giraffeqlResultsNode);
274
+ }
260
275
  }
261
- else {
262
- return serializeFn(giraffeqlResultsNode);
276
+ catch (_a) {
277
+ // transform any errors thrown into GiraffeqlParseError
278
+ throw new classes_1.GiraffeqlResultError({
279
+ message: `Invalid scalar value for '${fieldType.definition.name}'`,
280
+ });
263
281
  }
264
282
  }
265
- catch (_a) {
266
- // transform any errors thrown into GiraffeqlParseError
267
- throw new classes_1.GiraffeqlResultError({
268
- message: `Invalid scalar value for '${fieldType.definition.name}'`,
269
- fieldPath: fieldPath,
270
- });
283
+ else {
284
+ return giraffeqlResultsNode;
271
285
  }
272
286
  }
273
- else {
274
- return giraffeqlResultsNode;
275
- }
276
287
  }
277
288
  }
289
+ catch (err) {
290
+ throw processError(err, fieldPath);
291
+ }
278
292
  }
279
293
  exports.validateGiraffeqlResults = validateGiraffeqlResults;
280
294
  // throws an error if a field is not an array when it should be
281
295
  function validateResultFields(value, resolverObject, fieldPath) {
282
- if (resolverObject.arrayOptions) {
283
- if (Array.isArray(value)) {
284
- value.forEach((ele) => {
285
- validateResultNullish(ele, resolverObject, fieldPath, resolverObject.arrayOptions);
286
- });
287
- }
288
- else if (!resolverObject.allowNull) {
289
- throw new classes_1.GiraffeqlResultError({
290
- message: `Array expected`,
291
- fieldPath,
292
- });
296
+ try {
297
+ if (resolverObject.arrayOptions) {
298
+ if (Array.isArray(value)) {
299
+ value.forEach((ele) => {
300
+ validateResultNullish(ele, resolverObject, fieldPath, resolverObject.arrayOptions);
301
+ });
302
+ }
303
+ else if (!resolverObject.allowNull) {
304
+ throw new classes_1.GiraffeqlResultError({
305
+ message: `Array expected`,
306
+ });
307
+ }
308
+ else if (value !== null) {
309
+ // field must be null
310
+ throw new classes_1.GiraffeqlResultError({
311
+ message: `Array or null expected`,
312
+ });
313
+ }
293
314
  }
294
- else if (value !== null) {
295
- // field must be null
296
- throw new classes_1.GiraffeqlResultError({
297
- message: `Array or null expected`,
298
- fieldPath,
299
- });
315
+ else {
316
+ validateResultNullish(value, resolverObject, fieldPath, resolverObject.arrayOptions);
300
317
  }
301
318
  }
302
- else {
303
- validateResultNullish(value, resolverObject, fieldPath, resolverObject.arrayOptions);
319
+ catch (err) {
320
+ throw processError(err, fieldPath);
304
321
  }
305
322
  }
306
323
  exports.validateResultFields = validateResultFields;
307
324
  // throws an error if a field is nullish when it should not be
308
325
  function validateResultNullish(value, resolverObject, fieldPath, arrayOptions) {
309
- const isNullAllowed = arrayOptions
310
- ? arrayOptions.allowNullElement
311
- : resolverObject.allowNull;
312
- if ((value === null || value === undefined) && !isNullAllowed) {
313
- throw new classes_1.GiraffeqlResultError({
314
- message: `Null value not allowed` + (arrayOptions ? " for array element" : ""),
315
- fieldPath,
316
- });
326
+ try {
327
+ const isNullAllowed = arrayOptions
328
+ ? arrayOptions.allowNullElement
329
+ : resolverObject.allowNull;
330
+ if ((value === null || value === undefined) && !isNullAllowed) {
331
+ throw new classes_1.GiraffeqlResultError({
332
+ message: `Null value not allowed` + (arrayOptions ? " for array element" : ""),
333
+ });
334
+ }
335
+ }
336
+ catch (err) {
337
+ throw processError(err, fieldPath);
317
338
  }
318
339
  }
319
340
  exports.validateResultNullish = validateResultNullish;
@@ -328,161 +349,167 @@ function generateAnonymousRootResolver(type) {
328
349
  exports.generateAnonymousRootResolver = generateAnonymousRootResolver;
329
350
  function generateGiraffeqlResolverTree({ fieldValue, resolverObject, fieldPath = [], fullTree = false, validateArgs = false, }) {
330
351
  var _a;
331
- let fieldType = resolverObject.type;
332
- // if string, attempt to convert to TypeDefinition
333
- if (fieldType instanceof classes_1.GiraffeqlObjectTypeLookup) {
334
- const typeDefLookup = __1.objectTypeDefs.get(fieldType.name);
335
- if (!typeDefLookup) {
352
+ try {
353
+ let fieldType = resolverObject.type;
354
+ // if string, attempt to convert to TypeDefinition
355
+ if (fieldType instanceof classes_1.GiraffeqlObjectTypeLookup) {
356
+ const typeDefLookup = __1.objectTypeDefs.get(fieldType.name);
357
+ if (!typeDefLookup) {
358
+ throw new classes_1.GiraffeqlQueryError({
359
+ message: `TypeDef '${fieldType.name}' not found`,
360
+ });
361
+ }
362
+ fieldType = typeDefLookup;
363
+ }
364
+ // define the lookupValue
365
+ const lookupValue = (0, __1.getParams)().lookupValue;
366
+ // field must either be lookupValue OR an object
367
+ // check if field is lookupValue
368
+ const isLookupField = fieldValue === lookupValue || fieldValue === __1.lookupSymbol;
369
+ const isLeafNode = !(fieldType instanceof classes_1.GiraffeqlObjectType);
370
+ // field must either be lookupValue OR an object
371
+ if (!isLookupField && !isObject(fieldValue))
336
372
  throw new classes_1.GiraffeqlQueryError({
337
- message: `TypeDef '${fieldType.name}' not found`,
338
- fieldPath: fieldPath,
373
+ message: `Invalid field RHS`,
339
374
  });
375
+ // if leafNode and nested, MUST be only with __args
376
+ if (isLeafNode && isObject(fieldValue)) {
377
+ if (!("__args" in fieldValue) || Object.keys(fieldValue).length !== 1) {
378
+ throw new classes_1.GiraffeqlQueryError({
379
+ message: `Scalar node can only accept __args and no other field`,
380
+ });
381
+ }
340
382
  }
341
- fieldType = typeDefLookup;
342
- }
343
- // define the lookupValue
344
- const lookupValue = (0, __1.getParams)().lookupValue;
345
- // field must either be lookupValue OR an object
346
- // check if field is lookupValue
347
- const isLookupField = fieldValue === lookupValue || fieldValue === __1.lookupSymbol;
348
- const isLeafNode = !(fieldType instanceof classes_1.GiraffeqlObjectType);
349
- // field must either be lookupValue OR an object
350
- if (!isLookupField && !isObject(fieldValue))
351
- throw new classes_1.GiraffeqlQueryError({
352
- message: `Invalid field RHS`,
353
- fieldPath: fieldPath,
354
- });
355
- // if leafNode and nested, MUST be only with __args
356
- if (isLeafNode && isObject(fieldValue)) {
357
- if (!("__args" in fieldValue) || Object.keys(fieldValue).length !== 1) {
383
+ // if not leafNode and isLookupField, deny
384
+ if (!isLeafNode && isLookupField)
358
385
  throw new classes_1.GiraffeqlQueryError({
359
- message: `Scalar node can only accept __args and no other field`,
360
- fieldPath,
386
+ message: `Resolved node must be an object with nested fields`,
387
+ });
388
+ // if field is scalar and args is required, and not object, throw err
389
+ if (isLeafNode &&
390
+ ((_a = resolverObject.args) === null || _a === void 0 ? void 0 : _a.definition.required) &&
391
+ !isObject(fieldValue)) {
392
+ throw new classes_1.GiraffeqlQueryError({
393
+ message: `Args required`,
361
394
  });
362
395
  }
363
- }
364
- // if not leafNode and isLookupField, deny
365
- if (!isLeafNode && isLookupField)
366
- throw new classes_1.GiraffeqlQueryError({
367
- message: `Resolved node must be an object with nested fields`,
368
- fieldPath,
369
- });
370
- // if field is scalar and args is required, and not object, throw err
371
- if (isLeafNode &&
372
- ((_a = resolverObject.args) === null || _a === void 0 ? void 0 : _a.definition.required) &&
373
- !isObject(fieldValue)) {
374
- throw new classes_1.GiraffeqlQueryError({
375
- message: `Args required`,
376
- fieldPath,
377
- });
378
- }
379
- let nestedNodes = null;
380
- // separate args from query
381
- const _b = isObject(fieldValue)
382
- ? fieldValue
383
- : {}, { __args: args = null } = _b, query = __rest(_b, ["__args"]);
384
- if (isObject(fieldValue)) {
385
- // validate args in-place, if any
386
- if (validateArgs) {
387
- validateExternalArgs(fieldValue.__args, resolverObject.args, fieldPath.concat("__args"));
388
- }
389
- if (!isLeafNode && fieldType instanceof classes_1.GiraffeqlObjectType) {
390
- nestedNodes = {};
391
- // iterate over fields
392
- for (const field in fieldValue) {
393
- const parentsPlusCurrentField = fieldPath.concat(field);
394
- if (field === "__args") {
395
- continue;
396
- }
397
- // if field not in TypeDef, reject
398
- if (!(field in fieldType.definition.fields)) {
399
- throw new classes_1.GiraffeqlQueryError({
400
- message: `Unknown field`,
401
- fieldPath: parentsPlusCurrentField,
402
- });
403
- }
404
- // deny hidden fields
405
- if (fieldType.definition.fields[field].hidden) {
406
- throw new classes_1.GiraffeqlQueryError({
407
- message: `Hidden field`,
408
- fieldPath: parentsPlusCurrentField,
409
- });
396
+ let nestedNodes = null;
397
+ // separate args from query
398
+ const _b = isObject(fieldValue)
399
+ ? fieldValue
400
+ : {}, { __args: args = null } = _b, query = __rest(_b, ["__args"]);
401
+ if (isObject(fieldValue)) {
402
+ // validate args in-place, if any
403
+ if (validateArgs) {
404
+ validateExternalArgs(fieldValue.__args, resolverObject.args, fieldPath.concat("__args"));
405
+ }
406
+ if (!isLeafNode && fieldType instanceof classes_1.GiraffeqlObjectType) {
407
+ nestedNodes = {};
408
+ // iterate over fields
409
+ for (const field in fieldValue) {
410
+ const parentsPlusCurrentField = fieldPath.concat(field);
411
+ if (field === "__args") {
412
+ continue;
413
+ }
414
+ // if field not in TypeDef, reject
415
+ if (!(field in fieldType.definition.fields)) {
416
+ throw new classes_1.GiraffeqlQueryError({
417
+ message: `Unknown field`,
418
+ fieldPath: parentsPlusCurrentField,
419
+ });
420
+ }
421
+ // deny hidden fields
422
+ if (fieldType.definition.fields[field].hidden) {
423
+ throw new classes_1.GiraffeqlQueryError({
424
+ message: `Hidden field`,
425
+ fieldPath: parentsPlusCurrentField,
426
+ });
427
+ }
428
+ // only if no resolver do we recursively add to tree
429
+ // if there is a resolver, the sub-tree should be generated in the resolver
430
+ if (fullTree || !resolverObject.resolver)
431
+ nestedNodes[field] = generateGiraffeqlResolverTree({
432
+ fieldValue: fieldValue[field],
433
+ resolverObject: fieldType.definition.fields[field],
434
+ fieldPath: parentsPlusCurrentField,
435
+ fullTree,
436
+ validateArgs,
437
+ });
410
438
  }
411
- // only if no resolver do we recursively add to tree
412
- // if there is a resolver, the sub-tree should be generated in the resolver
413
- if (fullTree || !resolverObject.resolver)
414
- nestedNodes[field] = generateGiraffeqlResolverTree({
415
- fieldValue: fieldValue[field],
416
- resolverObject: fieldType.definition.fields[field],
417
- fieldPath: parentsPlusCurrentField,
418
- fullTree,
419
- validateArgs,
420
- });
421
439
  }
422
440
  }
441
+ return {
442
+ typeDef: resolverObject,
443
+ query,
444
+ args,
445
+ nested: nestedNodes !== null && nestedNodes !== void 0 ? nestedNodes : undefined,
446
+ };
447
+ }
448
+ catch (err) {
449
+ throw processError(err, fieldPath);
423
450
  }
424
- return {
425
- typeDef: resolverObject,
426
- query,
427
- args,
428
- nested: nestedNodes !== null && nestedNodes !== void 0 ? nestedNodes : undefined,
429
- };
430
451
  }
431
452
  exports.generateGiraffeqlResolverTree = generateGiraffeqlResolverTree;
432
453
  // resolves the queries, and attaches them to the obj (if possible)
433
454
  const processGiraffeqlResolverTree = async ({ giraffeqlResultsNode, giraffeqlResolverNode, parentNode, req, data = {}, fieldPath = [], fullTree = false, }) => {
434
- let results;
435
- // if it is a root resolver, fetch the results first.
436
- if ((0, types_1.isRootResolverDefinition)(giraffeqlResolverNode.typeDef)) {
437
- results = await giraffeqlResolverNode.typeDef.resolver({
438
- req,
439
- fieldPath,
440
- args: giraffeqlResolverNode.args,
441
- query: giraffeqlResolverNode.query,
442
- });
443
- // if full tree not required, return here
444
- if (!fullTree)
445
- return results;
446
- }
447
- else {
448
- results = giraffeqlResultsNode;
449
- }
450
- const resolverFn = giraffeqlResolverNode.typeDef.resolver;
451
- const nested = giraffeqlResolverNode.nested;
452
- // if typeDef is RootResolverDefinition, skip resolving (should already be done)
453
- if (resolverFn && !(0, types_1.isRootResolverDefinition)(giraffeqlResolverNode.typeDef)) {
454
- // if defer, skip resolving
455
- if (giraffeqlResolverNode.typeDef.defer) {
456
- return null;
455
+ try {
456
+ let results;
457
+ // if it is a root resolver, fetch the results first.
458
+ if ((0, types_1.isRootResolverDefinition)(giraffeqlResolverNode.typeDef)) {
459
+ results = await giraffeqlResolverNode.typeDef.resolver({
460
+ req,
461
+ fieldPath,
462
+ args: giraffeqlResolverNode.args,
463
+ query: giraffeqlResolverNode.query,
464
+ });
465
+ // if full tree not required, return here
466
+ if (!fullTree)
467
+ return results;
457
468
  }
458
- return resolverFn({
459
- req,
460
- fieldPath,
461
- args: giraffeqlResolverNode.args,
462
- query: giraffeqlResolverNode.query,
463
- fieldValue: results,
464
- parentValue: parentNode,
465
- data,
466
- });
467
- }
468
- else if (nested && isObject(results)) {
469
- // must be nested field.
470
- const tempReturnValue = results;
471
- for (const field in giraffeqlResolverNode.nested) {
472
- const currentFieldPath = fieldPath.concat(field);
473
- tempReturnValue[field] = await (0, exports.processGiraffeqlResolverTree)({
474
- giraffeqlResultsNode: isObject(results) ? results[field] : null,
475
- parentNode: results,
476
- giraffeqlResolverNode: giraffeqlResolverNode.nested[field],
469
+ else {
470
+ results = giraffeqlResultsNode;
471
+ }
472
+ const resolverFn = giraffeqlResolverNode.typeDef.resolver;
473
+ const nested = giraffeqlResolverNode.nested;
474
+ // if typeDef is RootResolverDefinition, skip resolving (should already be done)
475
+ if (resolverFn &&
476
+ !(0, types_1.isRootResolverDefinition)(giraffeqlResolverNode.typeDef)) {
477
+ // if defer, skip resolving
478
+ if (giraffeqlResolverNode.typeDef.defer) {
479
+ return null;
480
+ }
481
+ return resolverFn({
477
482
  req,
483
+ fieldPath,
484
+ args: giraffeqlResolverNode.args,
485
+ query: giraffeqlResolverNode.query,
486
+ fieldValue: results,
487
+ parentValue: parentNode,
478
488
  data,
479
- fieldPath: currentFieldPath,
480
489
  });
481
490
  }
482
- return tempReturnValue;
491
+ else if (nested && isObject(results)) {
492
+ // must be nested field.
493
+ const tempReturnValue = results;
494
+ for (const field in giraffeqlResolverNode.nested) {
495
+ const currentFieldPath = fieldPath.concat(field);
496
+ tempReturnValue[field] = await (0, exports.processGiraffeqlResolverTree)({
497
+ giraffeqlResultsNode: isObject(results) ? results[field] : null,
498
+ parentNode: results,
499
+ giraffeqlResolverNode: giraffeqlResolverNode.nested[field],
500
+ req,
501
+ data,
502
+ fieldPath: currentFieldPath,
503
+ });
504
+ }
505
+ return tempReturnValue;
506
+ }
507
+ else {
508
+ return results;
509
+ }
483
510
  }
484
- else {
485
- return results;
511
+ catch (err) {
512
+ throw processError(err, fieldPath);
486
513
  }
487
514
  };
488
515
  exports.processGiraffeqlResolverTree = processGiraffeqlResolverTree;
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/helpers/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/helpers/base.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,9 @@ function generateNormalResponse(data) {
11
11
  }
12
12
  exports.generateNormalResponse = generateNormalResponse;
13
13
  function generateGiraffeqlResponse(data, error) {
14
+ var _a;
14
15
  return Object.assign({ data: data }, (error && {
15
- error: Object.assign({ message: error.message, type: error.name, fieldPath: error.fieldPath }, ((0, __1.getParams)().debug && { stack: error.stack })),
16
+ error: Object.assign({ message: error.message, type: error.name, fieldPath: (_a = error.fieldPath) !== null && _a !== void 0 ? _a : null }, ((0, __1.getParams)().debug && { stack: error.stack })),
16
17
  }));
17
18
  }
18
19
  //# sourceMappingURL=response.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/helpers/response.ts"],"names":[],"mappings":";;;AACA,0BAA+B;AAG/B,SAAgB,qBAAqB,CACnC,KAAyB;IAEzB,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAJD,sDAIC;AAED,SAAgB,sBAAsB,CAAC,IAAS;IAC9C,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAFD,wDAEC;AAED,SAAS,yBAAyB,CAChC,IAAS,EACT,KAA0B;IAE1B,uBACE,IAAI,EAAE,IAAI,IACP,CAAC,KAAK,IAAI;QACX,KAAK,kBACH,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,SAAS,EAAE,KAAK,CAAC,SAAS,IACvB,CAAC,IAAA,aAAS,GAAE,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CACjD;KACF,CAAC,EACF;AACJ,CAAC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/helpers/response.ts"],"names":[],"mappings":";;;AACA,0BAA+B;AAG/B,SAAgB,qBAAqB,CACnC,KAAyB;IAEzB,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAJD,sDAIC;AAED,SAAgB,sBAAsB,CAAC,IAAS;IAC9C,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAFD,wDAEC;AAED,SAAS,yBAAyB,CAChC,IAAS,EACT,KAA0B;;IAE1B,uBACE,IAAI,EAAE,IAAI,IACP,CAAC,KAAK,IAAI;QACX,KAAK,kBACH,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,SAAS,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,IAAI,IAC/B,CAAC,IAAA,aAAS,GAAE,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CACjD;KACF,CAAC,EACF;AACJ,CAAC"}
@@ -2,5 +2,5 @@ import { Request, Response } from "express";
2
2
  import type { RootResolverDefinition } from "../types";
3
3
  export declare function createRestRequestHandler(rootResolverObject: RootResolverDefinition, operationName: string): (req: Request, res: Response) => Promise<void>;
4
4
  export declare function createGiraffeqlRequestHandler(): (req: Request, res: Response) => Promise<void>;
5
- export declare function sendErrorResponse(err: Error, res: Response): Response<any, Record<string, any>>;
5
+ export declare function sendErrorResponse(err: unknown, res: Response): Response<any, Record<string, any>>;
6
6
  export declare function sendSuccessResponse(results: any, res: Response): void;
@@ -54,9 +54,7 @@ function createRestRequestHandler(rootResolverObject, operationName) {
54
54
  sendSuccessResponse(validatedResults, res);
55
55
  }
56
56
  catch (err) {
57
- sendErrorResponse(err instanceof Error
58
- ? err
59
- : new Error("An unspecified error has occurred"), res);
57
+ sendErrorResponse(err, res);
60
58
  }
61
59
  };
62
60
  }
@@ -68,7 +66,6 @@ function createGiraffeqlRequestHandler() {
68
66
  if (!(0, base_1.isObject)(req.body)) {
69
67
  throw new classes_1.GiraffeqlQueryError({
70
68
  message: `Request body must be object`,
71
- fieldPath: [],
72
69
  });
73
70
  }
74
71
  // req must be an object at this point
@@ -76,7 +73,6 @@ function createGiraffeqlRequestHandler() {
76
73
  if (requestedOperations.length !== 1)
77
74
  throw new classes_1.GiraffeqlQueryError({
78
75
  message: `Exactly 1 root query required`,
79
- fieldPath: [],
80
76
  });
81
77
  const operation = requestedOperations[0];
82
78
  const query = req.body[operation];
@@ -85,7 +81,6 @@ function createGiraffeqlRequestHandler() {
85
81
  if (!rootResolver) {
86
82
  throw new classes_1.GiraffeqlQueryError({
87
83
  message: `Unrecognized giraffeql root query '${operation}'`,
88
- fieldPath: [],
89
84
  });
90
85
  }
91
86
  // validate query in-place
@@ -108,25 +103,16 @@ function createGiraffeqlRequestHandler() {
108
103
  sendSuccessResponse(validatedResults, res);
109
104
  }
110
105
  catch (err) {
111
- sendErrorResponse(err instanceof Error
112
- ? err
113
- : new Error("An unspecified error has occurred"), res);
106
+ sendErrorResponse(err, res);
114
107
  }
115
108
  };
116
109
  }
117
110
  exports.createGiraffeqlRequestHandler = createGiraffeqlRequestHandler;
118
111
  function sendErrorResponse(err, res) {
112
+ const validatedError = (0, base_1.processError)(err);
119
113
  if ((0, __1.getParams)().debug) {
120
114
  console.log(err);
121
115
  }
122
- // if not a GiraffeqlError, wrap it
123
- const validatedError = err instanceof classes_1.GiraffeqlBaseError
124
- ? err
125
- : new classes_1.GiraffeqlBaseError({
126
- errorName: "GiraffeqlGenericError",
127
- message: err.message,
128
- fieldPath: [],
129
- });
130
116
  const errorResponseObject = (0, response_1.generateErrorResponse)(validatedError);
131
117
  return res.status(validatedError.statusCode).send(errorResponseObject);
132
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/helpers/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/helpers/router.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export interface GiraffeqlResponse {
17
17
  export interface GiraffeqlError {
18
18
  message: string;
19
19
  type: string;
20
- fieldPath?: string[];
20
+ fieldPath?: string[] | null;
21
21
  stack?: string;
22
22
  }
23
23
  export interface Params {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giraffeql",
3
- "version": "2.0.9",
3
+ "version": "2.0.12",
4
4
  "description": "Methods and APIs for querying backends using JSON",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",