@slightning/anything-to-string
Version:
Converts anything to a string.
42 lines (41 loc) • 1.17 kB
JavaScript
import { MaximumObjectRule } from "./object";
function isError(data) {
return typeof Error != "undefined" && data instanceof Error;
}
export class MinimumErrorRule {
constructor() {
this.test = isError;
}
toString(data, __config, __context) {
return `[${data.name}]`;
}
}
export class LesserErrorRule {
constructor() {
this.test = isError;
}
toString(data, __config, __context) {
return Error.prototype.toString.call(data);
}
}
export class MajorErrorRule {
constructor() {
this.test = isError;
}
toString(data, __config, __context) {
var _a;
return (_a = data.stack) !== null && _a !== void 0 ? _a : Error.prototype.toString.call(data);
}
}
export class MaximumErrorRule {
constructor() {
this.test = isError;
}
prepare(data, config, context) {
new MaximumObjectRule().prepare(data, config, context);
}
toString(data, config, context) {
var _a;
return `${(_a = data.stack) !== null && _a !== void 0 ? _a : Error.prototype.toString.call(data)}${new MaximumObjectRule().toString(data, config, context)}`;
}
}