@pitininja/envious-typebox 6.0.0-beta6 → 6.0.1

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/README.md CHANGED
@@ -16,6 +16,8 @@ npm i @pitininja/envious-typebox
16
16
 
17
17
  ## Usage
18
18
 
19
+ See the [official Typebox documentation](https://sinclairzx81.github.io/typebox/) for how to write the schema.
20
+
19
21
  ```typescript
20
22
  import { envious } from '@pitininja/envious';
21
23
  import { typeboxResolver } from '@pitininja/envious-typebox';
@@ -37,30 +37,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.typeboxResolver = void 0;
40
+ const envious_1 = require("@pitininja/envious");
40
41
  const format_1 = __importDefault(require("typebox/format"));
41
42
  const value_1 = __importStar(require("typebox/value"));
42
- const error_1 = require("../../../common/error");
43
43
  const setTypeboxFormats = (formats) => {
44
44
  for (const [name, format] of Object.entries(formats)) {
45
45
  format_1.default.Set(name, format instanceof RegExp ? (val) => format.test(val) : format);
46
46
  }
47
47
  };
48
- const typeboxErrorsToEnviousErrors = (typeboxErrors) => {
49
- return (0, error_1.resolverErrorsToEnviousErrors)({
50
- resolverErrors: typeboxErrors,
51
- transform: (typeboxError) => {
52
- const { instancePath, message } = typeboxError;
53
- return { name: instancePath.replace(/^\//, ''), message };
54
- }
55
- });
56
- };
57
48
  function checkIfObject(val) {
58
49
  if (!val || typeof val !== 'object') {
59
- throw new error_1.EnviousError({
50
+ throw new envious_1.EnviousError({
60
51
  message: 'Could not parse environment variables'
61
52
  });
62
53
  }
63
54
  }
55
+ const transformTypeboxError = (typeboxError) => {
56
+ const { instancePath, message } = typeboxError;
57
+ return {
58
+ name: instancePath.replace(/^\//, ''),
59
+ message
60
+ };
61
+ };
64
62
  const typeboxResolver = ({ schema, formats }) => {
65
63
  return (env) => {
66
64
  try {
@@ -77,8 +75,9 @@ const typeboxResolver = ({ schema, formats }) => {
77
75
  checkIfObject(converted);
78
76
  const errors = value_1.default.Errors(schema, { ...converted });
79
77
  if (errors.length) {
80
- throw new error_1.EnviousError({
81
- variables: typeboxErrorsToEnviousErrors(errors)
78
+ throw new envious_1.EnviousError({
79
+ resolverErrors: errors,
80
+ transform: transformTypeboxError
82
81
  });
83
82
  }
84
83
  return value_1.default.Repair({
@@ -88,8 +87,9 @@ const typeboxResolver = ({ schema, formats }) => {
88
87
  }
89
88
  catch (err) {
90
89
  if (err instanceof value_1.AssertError) {
91
- throw new error_1.EnviousError({
92
- variables: typeboxErrorsToEnviousErrors(err.cause.errors)
90
+ throw new envious_1.EnviousError({
91
+ resolverErrors: err.cause.errors,
92
+ transform: transformTypeboxError
93
93
  });
94
94
  }
95
95
  throw err;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkD;AAGlD,4DAAoC;AACpC,uDAAmD;AAenD,MAAM,iBAAiB,GAAG,CAAC,OAA8B,EAAE,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,gBAAM,CAAC,GAAG,CACN,IAAI,EACJ,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAChE,CAAC;IACN,CAAC;AAAA,CACJ,CAAC;AAEF,SAAS,aAAa,CAAC,GAAY,EAAyB;IACxD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,sBAAY,CAAC;YACnB,OAAO,EAAE,uCAAuC;SACnD,CAAC,CAAC;IACP,CAAC;AAAA,CACJ;AAED,MAAM,qBAAqB,GAAG,CAAC,YAAuC,EAAE,EAAE,CAAC;IACvE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAC/C,OAAO;QACH,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrC,OAAO;KACV,CAAC;AAAA,CACL,CAAC;AAEK,MAAM,eAAe,GAAG,CAAoB,EAC/C,MAAM,EACN,OAAO,EACwB,EAA6B,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACZ,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACV,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,SAAS,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,yHAAyH;YACzH,MAAM,OAAO,GAAG,eAAK,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC/C,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,SAAS,GAAG,eAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YACxD,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,SAAS,GAAG,eAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YAC1D,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YACtD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,sBAAY,CAAC;oBACnB,cAAc,EAAE,MAAM;oBACtB,SAAS,EAAE,qBAAqB;iBACnC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,eAAK,CAAC,MAAM,CACf;gBACI,GAAG,MAAM;gBACT,oBAAoB,EAAE,KAAK;aAC9B,EACD,SAAS,CACZ,CAAC;QACN,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,GAAG,YAAY,mBAAW,EAAE,CAAC;gBAC7B,MAAM,IAAI,sBAAY,CAAC;oBACnB,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;oBAChC,SAAS,EAAE,qBAAqB;iBACnC,CAAC,CAAC;YACP,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC;IAAA,CACJ,CAAC;AAAA,CACL,CAAC;AAzCW,QAAA,eAAe,GAAf,eAAe,CAyC1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pitininja/envious-typebox",
3
- "version": "6.0.0-beta6",
3
+ "version": "6.0.1",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "homepage": "https://codeberg.org/pitininja/envious",
6
6
  "repository": {
@@ -12,14 +12,16 @@
12
12
  },
13
13
  "files": [
14
14
  "./dist",
15
- "./package.json"
15
+ "./package.json",
16
+ "./README.md"
16
17
  ],
17
- "main": "./dist/resolvers/typebox/src/index.js",
18
- "types": "./dist/resolvers/typebox/src/index.d.ts",
18
+ "main": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
19
20
  "scripts": {
20
- "build": "npx tsgo --build --clean tsconfig.json && npx tsgo -b ./tsconfig.json"
21
+ "build": "npx tsgo --build --clean ./tsconfig.build.json && npx tsgo -b ./tsconfig.build.json"
21
22
  },
22
23
  "dependencies": {
23
- "typebox": "^1.0.25"
24
+ "@pitininja/envious": "^6.0.0",
25
+ "typebox": "^1.0.0"
24
26
  }
25
27
  }
@@ -1,21 +0,0 @@
1
- export type EnviousErrorVariable = {
2
- name: string;
3
- messages: string[];
4
- };
5
- type EnviousErrorOptions = {
6
- message?: string;
7
- variables?: EnviousErrorVariable[];
8
- };
9
- export declare class EnviousError extends Error {
10
- variables: EnviousErrorVariable[];
11
- constructor({ message, variables }: EnviousErrorOptions);
12
- }
13
- type ResolverErrorsToEnviousErrorsOptions<T> = {
14
- transform: (resolverError: T) => {
15
- name: string;
16
- message: string;
17
- };
18
- resolverErrors: T[];
19
- };
20
- export declare const resolverErrorsToEnviousErrors: <T>({ transform, resolverErrors }: ResolverErrorsToEnviousErrorsOptions<T>) => EnviousErrorVariable[];
21
- export {};
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolverErrorsToEnviousErrors = exports.EnviousError = void 0;
4
- class EnviousError extends Error {
5
- variables;
6
- constructor({ message = 'Invalid environment variables', variables = [] }) {
7
- super(message);
8
- this.variables = variables;
9
- }
10
- }
11
- exports.EnviousError = EnviousError;
12
- const resolverErrorsToEnviousErrors = ({ transform, resolverErrors }) => {
13
- const enviousErrors = [];
14
- const validationErrorsMap = new Map();
15
- for (const resolverError of resolverErrors) {
16
- const { name, message } = transform(resolverError);
17
- const errorMessages = validationErrorsMap.get(name);
18
- validationErrorsMap.set(name, [...(errorMessages ?? []), message]);
19
- }
20
- for (const [name, messages] of validationErrorsMap.entries()) {
21
- enviousErrors.push({ name, messages });
22
- }
23
- return enviousErrors;
24
- };
25
- exports.resolverErrorsToEnviousErrors = resolverErrorsToEnviousErrors;
26
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../common/error.ts"],"names":[],"mappings":";;;AAUA,kBAA0B,SAAQ,KAAK;IACnC,SAAS,CAAyB;IAClC,YAAY,EACR,OAAO,GAAG,+BAA+B,EACzC,SAAS,GAAG,EAAE,EACI,EAAE;QACpB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAAA,CAC9B;CACJ;;AAUM,MAAM,6BAA6B,GAAG,CAAI,EAC7C,SAAS,EACT,cAAc,EACwB,EAAE,EAAE,CAAC;IAC3C,MAAM,aAAa,GAA2B,EAAE,CAAC;IACjD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3D,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,aAAa,CAAC;AAAA,CACxB,CAAC;AAfW,QAAA,6BAA6B,GAA7B,6BAA6B,CAexC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"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"}