UNPKG

@slightning/anything-to-string

Version:
88 lines (87 loc) 3.43 kB
"use strict"; 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;