UNPKG

@graffy/common

Version:

Common libraries that used by various Graffy modules.

49 lines (42 loc) 1.08 kB
export function throwIf(message, condition) { if (condition) throw Error('arg_encoding.' + message); } export function isEmpty(object) { for (var _ in object) { return false; } return true; } export function mergeObject(base, change) { if (typeof change !== 'object' || typeof base !== 'object' || !base || !change) { return change; } for (var prop in change) { if (prop in base) { var value = mergeObject(base[prop], change[prop]); if (value === null) { delete base[prop]; } else { base[prop] = value; } } else { base[prop] = change[prop]; } } return isEmpty(base) ? null : base; } export function cloneObject(object) { if (typeof object !== 'object' || !object) { return object; } var clone = {}; for (var prop in object) { var value = cloneObject(object[prop]); if (value === null) continue; clone[prop] = value; } return isEmpty(clone) ? null : clone; } export function isArgObject(arg) { return typeof arg === 'object' && arg && !Array.isArray(arg); }