2023-07-12 17:40:41 +00:00
|
|
|
import * as tools from './tools/index.js';
|
2022-03-07 14:28:32 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* a smartobject that simplifies accessing objects
|
|
|
|
*/
|
|
|
|
export class SmartObject {
|
|
|
|
// instance
|
|
|
|
public originalObject: object;
|
|
|
|
constructor(originalObjectArg: object) {
|
|
|
|
this.originalObject = originalObjectArg;
|
|
|
|
}
|
|
|
|
|
|
|
|
public getValueAtFlatPathString(pathArg: string) {
|
|
|
|
return tools.smartGet(this.originalObject, pathArg);
|
|
|
|
}
|
|
|
|
|
|
|
|
public addValueAtFlatPathString(pathArg: string, valueArg: any) {
|
|
|
|
return tools.smartAdd(this.originalObject, pathArg, valueArg);
|
|
|
|
}
|
|
|
|
|
|
|
|
public toFlatObject() {
|
|
|
|
return tools.toFlatObject(this.originalObject);
|
|
|
|
}
|
2023-07-12 17:40:41 +00:00
|
|
|
}
|