UNPKG

@nwebui/react-niagara-px

Version:
37 lines 1.3 kB
import * as baja from "@nwebui/bajascript"; import Converter from "./Converter"; export default class ObjectToString extends Converter { constructor(nativeConverter) { super(nativeConverter); } convert(widget, target) { if (!target.isComplex()) { console.warn("ObjectToString for non complex not implemented"); return; } const converter = this.nativeConverter; const name = converter.name(); const bformat = converter.get("format"); const format = bformat.toString().match(/%(.*)%/)[1]; let complex = target; let str; if (!format || format === ".") { str = target.display(); } else { const names = format.split("."); for (let i = 0; i < names.length - 1; i++) { complex = complex.get(names[i]); } str = complex.display(names[names.length - 1]); } const fmtVal = bformat.toString().replace(/%.*%/, str); setString(widget, name, fmtVal); } } function setString(widget, name, value) { if (widget.get(name)) { widget.set(name, new baja.BString().decodeFromString(value)); } } //# sourceMappingURL=ObjectToString.js.map