@leyyo/common 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assertion/common-assertion-impl.d.ts +38 -7
- package/dist/assertion/common-assertion-impl.js +64 -26
- package/dist/assertion/index-types.d.ts +466 -75
- package/dist/assertion/index.d.ts +0 -1
- package/dist/assertion/index.js +0 -1
- package/dist/error/common-error-impl.d.ts +6 -4
- package/dist/error/common-error-impl.js +8 -4
- package/dist/error/index-types.d.ts +5 -54
- package/dist/error/index.d.ts +0 -5
- package/dist/error/index.js +0 -5
- package/dist/{error → exception}/assertion-exception.d.ts +1 -1
- package/dist/{error → exception}/caused-exception.d.ts +1 -1
- package/dist/{error → exception}/developer-exception.d.ts +1 -1
- package/dist/{error → exception}/exception.d.ts +4 -3
- package/dist/{error → exception}/exception.js +4 -4
- package/dist/exception/index-types.d.ts +30 -0
- package/dist/exception/index.d.ts +6 -0
- package/dist/exception/index.js +22 -0
- package/dist/fqn/common-fqn-impl.d.ts +11 -0
- package/dist/fqn/common-fqn-impl.js +47 -0
- package/dist/fqn/index-types.d.ts +6 -0
- package/dist/fqn/index-types.js +2 -0
- package/dist/fqn/index.d.ts +2 -0
- package/dist/{callback → fqn}/index.js +1 -1
- package/dist/hook/common-hook-impl.d.ts +30 -0
- package/dist/hook/common-hook-impl.js +111 -0
- package/dist/hook/index-types.d.ts +56 -0
- package/dist/hook/index-types.js +2 -0
- package/dist/hook/index.d.ts +2 -0
- package/dist/hook/index.js +18 -0
- package/dist/index.d.ts +11 -5
- package/dist/index.js +19 -6
- package/dist/is/common-is-impl.d.ts +36 -15
- package/dist/is/common-is-impl.js +35 -10
- package/dist/is/index-types.d.ts +142 -20
- package/dist/leyyo/index-types.d.ts +4 -2
- package/dist/leyyo/leyyo-impl.d.ts +4 -2
- package/dist/leyyo/leyyo-impl.js +37 -29
- package/dist/literal/country-code.d.ts +8 -0
- package/dist/literal/country-code.js +17 -0
- package/dist/literal/environment.d.ts +8 -0
- package/dist/literal/environment.js +7 -0
- package/dist/literal/http-method.d.ts +8 -0
- package/dist/literal/http-method.js +7 -0
- package/dist/literal/http-place.d.ts +8 -0
- package/dist/literal/http-place.js +7 -0
- package/dist/literal/index-types.d.ts +6 -0
- package/dist/literal/index-types.js +2 -0
- package/dist/literal/index.d.ts +14 -0
- package/dist/literal/index.js +30 -0
- package/dist/literal/key-value.d.ts +4 -0
- package/dist/literal/key-value.js +7 -0
- package/dist/literal/language-code.d.ts +8 -0
- package/dist/literal/language-code.js +12 -0
- package/dist/literal/locale-code.d.ts +10 -0
- package/dist/literal/locale-code.js +17 -0
- package/dist/literal/primitive.d.ts +8 -0
- package/dist/literal/primitive.js +7 -0
- package/dist/literal/real-value.d.ts +8 -0
- package/dist/literal/real-value.js +7 -0
- package/dist/literal/severity.d.ts +8 -0
- package/dist/literal/severity.js +7 -0
- package/dist/literal/storage-type.d.ts +8 -0
- package/dist/literal/storage-type.js +7 -0
- package/dist/literal/weak-false.d.ts +8 -0
- package/dist/literal/weak-false.js +7 -0
- package/dist/literal/weak-true.d.ts +8 -0
- package/dist/literal/weak-true.js +7 -0
- package/dist/log/common-log-impl.d.ts +3 -2
- package/dist/log/common-log-impl.js +6 -6
- package/dist/log/index-types.d.ts +2 -55
- package/dist/log/index-types.js +0 -1
- package/dist/log/index.d.ts +1 -1
- package/dist/log/index.js +1 -1
- package/dist/log/logger-impl.d.ts +4 -3
- package/dist/log/logger-impl.js +7 -6
- package/dist/{assertion → shared}/assert.js +1 -0
- package/dist/{aliases.d.ts → shared/index-aliases.d.ts} +32 -4
- package/dist/shared/index-types.d.ts +141 -0
- package/dist/shared/index-types.js +3 -0
- package/dist/shared/index.d.ts +5 -0
- package/dist/shared/index.js +21 -0
- package/dist/storage/common-storage-impl.d.ts +3 -2
- package/dist/storage/common-storage-impl.js +3 -3
- package/dist/storage/index-types.d.ts +3 -18
- package/dist/storage/index.d.ts +0 -1
- package/dist/storage/index.js +0 -1
- package/dist/to/common-to-impl.d.ts +19 -19
- package/dist/to/common-to-impl.js +11 -11
- package/dist/to/index-types.d.ts +18 -48
- package/package.json +1 -1
- package/dist/callback/common-callback-impl.d.ts +0 -31
- package/dist/callback/common-callback-impl.js +0 -134
- package/dist/callback/index-types.d.ts +0 -75
- package/dist/callback/index.d.ts +0 -2
- package/dist/literals.d.ts +0 -98
- package/dist/literals.js +0 -77
- package/dist/{error → exception}/assertion-exception.js +0 -0
- package/dist/{error → exception}/caused-exception.js +0 -0
- package/dist/{error → exception}/developer-exception.js +0 -0
- package/dist/{callback → exception}/index-types.js +0 -0
- package/dist/{error → exception}/multiple-exception.d.ts +1 -1
- package/dist/{error → exception}/multiple-exception.js +0 -0
- package/dist/{assertion → shared}/assert.d.ts +1 -1
- /package/dist/{aliases.js → shared/index-aliases.js} +0 -0
- /package/dist/{constants.d.ts → shared/index-constants.d.ts} +0 -0
- /package/dist/{constants.js → shared/index-constants.js} +0 -0
- /package/dist/{storage → shared}/list.d.ts +0 -0
- /package/dist/{storage → shared}/list.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CommonTo, CommonToSecure
|
|
2
|
-
import { Dict, KeyValue, OneOrMore } from "../
|
|
1
|
+
import { CommonTo, CommonToSecure } from "./index-types";
|
|
2
|
+
import { Dict, KeyValue, OneOrMore, ToTypeArrayOpt, ToTypeEnumOpt, ToTypeObjectOpt, ToTypeOpt } from "../shared";
|
|
3
3
|
import { Leyyo } from "../leyyo";
|
|
4
4
|
export declare class CommonToImpl implements CommonTo, CommonToSecure {
|
|
5
5
|
private readonly _EXPECTED_ANY;
|
|
@@ -11,27 +11,27 @@ export declare class CommonToImpl implements CommonTo, CommonToSecure {
|
|
|
11
11
|
private readonly _EXPECTED_NUMBER;
|
|
12
12
|
private readonly _EXPECTED_STRING;
|
|
13
13
|
private is;
|
|
14
|
-
private
|
|
14
|
+
private fqn;
|
|
15
15
|
private assertion;
|
|
16
16
|
private _enumInMap;
|
|
17
17
|
private _enumInArray;
|
|
18
18
|
private _enumInAlteration;
|
|
19
|
-
runFn<T = unknown>(fn: Function, value: Function, opt?:
|
|
20
|
-
runSave<T = unknown>(fn: Function, value: unknown, opt?:
|
|
21
|
-
raiseInvalidValue<T = unknown>(value: unknown, expected: OneOrMore<string>, opt?:
|
|
22
|
-
any(value: unknown, opt?:
|
|
23
|
-
array<T = unknown>(value: unknown, opt?:
|
|
24
|
-
boolean(value: unknown, opt?:
|
|
25
|
-
clazz(value: unknown, opt?:
|
|
26
|
-
date(value: unknown, opt?:
|
|
27
|
-
enumeration<T extends KeyValue = KeyValue>(value: unknown, opt?:
|
|
28
|
-
float(value: unknown, opt?:
|
|
29
|
-
func<T = Function>(value: unknown, opt?:
|
|
30
|
-
integer(value: unknown, opt?:
|
|
31
|
-
object<T = unknown>(value: unknown, opt?:
|
|
32
|
-
dict<T = unknown>(value: unknown, opt?:
|
|
33
|
-
string(value: unknown, opt?:
|
|
34
|
-
text(value: unknown, opt?:
|
|
19
|
+
runFn<T = unknown>(fn: Function, value: Function, opt?: ToTypeOpt): T;
|
|
20
|
+
runSave<T = unknown>(fn: Function, value: unknown, opt?: ToTypeOpt): T;
|
|
21
|
+
raiseInvalidValue<T = unknown>(value: unknown, expected: OneOrMore<string>, opt?: ToTypeOpt, params?: Dict): T;
|
|
22
|
+
any(value: unknown, opt?: ToTypeOpt): unknown;
|
|
23
|
+
array<T = unknown>(value: unknown, opt?: ToTypeArrayOpt): Array<T>;
|
|
24
|
+
boolean(value: unknown, opt?: ToTypeOpt): boolean;
|
|
25
|
+
clazz(value: unknown, opt?: ToTypeOpt): string;
|
|
26
|
+
date(value: unknown, opt?: ToTypeOpt): Date;
|
|
27
|
+
enumeration<T extends KeyValue = KeyValue>(value: unknown, opt?: ToTypeEnumOpt<T>): T;
|
|
28
|
+
float(value: unknown, opt?: ToTypeOpt): number | null;
|
|
29
|
+
func<T = Function>(value: unknown, opt?: ToTypeOpt): T | null;
|
|
30
|
+
integer(value: unknown, opt?: ToTypeOpt): number | null;
|
|
31
|
+
object<T = unknown>(value: unknown, opt?: ToTypeObjectOpt): Dict<T>;
|
|
32
|
+
dict<T = unknown>(value: unknown, opt?: ToTypeObjectOpt): Dict<T>;
|
|
33
|
+
string(value: unknown, opt?: ToTypeOpt): string;
|
|
34
|
+
text(value: unknown, opt?: ToTypeOpt): string;
|
|
35
35
|
$init(leyyo: Leyyo): void;
|
|
36
36
|
get $back(): CommonTo;
|
|
37
37
|
get $secure(): CommonToSecure;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CommonToImpl = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const literal_1 = require("../literal");
|
|
5
|
+
const exception_1 = require("../exception");
|
|
6
6
|
// noinspection JSUnusedGlobalSymbols
|
|
7
7
|
class CommonToImpl {
|
|
8
8
|
constructor() {
|
|
@@ -137,7 +137,7 @@ class CommonToImpl {
|
|
|
137
137
|
return fn(value);
|
|
138
138
|
}
|
|
139
139
|
catch (e) {
|
|
140
|
-
|
|
140
|
+
exception_1.Exception.cast(e).raise(!(opt === null || opt === void 0 ? void 0 : opt.silent));
|
|
141
141
|
}
|
|
142
142
|
return null;
|
|
143
143
|
}
|
|
@@ -150,7 +150,7 @@ class CommonToImpl {
|
|
|
150
150
|
indicator = 'type.invalid-value';
|
|
151
151
|
}
|
|
152
152
|
opt = Object.assign(Object.assign(Object.assign({}, opt), params), { expected, value });
|
|
153
|
-
new
|
|
153
|
+
new exception_1.DeveloperException(indicator, opt)
|
|
154
154
|
.with(this)
|
|
155
155
|
.raise(!(opt === null || opt === void 0 ? void 0 : opt.silent));
|
|
156
156
|
return null;
|
|
@@ -201,7 +201,7 @@ class CommonToImpl {
|
|
|
201
201
|
result.push(valueFn(v, clonedOpt));
|
|
202
202
|
}
|
|
203
203
|
catch (e) {
|
|
204
|
-
|
|
204
|
+
exception_1.Exception.cast(e).raise(!opt.silent);
|
|
205
205
|
result.push(null);
|
|
206
206
|
}
|
|
207
207
|
});
|
|
@@ -226,10 +226,10 @@ class CommonToImpl {
|
|
|
226
226
|
if (value === '') {
|
|
227
227
|
return null;
|
|
228
228
|
}
|
|
229
|
-
if (
|
|
229
|
+
if (literal_1.WeakTrueItems.includes(value)) {
|
|
230
230
|
return true;
|
|
231
231
|
}
|
|
232
|
-
if (
|
|
232
|
+
if (literal_1.WeakFalseItems.includes(value)) {
|
|
233
233
|
return false;
|
|
234
234
|
}
|
|
235
235
|
return this.raiseInvalidValue(value, this._EXPECTED_BOOL, opt);
|
|
@@ -258,7 +258,7 @@ class CommonToImpl {
|
|
|
258
258
|
return value;
|
|
259
259
|
case 'object':
|
|
260
260
|
case 'function':
|
|
261
|
-
return this.
|
|
261
|
+
return this.fqn.name(value);
|
|
262
262
|
}
|
|
263
263
|
return this.raiseInvalidValue(value, this._EXPECTED_CLASS, opt);
|
|
264
264
|
}
|
|
@@ -314,7 +314,7 @@ class CommonToImpl {
|
|
|
314
314
|
mapType = 'array';
|
|
315
315
|
}
|
|
316
316
|
if (!mapType) {
|
|
317
|
-
throw new
|
|
317
|
+
throw new exception_1.DeveloperException('type.invalid-enum-items', { map: opt.map });
|
|
318
318
|
}
|
|
319
319
|
let v;
|
|
320
320
|
switch (typeof value) {
|
|
@@ -475,7 +475,7 @@ class CommonToImpl {
|
|
|
475
475
|
result[keyOpt.fn(k, keyOpt)] = valueOpt.fn(v, valueOpt);
|
|
476
476
|
}
|
|
477
477
|
catch (e) {
|
|
478
|
-
|
|
478
|
+
exception_1.Exception.cast(e).raise(!opt.silent);
|
|
479
479
|
result[k] = null;
|
|
480
480
|
}
|
|
481
481
|
}
|
|
@@ -540,7 +540,7 @@ class CommonToImpl {
|
|
|
540
540
|
// region secure
|
|
541
541
|
$init(leyyo) {
|
|
542
542
|
this.is = leyyo.is;
|
|
543
|
-
this.
|
|
543
|
+
this.fqn = leyyo.fqn;
|
|
544
544
|
this.assertion = leyyo.assertion;
|
|
545
545
|
}
|
|
546
546
|
get $back() {
|
package/dist/to/index-types.d.ts
CHANGED
|
@@ -1,50 +1,20 @@
|
|
|
1
|
-
import { Dict, KeyValue, OneOrMore, ShiftMain, ShiftSecure } from "../
|
|
2
|
-
import { Leyyo } from "../leyyo";
|
|
3
|
-
import { AssertionOpt } from "../assertion";
|
|
1
|
+
import { Dict, InitLike, KeyValue, OneOrMore, ShiftMain, ShiftSecure, ToTypeArrayOpt, ToTypeEnumOpt, ToTypeObjectOpt, ToTypeOpt } from "../shared";
|
|
4
2
|
export interface CommonTo extends ShiftSecure<CommonToSecure> {
|
|
5
|
-
runFn<T = unknown>(fn: Function, value: Function, opt?:
|
|
6
|
-
raiseInvalidValue<T = unknown>(value: unknown, expected: OneOrMore<string>, opt?:
|
|
7
|
-
any(value: unknown, opt?:
|
|
8
|
-
array<T = unknown>(value: unknown, opt?:
|
|
9
|
-
boolean(value: unknown, opt?:
|
|
10
|
-
clazz(value: unknown, opt?:
|
|
11
|
-
date(value: unknown, opt?:
|
|
12
|
-
enumeration<T extends KeyValue = KeyValue>(value: unknown, opt?:
|
|
13
|
-
float(value: unknown, opt?:
|
|
14
|
-
func<T = Function>(value: unknown, opt?:
|
|
15
|
-
integer(value: unknown, opt?:
|
|
16
|
-
object<T = unknown>(value: unknown, opt?:
|
|
17
|
-
dict<T = unknown>(value: unknown, opt?:
|
|
18
|
-
string(value: unknown, opt?:
|
|
19
|
-
text(value: unknown, opt?:
|
|
3
|
+
runFn<T = unknown>(fn: Function, value: Function, opt?: ToTypeOpt): T;
|
|
4
|
+
raiseInvalidValue<T = unknown>(value: unknown, expected: OneOrMore<string>, opt?: ToTypeOpt, params?: Dict): T;
|
|
5
|
+
any(value: unknown, opt?: ToTypeOpt): unknown;
|
|
6
|
+
array<T = unknown>(value: unknown, opt?: ToTypeArrayOpt): Array<T>;
|
|
7
|
+
boolean(value: unknown, opt?: ToTypeOpt): boolean;
|
|
8
|
+
clazz(value: unknown, opt?: ToTypeOpt): string;
|
|
9
|
+
date(value: unknown, opt?: ToTypeOpt): Date;
|
|
10
|
+
enumeration<T extends KeyValue = KeyValue>(value: unknown, opt?: ToTypeEnumOpt<T>): T;
|
|
11
|
+
float(value: unknown, opt?: ToTypeOpt): number | null;
|
|
12
|
+
func<T = Function>(value: unknown, opt?: ToTypeOpt): T | null;
|
|
13
|
+
integer(value: unknown, opt?: ToTypeOpt): number | null;
|
|
14
|
+
object<T = unknown>(value: unknown, opt?: ToTypeObjectOpt): Dict<T>;
|
|
15
|
+
dict<T = unknown>(value: unknown, opt?: ToTypeObjectOpt): Dict<T>;
|
|
16
|
+
string(value: unknown, opt?: ToTypeOpt): string;
|
|
17
|
+
text(value: unknown, opt?: ToTypeOpt): string;
|
|
18
|
+
}
|
|
19
|
+
export interface CommonToSecure extends ShiftMain<CommonTo>, InitLike {
|
|
20
20
|
}
|
|
21
|
-
export interface CommonToSecure extends ShiftMain<CommonTo> {
|
|
22
|
-
$init(leyyo: Leyyo): void;
|
|
23
|
-
}
|
|
24
|
-
export interface TypeOpt extends AssertionOpt {
|
|
25
|
-
silent?: true;
|
|
26
|
-
children?: unknown;
|
|
27
|
-
}
|
|
28
|
-
export type TypeFnLambda<T = unknown, O extends TypeOpt = TypeOpt> = (value: unknown, opt?: O) => T;
|
|
29
|
-
export interface TypeChildOpt<T = unknown> extends TypeOpt {
|
|
30
|
-
fn?: TypeFnLambda<T>;
|
|
31
|
-
}
|
|
32
|
-
export interface TypeArrayChildOpt<V extends TypeChildOpt = TypeChildOpt> extends Dict<TypeChildOpt> {
|
|
33
|
-
value?: V;
|
|
34
|
-
}
|
|
35
|
-
export interface TypeArrayOpt<V extends TypeChildOpt = TypeChildOpt> extends TypeOpt {
|
|
36
|
-
children?: TypeArrayChildOpt<V>;
|
|
37
|
-
}
|
|
38
|
-
export interface TypeDictChildOpt<K extends TypeChildOpt = TypeChildOpt, V extends TypeChildOpt = TypeChildOpt> extends Record<string, TypeChildOpt> {
|
|
39
|
-
key?: K;
|
|
40
|
-
value?: V;
|
|
41
|
-
}
|
|
42
|
-
export interface TypeObjectOpt<K extends TypeChildOpt = TypeChildOpt, V extends TypeChildOpt = TypeChildOpt> extends TypeOpt {
|
|
43
|
-
children?: TypeDictChildOpt<K, V>;
|
|
44
|
-
}
|
|
45
|
-
export interface TypeEnumOpt<E extends KeyValue = KeyValue> extends TypeOpt {
|
|
46
|
-
map: EnumerationMap<E>;
|
|
47
|
-
alt?: EnumerationAlt<E>;
|
|
48
|
-
}
|
|
49
|
-
export type EnumerationMap<E extends KeyValue = KeyValue> = Dict<E>;
|
|
50
|
-
export type EnumerationAlt<E extends KeyValue = KeyValue> = Dict<E>;
|
package/package.json
CHANGED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Arr } from "../aliases";
|
|
2
|
-
import { CallbackWhenDefinedLambda, CommonCallback, CommonCallbackDefined, CommonCallbackSecure } from "./index-types";
|
|
3
|
-
import { Leyyo } from "../leyyo";
|
|
4
|
-
export declare class CommonCallbackImpl implements CommonCallback, CommonCallbackSecure {
|
|
5
|
-
private _waitingForCallbacks;
|
|
6
|
-
private _attachedCallbacks;
|
|
7
|
-
private _waitingForProviders;
|
|
8
|
-
private _definedProviders;
|
|
9
|
-
fqnName(value: any): string;
|
|
10
|
-
/**
|
|
11
|
-
* Default constructor
|
|
12
|
-
*
|
|
13
|
-
* Responsibilities
|
|
14
|
-
* - Create repositories => ie: callbacks
|
|
15
|
-
* - Trigger clear pending operation
|
|
16
|
-
* */
|
|
17
|
-
constructor();
|
|
18
|
-
$init(leyyo: Leyyo): void;
|
|
19
|
-
/**
|
|
20
|
-
* Clear jobs in the queue which named as pending
|
|
21
|
-
*
|
|
22
|
-
* Because the expected callback may not be defined
|
|
23
|
-
* */
|
|
24
|
-
private _clearPending;
|
|
25
|
-
get $secure(): CommonCallbackSecure;
|
|
26
|
-
attachCallback(name: string, fn: Function): void;
|
|
27
|
-
queueForCallback(name: string, ...args: Arr): boolean;
|
|
28
|
-
get $back(): CommonCallback;
|
|
29
|
-
whenProviderDefined<T extends CommonCallbackDefined = CommonCallbackDefined>(name: string, consumer: Function, callback: CallbackWhenDefinedLambda<T>): void;
|
|
30
|
-
defineProvider<T extends CommonCallbackDefined = CommonCallbackDefined>(name: string, producer: Function, instance: T): void;
|
|
31
|
-
}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CommonCallbackImpl = void 0;
|
|
4
|
-
const constants_1 = require("../constants");
|
|
5
|
-
const error_1 = require("../error");
|
|
6
|
-
const internal_1 = require("../internal");
|
|
7
|
-
class CommonCallbackImpl {
|
|
8
|
-
fqnName(value) {
|
|
9
|
-
switch (typeof value) {
|
|
10
|
-
case "function":
|
|
11
|
-
return value.name;
|
|
12
|
-
case "object":
|
|
13
|
-
return value.constructor.name;
|
|
14
|
-
case "string":
|
|
15
|
-
return value;
|
|
16
|
-
default:
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Default constructor
|
|
22
|
-
*
|
|
23
|
-
* Responsibilities
|
|
24
|
-
* - Create repositories => ie: callbacks
|
|
25
|
-
* - Trigger clear pending operation
|
|
26
|
-
* */
|
|
27
|
-
constructor() {
|
|
28
|
-
// clear after 1 minute
|
|
29
|
-
setTimeout(() => this._clearPending(), 60000);
|
|
30
|
-
}
|
|
31
|
-
$init(leyyo) {
|
|
32
|
-
this._waitingForCallbacks = leyyo.storage.newMap(`${internal_1.FQN_PCK}/waitingForCallbacks`);
|
|
33
|
-
this._attachedCallbacks = leyyo.storage.newMap(`${internal_1.FQN_PCK}/attachedCallbacks`);
|
|
34
|
-
this._waitingForProviders = leyyo.storage.newMap(`${internal_1.FQN_PCK}/waitingForProviders`);
|
|
35
|
-
this._definedProviders = leyyo.storage.newMap(`${internal_1.FQN_PCK}/definedProviders`);
|
|
36
|
-
// define itself temporarily for fqn name
|
|
37
|
-
this.defineProvider(constants_1.LY_ATTACHED_FQN, CommonCallbackImpl, {
|
|
38
|
-
proper: false,
|
|
39
|
-
name: this.fqnName,
|
|
40
|
-
});
|
|
41
|
-
// when new fqn provider is defined, replace temporary name method
|
|
42
|
-
this.whenProviderDefined(constants_1.LY_ATTACHED_FQN, CommonCallbackImpl, (ins) => {
|
|
43
|
-
if (typeof ins.name === 'function') {
|
|
44
|
-
this.fqnName = ins.name;
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Clear jobs in the queue which named as pending
|
|
50
|
-
*
|
|
51
|
-
* Because the expected callback may not be defined
|
|
52
|
-
* */
|
|
53
|
-
_clearPending() {
|
|
54
|
-
for (const [name,] of this._waitingForCallbacks.entries()) {
|
|
55
|
-
const rec = this._attachedCallbacks.get(name);
|
|
56
|
-
if (rec && !rec.initialization) {
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
59
|
-
this._waitingForCallbacks.delete(name);
|
|
60
|
-
console.log(`callback.cleared.pending => {name: ${name}}`);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
get $secure() {
|
|
64
|
-
return this;
|
|
65
|
-
}
|
|
66
|
-
attachCallback(name, fn) {
|
|
67
|
-
if (!name || typeof name !== 'string') {
|
|
68
|
-
throw new Error(`callback.invalid.name => {type: ${typeof name}}`);
|
|
69
|
-
}
|
|
70
|
-
// callback attached
|
|
71
|
-
this._attachedCallbacks.set(name, { fn });
|
|
72
|
-
// check waiting records, to be called
|
|
73
|
-
if (this._waitingForCallbacks.has(name)) {
|
|
74
|
-
this._waitingForCallbacks.get(name).forEach(item => {
|
|
75
|
-
fn(...item);
|
|
76
|
-
});
|
|
77
|
-
this._waitingForCallbacks.delete(name);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
queueForCallback(name, ...args) {
|
|
81
|
-
if (!name || typeof name !== 'string') {
|
|
82
|
-
throw new Error(`callback.invalid.name => {type: ${typeof name}}`);
|
|
83
|
-
}
|
|
84
|
-
// callback already exists
|
|
85
|
-
if (this._attachedCallbacks.has(name)) {
|
|
86
|
-
const rec = this._attachedCallbacks.get(name);
|
|
87
|
-
rec.fn(...args);
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
// callback does not exist yet, so wait to be attached
|
|
91
|
-
if (this._waitingForCallbacks.has(name)) {
|
|
92
|
-
this._waitingForCallbacks.get(name).push(args);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
this._waitingForCallbacks.set(name, [args]);
|
|
96
|
-
}
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
get $back() {
|
|
100
|
-
return undefined;
|
|
101
|
-
}
|
|
102
|
-
whenProviderDefined(name, consumer, callback) {
|
|
103
|
-
if (!name || typeof name !== 'string') {
|
|
104
|
-
throw new error_1.DeveloperException(`callback.invalid.name`, { type: typeof name });
|
|
105
|
-
}
|
|
106
|
-
if (!this._waitingForProviders.has(name)) {
|
|
107
|
-
this._waitingForProviders.set(name, []);
|
|
108
|
-
}
|
|
109
|
-
if (this._definedProviders.has(name)) {
|
|
110
|
-
const ins = this._definedProviders.get(name);
|
|
111
|
-
if (ins.producer !== consumer) {
|
|
112
|
-
callback(ins);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
this._waitingForProviders.get(name).push({ consumer, callback });
|
|
116
|
-
}
|
|
117
|
-
defineProvider(name, producer, instance) {
|
|
118
|
-
if (!name || typeof name !== 'string') {
|
|
119
|
-
throw new error_1.DeveloperException(`callback.invalid.name`, { type: typeof name });
|
|
120
|
-
}
|
|
121
|
-
const ins = Object.assign(Object.assign({}, instance), { producer });
|
|
122
|
-
this._definedProviders.set(name, ins);
|
|
123
|
-
if (instance.proper) {
|
|
124
|
-
if (this._waitingForProviders.has(name)) {
|
|
125
|
-
this._waitingForProviders.get(name).forEach(item => {
|
|
126
|
-
if (item.consumer !== producer) {
|
|
127
|
-
item.callback(instance);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
exports.CommonCallbackImpl = CommonCallbackImpl;
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Arr, ShiftMain, ShiftSecure } from "../aliases";
|
|
2
|
-
import { Leyyo } from "../leyyo";
|
|
3
|
-
/**
|
|
4
|
-
* Callback repository, it collects all jobs and fire them when callback is defined
|
|
5
|
-
* */
|
|
6
|
-
export interface CommonCallback extends ShiftSecure<CommonCallbackSecure> {
|
|
7
|
-
/**
|
|
8
|
-
* Attach a callback
|
|
9
|
-
*
|
|
10
|
-
* @param {string} name
|
|
11
|
-
* @param {Function} fn
|
|
12
|
-
*
|
|
13
|
-
* Notes:
|
|
14
|
-
* - name should be regular string
|
|
15
|
-
* - After attached, it should call all waiting calls in the queue
|
|
16
|
-
* */
|
|
17
|
-
attachCallback(name: string, fn: Function): void;
|
|
18
|
-
/**
|
|
19
|
-
* Add a call into queue, which to be executed by appropriate callback
|
|
20
|
-
*
|
|
21
|
-
* @param {string} name
|
|
22
|
-
* @param {Array<any>} args
|
|
23
|
-
* @returns {boolean} - callback exists?
|
|
24
|
-
*
|
|
25
|
-
* Notes:
|
|
26
|
-
* - name should be regular string
|
|
27
|
-
* */
|
|
28
|
-
queueForCallback(name: string, ...args: Arr): boolean;
|
|
29
|
-
fqnName(value: any): string;
|
|
30
|
-
/**
|
|
31
|
-
* Informs when callback is changed
|
|
32
|
-
*
|
|
33
|
-
* @param {string} name
|
|
34
|
-
* @param {Function} consumer
|
|
35
|
-
* @param {CallbackWhenDefinedLambda} callback
|
|
36
|
-
*
|
|
37
|
-
* Notes:
|
|
38
|
-
* - name should be regular string
|
|
39
|
-
* - callback should be regular function
|
|
40
|
-
* - name should not be already defined
|
|
41
|
-
* */
|
|
42
|
-
whenProviderDefined<T extends CommonCallbackDefined = CommonCallbackDefined>(name: string, consumer: Function, callback: CallbackWhenDefinedLambda<T>): void;
|
|
43
|
-
/**
|
|
44
|
-
* Defines a provider to replace temporary providers
|
|
45
|
-
*
|
|
46
|
-
* @param {string} name
|
|
47
|
-
* @param {Function} producer
|
|
48
|
-
* @param {Object} instance
|
|
49
|
-
*
|
|
50
|
-
* Notes:
|
|
51
|
-
* - name should be regular string
|
|
52
|
-
* */
|
|
53
|
-
defineProvider<T extends CommonCallbackDefined = CommonCallbackDefined>(name: string, producer: Function, instance: T): void;
|
|
54
|
-
}
|
|
55
|
-
export interface CommonCallbackSecure extends ShiftMain<CommonCallback> {
|
|
56
|
-
$init(leyyo: Leyyo): void;
|
|
57
|
-
}
|
|
58
|
-
export interface CallbackRec {
|
|
59
|
-
initialization?: true;
|
|
60
|
-
fn: Function;
|
|
61
|
-
}
|
|
62
|
-
export interface CommonCallbackDefinedInternal extends CommonCallbackDefined {
|
|
63
|
-
producer: Function;
|
|
64
|
-
}
|
|
65
|
-
export interface CommonCallbackDefined {
|
|
66
|
-
proper: boolean;
|
|
67
|
-
}
|
|
68
|
-
export interface CommonCallbackDefinedItem {
|
|
69
|
-
consumer: Function;
|
|
70
|
-
callback: CallbackWhenDefinedLambda;
|
|
71
|
-
}
|
|
72
|
-
export interface CommonFqnCb extends CommonCallbackDefined {
|
|
73
|
-
name(value: any): string;
|
|
74
|
-
}
|
|
75
|
-
export type CallbackWhenDefinedLambda<T extends CommonCallbackDefined = CommonCallbackDefined> = (instance: T) => void;
|
package/dist/callback/index.d.ts
DELETED
package/dist/literals.d.ts
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Weak True items
|
|
3
|
-
* */
|
|
4
|
-
export declare const PrimitiveItems: readonly ["string", "number", "bigint", "boolean"];
|
|
5
|
-
/**
|
|
6
|
-
* Weak True
|
|
7
|
-
* */
|
|
8
|
-
export type Primitive = typeof PrimitiveItems[number];
|
|
9
|
-
/**
|
|
10
|
-
* Weak True items
|
|
11
|
-
* */
|
|
12
|
-
export declare const RealValueItems: readonly ["string", "number", "bigint", "boolean", "object", "function"];
|
|
13
|
-
/**
|
|
14
|
-
* Weak True
|
|
15
|
-
* */
|
|
16
|
-
export type RealValue = typeof RealValueItems[number];
|
|
17
|
-
/**
|
|
18
|
-
* Weak True items
|
|
19
|
-
* */
|
|
20
|
-
export declare const KeyValueItems: readonly ["string", "number"];
|
|
21
|
-
/**
|
|
22
|
-
* Weak True items
|
|
23
|
-
* */
|
|
24
|
-
export declare const WeakTrueItems: readonly ["1", "true", "t", "yes", "y", "on"];
|
|
25
|
-
/**
|
|
26
|
-
* Weak True
|
|
27
|
-
* */
|
|
28
|
-
export type WeakTrue = typeof WeakTrueItems[number];
|
|
29
|
-
/**
|
|
30
|
-
* Weak False items
|
|
31
|
-
* */
|
|
32
|
-
export declare const WeakFalseItems: readonly ["0", "-1", "false", "f", "no", "n", "off"];
|
|
33
|
-
/**
|
|
34
|
-
* Weak False
|
|
35
|
-
* */
|
|
36
|
-
export type WeakFalse = typeof WeakFalseItems[number];
|
|
37
|
-
/**
|
|
38
|
-
* Weak Boolean
|
|
39
|
-
* */
|
|
40
|
-
export type WeakBoolean = WeakTrue & WeakFalse;
|
|
41
|
-
/**
|
|
42
|
-
* Http Method items
|
|
43
|
-
* */
|
|
44
|
-
export declare const HttpMethodItems: readonly ["delete", "get", "head", "link", "options", "patch", "post", "purge", "put", "unlink"];
|
|
45
|
-
/**
|
|
46
|
-
* Http Method
|
|
47
|
-
* */
|
|
48
|
-
export type HttpMethod = typeof HttpMethodItems[number];
|
|
49
|
-
/**
|
|
50
|
-
* Http Place items
|
|
51
|
-
* */
|
|
52
|
-
export declare const HttpPlaceItems: readonly ["query", "body", "header", "path"];
|
|
53
|
-
/**
|
|
54
|
-
* Http Place
|
|
55
|
-
* */
|
|
56
|
-
export type HttpPlace = typeof HttpPlaceItems[number];
|
|
57
|
-
/**
|
|
58
|
-
* Severity items
|
|
59
|
-
* */
|
|
60
|
-
export declare const SeverityItems: readonly ["debug", "error", "fatal", "info", "log", "trace", "warn"];
|
|
61
|
-
/**
|
|
62
|
-
* Severity for log and errors
|
|
63
|
-
* */
|
|
64
|
-
export type Severity = typeof SeverityItems[number];
|
|
65
|
-
/**
|
|
66
|
-
* Environment items
|
|
67
|
-
* */
|
|
68
|
-
export declare const EnvironmentItems: readonly ["automation", "development", "local", "production", "staging", "test"];
|
|
69
|
-
/**
|
|
70
|
-
* Environment
|
|
71
|
-
* */
|
|
72
|
-
export type Environment = typeof EnvironmentItems[number];
|
|
73
|
-
/**
|
|
74
|
-
* Country code items
|
|
75
|
-
* */
|
|
76
|
-
export declare const CountryCodeItems: readonly ["AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CS", "CU", "CV", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "ST", "SV", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW"];
|
|
77
|
-
/**
|
|
78
|
-
* Country code
|
|
79
|
-
* */
|
|
80
|
-
export type CountryCode = typeof CountryCodeItems[number];
|
|
81
|
-
/**
|
|
82
|
-
* Language code items
|
|
83
|
-
* */
|
|
84
|
-
export declare const LanguageCodeItems: readonly ["af", "an", "ar", "as", "ast", "az", "be", "bg", "bn", "br", "bs", "ca", "ce", "ch", "co", "cr", "cs", "cv", "cy", "da", "de", "el", "en", "eo", "es", "et", "eu", "fa", "fi", "fj", "fo", "fr", "fur", "fy", "ga", "gd", "gl", "gu", "he", "hi", "hr", "hsb", "ht", "hu", "hy", "id", "is", "it", "iu", "ja", "ji", "ka", "kk", "km", "kn", "ko", "ks", "ky", "la", "lb", "lt", "lv", "mi", "mk", "ml", "mo", "mr", "ms", "mt", "my", "nb", "ne", "ng", "nl", "nn", "no", "nv", "oc", "om", "or", "pa", "pl", "pt", "qu", "rm", "ro", "ru", "sa", "sb", "sc", "sd", "sg", "si", "sk", "sl", "so", "sq", "sr", "sv", "sw", "sx", "sz", "ta", "te", "th", "tig", "tk", "tlh", "tn", "tr", "ts", "tt", "uk", "ur", "ve", "vi", "vo", "wa", "xh", "zh", "zu"];
|
|
85
|
-
/**
|
|
86
|
-
* Language codes
|
|
87
|
-
* */
|
|
88
|
-
export type LanguageCode = typeof LanguageCodeItems[number];
|
|
89
|
-
/**
|
|
90
|
-
* Locale code items
|
|
91
|
-
* */
|
|
92
|
-
export declare const LocaleCodeItems: readonly ["af", "an", "ar", "ar-ae", "ar-bh", "ar-dz", "ar-eg", "ar-iq", "ar-jo", "ar-kw", "ar-lb", "ar-ly", "ar-ma", "ar-om", "ar-qa", "ar-sa", "ar-sy", "ar-tn", "ar-ye", "as", "ast", "az", "be", "bg", "bn", "br", "bs", "ca", "ce", "ch", "co", "cr", "cs", "cv", "cy", "da", "de", "de-at", "de-ch", "de-de", "de-li", "de-lu", "el", "en", "en-au", "en-bz", "en-ca", "en-gb", "en-ie", "en-jm", "en-nz", "en-ph", "en-tt", "en-us", "en-za", "en-zw", "eo", "es", "es-ar", "es-bo", "es-cl", "es-co", "es-cr", "es-do", "es-ec", "es-es", "es-gt", "es-hn", "es-mx", "es-ni", "es-pa", "es-pe", "es-pr", "es-py", "es-sv", "es-uy", "es-ve", "et", "eu", "fa", "fa-ir", "fi", "fj", "fo", "fr", "fr-be", "fr-ca", "fr-ch", "fr-fr", "fr-lu", "fr-mc", "fur", "fy", "ga", "gd", "gd-ie", "gl", "gu", "he", "hi", "hr", "hsb", "ht", "hu", "hy", "id", "is", "it", "it-ch", "iu", "ja", "ji", "ka", "kk", "km", "kn", "ko", "ko-kp", "ko-kr", "ks", "ky", "la", "lb", "lt", "lv", "mi", "mk", "ml", "mo", "mr", "ms", "mt", "my", "nb", "ne", "ng", "nl", "nl-be", "nn", "no", "nv", "oc", "om", "or", "pa", "pa-in", "pa-pk", "pl", "pt", "pt-br", "qu", "rm", "ro", "ro-mo", "ru", "ru-mo", "sa", "sb", "sc", "sd", "sg", "si", "sk", "sl", "so", "sq", "sr", "sv", "sv-fi", "sv-sv", "sw", "sx", "sz", "ta", "te", "th", "tig", "tk", "tlh", "tn", "tr", "ts", "tt", "uk", "ur", "ve", "vi", "vo", "wa", "xh", "zh", "zh-cn", "zh-hk", "zh-sg", "zh-tw", "zu"];
|
|
93
|
-
/**
|
|
94
|
-
* Locale codes
|
|
95
|
-
*
|
|
96
|
-
* Pattern: [Language Code]-[Country Code]
|
|
97
|
-
* */
|
|
98
|
-
export type LocaleCode = typeof LocaleCodeItems[number];
|