@achs/env 4.0.1 → 4.1.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.
Files changed (54) hide show
  1. package/arguments.d.ts +25 -25
  2. package/arguments.js +125 -125
  3. package/commands/env.command.d.ts +7 -7
  4. package/commands/env.command.js +78 -78
  5. package/commands/export.command.d.ts +7 -7
  6. package/commands/export.command.js +53 -53
  7. package/commands/index.d.ts +5 -5
  8. package/commands/index.js +13 -13
  9. package/commands/pull.command.d.ts +6 -6
  10. package/commands/pull.command.js +38 -38
  11. package/commands/push.command.d.ts +6 -6
  12. package/commands/push.command.js +37 -37
  13. package/commands/schema.command.d.ts +3 -3
  14. package/commands/schema.command.js +18 -18
  15. package/exec.d.ts +2 -2
  16. package/exec.js +145 -146
  17. package/exec.js.map +1 -1
  18. package/index.d.ts +3 -3
  19. package/index.js +19 -19
  20. package/interfaces/index.d.ts +1 -1
  21. package/interfaces/index.js +17 -17
  22. package/interfaces/loader.interface.d.ts +20 -20
  23. package/interfaces/loader.interface.js +2 -2
  24. package/main.d.ts +2 -2
  25. package/main.js +5 -5
  26. package/package.json +15 -15
  27. package/providers/app-settings.provider.d.ts +7 -7
  28. package/providers/app-settings.provider.d.ts.map +1 -1
  29. package/providers/app-settings.provider.js +51 -47
  30. package/providers/app-settings.provider.js.map +1 -1
  31. package/providers/azure-key-vault.provider.d.ts +19 -19
  32. package/providers/azure-key-vault.provider.js +148 -148
  33. package/providers/index.d.ts +6 -6
  34. package/providers/index.js +29 -29
  35. package/providers/local.provider.d.ts +7 -7
  36. package/providers/local.provider.js +41 -41
  37. package/providers/package-json.provider.d.ts +7 -7
  38. package/providers/package-json.provider.js +29 -29
  39. package/tsconfig.build.tsbuildinfo +1 -1
  40. package/utils/command.util.d.ts +12 -12
  41. package/utils/command.util.js +134 -135
  42. package/utils/command.util.js.map +1 -1
  43. package/utils/index.d.ts +6 -6
  44. package/utils/index.js +22 -22
  45. package/utils/interpolate.util.d.ts +3 -3
  46. package/utils/interpolate.util.js +32 -32
  47. package/utils/json.util.d.ts +4 -4
  48. package/utils/json.util.js +47 -47
  49. package/utils/logger.d.ts +2 -2
  50. package/utils/logger.js +17 -17
  51. package/utils/normalize.util.d.ts +2 -2
  52. package/utils/normalize.util.js +60 -60
  53. package/utils/schema.util.d.ts +10 -10
  54. package/utils/schema.util.js +99 -99
