var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.js var src_exports = {}; __export(src_exports, { Errorf: () => Errorf, format: () => format }); module.exports = __toCommonJS(src_exports); // src/utils/is-class.js function isClass(value) { if (!value) return false; return typeof value === "function" && /^class\s/.test(Function.prototype.toString.call(value)); } // src/value-to-string.js var BASE_CTOR_NAMES = [ "String", "Number", "Boolean", "Object", "Array", "Function", "Symbol", "Map", "Set", "Date" ]; function valueToString(input) { if (input == null) return String(input); if (typeof input === "string") return `"${input}"`; if (typeof input === "number" || typeof input === "boolean") return String(input); if (isClass(input)) return input.name ? input.name : "Class"; if (input.constructor && input.constructor.name) return BASE_CTOR_NAMES.includes(input.constructor.name) ? input.constructor.name : `${input.constructor.name} (instance)`; if (typeof input === "object" && input.constructor == null) return "Object"; return String(input); } // src/array-to-list.js var SEPARATOR = ", "; function arrayToList(input) { if (Array.isArray(input) && input.length) return input.map(valueToString).join(SEPARATOR); return valueToString(input); } // src/format.js function format(pattern) { if (pattern instanceof Date) { pattern = pattern.toISOString(); } else if (typeof pattern !== "string") { pattern = String(pattern); } const re = /(%?)(%([sdjvl]))/g; const args = Array.prototype.slice.call(arguments, 1); if (args.length) { pattern = pattern.replace(re, function(match, escaped, ptn, flag) { let arg = args.shift(); switch (flag) { case "s": arg = String(arg); break; case "d": arg = Number(arg); break; case "j": arg = JSON.stringify(arg); break; case "v": arg = valueToString(arg); break; case "l": arg = arrayToList(arg); break; } if (!escaped) return arg; args.unshift(arg); return match; }); } if (args.length) pattern += " " + args.join(" "); pattern = pattern.replace(/%{2}/g, "%"); return "" + pattern; } // src/errorf.js var Errorf = class extends Error { /** * Constructor. * * @param {string|undefined} pattern * @param {any} args */ constructor(pattern = void 0, ...args) { const message = pattern != null ? format(pattern, ...args) : void 0; super(message); } }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { Errorf, format });