@buurman/sdk
Version:
The buurman SDK
20 lines • 1.06 kB
TypeScript
import { Transformer } from "@buurman/commons";
import { Value } from "./JsonMutator";
export interface JsonApi<T = {}, TExtra = {}> {
exists(): Promise<boolean>;
get(): Promise<Value<T>>;
hasProperty(path: string | string[], value?: any): Promise<boolean>;
hasProperties(paths: (string | string[])[]): Promise<boolean>;
getProperty<T>(path: string | string[]): Promise<T | undefined>;
setProperty<T>(property: string | string[], value: T): this & TExtra;
set(content: Value<T>): this & TExtra;
transform(transformer: Transformer<Value<T>>): this & TExtra;
delete(): Promise<void>;
save(): Promise<void>;
}
declare const json: {
<T = {}, TExtra = {}>(file: string, getApi?: (() => JsonApi<T, TExtra> & TExtra) | undefined): JsonApi<T, TExtra>;
extend<TExtra_1>(factory: <T_1>(filePath: string, jsonApi: JsonApi<T_1, TExtra_1>) => JsonApi<T_1, TExtra_1> & TExtra_1): <T_2>(filePath: string) => JsonApi<T_2, TExtra_1> & TExtra_1;
};
export default json;
//# sourceMappingURL=JsonApi.d.ts.map