@gmetrixr/rjson
Version:
(R)ecursive Json
25 lines (24 loc) • 1.22 kB
TypeScript
import * as R from "./R";
import { RecordNode, ROM, RecordMap, RT, RTP, rtp, createRecord, emptyROM } from "./R";
import { RecordUtils } from "./R/RecordFactory";
import { ElementUtils } from "./recordFactories/ElementFactory";
import { ProjectUtils } from "./recordFactories/ProjectFactory";
import * as RF from "./recordFactories";
import { en, sn, vn, rn, pn, fn, CogObjectType } from "./definitions";
/**
* Use r.record(json) for all RecordNode type objects, except the below ones
* For project, scene, rule and element only there are overridden factories
*/
declare const r: {
record: <T extends R.RT>(json: R.RecordNode<T>) => R.RecordFactory<T>;
project: (json: RecordNode<RT.project>) => RF.ProjectFactory;
scene: (json: RecordNode<RT.scene>) => RF.SceneFactory;
element: (json: RecordNode<RT.element>) => RF.ElementFactory;
};
declare const rUtils: {
ElementUtils: typeof ElementUtils;
ProjectUtils: typeof ProjectUtils;
RecordUtils: typeof RecordUtils;
};
declare const getFactory: (rJson: RecordNode<RT>) => R.RecordFactory<RT>;
export { R, r, RF, rUtils, RecordNode, ROM, RecordMap, RT, RTP, rtp, createRecord, emptyROM, getFactory, en, sn, vn, rn, pn, fn, CogObjectType };