Spaces:
Running
Running
; | |
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.ts | |
var src_exports = {}; | |
__export(src_exports, { | |
InvariantError: () => InvariantError, | |
format: () => format, | |
invariant: () => invariant | |
}); | |
module.exports = __toCommonJS(src_exports); | |
// src/format.ts | |
var POSITIONALS_EXP = /(%?)(%([sdijo]))/g; | |
function serializePositional(positional, flag) { | |
switch (flag) { | |
case "s": | |
return positional; | |
case "d": | |
case "i": | |
return Number(positional); | |
case "j": | |
return JSON.stringify(positional); | |
case "o": { | |
if (typeof positional === "string") { | |
return positional; | |
} | |
const json = JSON.stringify(positional); | |
if (json === "{}" || json === "[]" || /^\[object .+?\]$/.test(json)) { | |
return positional; | |
} | |
return json; | |
} | |
} | |
} | |
function format(message, ...positionals) { | |
if (positionals.length === 0) { | |
return message; | |
} | |
let positionalIndex = 0; | |
let formattedMessage = message.replace( | |
POSITIONALS_EXP, | |
(match, isEscaped, _, flag) => { | |
const positional = positionals[positionalIndex]; | |
const value = serializePositional(positional, flag); | |
if (!isEscaped) { | |
positionalIndex++; | |
return value; | |
} | |
return match; | |
} | |
); | |
if (positionalIndex < positionals.length) { | |
formattedMessage += ` ${positionals.slice(positionalIndex).join(" ")}`; | |
} | |
formattedMessage = formattedMessage.replace(/%{2,2}/g, "%"); | |
return formattedMessage; | |
} | |
// src/invariant.ts | |
var STACK_FRAMES_TO_IGNORE = 2; | |
function cleanErrorStack(error) { | |
if (!error.stack) { | |
return; | |
} | |
const nextStack = error.stack.split("\n"); | |
nextStack.splice(1, STACK_FRAMES_TO_IGNORE); | |
error.stack = nextStack.join("\n"); | |
} | |
var InvariantError = class extends Error { | |
constructor(message, ...positionals) { | |
super(message); | |
this.message = message; | |
this.name = "Invariant Violation"; | |
this.message = format(message, ...positionals); | |
cleanErrorStack(this); | |
} | |
}; | |
var invariant = (predicate, message, ...positionals) => { | |
if (!predicate) { | |
throw new InvariantError(message, ...positionals); | |
} | |
}; | |
invariant.as = (ErrorConstructor, predicate, message, ...positionals) => { | |
if (!predicate) { | |
const formatMessage = positionals.length === 0 ? message : format(message, ...positionals); | |
let error; | |
try { | |
error = Reflect.construct(ErrorConstructor, [ | |
formatMessage | |
]); | |
} catch (err) { | |
error = ErrorConstructor(formatMessage); | |
} | |
throw error; | |
} | |
}; | |
// Annotate the CommonJS export names for ESM import in node: | |
0 && (module.exports = { | |
InvariantError, | |
format, | |
invariant | |
}); | |
//# sourceMappingURL=index.js.map |