"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeArgs = exports.normalizeOptions = void 0; const isomorphic_node_1 = require("./isomorphic.node"); /** * Normalizes Ono options, accounting for defaults and optional options. */ function normalizeOptions(options) { options = options || {}; return { concatMessages: options.concatMessages === undefined ? true : Boolean(options.concatMessages), format: options.format === undefined ? isomorphic_node_1.format : (typeof options.format === "function" ? options.format : false), }; } exports.normalizeOptions = normalizeOptions; /** * Normalizes the Ono arguments, accounting for defaults, options, and optional arguments. */ function normalizeArgs(args, options) { let originalError; let props; let formatArgs; let message = ""; // Determine which arguments were actually specified if (typeof args[0] === "string") { formatArgs = args; } else if (typeof args[1] === "string") { if (args[0] instanceof Error) { originalError = args[0]; } else { props = args[0]; } formatArgs = args.slice(1); } else { originalError = args[0]; props = args[1]; formatArgs = args.slice(2); } // If there are any format arguments, then format the error message if (formatArgs.length > 0) { if (options.format) { message = options.format.apply(undefined, formatArgs); } else { message = formatArgs.join(" "); } } if (options.concatMessages && originalError && originalError.message) { // The inner-error's message will be added to the new message message += (message ? " \n" : "") + originalError.message; } return { originalError, props, message }; } exports.normalizeArgs = normalizeArgs; //# sourceMappingURL=normalize.js.map