@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.
@@ -1,4 +1,4 @@
1
- import type { EnvScope } from "../scope";
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
- tags?: EnvFieldPrintTag[];
43
- aliases?: string[];
41
+ opt?: Record<string, unknown>;
44
42
  }
45
- export interface EnvField<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> {
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(): this;
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): this;
63
+ array(opt?: EnvFieldArray): EnvFieldConfigure<E, Z>;
54
64
  /**
55
65
  * Key is secret value
56
66
  * */
57
- secret(opt?: EnvFieldSecret): this;
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]): this;
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[]): this;
79
+ alias(...keys: string[]): EnvFieldConfigure<E, Z>;
66
80
  /**
67
81
  * Value is string (can be empty)
68
82
  * */
69
- string(opt?: EnvFieldString): this;
83
+ string(opt?: EnvFieldString): EnvFieldConfigure<E, Z>;
70
84
  /**
71
85
  * Value is text (can not be empty)
72
86
  * */
73
- text(opt?: EnvFieldString): this;
87
+ text(opt?: EnvFieldString): EnvFieldConfigure<E, Z>;
74
88
  /**
75
89
  * Value is float
76
90
  * */
77
- float(opt?: EnvFieldFloat): this;
91
+ float(opt?: EnvFieldFloat): EnvFieldConfigure<E, Z>;
78
92
  /**
79
93
  * Value is integer
80
94
  * */
81
- integer(opt?: EnvFieldInteger): this;
95
+ integer(opt?: EnvFieldInteger): EnvFieldConfigure<E, Z>;
82
96
  /**
83
97
  * Value is boolean
84
98
  * */
85
- boolean(opt?: EnvFieldBoolean): this;
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>): this;
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>): this;
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
- * Value has ota for remote configuration
121
+ * Set cast function, please take attention
96
122
  * */
97
- onOta(fn?: EnvFieldOnChange<E, Z>): this;
98
- onChange(fn: EnvFieldOnChange<E, Z>): this;
99
- onSet(fn: EnvFieldOnChange<E, Z>): this;
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(): EnvScope<E>;
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
- get scope(): EnvScope<E>;
108
- $run(): boolean;
109
- $print(): EnvFieldPrint;
110
- $fromOta(value: unknown): boolean;
111
- $cast(fn: EnvFieldCastLambda<E, Z>): this;
112
- $assert(fn: EnvFieldAssertLambda): this;
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 EnvFieldOnChange<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> = (value: E[Z] | undefined, field?: Z, all?: E) => void;
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, EnvCore } from "../core";
2
- import type { EnvField, EnvFieldPrint } from "../field";
3
- import type { EnvScope, EnvScopeOnChange, EnvScopeOtaLambda } from "./index.types";
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: EnvCore;
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 _onChange;
12
+ private _onChangeList;
13
13
  private _onSet;
14
- constructor(core: EnvCore, name: string);
15
- field<Z extends keyof E = keyof E>(name: Z): EnvField<E, Z>;
16
- get<Z extends keyof E = keyof E>(name: Z): EnvField<E, Z>;
17
- has<Z extends keyof E = keyof E>(field: Z): boolean;
18
- uses<E2 extends EnvBase = EnvBase>(scope: string | EnvScope<E2>): this;
19
- onChange(fn: EnvScopeOnChange<E>): EnvScope<E>;
20
- onSet(fn: EnvScopeOnChange<E>): EnvScope<E>;
21
- onOta(fn: EnvScopeOtaLambda<E>): EnvScope<E>;
22
- run(): void;
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
- $fromOta(values: Partial<E>): void;
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, this.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.has(scope)) {
46
- this.core.get(scope).$run();
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.$run();
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._onChange = fn;
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
- run() {
76
- this.core.run();
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
- $print() {
93
- return Array.from(this._fields.values())
94
- .map(field => field.$print());
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
- $run() {
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.$run()) {
133
+ if (ins.read()) {
105
134
  changedAny = true;
106
135
  }
107
136
  });
108
- if (changedAny && this._onChange) {
109
- error_enveloper_1.errorEnveloper.handle(() => this._onChange(this.raw), (e) => console.log(`OnChange Error: ${e.message}, where: ${WHERE}, scope: ${this.name}`));
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.raw), (e) => console.log(`OnSet Error: ${e.message}, where: ${WHERE}, scope: ${this.name}`));
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
- $refresh() {
116
- this._run = false;
117
- this._raw = undefined;
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
- $fromOta(values) {
128
- this.$refresh();
129
- if (common_1.$is.bareObject(values)) {
130
- let changedAny = false;
131
- for (const [name, value] of Object.entries(values)) {
132
- const ins = this._fields.get(name);
133
- if (ins) {
134
- if (ins.$fromOta(value)) {
135
- changedAny = true;
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":"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"}
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 { EnvField, EnvFieldPrint } from "../field";
2
- import type { EnvBase, EnvCore } from "../core";
3
- export interface EnvScope<E extends EnvBase = EnvBase> {
4
- field<Z extends keyof E = keyof E>(field: Z): EnvField<E, Z>;
5
- get<Z extends keyof E = keyof E>(field: Z): EnvField<E, Z>;
6
- has<Z extends keyof E = keyof E>(field: Z): boolean;
7
- uses(scope: string): this;
8
- uses<E2 extends EnvBase = EnvBase>(scope: EnvScope<E2>): this;
9
- onChange(fn: EnvScopeOnChange<E>): EnvScope<E>;
10
- onSet(fn: EnvScopeOnChange<E>): EnvScope<E>;
11
- onOta(fn: EnvScopeOtaLambda<E>): EnvScope<E>;
12
- run(): void;
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
- get name(): string;
16
- get core(): EnvCore;
17
- $run(): void;
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 type EnvScopeOnChange<E extends EnvBase = EnvBase> = (data: E) => void;
25
- export type EnvScopeOtaLambda<E extends EnvBase = EnvBase> = (data: E) => void;
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
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const core_1 = require("./core");
4
- core_1.envCore.run();
4
+ core_1.envCore.read();
5
5
  console.log('success');
6
6
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAAA,iCAA+B;AAE/B,cAAO,CAAC,GAAG,EAAE,CAAC;AACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leyyo/env",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "Environment library",
5
5
  "keywords": [
6
6
  "env",