@slightning/anything-to-string
Version:
Converts anything to a string.
88 lines (87 loc) • 3.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MaximumSetRule = exports.MajorSetRule = exports.LesserSetRule = exports.MinimumSetRule = void 0;
const utils_1 = require("../utils");
const anything_1 = require("./anything");
const object_1 = require("./object");
function isSet(data) {
return typeof Set != "undefined" && data instanceof Set;
}
class MinimumSetRule {
constructor() {
this.test = isSet;
}
toString(data, __config, __context) {
return `Set(${data.size})`;
}
}
exports.MinimumSetRule = MinimumSetRule;
class LesserSetRule {
constructor() {
this.test = isSet;
}
prepare(data, config, context) {
new object_1.LesserObjectRule().prepare(data, config, context);
for (const value of data.values()) {
new anything_1.AnythingRule().prepare(value, config, context);
}
}
toString(data, config, context) {
return new object_1.LesserObjectRule({
specialValue: {
"[[Values]]": data.size == 0 ? "None" : Array.from(data).map((value) => {
return `${new anything_1.AnythingRule().toString(value, config, context)}`
.split("\n")
.join(`\n${(0, utils_1.getIndentString)(config)}`);
}).map((line, index) => `\n${(0, utils_1.getIndentString)(config)}${index}: ${line}`).join("")
}
}).toString(data, config, context);
}
}
exports.LesserSetRule = LesserSetRule;
class MajorSetRule {
constructor() {
this.test = isSet;
}
prepare(data, config, context) {
new object_1.MajorObjectRule().prepare(data, config, context);
for (const value of data.values()) {
new anything_1.AnythingRule().prepare(value, config, context);
}
}
toString(data, config, context) {
return new object_1.MajorObjectRule({
specialValue: {
"[[Values]]": data.size == 0 ? "None" : Array.from(data).map((value) => {
return `${new anything_1.AnythingRule().toString(value, config, context)}`
.split("\n")
.join(`\n${(0, utils_1.getIndentString)(config)}`);
}).map((line, index) => `\n${(0, utils_1.getIndentString)(config)}${index}: ${line}`).join("")
}
}).toString(data, config, context);
}
}
exports.MajorSetRule = MajorSetRule;
class MaximumSetRule {
constructor() {
this.test = isSet;
}
prepare(data, config, context) {
new object_1.MaximumObjectRule().prepare(data, config, context);
for (const value of data.values()) {
new anything_1.AnythingRule().prepare(value, config, context);
}
}
toString(data, config, context) {
return new object_1.MaximumObjectRule({
specialValue: {
"[[Values]]": data.size == 0 ? "None" : Array.from(data).map((value) => {
return `${new anything_1.AnythingRule().toString(value, config, context)}`
.split("\n")
.join(`\n${(0, utils_1.getIndentString)(config)}`);
}).map((line, index) => `\n${(0, utils_1.getIndentString)(config)}${index}: ${line}`).join("")
}
}).toString(data, config, context);
}
}
exports.MaximumSetRule = MaximumSetRule;