@nwebui/react-niagara-px
Version:
React Niagara Px View
37 lines • 1.3 kB
JavaScript
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