UNPKG

@slightning/anything-to-string

Version:
81 lines (80 loc) 2.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MaximumWeakRefRule = exports.MajorWeakRefRule = exports.LesserWeakRefRule = exports.MinimumWeakRefRule = void 0; const anything_1 = require("./anything"); const object_1 = require("./object"); function isWeakRef(data) { return typeof WeakRef != "undefined" && data instanceof WeakRef; } class MinimumWeakRefRule { constructor() { this.test = isWeakRef; } toString(__data, __config, __context) { return "[WeakRef]"; } } exports.MinimumWeakRefRule = MinimumWeakRefRule; class LesserWeakRefRule { constructor() { this.test = isWeakRef; } prepare(data, config, context) { new object_1.LesserObjectRule().prepare(data, config, context); const value = data.deref(); if (value != undefined) { new anything_1.AnythingRule().prepare(value, config, context); } } toString(data, config, context) { const value = data.deref(); return new object_1.LesserObjectRule({ specialValue: { "[[WeakRefTarget]]": value == undefined ? "None" : `${new anything_1.AnythingRule().toString(value, config, context)}` } }).toString(data, config, context); } } exports.LesserWeakRefRule = LesserWeakRefRule; class MajorWeakRefRule { constructor() { this.test = isWeakRef; } prepare(data, config, context) { new object_1.MajorObjectRule().prepare(data, config, context); const value = data.deref(); if (value != undefined) { new anything_1.AnythingRule().prepare(value, config, context); } } toString(data, config, context) { const value = data.deref(); return new object_1.MajorObjectRule({ specialValue: { "[[WeakRefTarget]]": value == undefined ? "None" : `${new anything_1.AnythingRule().toString(value, config, context)}` } }).toString(data, config, context); } } exports.MajorWeakRefRule = MajorWeakRefRule; class MaximumWeakRefRule { constructor() { this.test = isWeakRef; } prepare(data, config, context) { new object_1.MaximumObjectRule().prepare(data, config, context); const value = data.deref(); if (value != undefined) { new anything_1.AnythingRule().prepare(value, config, context); } } toString(data, config, context) { const value = data.deref(); return new object_1.MaximumObjectRule({ specialValue: { "[[WeakRefTarget]]": value == undefined ? "None" : `${new anything_1.AnythingRule().toString(value, config, context)}` } }).toString(data, config, context); } } exports.MaximumWeakRefRule = MaximumWeakRefRule;