UNPKG

@aws-amplify/graphql-api-construct

Version:

AppSync GraphQL Api Construct using Amplify GraphQL Transformer.

31 lines (30 loc) 1.03 kB
export class ServiceException extends Error { constructor(options) { super(options.message); Object.setPrototypeOf(this, ServiceException.prototype); this.name = options.name; this.$fault = options.$fault; this.$metadata = options.$metadata; } static isInstance(value) { if (!value) return false; const candidate = value; return (Boolean(candidate.$fault) && Boolean(candidate.$metadata) && (candidate.$fault === "client" || candidate.$fault === "server")); } } export const decorateServiceException = (exception, additions = {}) => { Object.entries(additions) .filter(([, v]) => v !== undefined) .forEach(([k, v]) => { if (exception[k] == undefined || exception[k] === "") { exception[k] = v; } }); const message = exception.message || exception.Message || "UnknownError"; exception.message = message; delete exception.Message; return exception; };