From f29b632bd280f05c94dafa7067a271a6eee73bbb Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Mon, 5 Oct 2020 11:22:16 +0000 Subject: [PATCH] BREAKING CHANGE(core): update --- ts/index.ts | 46 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/ts/index.ts b/ts/index.ts index 58f7359..66a6966 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -1,20 +1,22 @@ import * as plugins from './smartjson.plugins'; -export class Smartjson { - // ====== - // STATIC - // ====== - /** - * allows you to parse a json - */ - public static parse = plugins.bufferJson.parse; +/** + * allows you to parse a json + */ +export const parse = plugins.bufferJson.parse; - public static stringify = (objArg: any, optionsArg: plugins.IStableJsonTypes['Options']) => { - const bufferedJson = plugins.bufferJson.stringify(objArg); - objArg = JSON.parse(bufferedJson); - return plugins.stableJson(objArg, optionsArg); - } - +/** + * + * @param objArg + * @param optionsArg + */ +export const stringify = (objArg: any, optionsArg: plugins.IStableJsonTypes['Options'] = {}) => { + const bufferedJson = plugins.bufferJson.stringify(objArg); + objArg = JSON.parse(bufferedJson); + return plugins.stableJson(objArg, optionsArg); +}; + +export class Smartjson { /** * enfolds data from an object */ @@ -28,6 +30,14 @@ export class Smartjson { return newInstance; } + /** + * enfold from json + */ + public static enfoldFromJson(jsonArg: string) { + const objectFromJson = parse(jsonArg); + return this.enfoldFromObject(objectFromJson); + } + // ======== // INSTANCE // ======== @@ -44,6 +54,14 @@ export class Smartjson { } return newFoldedObject; } + + /** + * folds a class into an object + */ + public foldToJson() { + const foldedObject = this.foldToObject(); + return stringify(foldedObject, {}); + } } /**