package/utils/index.js CHANGED
@@ -1,23 +1,23 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./command.util"), exports);
18
- __exportStar(require("./interpolate.util"), exports);
19
- __exportStar(require("./json.util"), exports);
20
- __exportStar(require("./logger"), exports);
21
- __exportStar(require("./normalize.util"), exports);
22
- __exportStar(require("./schema.util"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./command.util"), exports);
18
+ __exportStar(require("./interpolate.util"), exports);
19
+ __exportStar(require("./json.util"), exports);
20
+ __exportStar(require("./logger"), exports);
21
+ __exportStar(require("./normalize.util"), exports);
22
+ __exportStar(require("./schema.util"), exports);
23
23
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export declare function isRecord(obj: unknown): obj is Record<string, unknown>;
2
- export declare function interpolate<T extends string | unknown>(value: T, args: Record<string, unknown>, delimiters?: [string, string]): T;
3
- export declare function interpolateJson(values: Record<string, unknown>, args: Record<string, unknown>, delimiters?: [string, string]): Record<string, unknown>;
1
+ export declare function isRecord(obj: unknown): obj is Record<string, unknown>;
2
+ export declare function interpolate<T extends string | unknown>(value: T, args: Record<string, unknown>, delimiters?: [string, string]): T;
3
+ export declare function interpolateJson(values: Record<string, unknown>, args: Record<string, unknown>, delimiters?: [string, string]): Record<string, unknown>;
4
4
  //# sourceMappingURL=interpolate.util.d.ts.map
@@ -1,33 +1,33 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.interpolateJson = exports.interpolate = exports.isRecord = void 0;
7
- const subslate_1 = __importDefault(require("subslate"));
8
- function isRecord(obj) {
9
- if (!obj || typeof obj !== 'object')
10
- return false;
11
- return Object.keys(obj).length > 0;
12
- }
13
- exports.isRecord = isRecord;
14
- function interpolate(value, args, delimiters = ['[[', ']]']) {
15
- if (typeof value === 'string') {
16
- return (0, subslate_1.default)(value, args, {
17
- startStopPairs: delimiters
18
- });
19
- }
20
- if (Array.isArray(value))
21
- return value.map((a) => interpolate(a, args, delimiters));
22
- if (isRecord(value))
23
- return interpolateJson(value, args, delimiters);
24
- return value;
25
- }
26
- exports.interpolate = interpolate;
27
- function interpolateJson(values, args, delimiters = ['[[', ']]']) {
28
- for (const key in values)
29
- values[key] = interpolate(values[key], args, delimiters);
30
- return values;
31
- }
32
- exports.interpolateJson = interpolateJson;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.interpolateJson = exports.interpolate = exports.isRecord = void 0;
7
+ const subslate_1 = __importDefault(require("subslate"));
8
+ function isRecord(obj) {
9
+ if (!obj || typeof obj !== 'object')
10
+ return false;
11
+ return Object.keys(obj).length > 0;
12
+ }
13
+ exports.isRecord = isRecord;
14
+ function interpolate(value, args, delimiters = ['[[', ']]']) {
15
+ if (typeof value === 'string') {
16
+ return (0, subslate_1.default)(value, args, {
17
+ startStopPairs: delimiters
18
+ });
19
+ }
20
+ if (Array.isArray(value))
21
+ return value.map((a) => interpolate(a, args, delimiters));
22
+ if (isRecord(value))
23
+ return interpolateJson(value, args, delimiters);
24
+ return value;
25
+ }
26
+ exports.interpolate = interpolate;
27
+ function interpolateJson(values, args, delimiters = ['[[', ']]']) {
28
+ for (const key in values)
29
+ values[key] = interpolate(values[key], args, delimiters);
30
+ return values;
31
+ }
32
+ exports.interpolateJson = interpolateJson;
33
33
  //# sourceMappingURL=interpolate.util.js.map
@@ -1,5 +1,5 @@
1
- export declare function resolvePath(filePath: string): string;
2
- export declare function readJson<T = Record<string, any>>(path: string): Promise<[T | Record<string, any>, boolean] | never>;
3
- export declare function writeJson(path: string, content: Record<string, unknown>, overwrite?: boolean, undefinedAsNull?: boolean): Promise<boolean | never>;
4
- export declare function writeEnvFromJson(path: string, content: Record<string, unknown>, overwrite?: boolean): Promise<boolean | never>;
1
+ export declare function resolvePath(filePath: string): string;
2
+ export declare function readJson<T = Record<string, any>>(path: string): Promise<[T | Record<string, any>, boolean] | never>;
3
+ export declare function writeJson(path: string, content: Record<string, unknown>, overwrite?: boolean, undefinedAsNull?: boolean): Promise<boolean | never>;
4
+ export declare function writeEnvFromJson(path: string, content: Record<string, unknown>, overwrite?: boolean): Promise<boolean | never>;
5
5
  //# sourceMappingURL=json.util.d.ts.map
@@ -1,48 +1,48 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.writeEnvFromJson = exports.writeJson = exports.readJson = exports.resolvePath = void 0;
7
- const os_1 = __importDefault(require("os"));
8
- const path_1 = __importDefault(require("path"));
9
- const fs_1 = require("fs");
10
- const promises_1 = require("fs/promises");
11
- const replacer = (_, value) => value === undefined ? null : value;
12
- function resolvePath(filePath) {
13
- const home = os_1.default.homedir();
14
- if (home !== undefined)
15
- filePath = filePath.replace(/^~($|\/|\\)/, `${home}$1`);
16
- return path_1.default.resolve(process.cwd(), filePath);
17
- }
18
- exports.resolvePath = resolvePath;
19
- async function readJson(path) {
20
- if (!(0, fs_1.existsSync)(path))
21
- return [{}, false];
22
- return [JSON.parse(await (0, promises_1.readFile)(path, 'utf8')), true];
23
- }
24
- exports.readJson = readJson;
25
- async function writeJson(path, content, overwrite = false, undefinedAsNull = false) {
26
- const exists = (0, fs_1.existsSync)(path);
27
- if (exists && !overwrite)
28
- return false;
29
- await (0, promises_1.writeFile)(path, `${JSON.stringify(content, undefinedAsNull ? replacer : undefined, 4)}\n`, 'utf8');
30
- return true;
31
- }
32
- exports.writeJson = writeJson;
33
- async function writeEnvFromJson(path, content, overwrite = false) {
34
- const exists = (0, fs_1.existsSync)(path);
35
- if (exists && !overwrite)
36
- return false;
37
- let data = '';
38
- for (const key in content) {
39
- let value = content[key];
40
- if (typeof value === 'string')
41
- value = `${value}`;
42
- data += `${key}=${value}\n`;
43
- }
44
- await (0, promises_1.writeFile)(path, data, 'utf8');
45
- return true;
46
- }
47
- exports.writeEnvFromJson = writeEnvFromJson;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.writeEnvFromJson = exports.writeJson = exports.readJson = exports.resolvePath = void 0;
7
+ const os_1 = __importDefault(require("os"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const fs_1 = require("fs");
10
+ const promises_1 = require("fs/promises");
11
+ const replacer = (_, value) => value === undefined ? null : value;
12
+ function resolvePath(filePath) {
13
+ const home = os_1.default.homedir();
14
+ if (home !== undefined)
15
+ filePath = filePath.replace(/^~($|\/|\\)/, `${home}$1`);
16
+ return path_1.default.resolve(process.cwd(), filePath);
17
+ }
18
+ exports.resolvePath = resolvePath;
19
+ async function readJson(path) {
20
+ if (!(0, fs_1.existsSync)(path))
21
+ return [{}, false];
22
+ return [JSON.parse(await (0, promises_1.readFile)(path, 'utf8')), true];
23
+ }
24
+ exports.readJson = readJson;
25
+ async function writeJson(path, content, overwrite = false, undefinedAsNull = false) {
26
+ const exists = (0, fs_1.existsSync)(path);
27
+ if (exists && !overwrite)
28
+ return false;
29
+ await (0, promises_1.writeFile)(path, `${JSON.stringify(content, undefinedAsNull ? replacer : undefined, 4)}\n`, 'utf8');
30
+ return true;
31
+ }
32
+ exports.writeJson = writeJson;
33
+ async function writeEnvFromJson(path, content, overwrite = false) {
34
+ const exists = (0, fs_1.existsSync)(path);
35
+ if (exists && !overwrite)
36
+ return false;
37
+ let data = '';
38
+ for (const key in content) {
39
+ let value = content[key];
40
+ if (typeof value === 'string')
41
+ value = `${value}`;
42
+ data += `${key}=${value}\n`;
43
+ }
44
+ await (0, promises_1.writeFile)(path, data, 'utf8');
45
+ return true;
46
+ }
47
+ exports.writeEnvFromJson = writeEnvFromJson;
48
48
  //# sourceMappingURL=json.util.js.map
package/utils/logger.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { LoggerWithoutCallSite as Logger } from 'tslog';
2
- export declare const logger: Logger;
1
+ import { LoggerWithoutCallSite as Logger } from 'tslog';
2
+ export declare const logger: Logger;
3
3
  //# sourceMappingURL=logger.d.ts.map
package/utils/logger.js CHANGED
@@ -1,18 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logger = void 0;
4
- const tslog_1 = require("tslog");
5
- exports.logger = new tslog_1.LoggerWithoutCallSite({
6
- displayDateTime: true,
7
- displayLoggerName: false,
8
- displayInstanceName: false,
9
- displayFunctionName: false,
10
- prettyInspectHighlightStyles: {
11
- regexp: 'green',
12
- number: 'cyan'
13
- },
14
- displayFilePath: 'hidden',
15
- dateTimePattern: 'hour:minute:second.millisecond',
16
- maskPlaceholder: '***'
17
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = void 0;
4
+ const tslog_1 = require("tslog");
5
+ exports.logger = new tslog_1.LoggerWithoutCallSite({
6
+ displayDateTime: true,
7
+ displayLoggerName: false,
8
+ displayInstanceName: false,
9
+ displayFunctionName: false,
10
+ prettyInspectHighlightStyles: {
11
+ regexp: 'green',
12
+ number: 'cyan'
13
+ },
14
+ displayFilePath: 'hidden',
15
+ dateTimePattern: 'hour:minute:second.millisecond',
16
+ maskPlaceholder: '***'
17
+ });
18
18
  //# sourceMappingURL=logger.js.map
@@ -1,3 +1,3 @@
1
- export declare function flatten(obj: Record<string, any>, nestingDelimiter?: string, pkey?: string): Record<string, string>;
2
- export declare function normalize(obj: Record<string, any>, nestingDelimiter?: string, arrayDescomposition?: boolean, pkey?: string): Record<string, string>;
1
+ export declare function flatten(obj: Record<string, any>, nestingDelimiter?: string, pkey?: string): Record<string, string>;
2
+ export declare function normalize(obj: Record<string, any>, nestingDelimiter?: string, arrayDescomposition?: boolean, pkey?: string): Record<string, string>;
3
3
  //# sourceMappingURL=normalize.util.d.ts.map
@@ -1,61 +1,61 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalize = exports.flatten = void 0;
4
- function flatten(obj, nestingDelimiter = '__', pkey = '') {
5
- const flattened = {};
6
- for (let key in obj) {
7
- const value = obj[key];
8
- const type = typeof value;
9
- if (value === undefined || type === 'function')
10
- continue;
11
- if (key[0] === '#')
12
- continue;
13
- key = pkey + key;
14
- if (value === null || type !== 'object' || Array.isArray(value)) {
15
- flattened[key] = value;
16
- continue;
17
- }
18
- Object.assign(flattened, flatten(value, nestingDelimiter, `${key}${nestingDelimiter}`));
19
- }
20
- return flattened;
21
- }
22
- exports.flatten = flatten;
23
- function normalize(obj, nestingDelimiter = '__', arrayDescomposition = false, pkey = '') {
24
- const flattened = {};
25
- for (let key in obj) {
26
- const value = obj[key];
27
- const type = typeof value;
28
- if (value === null || value === undefined || type === 'function')
29
- continue;
30
- key = pkey + key.replace('$', '');
31
- if (type !== 'object') {
32
- flattened[key] = value;
33
- continue;
34
- }
35
- if (Array.isArray(value)) {
36
- normalizeArray(flattened, key, value, nestingDelimiter, arrayDescomposition);
37
- }
38
- else {
39
- Object.assign(flattened, normalize(value, nestingDelimiter, arrayDescomposition, `${key}${nestingDelimiter}`));
40
- }
41
- }
42
- return flattened;
43
- }
44
- exports.normalize = normalize;
45
- function normalizeArray(flattened, key, value, nestingDelimiter = '__', arrayDescomposition = false) {
46
- if (arrayDescomposition) {
47
- key = `${key}${nestingDelimiter}`;
48
- for (let i = 0; i < value.length; i++) {
49
- if (typeof value[i] === 'object') {
50
- Object.assign(flattened, normalize(value[i], nestingDelimiter, arrayDescomposition, `${key}${i}${nestingDelimiter}`));
51
- }
52
- else {
53
- flattened[`${key}${i}`] = value[i];
54
- }
55
- }
56
- }
57
- else {
58
- flattened[key] = value.filter((v) => typeof v !== 'object').join(',');
59
- }
60
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalize = exports.flatten = void 0;
4
+ function flatten(obj, nestingDelimiter = '__', pkey = '') {
5
+ const flattened = {};
6
+ for (let key in obj) {
7
+ const value = obj[key];
8
+ const type = typeof value;
9
+ if (value === undefined || type === 'function')
10
+ continue;
11
+ if (key[0] === '#')
12
+ continue;
13
+ key = pkey + key;
14
+ if (value === null || type !== 'object' || Array.isArray(value)) {
15
+ flattened[key] = value;
16
+ continue;
17
+ }
18
+ Object.assign(flattened, flatten(value, nestingDelimiter, `${key}${nestingDelimiter}`));
19
+ }
20
+ return flattened;
21
+ }
22
+ exports.flatten = flatten;
23
+ function normalize(obj, nestingDelimiter = '__', arrayDescomposition = false, pkey = '') {
24
+ const flattened = {};
25
+ for (let key in obj) {
26
+ const value = obj[key];
27
+ const type = typeof value;
28
+ if (value === null || value === undefined || type === 'function')
29
+ continue;
30
+ key = pkey + key.replace('$', '');
31
+ if (type !== 'object') {
32
+ flattened[key] = value;
33
+ continue;
34
+ }
35
+ if (Array.isArray(value)) {
36
+ normalizeArray(flattened, key, value, nestingDelimiter, arrayDescomposition);
37
+ }
38
+ else {
39
+ Object.assign(flattened, normalize(value, nestingDelimiter, arrayDescomposition, `${key}${nestingDelimiter}`));
40
+ }
41
+ }
42
+ return flattened;
43
+ }
44
+ exports.normalize = normalize;
45
+ function normalizeArray(flattened, key, value, nestingDelimiter = '__', arrayDescomposition = false) {
46
+ if (arrayDescomposition) {
47
+ key = `${key}${nestingDelimiter}`;
48
+ for (let i = 0; i < value.length; i++) {
49
+ if (typeof value[i] === 'object') {
50
+ Object.assign(flattened, normalize(value[i], nestingDelimiter, arrayDescomposition, `${key}${i}${nestingDelimiter}`));
51
+ }
52
+ else {
53
+ flattened[`${key}${i}`] = value[i];
54
+ }
55
+ }
56
+ }
57
+ else {
58
+ flattened[key] = value.filter((v) => typeof v !== 'object').join(',');
59
+ }
60
+ }
61
61
  //# sourceMappingURL=normalize.util.js.map
@@ -1,11 +1,11 @@
1
- import { JSONSchemaType, ValidateFunction } from 'ajv';
2
- import { Options } from 'to-json-schema';
3
- export declare function schemaFrom(json: Record<string, unknown>, options?: Options & {
4
- nullable?: boolean;
5
- }): Record<string, unknown>;
6
- export declare function isJsonSchemaObject(schema: Record<string, unknown>): schema is JSONSchemaType<object>;
7
- export declare function schemaToJson(schema: Record<string, unknown>, container?: Record<string, any>): unknown;
8
- export declare function flatSchema(schema: Record<string, unknown>, parentKey?: string, nestingDelimiter?: string, container?: Record<string, any>): Record<string, unknown>;
9
- export declare function createValidator(schema: Record<string, unknown>, enableFormats?: boolean): ValidateFunction;
10
- export declare function createValidators(schemaLookup: Record<string, object>, enableFormats?: boolean): Record<string, ValidateFunction>;
1
+ import { JSONSchemaType, ValidateFunction } from 'ajv';
2
+ import { Options } from 'to-json-schema';
3
+ export declare function schemaFrom(json: Record<string, unknown>, options?: Options & {
4
+ nullable?: boolean;
5
+ }): Record<string, unknown>;
6
+ export declare function isJsonSchemaObject(schema: Record<string, unknown>): schema is JSONSchemaType<object>;
7
+ export declare function schemaToJson(schema: Record<string, unknown>, container?: Record<string, any>): unknown;
8
+ export declare function flatSchema(schema: Record<string, unknown>, parentKey?: string, nestingDelimiter?: string, container?: Record<string, any>): Record<string, unknown>;
9
+ export declare function createValidator(schema: Record<string, unknown>, enableFormats?: boolean): ValidateFunction;
10
+ export declare function createValidators(schemaLookup: Record<string, object>, enableFormats?: boolean): Record<string, ValidateFunction>;
11
11
  //# sourceMappingURL=schema.util.d.ts.map
@@ -1,100 +1,100 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createValidators = exports.createValidator = exports.flatSchema = exports.schemaToJson = exports.isJsonSchemaObject = exports.schemaFrom = void 0;
7
- const ajv_1 = __importDefault(require("ajv"));
8
- const ajv_formats_1 = __importDefault(require("ajv-formats"));
9
- const to_json_schema_1 = __importDefault(require("to-json-schema"));
10
- const FORMAT_REGEXPS = {
11
- 'ip-address': /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})$/,
12
- color: /^(#?([\dA-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\b\s*,\s*\b(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\b\s*,\s*\b(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,
13
- hostname: /^(?=.{1,255}$)[\dA-Za-z](?:(?:[\dA-Za-z]|-){0,61}[\dA-Za-z])?(?:\.[\dA-Za-z](?:(?:[\dA-Za-z]|-){0,61}[\dA-Za-z])?)*\.?$/,
14
- alphanumeric: /^[\dA-Za-z]+$/,
15
- 'utc-millisec': (input) => !Number.isNaN(+input),
16
- alpha: /^[A-Za-z]+$/,
17
- style: /\s*(.+?):\s*([^;]+);?/g,
18
- phone: /^\+(?:\d ?){6,14}\d$/
19
- };
20
- function schemaFrom(json, options) {
21
- return (0, to_json_schema_1.default)(json, {
22
- required: false,
23
- ...options,
24
- postProcessFnc: (type, schema, value, defaultFunc) => {
25
- var _a;
26
- if (value !== json) {
27
- schema.type = [type];
28
- schema.nullable = (_a = options === null || options === void 0 ? void 0 : options.nullable) !== null && _a !== void 0 ? _a : false;
29
- }
30
- return defaultFunc(type, schema, value);
31
- }
32
- });
33
- }
34
- exports.schemaFrom = schemaFrom;
35
- function isJsonSchemaObject(schema) {
36
- if (schema.type === 'object')
37
- return true;
38
- return Array.isArray(schema.type) && schema.type.includes('object');
39
- }
40
- exports.isJsonSchemaObject = isJsonSchemaObject;
41
- function schemaToJson(schema, container = {}) {
42
- var _a;
43
- if (isJsonSchemaObject(schema)) {
44
- for (const key in schema.properties)
45
- container[key] = schemaToJson(schema.properties[key]);
46
- return container;
47
- }
48
- else {
49
- return (_a = schema.default) !== null && _a !== void 0 ? _a : (schema.nullable ? null : undefined);
50
- }
51
- }
52
- exports.schemaToJson = schemaToJson;
53
- function flatSchema(schema, parentKey = '', nestingDelimiter = '__', container = {}) {
54
- if (isJsonSchemaObject(schema)) {
55
- for (const key in schema.properties) {
56
- if (key[0] === '#')
57
- continue;
58
- const subKey = parentKey + (parentKey ? nestingDelimiter : '') + key;
59
- container = {
60
- ...container,
61
- ...flatSchema(schema.properties[key], subKey, nestingDelimiter)
62
- };
63
- }
64
- return container;
65
- }
66
- else {
67
- return { [parentKey]: schema };
68
- }
69
- }
70
- exports.flatSchema = flatSchema;
71
- function createValidator(schema, enableFormats = true) {
72
- const ajv = new ajv_1.default({
73
- allErrors: true,
74
- allowUnionTypes: true
75
- });
76
- if (enableFormats) {
77
- (0, ajv_formats_1.default)(ajv, { mode: 'fast' });
78
- for (const key in FORMAT_REGEXPS)
79
- ajv.addFormat(key, FORMAT_REGEXPS[key]);
80
- }
81
- return ajv.compile(schema);
82
- }
83
- exports.createValidator = createValidator;
84
- function createValidators(schemaLookup, enableFormats = true) {
85
- const ajv = new ajv_1.default({
86
- allErrors: true,
87
- allowUnionTypes: true
88
- });
89
- if (enableFormats) {
90
- (0, ajv_formats_1.default)(ajv, { mode: 'fast' });
91
- for (const key in FORMAT_REGEXPS)
92
- ajv.addFormat(key, FORMAT_REGEXPS[key]);
93
- }
94
- const validators = {};
95
- for (const key in schemaLookup)
96
- validators[key] = ajv.compile(schemaLookup[key]);
97
- return validators;
98
- }
99
- exports.createValidators = createValidators;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createValidators = exports.createValidator = exports.flatSchema = exports.schemaToJson = exports.isJsonSchemaObject = exports.schemaFrom = void 0;
7
+ const ajv_1 = __importDefault(require("ajv"));
8
+ const ajv_formats_1 = __importDefault(require("ajv-formats"));
9
+ const to_json_schema_1 = __importDefault(require("to-json-schema"));
10
+ const FORMAT_REGEXPS = {
11
+ 'ip-address': /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d{1,2})$/,
12
+ color: /^(#?([\dA-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\b\s*,\s*\b(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\b\s*,\s*\b(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,
13
+ hostname: /^(?=.{1,255}$)[\dA-Za-z](?:(?:[\dA-Za-z]|-){0,61}[\dA-Za-z])?(?:\.[\dA-Za-z](?:(?:[\dA-Za-z]|-){0,61}[\dA-Za-z])?)*\.?$/,
14
+ alphanumeric: /^[\dA-Za-z]+$/,
15
+ 'utc-millisec': (input) => !Number.isNaN(+input),
16
+ alpha: /^[A-Za-z]+$/,
17
+ style: /\s*(.+?):\s*([^;]+);?/g,
18
+ phone: /^\+(?:\d ?){6,14}\d$/
19
+ };
20
+ function schemaFrom(json, options) {
21
+ return (0, to_json_schema_1.default)(json, {
22
+ required: false,
23
+ ...options,
24
+ postProcessFnc: (type, schema, value, defaultFunc) => {
25
+ var _a;
26
+ if (value !== json) {
27
+ schema.type = [type];
28
+ schema.nullable = (_a = options === null || options === void 0 ? void 0 : options.nullable) !== null && _a !== void 0 ? _a : false;
29
+ }
30
+ return defaultFunc(type, schema, value);
31
+ }
32
+ });
33
+ }
34
+ exports.schemaFrom = schemaFrom;
35
+ function isJsonSchemaObject(schema) {
36
+ if (schema.type === 'object')
37
+ return true;
38
+ return Array.isArray(schema.type) && schema.type.includes('object');
39
+ }
40
+ exports.isJsonSchemaObject = isJsonSchemaObject;
41
+ function schemaToJson(schema, container = {}) {
42
+ var _a;
43
+ if (isJsonSchemaObject(schema)) {
44
+ for (const key in schema.properties)
45
+ container[key] = schemaToJson(schema.properties[key]);
46
+ return container;
47
+ }
48
+ else {
49
+ return (_a = schema.default) !== null && _a !== void 0 ? _a : (schema.nullable ? null : undefined);
50
+ }
51
+ }
52
+ exports.schemaToJson = schemaToJson;
53
+ function flatSchema(schema, parentKey = '', nestingDelimiter = '__', container = {}) {
54
+ if (isJsonSchemaObject(schema)) {
55
+ for (const key in schema.properties) {
56
+ if (key[0] === '#')
57
+ continue;
58
+ const subKey = parentKey + (parentKey ? nestingDelimiter : '') + key;
59
+ container = {
60
+ ...container,
61
+ ...flatSchema(schema.properties[key], subKey, nestingDelimiter)
62
+ };
63
+ }
64
+ return container;
65
+ }
66
+ else {
67
+ return { [parentKey]: schema };
68
+ }
69
+ }
70
+ exports.flatSchema = flatSchema;
71
+ function createValidator(schema, enableFormats = true) {
72
+ const ajv = new ajv_1.default({
73
+ allErrors: true,
74
+ allowUnionTypes: true
75
+ });
76
+ if (enableFormats) {
77
+ (0, ajv_formats_1.default)(ajv, { mode: 'fast' });
78
+ for (const key in FORMAT_REGEXPS)
79
+ ajv.addFormat(key, FORMAT_REGEXPS[key]);
80
+ }
81
+ return ajv.compile(schema);
82
+ }
83
+ exports.createValidator = createValidator;
84
+ function createValidators(schemaLookup, enableFormats = true) {
85
+ const ajv = new ajv_1.default({
86
+ allErrors: true,
87
+ allowUnionTypes: true
88
+ });
89
+ if (enableFormats) {
90
+ (0, ajv_formats_1.default)(ajv, { mode: 'fast' });
91
+ for (const key in FORMAT_REGEXPS)
92
+ ajv.addFormat(key, FORMAT_REGEXPS[key]);
93
+ }
94
+ const validators = {};
95
+ for (const key in schemaLookup)
96
+ validators[key] = ajv.compile(schemaLookup[key]);
97
+ return validators;
98
+ }
99
+ exports.createValidators = createValidators;
100
100
  //# sourceMappingURL=schema.util.js.map