1 |
|
2 | import { EventEmitter } from 'events';
|
3 | import { OnDidChangeCallback, Options, Unsubscribe, Schema, OnDidAnyChangeCallback } from './types';
|
4 | declare class Conf<T extends Record<string, any> = Record<string, unknown>> implements Iterable<[keyof T, T[keyof T]]> {
|
5 | #private;
|
6 | readonly path: string;
|
7 | readonly events: EventEmitter;
|
8 | constructor(partialOptions?: Readonly<Partial<Options<T>>>);
|
9 | /**
|
10 | Get an item.
|
11 |
|
12 | @param key - The key of the item to get.
|
13 | @param defaultValue - The default value if the item does not exist.
|
14 | */
|
15 | get<Key extends keyof T>(key: Key): T[Key];
|
16 | get<Key extends keyof T>(key: Key, defaultValue: Required<T>[Key]): Required<T>[Key];
|
17 | get<Key extends string, Value = unknown>(key: Exclude<Key, keyof T>, defaultValue?: Value): Value;
|
18 | /**
|
19 | Set an item or multiple items at once.
|
20 |
|
21 | @param {key|object} - You can use [dot-notation](https:
|
22 | @param value - Must be JSON serializable. Trying to set the type `undefined`, `function`, or `symbol` will result in a `TypeError`.
|
23 | */
|
24 | set<Key extends keyof T>(key: Key, value?: T[Key]): void;
|
25 | set(key: string, value: unknown): void;
|
26 | set(object: Partial<T>): void;
|
27 | |
28 |
|
29 |
|
30 |
|
31 |
|
32 | has<Key extends keyof T>(key: Key | string): boolean;
|
33 | |
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40 | reset<Key extends keyof T>(...keys: Key[]): void;
|
41 | |
42 |
|
43 |
|
44 |
|
45 |
|
46 | delete<Key extends keyof T>(key: Key): void;
|
47 | |
48 |
|
49 |
|
50 |
|
51 |
|
52 | clear(): void;
|
53 | |
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 | onDidChange<Key extends keyof T>(key: Key, callback: OnDidChangeCallback<T[Key]>): Unsubscribe;
|
61 | |
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
67 | onDidAnyChange(callback: OnDidAnyChangeCallback<T>): Unsubscribe;
|
68 | get size(): number;
|
69 | get store(): T;
|
70 | set store(value: T);
|
71 | [Symbol.iterator](): IterableIterator<[keyof T, T[keyof T]]>;
|
72 | private _encryptData;
|
73 | private _handleChange;
|
74 | private readonly _deserialize;
|
75 | private readonly _serialize;
|
76 | private _validate;
|
77 | private _ensureDirectory;
|
78 | private _write;
|
79 | private _watch;
|
80 | private _migrate;
|
81 | private _containsReservedKey;
|
82 | private _isVersionInRangeFormat;
|
83 | private _shouldPerformMigration;
|
84 | private _get;
|
85 | private _set;
|
86 | }
|
87 | export { Schema, Options };
|
88 | export default Conf;
|