@types/jfs
TypeScript icon, indicating that this package has built-in type declarations

0.2.9 • Public • Published

Installation

npm install --save @types/jfs

Summary

This package contains type definitions for jfs (https://github.com/flosse/json-file-store).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jfs.

index.d.ts

declare const JsonFileStore: JsonFileStore.JsonFileStore;

declare namespace JsonFileStore {
    interface Storable {
        [key: string]: any;
    }

    interface Options {
        type?: "single" | "memory" | undefined;
        pretty?: boolean | undefined;
        saveId?: boolean | string | undefined;
    }

    interface JsonFileStore {
        new<T extends Storable>(name?: string, opts?: Options): Instance<T>;
    }

    interface Instance<T> {
        save<K extends keyof T, V extends T[K]>(id: K, o: V, cb?: (err?: Error, id?: K) => void): void;
        save<V extends T[keyof T]>(o: V, cb?: (err?: Error, id?: string) => void): void;

        saveSync<K extends keyof T, V extends T[K]>(id: K, o: V): void;
        saveSync<V extends T[keyof T]>(o: V): void;

        get<K extends keyof T, V extends T[K]>(id: K, cb?: (err?: Error, o?: V) => void): void;

        getSync<K extends keyof T, V extends T[K]>(id: K): V | Error;

        delete<K extends keyof T>(id: K, cb?: (err?: Error) => void): void;

        // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
        deleteSync<K extends keyof T>(id: K): Error | void;

        all(cb: (err?: Error, all?: T) => void): void;

        allSync(): T;
    }
}

export = JsonFileStore;

Additional Details

  • Last updated: Wed, 22 Nov 2023 00:24:48 GMT
  • Dependencies: none

Credits

These definitions were written by Tomasz Łaziuk.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/jfs

Weekly Downloads

37

Version

0.2.9

License

MIT

Unpacked Size

5.03 kB

Total Files

5

Last publish

Collaborators

  • types