@leyyo/env 1.0.7 → 1.0.9

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.
@@ -1,2 +1,2 @@
1
- import type { EnvCore } from "./index.types";
2
- export declare const envCore: EnvCore;
1
+ import { EnvCoreRuntime } from "./index.types";
2
+ export declare const envCore: EnvCoreRuntime;
@@ -6,10 +6,13 @@ const env_scope_impl_1 = require("../scope/env-scope.impl");
6
6
  const common_1 = require("@leyyo/common");
7
7
  const WHERE = `${internal_1.FQN}.EnvCore`;
8
8
  class EnvCoreImpl {
9
+ // endregion property
9
10
  constructor() {
11
+ // region property
10
12
  this._scopes = common_1.$repo.newMap(internal_1.FQN, 'scopes'); // scope name x scope instance
11
13
  this._keys = common_1.$repo.newMap(internal_1.FQN, 'keys'); // field name x scope name[]
12
14
  }
15
+ // region configure
13
16
  scope(name) {
14
17
  common_1.$assert.text(name, () => {
15
18
  return { field: 'name', where: WHERE };
@@ -21,81 +24,105 @@ class EnvCoreImpl {
21
24
  this._scopes.set(name, ins);
22
25
  return ins;
23
26
  }
24
- get(name) {
27
+ // endregion configure
28
+ // region runtime
29
+ getScope(name) {
25
30
  common_1.$assert.text(name, () => {
26
- return { field: 'name', where: WHERE };
31
+ return { where: WHERE, method: 'getScope' };
27
32
  });
28
33
  if (!this._scopes.has(name)) {
29
34
  throw common_1.$dev.developerError2(internal_1.FQN, 701, { message: 'Scope could not found', scope: name, where: WHERE });
30
35
  }
31
36
  return this._scopes.get(name);
32
37
  }
33
- has(name) {
38
+ hasScope(name) {
34
39
  common_1.$assert.text(name, () => {
35
- return { field: 'name', where: WHERE };
40
+ return { where: WHERE, method: 'hasScope' };
36
41
  });
37
42
  return this._scopes.has(name);
38
43
  }
44
+ getKey(name) {
45
+ common_1.$assert.text(name, () => {
46
+ return { where: WHERE, method: 'getKey' };
47
+ });
48
+ if (!this._keys.has(name)) {
49
+ throw common_1.$dev.developerError2(internal_1.FQN, 701, { message: 'Key could not found', key: name, where: WHERE });
50
+ }
51
+ return this._keys.get(name);
52
+ }
53
+ hasKey(name) {
54
+ common_1.$assert.text(name, () => {
55
+ return { where: WHERE, method: 'hasKey' };
56
+ });
57
+ return this._keys.has(name);
58
+ }
39
59
  get raw() {
40
60
  return JSON.parse(JSON.stringify(process.env));
41
61
  }
42
62
  get keys() {
43
63
  const doc = {};
44
- for (const [key, scopes] of this._keys.entries()) {
45
- doc[key] = [...scopes];
64
+ for (const [key, value] of this._keys.entries()) {
65
+ doc[key] = Object.assign({}, value);
46
66
  }
47
67
  return doc;
48
68
  }
49
69
  get scopes() {
50
- return Array.from(this._scopes.keys());
70
+ return Array.from(this._scopes.values());
51
71
  }
52
- run() {
72
+ read() {
53
73
  Array.from(this._scopes.values())
54
- .forEach(ins => ins.$run());
74
+ .forEach(ins => ins.$secure.$read());
55
75
  }
56
76
  print() {
57
77
  const result = [];
58
78
  Array.from(this._scopes.values())
59
- .forEach(ins => result.push(...ins.$print()));
79
+ .forEach(ins => result.push(...ins.$secure.$print()));
60
80
  return result;
61
81
  }
62
- $addKey(key, scope) {
63
- if (!this._keys.has(key)) {
64
- this._keys.set(key, [scope]);
65
- }
66
- else {
67
- const scopes = this._keys.get(key);
68
- if (!scopes.includes(scope)) {
69
- scopes.push(scope);
70
- }
71
- }
72
- }
73
- $fromOta(values) {
82
+ fromOta(values) {
74
83
  if (common_1.$is.bareObject(values)) {
75
84
  const scopeMap = {};
76
85
  for (const [key, value] of Object.entries(values)) {
77
86
  if (this._keys.has(key)) {
78
- const scopes = this._keys.get(key);
79
- scopes.forEach(scope => {
80
- if (this._scopes.has(scope)) {
81
- if (scopeMap[scope] === undefined) {
82
- scopeMap[scope] = {};
83
- }
84
- scopeMap[scope][key] = value;
85
- }
86
- });
87
+ const rec = this._keys.get(key);
88
+ const n = rec.field.scope.name;
89
+ if (scopeMap[n] === undefined) {
90
+ scopeMap[n] = {};
91
+ }
92
+ scopeMap[n][key] = value;
87
93
  }
88
94
  }
89
95
  if (Object.keys(scopeMap).length > 0) {
90
96
  for (const [scope, valueMap] of Object.entries(scopeMap)) {
91
97
  const ins = this._scopes.get(scope);
92
98
  if (ins) {
93
- ins.$fromOta(valueMap);
99
+ ins.fromOta(valueMap);
94
100
  }
95
101
  }
96
102
  }
97
103
  }
98
104
  }
105
+ // endregion runtime
106
+ // region secure
107
+ $addKey(key, field, alternative) {
108
+ var _a;
109
+ if (this._keys.has(key)) {
110
+ const existing = this._keys.get(key);
111
+ throw new Error(`Key[${key}] is duplicated! existing: ${existing.field.scope.name}${(_a = existing.alternative) !== null && _a !== void 0 ? _a : ''}, new: ${field.scope.name}${alternative !== null && alternative !== void 0 ? alternative : ''}`);
112
+ }
113
+ this._keys.set(key, { field, alternative });
114
+ }
115
+ // endregion secure
116
+ // region mode
117
+ get runtime() {
118
+ return this;
119
+ }
120
+ get configure() {
121
+ return this;
122
+ }
123
+ get $secure() {
124
+ return this;
125
+ }
99
126
  }
100
127
  exports.envCore = new EnvCoreImpl();
101
128
  //# sourceMappingURL=env-core.impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-core.impl.js","sourceRoot":"","sources":["../../src/core/env-core.impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-core.impl.js","sourceRoot":"","sources":["../../src/core/env-core.impl.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,31 @@
1
- import type { EnvScope } from "../scope";
2
- import type { EnvFieldPrint } from "../field";
1
+ import type { EnvScopeConfigure, EnvScopeRuntime } from "../scope";
2
+ import type { EnvFieldPrint, EnvFieldRuntime } from "../field";
3
3
  export type EnvBase = Object;
4
- export interface EnvCore {
5
- scope<E extends EnvBase = EnvBase>(name: string): EnvScope<E>;
6
- get<E extends EnvBase = EnvBase>(name: string): EnvScope<E>;
7
- has(name: string): boolean;
4
+ export interface EnvCoreConfigure {
5
+ get runtime(): EnvCoreRuntime;
6
+ scope<E extends EnvBase = EnvBase>(name: string): EnvScopeConfigure<E>;
7
+ }
8
+ export interface EnvCoreRuntime {
9
+ get configure(): EnvCoreConfigure;
10
+ get $secure(): EnvCoreSecure;
11
+ getScope(name: string): EnvScopeRuntime;
12
+ hasScope(name: string): boolean;
13
+ getKey(name: string): EnvCoreKeyRec;
14
+ hasKey(name: string): boolean;
8
15
  get raw(): EnvBase;
9
- get keys(): Record<string, string[]>;
10
- get scopes(): string[];
11
- run(): void;
16
+ get keys(): Record<string, EnvCoreKeyRec>;
17
+ get scopes(): EnvScopeRuntime[];
18
+ read(): void;
12
19
  print(): EnvFieldPrint[];
13
- $addKey(key: string, scope: string): void;
14
- $fromOta(values: EnvBase): void;
20
+ fromOta(values: EnvBase): void;
21
+ }
22
+ export interface EnvCoreSecure {
23
+ get runtime(): EnvCoreRuntime;
24
+ $addKey(key: string, field: EnvFieldRuntime, alternative?: string): void;
25
+ }
26
+ export interface EnvCore extends EnvCoreConfigure, EnvCoreRuntime, EnvCoreSecure {
27
+ }
28
+ export interface EnvCoreKeyRec {
29
+ field: EnvFieldRuntime;
30
+ alternative?: string;
15
31
  }
@@ -1,61 +1,91 @@
1
- import { EnumMap } from "@leyyo/common";
2
- import { EnvField, EnvFieldArray, EnvFieldAssertLambda, EnvFieldBoolean, EnvFieldCastLambda, EnvFieldFloat, EnvFieldInteger, EnvFieldOtaLambda, EnvFieldPrint, EnvFieldSecret, EnvFieldString } from "./index.types";
3
- import type { EnvScope } from "../scope";
1
+ import { EnvField, EnvFieldArray, EnvFieldAssertLambda, EnvFieldBoolean, EnvFieldCastLambda, EnvFieldConfigure, EnvFieldFloat, EnvFieldInteger, EnvFieldOnLambda, EnvFieldPrint, EnvFieldRuntime, EnvFieldSecret, EnvFieldSecure, EnvFieldString } from "./index.types";
2
+ import type { EnvScopeConfigure, EnvScopeRuntime } from "../scope";
4
3
  import type { EnvBase } from "../core";
5
- import type { KeyValue } from "@leyyo/common/dist/shared";
6
- import { EnumLiteral } from "@leyyo/common/dist/shared/index.types";
4
+ import type { EnumMap, KeyValue, EnumLiteral } from "@leyyo/common";
7
5
  export declare class EnvFieldImpl<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> implements EnvField<E, Z> {
8
- readonly scope: EnvScope<E>;
6
+ readonly scope: EnvScopeRuntime<E>;
9
7
  readonly name: Z;
10
8
  private readonly _field;
11
- private readonly _where;
9
+ private _required;
10
+ private _requiredFn;
12
11
  private _assert;
13
12
  private _cast;
14
13
  private _def;
15
- private _required;
14
+ private _clone;
16
15
  private _secret;
16
+ private _secretOpt;
17
17
  private _aliases;
18
18
  private _array;
19
- private _otaFn;
19
+ private _arrayOpt;
20
20
  private _initialized;
21
21
  private _type;
22
- private _enumKeys;
22
+ private _typeOpt;
23
+ private _onOta;
24
+ private _onChangeList;
25
+ private _onSet;
26
+ constructor(scope: EnvScopeRuntime<E>, name: Z);
23
27
  private static _lambdaMap;
24
- constructor(scope: EnvScope<E>, name: Z);
25
- private _devOne;
28
+ private _removeOpt;
29
+ private _setOrRemoveOpt;
30
+ private get _devOne();
26
31
  private _devMore;
32
+ private get _findRequired();
27
33
  private _initialize;
28
34
  private get _fromDef();
35
+ private get _plainValue();
36
+ /** {@inheritDoc} */
37
+ required(p1?: boolean | EnvFieldOnLambda<E, Z, boolean>): EnvFieldConfigure<E, Z>;
38
+ /** {@inheritDoc} */
39
+ array(opt?: EnvFieldArray): EnvFieldConfigure<E, Z>;
40
+ /** {@inheritDoc} */
41
+ secret(opt?: EnvFieldSecret): EnvFieldConfigure<E, Z>;
42
+ clone(name: string): EnvFieldConfigure<E, Z>;
43
+ /** {@inheritDoc} */
44
+ def(value: E[Z]): EnvFieldConfigure<E, Z>;
45
+ /** {@inheritDoc} */
46
+ alias(...keys: string[]): EnvFieldConfigure<E, Z>;
47
+ /** {@inheritDoc} */
48
+ string(opt?: EnvFieldString): EnvFieldConfigure<E, Z>;
49
+ /** {@inheritDoc} */
50
+ text(opt?: EnvFieldString): EnvFieldConfigure<E, Z>;
51
+ /** {@inheritDoc} */
52
+ float(opt?: EnvFieldFloat): EnvFieldConfigure<E, Z>;
53
+ /** {@inheritDoc} */
54
+ integer(opt?: EnvFieldInteger): EnvFieldConfigure<E, Z>;
55
+ /** {@inheritDoc} */
56
+ boolean(opt?: EnvFieldBoolean): EnvFieldConfigure<E, Z>;
57
+ /** {@inheritDoc} */
58
+ literal<L extends KeyValue = string>(keys: EnumLiteral<L>): EnvFieldConfigure<E, Z>;
59
+ /** {@inheritDoc} */
60
+ enumeration<L extends KeyValue = string>(map: EnumMap<L>): EnvFieldConfigure<E, Z>;
29
61
  /** {@inheritDoc} */
30
- string(_opt?: EnvFieldString): this;
62
+ onOta(fn?: EnvFieldOnLambda<E, Z, void>): EnvFieldConfigure<E, Z>;
31
63
  /** {@inheritDoc} */
32
- text(_opt?: EnvFieldString): this;
64
+ onChange(fn: EnvFieldOnLambda<E, Z, void>): EnvFieldConfigure<E, Z>;
33
65
  /** {@inheritDoc} */
34
- float(_opt?: EnvFieldFloat): this;
66
+ onSet(fn: EnvFieldOnLambda<E, Z, void>): EnvFieldConfigure<E, Z>;
35
67
  /** {@inheritDoc} */
36
- integer(_opt?: EnvFieldInteger): this;
68
+ cast(fn: EnvFieldCastLambda<E, Z>): EnvFieldConfigure<E, Z>;
37
69
  /** {@inheritDoc} */
38
- boolean(_opt?: EnvFieldBoolean): this;
70
+ assert(fn: EnvFieldAssertLambda): EnvFieldConfigure<E, Z>;
39
71
  /** {@inheritDoc} */
40
- literal<L extends KeyValue = string>(keys: EnumLiteral<L>): this;
72
+ get end(): EnvScopeConfigure<E>;
41
73
  /** {@inheritDoc} */
42
- enumeration<L extends KeyValue = string>(map: EnumMap<L>): this;
74
+ set(value: E[Z]): void;
43
75
  /** {@inheritDoc} */
44
- def(value: E[Z]): this;
76
+ print(): EnvFieldPrint;
45
77
  /** {@inheritDoc} */
46
- required(): this;
78
+ read(): boolean;
47
79
  /** {@inheritDoc} */
48
- array(_opt?: EnvFieldArray): this;
49
- secret(_opt?: EnvFieldSecret): this;
80
+ fromOta(value: unknown): boolean;
50
81
  /** {@inheritDoc} */
51
- ota(fn?: EnvFieldOtaLambda<E, Z>): this;
82
+ get raw(): E[Z] | undefined;
83
+ $set(value: unknown): void;
84
+ $cast(fn: EnvFieldCastLambda<E, Z>): void;
85
+ $assert(fn: EnvFieldAssertLambda): void;
52
86
  /** {@inheritDoc} */
53
- alias(...keys: string[]): this;
87
+ get configure(): EnvFieldConfigure<E, Z>;
54
88
  /** {@inheritDoc} */
55
- end(): EnvScope<E>;
56
- $cast(fn: EnvFieldCastLambda<E, Z>): this;
57
- $assert(fn: EnvFieldAssertLambda): this;
58
- $print(): EnvFieldPrint;
59
- $run(): void;
60
- $fromOta(value: unknown): void;
89
+ get runtime(): EnvFieldRuntime<E, Z>;
90
+ get $secure(): EnvFieldSecure<E, Z>;
61
91
  }