UNPKG

@gmetrixr/rjson

Version:
29 lines (28 loc) 1.12 kB
import { recordTypeDefinitions } from "./RecordTypes"; import { jsUtils } from "@gmetrixr/gdash"; const { generateId } = jsUtils; /** * generates an empty RecordOrderedMap */ export const emptyROM = () => { return { order: [], map: {} }; }; /** * Creates an object of any of the known record types * id is optional - creates an id if not given * name is optional - used only in case this rcord type needs a name. In case not given, can also use once from rt definitions. */ export const createRecord = (type, id, name) => { const node = { id: id !== null && id !== void 0 ? id : generateId(), type: type, //name: name ?? recordTypeDefinitions[type].defaultName, Optional. So we check below if it is even needed. props: {}, //records: {}, //Optional, so don't set here. Automatically set when first record is added. }; //Add name only if this RecordType uses name if (recordTypeDefinitions[type].defaultName !== undefined) { node.name = name !== null && name !== void 0 ? name : recordTypeDefinitions[type].defaultName; } return node; };