Fixed circular reference #2

This commit is contained in:
Sebastian Seedorf
2020-11-19 23:04:36 +01:00
parent 91ba224f79
commit 8dc481b551
3 changed files with 15 additions and 5 deletions

View File

@@ -2,7 +2,7 @@
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultConfig = void 0;
const env = require("env-var");
const _1 = require(".");
const urlJoin_1 = require("./helpers/urlJoin");
const NODE_ENV = env.get('NODE_ENV').default('development').asString();
const isProduction = NODE_ENV === 'production';
const envs = {
@@ -34,7 +34,7 @@ function requireEnv(name, onlyInProduction = false) {
env.get(name).required(!onlyInProduction || isProduction).asString();
}
exports.DefaultConfig = Object.assign(Object.assign({}, envs), { EXTERNAL_BASE_URL: envs.EXTERNAL_BASE_URL ||
_1.urlJoin(`http://${envs.HOSTNAME}${envs.PORT !== 80 ? `:${envs.PORT}` : ''}`, envs.BASE_PATH), isProduction,
urlJoin_1.urlJoin(`http://${envs.HOSTNAME}${envs.PORT !== 80 ? `:${envs.PORT}` : ''}`, envs.BASE_PATH), isProduction,
requireEnv, AUTH_PROXY_USERINFO_URL: envs.AUTH_PROXY_USERINFO_URL ||
envs.AUTH_PROXY_URL && _1.urlJoin(envs.AUTH_PROXY_URL, 'userinfo'), AUTH_PROXY_INIT_LOGOUT_URL: envs.AUTH_PROXY_INIT_LOGOUT_URL ||
envs.AUTH_PROXY_URL && _1.urlJoin(envs.AUTH_PROXY_URL, 'init-logout') });
envs.AUTH_PROXY_URL && urlJoin_1.urlJoin(envs.AUTH_PROXY_URL, 'userinfo'), AUTH_PROXY_INIT_LOGOUT_URL: envs.AUTH_PROXY_INIT_LOGOUT_URL ||
envs.AUTH_PROXY_URL && urlJoin_1.urlJoin(envs.AUTH_PROXY_URL, 'init-logout') });

View File

@@ -11,6 +11,7 @@ declare class FetchOnce<T, U extends Array<unknown>> {
protected state: ResolvableState;
protected pendings: [(res: Promise<T> | T) => void, (reason: unknown) => void][];
constructor(fetchMethod?: ((...args: U) => Promise<T>) | undefined);
reset(): void;
resolve(...args: U): Promise<T>;
protected isFinished(): boolean;
protected parsePromise(promise: Promise<T>): void;
@@ -23,5 +24,6 @@ export declare class WaitForSync<T> extends FetchOnce<T, never> {
constructor();
setData(data: T): void;
setError(error: unknown): void;
reset(): void;
}
export {};

View File

@@ -23,8 +23,12 @@ class FetchOnce {
this.state = ResolvableState.WAITING;
this.pendings = [];
}
reset() {
this.data = undefined;
this.error = undefined;
this.state = ResolvableState.WAITING;
}
resolve(...args) {
// eslint-disable-next-line promise/avoid-new
return new Promise((resolve, reject) => {
switch (this.state) {
case ResolvableState.WAITING:
@@ -81,5 +85,9 @@ class WaitForSync extends FetchOnce {
this.parsePromise((() => __awaiter(this, void 0, void 0, function* () { throw error; }))());
}
}
reset() {
super.reset();
this.state = ResolvableState.PENDING;
}
}
exports.WaitForSync = WaitForSync;