@envelop/core 1.6.6 → 1.7.1
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/index.js +17 -8
- package/index.mjs +17 -8
- package/package.json +1 -1
- package/plugins/use-masked-errors.d.ts +8 -1
package/index.js
CHANGED
|
@@ -1127,29 +1127,38 @@ class EnvelopError extends graphql.GraphQLError {
|
|
|
1127
1127
|
super(message, undefined, undefined, undefined, undefined, undefined, extensions);
|
|
1128
1128
|
}
|
|
1129
1129
|
}
|
|
1130
|
-
const formatError = (err, message) => {
|
|
1130
|
+
const formatError = (err, message, isDev) => {
|
|
1131
1131
|
if (err instanceof graphql.GraphQLError) {
|
|
1132
1132
|
if (err.originalError && err.originalError instanceof EnvelopError === false) {
|
|
1133
|
-
return new graphql.GraphQLError(message, err.nodes, err.source, err.positions, err.path, undefined
|
|
1133
|
+
return new graphql.GraphQLError(message, err.nodes, err.source, err.positions, err.path, undefined, isDev
|
|
1134
|
+
? {
|
|
1135
|
+
originalError: {
|
|
1136
|
+
message: err.originalError.message,
|
|
1137
|
+
stack: err.originalError.stack,
|
|
1138
|
+
},
|
|
1139
|
+
}
|
|
1140
|
+
: undefined);
|
|
1134
1141
|
}
|
|
1135
1142
|
return err;
|
|
1136
1143
|
}
|
|
1137
1144
|
return new graphql.GraphQLError(message);
|
|
1138
1145
|
};
|
|
1139
|
-
const makeHandleResult$2 = (format, message) => ({ result, setResult }) => {
|
|
1146
|
+
const makeHandleResult$2 = (format, message, isDev) => ({ result, setResult }) => {
|
|
1140
1147
|
if (result.errors != null) {
|
|
1141
|
-
setResult({ ...result, errors: result.errors.map(error => format(error, message)) });
|
|
1148
|
+
setResult({ ...result, errors: result.errors.map(error => format(error, message, isDev)) });
|
|
1142
1149
|
}
|
|
1143
1150
|
};
|
|
1144
1151
|
const useMaskedErrors = (opts) => {
|
|
1145
|
-
var _a;
|
|
1152
|
+
var _a, _b;
|
|
1146
1153
|
const format = (_a = opts === null || opts === void 0 ? void 0 : opts.formatError) !== null && _a !== void 0 ? _a : formatError;
|
|
1147
1154
|
const message = (opts === null || opts === void 0 ? void 0 : opts.errorMessage) || DEFAULT_ERROR_MESSAGE;
|
|
1148
|
-
|
|
1155
|
+
// eslint-disable-next-line dot-notation
|
|
1156
|
+
const isDev = (_b = opts === null || opts === void 0 ? void 0 : opts.isDev) !== null && _b !== void 0 ? _b : (typeof process !== 'undefined' ? process.env['NODE_ENV'] === 'development' : false);
|
|
1157
|
+
const handleResult = makeHandleResult$2(format, message, isDev);
|
|
1149
1158
|
return {
|
|
1150
1159
|
onPluginInit(context) {
|
|
1151
1160
|
context.registerContextErrorHandler(({ error, setError }) => {
|
|
1152
|
-
setError(formatError(error, message));
|
|
1161
|
+
setError(formatError(error, message, isDev));
|
|
1153
1162
|
});
|
|
1154
1163
|
},
|
|
1155
1164
|
onExecute() {
|
|
@@ -1165,7 +1174,7 @@ const useMaskedErrors = (opts) => {
|
|
|
1165
1174
|
return handleStreamOrSingleExecutionResult(payload, handleResult);
|
|
1166
1175
|
},
|
|
1167
1176
|
onSubscribeError({ error, setError }) {
|
|
1168
|
-
setError(formatError(error, message));
|
|
1177
|
+
setError(formatError(error, message, isDev));
|
|
1169
1178
|
},
|
|
1170
1179
|
};
|
|
1171
1180
|
},
|
package/index.mjs
CHANGED
|
@@ -1123,29 +1123,38 @@ class EnvelopError extends GraphQLError {
|
|
|
1123
1123
|
super(message, undefined, undefined, undefined, undefined, undefined, extensions);
|
|
1124
1124
|
}
|
|
1125
1125
|
}
|
|
1126
|
-
const formatError = (err, message) => {
|
|
1126
|
+
const formatError = (err, message, isDev) => {
|
|
1127
1127
|
if (err instanceof GraphQLError) {
|
|
1128
1128
|
if (err.originalError && err.originalError instanceof EnvelopError === false) {
|
|
1129
|
-
return new GraphQLError(message, err.nodes, err.source, err.positions, err.path, undefined
|
|
1129
|
+
return new GraphQLError(message, err.nodes, err.source, err.positions, err.path, undefined, isDev
|
|
1130
|
+
? {
|
|
1131
|
+
originalError: {
|
|
1132
|
+
message: err.originalError.message,
|
|
1133
|
+
stack: err.originalError.stack,
|
|
1134
|
+
},
|
|
1135
|
+
}
|
|
1136
|
+
: undefined);
|
|
1130
1137
|
}
|
|
1131
1138
|
return err;
|
|
1132
1139
|
}
|
|
1133
1140
|
return new GraphQLError(message);
|
|
1134
1141
|
};
|
|
1135
|
-
const makeHandleResult$2 = (format, message) => ({ result, setResult }) => {
|
|
1142
|
+
const makeHandleResult$2 = (format, message, isDev) => ({ result, setResult }) => {
|
|
1136
1143
|
if (result.errors != null) {
|
|
1137
|
-
setResult({ ...result, errors: result.errors.map(error => format(error, message)) });
|
|
1144
|
+
setResult({ ...result, errors: result.errors.map(error => format(error, message, isDev)) });
|
|
1138
1145
|
}
|
|
1139
1146
|
};
|
|
1140
1147
|
const useMaskedErrors = (opts) => {
|
|
1141
|
-
var _a;
|
|
1148
|
+
var _a, _b;
|
|
1142
1149
|
const format = (_a = opts === null || opts === void 0 ? void 0 : opts.formatError) !== null && _a !== void 0 ? _a : formatError;
|
|
1143
1150
|
const message = (opts === null || opts === void 0 ? void 0 : opts.errorMessage) || DEFAULT_ERROR_MESSAGE;
|
|
1144
|
-
|
|
1151
|
+
// eslint-disable-next-line dot-notation
|
|
1152
|
+
const isDev = (_b = opts === null || opts === void 0 ? void 0 : opts.isDev) !== null && _b !== void 0 ? _b : (typeof process !== 'undefined' ? process.env['NODE_ENV'] === 'development' : false);
|
|
1153
|
+
const handleResult = makeHandleResult$2(format, message, isDev);
|
|
1145
1154
|
return {
|
|
1146
1155
|
onPluginInit(context) {
|
|
1147
1156
|
context.registerContextErrorHandler(({ error, setError }) => {
|
|
1148
|
-
setError(formatError(error, message));
|
|
1157
|
+
setError(formatError(error, message, isDev));
|
|
1149
1158
|
});
|
|
1150
1159
|
},
|
|
1151
1160
|
onExecute() {
|
|
@@ -1161,7 +1170,7 @@ const useMaskedErrors = (opts) => {
|
|
|
1161
1170
|
return handleStreamOrSingleExecutionResult(payload, handleResult);
|
|
1162
1171
|
},
|
|
1163
1172
|
onSubscribeError({ error, setError }) {
|
|
1164
|
-
setError(formatError(error, message));
|
|
1173
|
+
setError(formatError(error, message, isDev));
|
|
1165
1174
|
},
|
|
1166
1175
|
};
|
|
1167
1176
|
},
|
package/package.json
CHANGED
|
@@ -4,10 +4,17 @@ export declare const DEFAULT_ERROR_MESSAGE = "Unexpected error.";
|
|
|
4
4
|
export declare class EnvelopError extends GraphQLError {
|
|
5
5
|
constructor(message: string, extensions?: Record<string, any>);
|
|
6
6
|
}
|
|
7
|
-
export declare type FormatErrorHandler = (error: GraphQLError | unknown, message: string) => GraphQLError;
|
|
7
|
+
export declare type FormatErrorHandler = (error: GraphQLError | unknown, message: string, isDev: boolean) => GraphQLError;
|
|
8
8
|
export declare const formatError: FormatErrorHandler;
|
|
9
9
|
export declare type UseMaskedErrorsOpts = {
|
|
10
|
+
/** The function used for format/identify errors. */
|
|
10
11
|
formatError?: FormatErrorHandler;
|
|
12
|
+
/** The error message that shall be used for masked errors. */
|
|
11
13
|
errorMessage?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Additional information that is forwarded to the `formatError` function.
|
|
16
|
+
* The default value is `process.env['NODE_ENV'] === 'development'`
|
|
17
|
+
*/
|
|
18
|
+
isDev?: boolean;
|
|
12
19
|
};
|
|
13
20
|
export declare const useMaskedErrors: (opts?: UseMaskedErrorsOpts | undefined) => Plugin;
|