@flatfile/records
Version:
Record management utilities for Flatfile
60 lines (59 loc) • 1.95 kB
TypeScript
import * as util from "util";
export declare class FlatfileRecord<T extends Record<string, any> = Record<string, any>> {
data: Readonly<Partial<T>>;
private _changes;
private _errs;
private _deleted;
private _tempId?;
constructor(data: Readonly<Partial<T>>, dirty?: boolean);
get id(): string | NonNullable<Partial<T>[string]> | undefined;
get slug(): Partial<T>[string];
get sheetId(): Partial<T>[string];
set(key: string, value: any): this | undefined;
flag(key: string): void;
unflag(key: string): void;
get(key: string): any;
has(key: string): boolean;
hasAny(...keys: string[]): boolean;
hasAll(...keys: string[]): boolean;
isEmpty(key: string): boolean;
keys(options?: {
omit?: string[];
pick?: string[];
}): string[];
keysWithData(props?: {
exclude?: Array<string | string[]>;
}): string[];
intersects(item: FlatfileRecord, keys: string[]): boolean;
hash(...keys: string[]): string;
isDirty(key?: string): boolean;
eachOfKeysPresent(keys: string[], callback: (key: string, value: any) => void): void;
isDeleted(): boolean;
delete(): void;
str(key: string): string | null;
defStr(key: string): string;
bool(key: string): boolean;
date(key: string): Date | null;
pick(...keys: string[]): Record<string, any>;
err(key: string, msg: string): this;
values(): any;
entries(): any[][];
merge(item: FlatfileRecord, props?: {
overwrite?: boolean;
}): this;
hasConflict(b: FlatfileRecord, keys?: string[]): boolean;
toJSON(): Readonly<Partial<T>> & {
[k: string]: any;
};
[util.inspect.custom](): string;
copy(props?: {
mixin?: FlatfileRecord;
select?: string[];
slug?: string;
sheetId?: string;
}): FlatfileRecord<Record<string, any>>;
commit(): void;
changeset(): {
[k: string]: any;
};
}