@leyyo/env 1.0.1 → 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.
@@ -36,6 +36,16 @@ class EnvCore {
36
36
  });
37
37
  return this._packages.has(pck);
38
38
  }
39
+ get $raw() {
40
+ return JSON.parse(JSON.stringify(process.env));
41
+ }
42
+ get $keys() {
43
+ const doc = {};
44
+ for (const [key, packages] of this._keys.entries()) {
45
+ doc[key] = [...packages];
46
+ }
47
+ return doc;
48
+ }
39
49
  $addKey(key, pck) {
40
50
  if (!this._keys.has(key)) {
41
51
  this._keys.set(key, [pck]);
@@ -1 +1 @@
1
- {"version":3,"file":"env.core.js","sourceRoot":"","sources":["../../src/core/env.core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.core.js","sourceRoot":"","sources":["../../src/core/env.core.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,15 @@
1
1
  import type { ShiftMain, ShiftSecure } from "@leyyo/common";
2
2
  import { EnvPackageLike } from "../package";
3
- export type EnvPrimitiveValue = string | number | boolean;
4
- export type EnvValues<K extends string = string> = Partial<Record<K, EnvPrimitiveValue>>;
5
- export interface EnvItem {
6
- ota?(v: boolean): unknown;
7
- def?(v: unknown): unknown;
8
- cast?(fn: (v: unknown) => unknown): void;
9
- assert?(fn: (v: unknown) => void): void;
10
- }
3
+ export type EnvBase = Record<string, unknown>;
11
4
  export interface EnvCoreLike extends ShiftSecure<EnvCoreSecure> {
12
- pck<K extends string = string>(pck: string): EnvPackageLike<K>;
13
- get<K extends string = string>(pck: string): EnvPackageLike<K>;
5
+ pck<E extends EnvBase = EnvBase>(pck: string): EnvPackageLike<E>;
6
+ get<E extends EnvBase = EnvBase>(pck: string): EnvPackageLike<E>;
14
7
  has(pck: string): boolean;
8
+ get $raw(): EnvBase;
9
+ get $keys(): Record<string, string[]>;
15
10
  }
16
11
  export interface EnvCoreSecure extends ShiftMain<EnvCoreLike> {
17
12
  $addKey(key: string, pck: string): void;
18
13
  $run(): void;
19
- $ota(values: EnvValues): void;
14
+ $ota(values: EnvBase): void;
20
15
  }
@@ -1,20 +1,22 @@
1
- import { EnvFieldAssertLambda, EnvFieldCastLambda, EnvFieldLike, EnvFieldSecure } from "./index.types";
2
- import { EnvPackageLike } from "../package";
3
- export declare class EnvField<T = unknown, K extends string = string> implements EnvFieldLike<T, K>, EnvFieldSecure<T, K> {
1
+ import type { EnvFieldAssertLambda, EnvFieldCastLambda, EnvFieldLike, EnvFieldSecure } from "./index.types";
2
+ import type { EnvPackageLike } from "../package";
3
+ import type { EnvBase } from "../core";
4
+ export declare class EnvField<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> implements EnvFieldLike<E, Z>, EnvFieldSecure<E, Z> {
4
5
  private readonly _pck;
5
6
  private readonly _name;
6
7
  private _assert;
7
8
  private _cast;
8
9
  private _def;
9
- constructor(_pck: EnvPackageLike<K>, _name: K);
10
- assert(fn: EnvFieldAssertLambda): EnvFieldLike<T, K>;
11
- cast(fn: EnvFieldCastLambda): EnvFieldLike<T, K>;
12
- def(flag: unknown): EnvFieldLike<T, K>;
13
- ota(flag: boolean): EnvFieldLike<T, K>;
14
- end(): EnvPackageLike<K>;
15
- get $secure(): EnvFieldSecure<T, K>;
16
- get $back(): EnvFieldLike<T, K>;
17
- get $pck(): EnvPackageLike<K>;
10
+ constructor(_pck: EnvPackageLike<E>, _name: Z);
11
+ assert(fn: EnvFieldAssertLambda): EnvFieldLike<E, Z>;
12
+ cast(fn: EnvFieldCastLambda<E, Z>): EnvFieldLike<E, Z>;
13
+ def(value: E[Z]): EnvFieldLike<E, Z>;
14
+ $def(value: unknown): EnvFieldLike<E, Z>;
15
+ ota(flag: boolean): EnvFieldLike<E, Z>;
16
+ end(): EnvPackageLike<E>;
17
+ get $secure(): EnvFieldSecure<E, Z>;
18
+ get $back(): EnvFieldLike<E, Z>;
19
+ get $pck(): EnvPackageLike<E>;
18
20
  $run(): void;
19
21
  $ota(value: unknown): void;
20
22
  }
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnvField = void 0;
4
- const internal_1 = require("../internal");
5
4
  const common_1 = require("@leyyo/common");
6
- const WHERE = `${internal_1.FQN}.EnvField`;
7
5
  class EnvField {
8
6
  constructor(_pck, _name) {
9
7
  this._pck = _pck;
@@ -17,8 +15,12 @@ class EnvField {
17
15
  this._cast = fn;
18
16
  return this;
19
17
  }
20
- def(flag) {
21
- this._def = flag;
18
+ def(value) {
19
+ this._def = value;
20
+ return this;
21
+ }
22
+ $def(value) {
23
+ this._def = value;
22
24
  return this;
23
25
  }
24
26
  ota(flag) {
@@ -43,21 +45,23 @@ class EnvField {
43
45
  return this._pck;
44
46
  }
45
47
  $run() {
46
- if (common_1.$is.empty(process.env[this._name])) {
47
- process.env[this._name] = this._def;
48
+ const n = this._name;
49
+ if (common_1.$is.empty(process.env[n])) {
50
+ process.env[n] = this._def;
48
51
  }
49
52
  if (typeof this._cast === 'function') {
50
- process.env[this._name] = this._cast(process.env[this._name]);
51
- if (common_1.$is.empty(process.env[this._name])) {
52
- process.env[this._name] = this._def;
53
+ process.env[n] = this._cast(process.env[n]);
54
+ if (common_1.$is.empty(process.env[n])) {
55
+ process.env[n] = this._def;
53
56
  }
54
57
  }
55
58
  if (typeof this._assert === 'function') {
56
- this._assert(process.env[this._name]);
59
+ this._assert(process.env[n]);
57
60
  }
58
61
  }
59
62
  $ota(value) {
60
- process.env[this._name] = value;
63
+ const n = this._name;
64
+ process.env[n] = value;
61
65
  this.$run();
62
66
  }
63
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"env.field.js","sourceRoot":"","sources":["../../src/field/env.field.ts"],"names":[],"mappings":";;;AAAA,0CAAgC;AAGhC,0CAAkC;AAElC,MAAM,KAAK,GAAG,GAAG,cAAG,WAAW,CAAC;AAChC,MAAa,QAAQ;IAKjB,YAA6B,IAAuB,EAAmB,KAAQ;QAAlD,SAAI,GAAJ,IAAI,CAAmB;QAAmB,UAAK,GAAL,KAAK,CAAG;IAC/E,CAAC;IAED,MAAM,CAAC,EAAwB;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,EAAsB;QACvB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,IAAa;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,IAAa;QACb,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;aACI,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI;QACA,IAAI,YAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAc,CAAC;QAClD,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC;YACxE,IAAI,YAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAc,CAAC;YAClD,CAAC;QACL,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IACD,IAAI,CAAC,KAAc;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAe,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;CAEJ;AAlED,4BAkEC"}
1
+ {"version":3,"file":"env.field.js","sourceRoot":"","sources":["../../src/field/env.field.ts"],"names":[],"mappings":";;;AAAA,0CAAkC;AAMlC,MAAa,QAAQ;IAKjB,YAA6B,IAAuB,EAAmB,KAAQ;QAAlD,SAAI,GAAJ,IAAI,CAAmB;QAAmB,UAAK,GAAL,KAAK,CAAG;IAC/E,CAAC;IAED,MAAM,CAAC,EAAwB;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,EAA4B;QAC7B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,KAAW;QACX,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,KAAc;QACf,IAAI,CAAC,IAAI,GAAG,KAAa,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,IAAa;QACb,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;aACI,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI;QACA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAe,CAAC;QAC/B,IAAI,YAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAc,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,CAAC;YACtD,IAAI,YAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAc,CAAC;YACzC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,KAAc;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,KAAe,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAe,CAAC;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;CAEJ;AAxED,4BAwEC"}
@@ -1,16 +1,18 @@
1
1
  import type { ShiftMain, ShiftSecure } from "@leyyo/common";
2
- import { EnvPackageLike } from "../package";
3
- export type EnvFieldCastLambda = (v: unknown) => unknown;
2
+ import type { EnvPackageLike } from "../package";
3
+ import type { EnvBase } from "../core";
4
+ export type EnvFieldCastLambda<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> = (v: unknown) => E[Z];
4
5
  export type EnvFieldAssertLambda = (v: unknown) => void;
5
- export interface EnvFieldLike<T = unknown, K extends string = string> extends ShiftSecure<EnvFieldSecure<T, K>> {
6
- ota(flag: boolean): EnvFieldLike<T, K>;
7
- def(flag: unknown): EnvFieldLike<T, K>;
8
- cast(fn: EnvFieldCastLambda): EnvFieldLike<T, K>;
9
- assert(fn: EnvFieldAssertLambda): EnvFieldLike<T, K>;
10
- end(): EnvPackageLike<K>;
6
+ export interface EnvFieldLike<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> extends ShiftSecure<EnvFieldSecure<E, Z>> {
7
+ ota(flag: boolean): EnvFieldLike<E, Z>;
8
+ def(value: E[Z]): EnvFieldLike<E, Z>;
9
+ $def(value: unknown): EnvFieldLike<E, Z>;
10
+ cast(fn: EnvFieldCastLambda<E, Z>): EnvFieldLike<E, Z>;
11
+ assert(fn: EnvFieldAssertLambda): EnvFieldLike<E, Z>;
12
+ end(): EnvPackageLike<E>;
11
13
  }
12
- export interface EnvFieldSecure<T = unknown, K extends string = string> extends ShiftMain<EnvFieldLike<T, K>> {
13
- get $pck(): EnvPackageLike<K>;
14
+ export interface EnvFieldSecure<E extends EnvBase = EnvBase, Z extends keyof E = keyof E> extends ShiftMain<EnvFieldLike<E, Z>> {
15
+ get $pck(): EnvPackageLike<E>;
14
16
  $run(): void;
15
17
  $ota(value: unknown): void;
16
18
  }
@@ -1,20 +1,21 @@
1
- import type { EnvCoreLike, EnvValues } from "../core";
1
+ import type { EnvBase, EnvCoreLike } from "../core";
2
2
  import type { EnvFieldLike } from "../field";
3
3
  import type { EnvPackageLike, EnvPackageSecure } from "./index.types";
4
- export declare class EnvPackage<K extends string = string> implements EnvPackageLike<K>, EnvPackageSecure<K> {
4
+ export declare class EnvPackage<E extends EnvBase = EnvBase> implements EnvPackageLike<E>, EnvPackageSecure<E> {
5
5
  private readonly _core;
6
6
  private readonly _pck;
7
7
  private readonly _fields;
8
8
  private readonly _otaList;
9
9
  constructor(_core: EnvCoreLike, _pck: string);
10
- field<T = unknown>(field: K): EnvFieldLike<T, K>;
11
- get<T = unknown>(field: K): EnvFieldLike<T, K>;
12
- has(field: K): boolean;
13
- get $secure(): EnvPackageSecure<K>;
14
- get $back(): EnvPackageLike<K>;
10
+ field<Z extends keyof E = keyof E>(field: Z): EnvFieldLike<E, Z>;
11
+ get<Z extends keyof E = keyof E>(field: Z): EnvFieldLike<E, Z>;
12
+ has<Z extends keyof E = keyof E>(field: Z): boolean;
13
+ get $secure(): EnvPackageSecure<E>;
14
+ get $back(): EnvPackageLike<E>;
15
15
  get $core(): EnvCoreLike;
16
+ get $raw(): E;
16
17
  $run(): void;
17
- $addOta(name: K): void;
18
- $removeOta(name: K): void;
19
- $ota(values: EnvValues<K>): void;
18
+ $addOta(name: keyof E): void;
19
+ $removeOta(name: keyof E): void;
20
+ $ota(values: Partial<E>): void;
20
21
  }
@@ -21,6 +21,7 @@ class EnvPackage {
21
21
  }
22
22
  const ins = new env_field_1.EnvField(this, field);
23
23
  this._fields.set(field, ins);
24
+ this._core.$secure.$addKey(field, this._pck);
24
25
  return ins;
25
26
  }
26
27
  get(field) {
@@ -47,6 +48,14 @@ class EnvPackage {
47
48
  get $core() {
48
49
  return this._core;
49
50
  }
51
+ get $raw() {
52
+ const doc = {};
53
+ Array.from(this._fields.keys())
54
+ .forEach(key => {
55
+ doc[key] = process.env[key];
56
+ });
57
+ return doc;
58
+ }
50
59
  $run() {
51
60
  Array.from(this._fields.values())
52
61
  .forEach(ins => ins.$secure.$run());
@@ -1 +1 @@
1
- {"version":3,"file":"env.package.js","sourceRoot":"","sources":["../../src/package/env.package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.package.js","sourceRoot":"","sources":["../../src/package/env.package.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  import type { ShiftMain, ShiftSecure } from "@leyyo/common";
2
2
  import type { EnvFieldLike } from "../field";
3
- import type { EnvCoreLike, EnvValues } from "../core";
4
- export interface EnvPackageLike<K extends string = string> extends ShiftSecure<EnvPackageSecure<K>> {
5
- field<T = unknown>(field: K): EnvFieldLike<T, K>;
6
- get<T = unknown>(field: K): EnvFieldLike<T, K>;
7
- has(field: K): boolean;
3
+ import type { EnvBase, EnvCoreLike } from "../core";
4
+ export interface EnvPackageLike<E extends EnvBase = EnvBase> extends ShiftSecure<EnvPackageSecure<E>> {
5
+ field<Z extends keyof E = keyof E>(field: Z): EnvFieldLike<E, Z>;
6
+ get<Z extends keyof E = keyof E>(field: Z): EnvFieldLike<E, Z>;
7
+ has<Z extends keyof E = keyof E>(field: Z): boolean;
8
+ get $raw(): E;
8
9
  }
9
- export interface EnvPackageSecure<K extends string = string> extends ShiftMain<EnvPackageLike<K>> {
10
+ export interface EnvPackageSecure<E extends EnvBase = EnvBase> extends ShiftMain<EnvPackageLike<E>> {
10
11
  get $core(): EnvCoreLike;
11
12
  $run(): void;
12
- $ota(values: EnvValues<K>): void;
13
- $addOta(name: K): void;
14
- $removeOta(name: K): void;
13
+ $ota(values: Partial<E>): void;
14
+ $addOta(name: keyof E): void;
15
+ $removeOta(name: keyof E): void;
15
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leyyo/env",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Environment library",
5
5
  "keywords": [
6
6
  "env",