@tangential/core
Version:
Core types and support code for Tangential
29 lines (28 loc) • 1.13 kB
TypeScript
import { ObjMap } from './obj-map';
export interface ToJson<T> {
toJson(withHiddenFields?: boolean): T;
}
export interface Jsonified<T, J extends ObjMap<any>> extends ToJson<J> {
getModel(): J;
}
export declare class JsonUtil {
static diff<T>(left: T, right: T): T;
private static areEqual;
static applyJsonToInstance<T, J extends ObjMap<any>>(instance: Jsonified<T, J>, json: J): void;
private static determineValue;
static instanceToJson<T, J extends ObjMap<any>>(instance: Jsonified<T, J>, withHiddenFields?: boolean): any;
static mapToJson<J extends object>(map: ObjMap<J>, withHiddenFields: boolean): ObjMap<J>;
static keyedArrayToJsonMap<J extends object>(array: ToJson<J>[], withHiddenFields: boolean, keyField?: string): ObjMap<J>;
/**
* @param obj
* @returns {T}
* @deprecated See FireBlanket.util.removeIllegalKey
*/
static removeIllegalFirebaseKeys<T extends object>(obj: T): T;
/**
* @param key
* @returns {boolean}
* @deprecated See FireBlanket.util.isLegalFirebaseKey
*/
static isLegalFirebaseKey(key: string): boolean;
}