UNPKG

@slightning/anything-to-string

Version:
68 lines (67 loc) 2.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MaximumBasicStringRule = exports.MajorBasicStringRule = exports.LesserBasicStringRule = exports.MinimumBasicStringRule = void 0; const object_1 = require("./object"); function isBasicString(data) { return typeof data == "string"; } function excludeChar(data, key) { if (typeof key == "string") { key = parseInt(key); } if (!Number.isInteger(key)) { return false; } return typeof key == "number" && 0 <= key && key < data.length; } class MinimumBasicStringRule { constructor() { this.test = isBasicString; } toString(data, __config, __context) { return JSON.stringify(data); } } exports.MinimumBasicStringRule = MinimumBasicStringRule; class LesserBasicStringRule { constructor() { this.test = isBasicString; } toString(data, __config, __context) { return JSON.stringify(data); } } exports.LesserBasicStringRule = LesserBasicStringRule; class MajorBasicStringRule { constructor() { this.test = isBasicString; } toString(data, __config, __context) { return `[string: ${JSON.stringify(data)}]`; } } exports.MajorBasicStringRule = MajorBasicStringRule; class MaximumBasicStringRule { constructor() { this.test = isBasicString; } prepare(data, config, context) { new object_1.MaximumObjectRule({ defaultConfig: { exclude(key) { return excludeChar(data, key); } } }).prepare(data, config, context); } toString(data, config, context) { return `[string: ${JSON.stringify(data)}] ${new object_1.MaximumObjectRule({ defaultConfig: { exclude(key) { return excludeChar(data, key); } } }).toString(data, config, context)}`; } } exports.MaximumBasicStringRule = MaximumBasicStringRule;