"use strict"; const omitKeys = require("./omit-keys"); const reservedProperties = require("../reserved-properties"); const getChain = require("../get-chain"); let Context = Symbol("Context"); module.exports = function getContext(error) { if (error[Context] != null) { return error[Context]; } else { let contexts = getChain(error) .reverse() .map((item) => omitKeys(item, reservedProperties)); let combinedContext = Object.assign({}, ... contexts); error[Context] = combinedContext; return combinedContext; } };