@leyyo/env 1.0.8 → 1.0.10
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/core/env-core.impl.d.ts +2 -2
- package/dist/core/env-core.impl.js +59 -32
- package/dist/core/env-core.impl.js.map +1 -1
- package/dist/core/index.types.d.ts +27 -11
- package/dist/field/env-field.impl.d.ts +59 -33
- package/dist/field/env-field.impl.js +294 -116
- package/dist/field/env-field.impl.js.map +1 -1
- package/dist/field/index.types.d.ts +106 -29
- package/dist/scope/env-scope.impl.d.ts +21 -18
- package/dist/scope/env-scope.impl.js +74 -52
- package/dist/scope/env-scope.impl.js.map +1 -1
- package/dist/scope/index.types.d.ts +29 -20
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { EnvScopeConfigure, EnvScopeRuntime } from "../scope";
|
|
2
2
|
import type { EnvBase } from "../core";
|
|
3
3
|
import type { DevOpt, EnumMap, KeyValue } from "@leyyo/common";
|
|
4
4
|
import type { EnumLiteral } from "@leyyo/common/dist/shared/index.types";
|
|
@@ -33,87 +33,164 @@ export interface EnvFieldBoolean {
|
|
|
33
33
|
yes?: string[];
|
|
34
34
|
no?: string[];
|
|
35
35
|
}
|
|
36
|
-
export type EnvFieldPrintTag = 'required' | 'array' | 'secret' | 'ota';
|
|
37
36
|
export interface EnvFieldPrint {
|
|
38
37
|
scope: string;
|
|
39
38
|
key: string;
|
|
40
39
|
value?: any;
|
|
41
40
|
type: EnvFieldType;
|
|
42
|
-
|
|
43
|
-
aliases?: string[];
|
|
41
|
+
opt?: Record<string, unknown>;
|
|
44
42
|
}
|
|
45
|
-
export interface
|
|
43
|
+
export interface EnvFieldConfigure<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> {
|
|
44
|
+
/**
|
|
45
|
+
* Shift to runtime mode
|
|
46
|
+
* */
|
|
47
|
+
get runtime(): EnvFieldRuntime<E, Z>;
|
|
46
48
|
/**
|
|
47
49
|
* Key is required
|
|
48
50
|
* */
|
|
49
|
-
required():
|
|
51
|
+
required(): EnvFieldConfigure<E, Z>;
|
|
52
|
+
/**
|
|
53
|
+
* Key is required or not
|
|
54
|
+
* */
|
|
55
|
+
required(flag: boolean): EnvFieldConfigure<E, Z>;
|
|
56
|
+
/**
|
|
57
|
+
* Key is required by given condition
|
|
58
|
+
* */
|
|
59
|
+
required(fn: EnvFieldOnLambda<E, Z, boolean>): EnvFieldConfigure<E, Z>;
|
|
50
60
|
/**
|
|
51
61
|
* Key is array, so value is split by char
|
|
52
62
|
* */
|
|
53
|
-
array(opt?: EnvFieldArray):
|
|
63
|
+
array(opt?: EnvFieldArray): EnvFieldConfigure<E, Z>;
|
|
54
64
|
/**
|
|
55
65
|
* Key is secret value
|
|
56
66
|
* */
|
|
57
|
-
secret(opt?: EnvFieldSecret):
|
|
67
|
+
secret(opt?: EnvFieldSecret): EnvFieldConfigure<E, Z>;
|
|
68
|
+
/**
|
|
69
|
+
* Cloned key
|
|
70
|
+
* */
|
|
71
|
+
clone(name: string): EnvFieldConfigure<E, Z>;
|
|
58
72
|
/**
|
|
59
73
|
* Set default value
|
|
60
74
|
* */
|
|
61
|
-
def(value: E[Z]):
|
|
75
|
+
def(value: E[Z] | EnvFieldOnLambda<E, Z, E[Z]>): EnvFieldConfigure<E, Z>;
|
|
62
76
|
/**
|
|
63
77
|
* Value may have another aliases
|
|
64
78
|
* */
|
|
65
|
-
alias(...keys: string[]):
|
|
79
|
+
alias(...keys: string[]): EnvFieldConfigure<E, Z>;
|
|
66
80
|
/**
|
|
67
81
|
* Value is string (can be empty)
|
|
68
82
|
* */
|
|
69
|
-
string(opt?: EnvFieldString):
|
|
83
|
+
string(opt?: EnvFieldString): EnvFieldConfigure<E, Z>;
|
|
70
84
|
/**
|
|
71
85
|
* Value is text (can not be empty)
|
|
72
86
|
* */
|
|
73
|
-
text(opt?: EnvFieldString):
|
|
87
|
+
text(opt?: EnvFieldString): EnvFieldConfigure<E, Z>;
|
|
74
88
|
/**
|
|
75
89
|
* Value is float
|
|
76
90
|
* */
|
|
77
|
-
float(opt?: EnvFieldFloat):
|
|
91
|
+
float(opt?: EnvFieldFloat): EnvFieldConfigure<E, Z>;
|
|
78
92
|
/**
|
|
79
93
|
* Value is integer
|
|
80
94
|
* */
|
|
81
|
-
integer(opt?: EnvFieldInteger):
|
|
95
|
+
integer(opt?: EnvFieldInteger): EnvFieldConfigure<E, Z>;
|
|
82
96
|
/**
|
|
83
97
|
* Value is boolean
|
|
84
98
|
* */
|
|
85
|
-
boolean(opt?: EnvFieldBoolean):
|
|
99
|
+
boolean(opt?: EnvFieldBoolean): EnvFieldConfigure<E, Z>;
|
|
86
100
|
/**
|
|
87
101
|
* Value is literal
|
|
88
102
|
* */
|
|
89
|
-
literal<L extends KeyValue = string>(keys: EnumLiteral<L>):
|
|
103
|
+
literal<L extends KeyValue = string>(keys: EnumLiteral<L>): EnvFieldConfigure<E, Z>;
|
|
90
104
|
/**
|
|
91
105
|
* Value is enumeration
|
|
92
106
|
* */
|
|
93
|
-
enumeration<L extends KeyValue = string>(map: EnumMap<L>):
|
|
107
|
+
enumeration<L extends KeyValue = string>(map: EnumMap<L>): EnvFieldConfigure<E, Z>;
|
|
108
|
+
/**
|
|
109
|
+
* Emit an event when ota is occurred
|
|
110
|
+
* */
|
|
111
|
+
onOta(fn?: EnvFieldOnLambda<E, Z, void>): EnvFieldConfigure<E, Z>;
|
|
112
|
+
/**
|
|
113
|
+
* Emit an event when value is changed
|
|
114
|
+
* */
|
|
115
|
+
onChange(fn: EnvFieldOnLambda<E, Z, void>): EnvFieldConfigure<E, Z>;
|
|
116
|
+
/**
|
|
117
|
+
* Emit an event when value is set
|
|
118
|
+
* */
|
|
119
|
+
onSet(fn: EnvFieldOnLambda<E, Z, void>): EnvFieldConfigure<E, Z>;
|
|
94
120
|
/**
|
|
95
|
-
*
|
|
121
|
+
* Set cast function, please take attention
|
|
96
122
|
* */
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
123
|
+
cast(fn: EnvFieldCastLambda<E, Z>): EnvFieldConfigure<E, Z>;
|
|
124
|
+
/**
|
|
125
|
+
* Set asset function, please take attention
|
|
126
|
+
* */
|
|
127
|
+
assert(fn: EnvFieldAssertLambda): EnvFieldConfigure<E, Z>;
|
|
100
128
|
/**
|
|
101
129
|
* Go back to scope
|
|
102
130
|
* */
|
|
103
|
-
end():
|
|
131
|
+
get end(): EnvScopeConfigure<E>;
|
|
132
|
+
}
|
|
133
|
+
export interface EnvFieldRuntime<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> {
|
|
104
134
|
/**
|
|
105
135
|
* Scope
|
|
106
136
|
* */
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
137
|
+
readonly scope: EnvScopeRuntime<E>;
|
|
138
|
+
/**
|
|
139
|
+
* Name of field
|
|
140
|
+
* */
|
|
141
|
+
readonly name: Z;
|
|
142
|
+
/**
|
|
143
|
+
* Shift to configure mode
|
|
144
|
+
* */
|
|
145
|
+
get configure(): EnvFieldConfigure<E, Z>;
|
|
146
|
+
/**
|
|
147
|
+
* Shift to secure mode
|
|
148
|
+
* */
|
|
149
|
+
get $secure(): EnvFieldSecure<E, Z>;
|
|
150
|
+
/**
|
|
151
|
+
* Read value, and call cast (if defined), assert (if defined), onChanged (if changed), onSet (if exists)
|
|
152
|
+
* */
|
|
153
|
+
read(): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Print value and other settings
|
|
156
|
+
* */
|
|
157
|
+
print(): EnvFieldPrint;
|
|
158
|
+
/**
|
|
159
|
+
* Return raw value
|
|
160
|
+
* */
|
|
161
|
+
get raw(): E[Z] | undefined;
|
|
162
|
+
/**
|
|
163
|
+
* Value is being set from ota
|
|
164
|
+
* */
|
|
165
|
+
fromOta(value: unknown): boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Set value with all controls
|
|
168
|
+
* */
|
|
169
|
+
set(value: E[Z]): void;
|
|
170
|
+
}
|
|
171
|
+
export interface EnvFieldSecure<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> {
|
|
172
|
+
/**
|
|
173
|
+
* Shift to runtime mode
|
|
174
|
+
* */
|
|
175
|
+
get runtime(): EnvFieldRuntime<E, Z>;
|
|
176
|
+
/**
|
|
177
|
+
* Set value without any control
|
|
178
|
+
* */
|
|
179
|
+
$set(value: unknown): void;
|
|
180
|
+
/**
|
|
181
|
+
* Set cast function without any control
|
|
182
|
+
* */
|
|
183
|
+
$cast(fn: EnvFieldCastLambda<E, Z>): void;
|
|
184
|
+
/**
|
|
185
|
+
* Set asset function without any control
|
|
186
|
+
* */
|
|
187
|
+
$assert(fn: EnvFieldAssertLambda): void;
|
|
188
|
+
}
|
|
189
|
+
export interface EnvField<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> extends EnvFieldConfigure<E, Z>, EnvFieldRuntime<E, Z>, EnvFieldSecure<E, Z> {
|
|
113
190
|
}
|
|
114
191
|
export type EnvFieldCastBasicLambda<T> = (value: unknown, opt: DevOpt, required: boolean) => T | undefined;
|
|
115
192
|
export type EnvFieldCastEnumLambda<T extends KeyValue> = (value: unknown, keys: unknown, opt: DevOpt, required: boolean) => T | undefined;
|
|
116
|
-
export type
|
|
193
|
+
export type EnvFieldOnLambda<E extends EnvBase = EnvBase, Z extends keyof E = keyof E, R = unknown> = (field: EnvFieldRuntime<E, Z>) => R;
|
|
117
194
|
export interface EnvFieldLambdaItem {
|
|
118
195
|
string: EnvFieldCastBasicLambda<string>;
|
|
119
196
|
text: EnvFieldCastBasicLambda<string>;
|
|
@@ -1,31 +1,34 @@
|
|
|
1
|
-
import type { EnvBase,
|
|
2
|
-
import type {
|
|
3
|
-
import
|
|
1
|
+
import type { EnvBase, EnvCoreRuntime } from "../core";
|
|
2
|
+
import type { EnvFieldConfigure, EnvFieldPrint, EnvFieldRuntime } from "../field";
|
|
3
|
+
import { EnvScope, EnvScopeConfigure, EnvScopeOnLambda, EnvScopeRuntime, EnvScopeSecure } from "./index.types";
|
|
4
4
|
export declare class EnvScopeImpl<E extends EnvBase = EnvBase> implements EnvScope<E> {
|
|
5
|
-
readonly core:
|
|
5
|
+
readonly core: EnvCoreRuntime;
|
|
6
6
|
readonly name: string;
|
|
7
7
|
private _raw;
|
|
8
8
|
private _run;
|
|
9
9
|
private readonly _fields;
|
|
10
10
|
private readonly _otaList;
|
|
11
11
|
private _onOta;
|
|
12
|
-
private
|
|
12
|
+
private _onChangeList;
|
|
13
13
|
private _onSet;
|
|
14
|
-
constructor(core:
|
|
15
|
-
field<Z extends keyof E = keyof E>(name: Z):
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
constructor(core: EnvCoreRuntime, name: string);
|
|
15
|
+
field<Z extends keyof E = keyof E>(name: Z): EnvFieldConfigure<E, Z>;
|
|
16
|
+
uses<E2 extends EnvBase = EnvBase>(scope: string | EnvScopeRuntime<E2>): EnvScopeConfigure<E>;
|
|
17
|
+
onChange(fn: EnvScopeOnLambda<E, void>): EnvScopeConfigure<E>;
|
|
18
|
+
onSet(fn: EnvScopeOnLambda<E, void>): EnvScopeConfigure<E>;
|
|
19
|
+
onOta(fn: EnvScopeOnLambda<E, void>): EnvScopeConfigure<E>;
|
|
20
|
+
get<Z extends keyof E = keyof E>(name: Z): EnvFieldRuntime<E, Z>;
|
|
21
|
+
has<Z extends keyof E = keyof E>(name: Z): boolean;
|
|
22
|
+
read(): void;
|
|
23
23
|
print(): EnvFieldPrint[];
|
|
24
24
|
get raw(): E;
|
|
25
|
+
refresh(): void;
|
|
26
|
+
clear(): void;
|
|
27
|
+
fromOta(values: Partial<E>): void;
|
|
28
|
+
$read(): void;
|
|
25
29
|
$print(): EnvFieldPrint[];
|
|
26
|
-
$run(): void;
|
|
27
|
-
$refresh(): void;
|
|
28
|
-
$clear(): void;
|
|
29
30
|
$addOta(name: keyof E): void;
|
|
30
|
-
|
|
31
|
+
get runtime(): EnvScopeRuntime<E>;
|
|
32
|
+
get configure(): EnvScopeConfigure<E>;
|
|
33
|
+
get $secure(): EnvScopeSecure<E>;
|
|
31
34
|
}
|
|
@@ -7,12 +7,14 @@ const env_field_impl_1 = require("../field/env-field.impl");
|
|
|
7
7
|
const error_enveloper_1 = require("@leyyo/error-enveloper");
|
|
8
8
|
const WHERE = `${internal_1.FQN}.EnvScopeImpl`;
|
|
9
9
|
class EnvScopeImpl {
|
|
10
|
+
// endregion property
|
|
10
11
|
constructor(core, name) {
|
|
11
12
|
this.core = core;
|
|
12
13
|
this.name = name;
|
|
13
14
|
this._fields = common_1.$repo.newMap(WHERE, 'fields'); // field name x field instance
|
|
14
15
|
this._otaList = common_1.$repo.newArray(WHERE, 'otaList'); // field name
|
|
15
16
|
}
|
|
17
|
+
// region configure
|
|
16
18
|
field(name) {
|
|
17
19
|
common_1.$assert.text(name, () => {
|
|
18
20
|
return { where: WHERE, scope: this.name, method: 'field' };
|
|
@@ -22,35 +24,20 @@ class EnvScopeImpl {
|
|
|
22
24
|
}
|
|
23
25
|
const ins = new env_field_impl_1.EnvFieldImpl(this, name);
|
|
24
26
|
this._fields.set(name, ins);
|
|
25
|
-
this.core.$addKey(name,
|
|
27
|
+
this.core.$secure.$addKey(name, ins);
|
|
26
28
|
return ins;
|
|
27
29
|
}
|
|
28
|
-
get(name) {
|
|
29
|
-
common_1.$assert.text(name, () => {
|
|
30
|
-
return { where: WHERE, scope: this.name, method: 'get' };
|
|
31
|
-
});
|
|
32
|
-
if (!this._fields.has(name)) {
|
|
33
|
-
throw common_1.$dev.developerError2(internal_1.FQN, 701, { message: 'Field could not found', where: WHERE, scope: this.name, method: 'get', field: name });
|
|
34
|
-
}
|
|
35
|
-
return this._fields.get(name);
|
|
36
|
-
}
|
|
37
|
-
has(field) {
|
|
38
|
-
common_1.$assert.text(field, () => {
|
|
39
|
-
return { where: WHERE, scope: this.name, method: 'has' };
|
|
40
|
-
});
|
|
41
|
-
return this._fields.has(field);
|
|
42
|
-
}
|
|
43
30
|
uses(scope) {
|
|
44
31
|
if (typeof scope === 'string') {
|
|
45
|
-
if (this.core.
|
|
46
|
-
this.core.
|
|
32
|
+
if (this.core.hasScope(scope)) {
|
|
33
|
+
this.core.getScope(scope).$secure.$read();
|
|
47
34
|
}
|
|
48
35
|
else {
|
|
49
36
|
console.warn(`Not found scope: ${scope}`);
|
|
50
37
|
}
|
|
51
38
|
}
|
|
52
39
|
else if (common_1.$is.object(scope) && scope instanceof env_field_impl_1.EnvFieldImpl) {
|
|
53
|
-
scope.$
|
|
40
|
+
scope.$secure.$read();
|
|
54
41
|
}
|
|
55
42
|
else {
|
|
56
43
|
console.warn(`Invalid scope type: ${typeof scope}`);
|
|
@@ -59,7 +46,10 @@ class EnvScopeImpl {
|
|
|
59
46
|
}
|
|
60
47
|
onChange(fn) {
|
|
61
48
|
common_1.$assert.func(fn, { where: WHERE, scope: this.name, method: 'onChange' });
|
|
62
|
-
this.
|
|
49
|
+
if (!Array.isArray(this._onChangeList)) {
|
|
50
|
+
this._onChangeList = [];
|
|
51
|
+
}
|
|
52
|
+
this._onChangeList.push(fn);
|
|
63
53
|
return this;
|
|
64
54
|
}
|
|
65
55
|
onSet(fn) {
|
|
@@ -72,8 +62,25 @@ class EnvScopeImpl {
|
|
|
72
62
|
this._onOta = fn;
|
|
73
63
|
return this;
|
|
74
64
|
}
|
|
75
|
-
|
|
76
|
-
|
|
65
|
+
// endregion configure
|
|
66
|
+
// region runtime
|
|
67
|
+
get(name) {
|
|
68
|
+
common_1.$assert.text(name, () => {
|
|
69
|
+
return { where: WHERE, scope: this.name, method: 'get' };
|
|
70
|
+
});
|
|
71
|
+
if (!this._fields.has(name)) {
|
|
72
|
+
throw common_1.$dev.developerError2(internal_1.FQN, 701, { message: 'Field could not found', where: WHERE, scope: this.name, method: 'get', field: name });
|
|
73
|
+
}
|
|
74
|
+
return this._fields.get(name);
|
|
75
|
+
}
|
|
76
|
+
has(name) {
|
|
77
|
+
common_1.$assert.text(name, () => {
|
|
78
|
+
return { where: WHERE, scope: this.name, method: 'has' };
|
|
79
|
+
});
|
|
80
|
+
return this._fields.has(name);
|
|
81
|
+
}
|
|
82
|
+
read() {
|
|
83
|
+
this.core.read();
|
|
77
84
|
}
|
|
78
85
|
print() {
|
|
79
86
|
return this.core.print();
|
|
@@ -89,11 +96,33 @@ class EnvScopeImpl {
|
|
|
89
96
|
});
|
|
90
97
|
return this._raw;
|
|
91
98
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
99
|
+
refresh() {
|
|
100
|
+
this._run = false;
|
|
101
|
+
this._raw = undefined;
|
|
102
|
+
}
|
|
103
|
+
clear() {
|
|
104
|
+
this._raw = undefined;
|
|
105
|
+
}
|
|
106
|
+
fromOta(values) {
|
|
107
|
+
this.refresh();
|
|
108
|
+
if (common_1.$is.bareObject(values)) {
|
|
109
|
+
let changedAny = false;
|
|
110
|
+
for (const [name, value] of Object.entries(values)) {
|
|
111
|
+
const ins = this._fields.get(name);
|
|
112
|
+
if (ins) {
|
|
113
|
+
if (ins.fromOta(value)) {
|
|
114
|
+
changedAny = true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (changedAny && this._onOta) {
|
|
119
|
+
error_enveloper_1.errorEnveloper.handle(() => this._onOta(this), (e) => console.log(`OnOta Error: ${e.message}, where: ${WHERE}, scope: ${this.name}`));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
95
122
|
}
|
|
96
|
-
|
|
123
|
+
// endregion runtime
|
|
124
|
+
// region secure
|
|
125
|
+
$read() {
|
|
97
126
|
if (this._run) {
|
|
98
127
|
return;
|
|
99
128
|
}
|
|
@@ -101,45 +130,38 @@ class EnvScopeImpl {
|
|
|
101
130
|
let changedAny = false;
|
|
102
131
|
Array.from(this._fields.values())
|
|
103
132
|
.forEach(ins => {
|
|
104
|
-
if (ins
|
|
133
|
+
if (ins.read()) {
|
|
105
134
|
changedAny = true;
|
|
106
135
|
}
|
|
107
136
|
});
|
|
108
|
-
if (changedAny && this.
|
|
109
|
-
|
|
137
|
+
if (changedAny && this._onChangeList) {
|
|
138
|
+
this._onChangeList.forEach(fn => {
|
|
139
|
+
error_enveloper_1.errorEnveloper.handle(() => fn(this), (e) => console.log(`OnChange Error: ${e.message}, where: ${WHERE}, scope: ${this.name}`));
|
|
140
|
+
});
|
|
110
141
|
}
|
|
111
142
|
if (this._onSet) {
|
|
112
|
-
error_enveloper_1.errorEnveloper.handle(() => this._onSet(this
|
|
143
|
+
error_enveloper_1.errorEnveloper.handle(() => this._onSet(this), (e) => console.log(`OnSet Error: ${e.message}, where: ${WHERE}, scope: ${this.name}`));
|
|
113
144
|
}
|
|
114
145
|
}
|
|
115
|
-
$
|
|
116
|
-
this.
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
$clear() {
|
|
120
|
-
this._raw = undefined;
|
|
146
|
+
$print() {
|
|
147
|
+
return Array.from(this._fields.values())
|
|
148
|
+
.map(field => field.print());
|
|
121
149
|
}
|
|
122
150
|
$addOta(name) {
|
|
123
151
|
if (!this._otaList.includes(name)) {
|
|
124
152
|
this._otaList.push(name);
|
|
125
153
|
}
|
|
126
154
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
if (changedAny && this._onOta) {
|
|
140
|
-
error_enveloper_1.errorEnveloper.handle(() => this._onOta(this.raw), (e) => console.log(`OnOta Error: ${e.message}, where: ${WHERE}, scope: ${this.name}`));
|
|
141
|
-
}
|
|
142
|
-
}
|
|
155
|
+
// endregion secure
|
|
156
|
+
// region mode
|
|
157
|
+
get runtime() {
|
|
158
|
+
return this;
|
|
159
|
+
}
|
|
160
|
+
get configure() {
|
|
161
|
+
return this;
|
|
162
|
+
}
|
|
163
|
+
get $secure() {
|
|
164
|
+
return this;
|
|
143
165
|
}
|
|
144
166
|
}
|
|
145
167
|
exports.EnvScopeImpl = EnvScopeImpl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-scope.impl.js","sourceRoot":"","sources":["../../src/scope/env-scope.impl.ts"],"names":[],"mappings":";;;AAAA,0CAAgC;AAChC,0CAAwD;AACxD,4DAAqD;AACrD,4DAAsD;AAMtD,MAAM,KAAK,GAAG,GAAG,cAAG,eAAe,CAAC;AAEpC,MAAa,YAAY;IASrB,YAAqB,
|
|
1
|
+
{"version":3,"file":"env-scope.impl.js","sourceRoot":"","sources":["../../src/scope/env-scope.impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,34 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { EnvBase,
|
|
3
|
-
export interface
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
uses(scope:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import type { EnvFieldConfigure, EnvFieldPrint, EnvFieldRuntime } from "../field";
|
|
2
|
+
import type { EnvBase, EnvCoreRuntime } from "../core";
|
|
3
|
+
export interface EnvScopeConfigure<E extends EnvBase = EnvBase> {
|
|
4
|
+
get runtime(): EnvScopeRuntime<E>;
|
|
5
|
+
field<Z extends keyof E = keyof E>(name: Z): EnvFieldConfigure<E, Z>;
|
|
6
|
+
uses(scope: string): EnvScopeConfigure<E>;
|
|
7
|
+
uses<E2 extends EnvBase = EnvBase>(scope: EnvScopeRuntime<E2>): EnvScopeConfigure<E>;
|
|
8
|
+
onChange(fn: EnvScopeOnLambda<E, void>): EnvScopeConfigure<E>;
|
|
9
|
+
onSet(fn: EnvScopeOnLambda<E, void>): EnvScopeConfigure<E>;
|
|
10
|
+
onOta(fn: EnvScopeOnLambda<E, void>): EnvScopeConfigure<E>;
|
|
11
|
+
}
|
|
12
|
+
export interface EnvScopeRuntime<E extends EnvBase = EnvBase> {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly core: EnvCoreRuntime;
|
|
15
|
+
get configure(): EnvScopeConfigure<E>;
|
|
16
|
+
get $secure(): EnvScopeSecure<E>;
|
|
17
|
+
get<Z extends keyof E = keyof E>(name: Z): EnvFieldRuntime<E, Z>;
|
|
18
|
+
has<Z extends keyof E = keyof E>(name: Z): boolean;
|
|
19
|
+
read(): void;
|
|
13
20
|
print(): EnvFieldPrint[];
|
|
14
21
|
get raw(): E;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
22
|
+
refresh(): void;
|
|
23
|
+
clear(): void;
|
|
24
|
+
fromOta(values: Partial<E>): void;
|
|
25
|
+
}
|
|
26
|
+
export interface EnvScopeSecure<E extends EnvBase = EnvBase> {
|
|
27
|
+
get runtime(): EnvScopeRuntime<E>;
|
|
28
|
+
$read(): void;
|
|
18
29
|
$print(): EnvFieldPrint[];
|
|
19
|
-
$refresh(): void;
|
|
20
|
-
$clear(): void;
|
|
21
|
-
$fromOta(values: Partial<E>): void;
|
|
22
30
|
$addOta(name: keyof E): void;
|
|
23
31
|
}
|
|
24
|
-
export
|
|
25
|
-
|
|
32
|
+
export interface EnvScope<E extends EnvBase = EnvBase> extends EnvScopeConfigure<E>, EnvScopeRuntime<E>, EnvScopeSecure<E> {
|
|
33
|
+
}
|
|
34
|
+
export type EnvScopeOnLambda<E extends EnvBase = EnvBase, R = unknown> = (scope: EnvScopeRuntime<E>) => R;
|
package/dist/server.js
CHANGED
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAAA,iCAA+B;AAE/B,cAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAAA,iCAA+B;AAE/B,cAAO,CAAC,IAAI,EAAE,CAAC;AACf,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC"}
|