Compare commits
No commits in common. "647dc9a2ec9fce5ddfe93b4dc90e2a0e1538e1fa" and "3e412d509062fb39d6aa5fb2903125353b3bab64" have entirely different histories.
647dc9a2ec
...
3e412d5090
|
@ -5,69 +5,80 @@
|
||||||
*/
|
*/
|
||||||
/// <reference types="node" />
|
/// <reference types="node" />
|
||||||
export interface Options {
|
export interface Options {
|
||||||
suffix?: string;
|
suffix?: string;
|
||||||
fallback?: string;
|
fallback?: string;
|
||||||
alias?: object;
|
alias?: object;
|
||||||
}
|
}
|
||||||
export interface LoadOptions {
|
export interface LoadOptions {
|
||||||
hash?: string | boolean;
|
hash?: string | boolean;
|
||||||
query?: string | boolean;
|
query?: string | boolean;
|
||||||
env?: object | boolean;
|
env?: object | boolean;
|
||||||
argv?: string[] | boolean;
|
argv?: string[] | boolean;
|
||||||
config?: string | boolean;
|
config?: string | boolean;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Config Parser
|
* Config Parser
|
||||||
*/
|
*/
|
||||||
export default class Config {
|
export default class Config {
|
||||||
private module;
|
private module;
|
||||||
private prefix;
|
private prefix;
|
||||||
private suffix?;
|
private suffix?;
|
||||||
private fallback?;
|
private fallback?;
|
||||||
private options;
|
private options;
|
||||||
private alias;
|
private alias;
|
||||||
private data;
|
private data;
|
||||||
private env;
|
private env;
|
||||||
private args;
|
private args;
|
||||||
private argv;
|
private argv;
|
||||||
private pass;
|
private pass;
|
||||||
private query;
|
private query;
|
||||||
private hash;
|
private hash;
|
||||||
constructor(module: string, options?: Options);
|
constructor(module: string, options?: Options);
|
||||||
private init;
|
private init;
|
||||||
inject(options: object): void;
|
inject(options: object): void;
|
||||||
load(options: LoadOptions): void;
|
load(options: LoadOptions): void;
|
||||||
open(file: string): void;
|
open(file: string): void;
|
||||||
openDir(dir: string): void;
|
openDir(dir: string): void;
|
||||||
openJson(file: string): void;
|
openJson(file: string): void;
|
||||||
saveConfigJson(file: string, data: object): void;
|
saveConfigJson(file: string, data: object): void;
|
||||||
filter(name: string): Config;
|
filter(name: string): Config;
|
||||||
set(key: string, value: any): void;
|
set(key: string, value: any): void;
|
||||||
has(key: string): boolean;
|
has(key: string): boolean;
|
||||||
get(key: string, fallback?: any): any;
|
get(key: string, fallback?: any): any;
|
||||||
typeOf(key: string): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | "null";
|
typeOf(
|
||||||
str(key: string, fallback?: any): any;
|
key: string
|
||||||
int(key: any, fallback?: any): any;
|
):
|
||||||
uint(key: any, fallback?: any): any;
|
| "string"
|
||||||
float(key: any, fallback?: any): any;
|
| "number"
|
||||||
ufloat(key: any, fallback?: any): any;
|
| "bigint"
|
||||||
fixed(key: any, exp: any, fallback?: any): any;
|
| "boolean"
|
||||||
ufixed(key: any, exp: any, fallback?: any): any;
|
| "symbol"
|
||||||
bool(key: any, fallback?: any): any;
|
| "undefined"
|
||||||
buf(key: string, fallback?: any, enc?: BufferEncoding): any;
|
| "object"
|
||||||
array(key: string, fallback?: any): any;
|
| "function"
|
||||||
obj(key: string, fallback?: any): any;
|
| "null";
|
||||||
func(key: string, fallback?: any): any;
|
str(key: string, fallback?: any): any;
|
||||||
path(key: string, fallback?: any): any;
|
int(key: any, fallback?: any): any;
|
||||||
mb(key: string, fallback?: any): any;
|
uint(key: any, fallback?: any): any;
|
||||||
getSuffix(): any;
|
float(key: any, fallback?: any): any;
|
||||||
getPrefix(): string;
|
ufloat(key: any, fallback?: any): any;
|
||||||
getFile(file: string): any;
|
fixed(key: any, exp: any, fallback?: any): any;
|
||||||
location(file: string): string;
|
ufixed(key: any, exp: any, fallback?: any): any;
|
||||||
parseConfig(text: string): void;
|
bool(key: any, fallback?: any): any;
|
||||||
parseArg(argv?: string[]): void;
|
buf(key: string, fallback?: any, enc?: BufferEncoding): any;
|
||||||
parseEnv(env?: object): void;
|
array(key: string, fallback?: any): any;
|
||||||
parseQuery(query: string): void | {};
|
obj(key: string, fallback?: any): any;
|
||||||
parseHash(hash: string): void | {};
|
func(key: string, fallback?: any): any;
|
||||||
parseForm(query: string, ch: string, map: object): void;
|
path(key: string, fallback?: any): any;
|
||||||
|
mb(key: string, fallback?: any): any;
|
||||||
|
getSuffix(): any;
|
||||||
|
getPrefix(): string;
|
||||||
|
getFile(file: string): any;
|
||||||
|
location(file: string): string;
|
||||||
|
parseConfig(text: string): void;
|
||||||
|
parseArg(argv?: string[]): void;
|
||||||
|
parseEnv(env?: object): void;
|
||||||
|
parseQuery(query: string): void | {};
|
||||||
|
parseHash(hash: string): void | {};
|
||||||
|
parseForm(query: string, ch: string, map: object): void;
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,9 +135,6 @@ class Config {
|
||||||
(0, bsert_1.default)(typeof data === "object");
|
(0, bsert_1.default)(typeof data === "object");
|
||||||
(0, bsert_1.default)(!Array.isArray(data));
|
(0, bsert_1.default)(!Array.isArray(data));
|
||||||
const fullPath = path_1.default.join(this.str("configdir"), file);
|
const fullPath = path_1.default.join(this.str("configdir"), file);
|
||||||
if (!fs_1.default.existsSync(fullPath)) {
|
|
||||||
fs_1.default.mkdirSync(fullPath, { recursive: true });
|
|
||||||
}
|
|
||||||
fs_1.default.writeFileSync(fullPath, JSON.stringify(data));
|
fs_1.default.writeFileSync(fullPath, JSON.stringify(data));
|
||||||
this.openJson(fullPath);
|
this.openJson(fullPath);
|
||||||
}
|
}
|
||||||
|
|
10
src/index.ts
10
src/index.ts
|
@ -80,7 +80,6 @@ export default class Config {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public inject(options: object) {
|
public inject(options: object) {
|
||||||
for (const key of Object.keys(options)) {
|
for (const key of Object.keys(options)) {
|
||||||
const value = options[key];
|
const value = options[key];
|
||||||
|
@ -175,10 +174,6 @@ export default class Config {
|
||||||
|
|
||||||
const fullPath = Path.join(this.str("configdir"), file);
|
const fullPath = Path.join(this.str("configdir"), file);
|
||||||
|
|
||||||
if (!fs.existsSync(fullPath)) {
|
|
||||||
fs.mkdirSync(fullPath, { recursive: true });
|
|
||||||
}
|
|
||||||
|
|
||||||
fs.writeFileSync(fullPath, JSON.stringify(data));
|
fs.writeFileSync(fullPath, JSON.stringify(data));
|
||||||
this.openJson(fullPath);
|
this.openJson(fullPath);
|
||||||
}
|
}
|
||||||
|
@ -322,7 +317,6 @@ export default class Config {
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
int(key, fallback = null) {
|
int(key, fallback = null) {
|
||||||
const value = this.get(key);
|
const value = this.get(key);
|
||||||
|
|
||||||
|
@ -404,7 +398,6 @@ export default class Config {
|
||||||
|
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
ufloat(key, fallback = null) {
|
ufloat(key, fallback = null) {
|
||||||
const value = this.float(key);
|
const value = this.float(key);
|
||||||
if (value === null) {
|
if (value === null) {
|
||||||
|
@ -431,7 +424,6 @@ export default class Config {
|
||||||
throw new Error(`${fmt(key)} must be a fixed number.`);
|
throw new Error(`${fmt(key)} must be a fixed number.`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ufixed(key, exp, fallback = null) {
|
ufixed(key, exp, fallback = null) {
|
||||||
const value = this.fixed(key, exp);
|
const value = this.fixed(key, exp);
|
||||||
|
|
||||||
|
@ -481,7 +473,6 @@ export default class Config {
|
||||||
|
|
||||||
throw new Error(`${fmt(key)} must be a boolean.`);
|
throw new Error(`${fmt(key)} must be a boolean.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
buf(key: string, fallback = null, enc: BufferEncoding = "hex") {
|
buf(key: string, fallback = null, enc: BufferEncoding = "hex") {
|
||||||
const value = this.get(key);
|
const value = this.get(key);
|
||||||
|
|
||||||
|
@ -884,7 +875,6 @@ export default class Config {
|
||||||
|
|
||||||
return this.parseForm(query, "?", this.query);
|
return this.parseForm(query, "?", this.query);
|
||||||
}
|
}
|
||||||
|
|
||||||
public parseHash(hash: string) {
|
public parseHash(hash: string) {
|
||||||
if (typeof hash !== "string") {
|
if (typeof hash !== "string") {
|
||||||
if (!global.location) {
|
if (!global.location) {
|
||||||
|
|
Loading…
Reference in New Issue