Skip to content

Commit e29be9e

Browse files
committed
types
1 parent 5992d4d commit e29be9e

File tree

2 files changed

+39
-9
lines changed

2 files changed

+39
-9
lines changed

types/js.d.ts

+31-9
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,44 @@
1+
export interface JSStringifySetterOptions<ObjType, RootType> {
2+
currentKey: string;
3+
currentPath: string;
4+
value: any;
5+
obj: ObjType;
6+
root: RootType;
7+
defaultValuesMap: {
8+
[path: string]: any;
9+
};
10+
}
11+
export interface JSStringifyPropertyReplacerOptions<ObjType, RootType> {
12+
currentKey: string;
13+
currentPath: string;
14+
propertyRenameMap: {
15+
[pattern: string]: string;
16+
};
17+
obj: ObjType;
18+
root: RootType;
19+
value?: any;
20+
}
21+
export type JSStringifySetter = (options: JSStringifySetterOptions<any, any>) => any;
22+
export type JSStringifyReplacer = (options: JSStringifyPropertyReplacerOptions<any, any>) => any;
123
export interface JSStringifyOptions {
224
space?: number;
3-
replacer?: (key: string, value: any) => any | null;
4-
propertyReplacer?: (currentKey: string, currentPath: string, propertyRenameMap: {
5-
[pattern: string]: string;
6-
}) => string;
25+
propertyReplacer?: (options: JSStringifyPropertyReplacerOptions<any, any>) => string;
26+
valueReplacer?: Record<string, (options: JSStringifyPropertyReplacerOptions<any, any>) => any>;
727
quotes?: 'single' | 'double' | 'backtick';
828
inlineArrayLimit?: number;
929
camelCase?: boolean;
1030
camelCaseFn?: (str: string) => string;
11-
propertyRenameMap?: {
12-
[key: string]: string;
13-
};
31+
include?: string[];
32+
exclude?: string[];
1433
defaultValuesMap?: {
1534
[path: string]: any;
1635
};
17-
defaultValuesSetter?: {
18-
[path: string]: (currentKey: string, currentPath: string, value: any, obj?: any) => any;
36+
propertyRenameMap?: {
37+
[path: string]: any;
1938
};
39+
defaultValuesSetter?: {
40+
[path: string]: JSStringifySetter;
41+
} | JSStringifySetter;
2042
json?: boolean;
2143
}
2244
export declare function chooseQuotes(str: string, preferred: 'single' | 'double' | 'backtick'): string;

types/utils.d.ts

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
export declare function camelCaseTransform(key: string): string;
22
export declare function isSimpleKey(key: string): boolean;
3+
export declare function dirname(path: string): string;
34
export declare function escapeStringForSingleQuotes(str: string): string;
45
export declare function escapeStringForDoubleQuotes(str: string): string;
56
export declare function escapeStringForBacktickQuotes(str: string): string;
7+
interface ShouldIncludeOptions {
8+
include: string[];
9+
exclude: string[];
10+
}
11+
export declare function expandPaths(paths: string[]): string[];
12+
export declare const shouldInclude: (type: string, options: ShouldIncludeOptions) => boolean;
13+
export {};

0 commit comments

Comments
 (0)