@achs/env 3.0.0 → 3.1.0

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 (139) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.json +329 -0
  3. package/.vscode/extensions.json +18 -0
  4. package/.vscode/launch.json +30 -0
  5. package/.vscode/settings.json +29 -0
  6. package/CHANGELOG.md +4 -0
  7. package/jest.config.json +28 -0
  8. package/package.json +16 -16
  9. package/{arguments.js → src/arguments.ts} +32 -8
  10. package/src/commands/env.command.ts +139 -0
  11. package/src/commands/export.command.ts +88 -0
  12. package/{commands/index.d.ts → src/commands/index.ts} +0 -1
  13. package/src/commands/pull.command.ts +52 -0
  14. package/src/commands/push.command.ts +48 -0
  15. package/src/commands/schema.command.ts +31 -0
  16. package/src/exec.ts +221 -0
  17. package/{index.d.ts → src/index.ts} +0 -1
  18. package/{interfaces/index.d.ts → src/interfaces/index.ts} +0 -1
  19. package/src/interfaces/loader.interface.ts +66 -0
  20. package/src/main.ts +6 -0
  21. package/src/providers/app-settings.provider.ts +67 -0
  22. package/src/providers/azure-key-vault.provider.ts +277 -0
  23. package/src/providers/index.ts +29 -0
  24. package/src/providers/local.provider.ts +44 -0
  25. package/src/providers/package-json.provider.ts +39 -0
  26. package/src/utils/command.util.ts +223 -0
  27. package/{utils/index.d.ts → src/utils/index.ts} +0 -1
  28. package/src/utils/interpolate.util.ts +65 -0
  29. package/src/utils/json.util.ts +116 -0
  30. package/{utils/logger.js → src/utils/logger.ts} +6 -6
  31. package/src/utils/normalize.util.ts +142 -0
  32. package/src/utils/schema.util.ts +191 -0
  33. package/tests/env/appsettings.json +32 -0
  34. package/tests/env/dev.env.json +12 -0
  35. package/tests/env/dev.local.env.json +9 -0
  36. package/tests/env/env.schema.json +225 -0
  37. package/tests/env/keys.json +7 -0
  38. package/tests/env/settings/schema.json +239 -0
  39. package/tests/env/settings/settings.json +22 -0
  40. package/tests/env.int.test.ts +42 -0
  41. package/tests/exec.ts +19 -0
  42. package/tests/export.int.test.ts +9 -0
  43. package/tests/pull-push.int.test.ts +15 -0
  44. package/tests/run.js +32 -0
  45. package/tests/schema.int.test.ts +9 -0
  46. package/tests/setup.ts +13 -0
  47. package/tsconfig.build.json +10 -0
  48. package/tsconfig.json +37 -0
  49. package/arguments.d.ts +0 -25
  50. package/arguments.d.ts.map +0 -1
  51. package/arguments.js.map +0 -1
  52. package/commands/env.command.d.ts +0 -8
  53. package/commands/env.command.d.ts.map +0 -1
  54. package/commands/env.command.js +0 -85
  55. package/commands/env.command.js.map +0 -1
  56. package/commands/export.command.d.ts +0 -8
  57. package/commands/export.command.d.ts.map +0 -1
  58. package/commands/export.command.js +0 -54
  59. package/commands/export.command.js.map +0 -1
  60. package/commands/index.d.ts.map +0 -1
  61. package/commands/index.js +0 -14
  62. package/commands/index.js.map +0 -1
  63. package/commands/pull.command.d.ts +0 -7
  64. package/commands/pull.command.d.ts.map +0 -1
  65. package/commands/pull.command.js +0 -39
  66. package/commands/pull.command.js.map +0 -1
  67. package/commands/push.command.d.ts +0 -7
  68. package/commands/push.command.d.ts.map +0 -1
  69. package/commands/push.command.js +0 -38
  70. package/commands/push.command.js.map +0 -1
  71. package/commands/schema.command.d.ts +0 -4
  72. package/commands/schema.command.d.ts.map +0 -1
  73. package/commands/schema.command.js +0 -18
  74. package/commands/schema.command.js.map +0 -1
  75. package/exec.d.ts +0 -3
  76. package/exec.d.ts.map +0 -1
  77. package/exec.js +0 -142
  78. package/exec.js.map +0 -1
  79. package/index.d.ts.map +0 -1
  80. package/index.js +0 -20
  81. package/index.js.map +0 -1
  82. package/interfaces/index.d.ts.map +0 -1
  83. package/interfaces/index.js +0 -18
  84. package/interfaces/index.js.map +0 -1
  85. package/interfaces/loader.interface.d.ts +0 -21
  86. package/interfaces/loader.interface.d.ts.map +0 -1
  87. package/interfaces/loader.interface.js +0 -3
  88. package/interfaces/loader.interface.js.map +0 -1
  89. package/main.d.ts +0 -3
  90. package/main.d.ts.map +0 -1
  91. package/main.js +0 -6
  92. package/main.js.map +0 -1
  93. package/providers/app-settings.provider.d.ts +0 -8
  94. package/providers/app-settings.provider.d.ts.map +0 -1
  95. package/providers/app-settings.provider.js +0 -50
  96. package/providers/app-settings.provider.js.map +0 -1
  97. package/providers/azure-key-vault.provider.d.ts +0 -20
  98. package/providers/azure-key-vault.provider.d.ts.map +0 -1
  99. package/providers/azure-key-vault.provider.js +0 -143
  100. package/providers/azure-key-vault.provider.js.map +0 -1
  101. package/providers/index.d.ts +0 -7
  102. package/providers/index.d.ts.map +0 -1
  103. package/providers/index.js +0 -30
  104. package/providers/index.js.map +0 -1
  105. package/providers/local.provider.d.ts +0 -8
  106. package/providers/local.provider.d.ts.map +0 -1
  107. package/providers/local.provider.js +0 -31
  108. package/providers/local.provider.js.map +0 -1
  109. package/providers/package-json.provider.d.ts +0 -8
  110. package/providers/package-json.provider.d.ts.map +0 -1
  111. package/providers/package-json.provider.js +0 -29
  112. package/providers/package-json.provider.js.map +0 -1
  113. package/tsconfig.build.tsbuildinfo +0 -1
  114. package/utils/command.util.d.ts +0 -13
  115. package/utils/command.util.d.ts.map +0 -1
  116. package/utils/command.util.js +0 -134
  117. package/utils/command.util.js.map +0 -1
  118. package/utils/index.d.ts.map +0 -1
  119. package/utils/index.js +0 -23
  120. package/utils/index.js.map +0 -1
  121. package/utils/interpolate.util.d.ts +0 -4
  122. package/utils/interpolate.util.d.ts.map +0 -1
  123. package/utils/interpolate.util.js +0 -33
  124. package/utils/interpolate.util.js.map +0 -1
  125. package/utils/json.util.d.ts +0 -5
  126. package/utils/json.util.d.ts.map +0 -1
  127. package/utils/json.util.js +0 -48
  128. package/utils/json.util.js.map +0 -1
  129. package/utils/logger.d.ts +0 -3
  130. package/utils/logger.d.ts.map +0 -1
  131. package/utils/logger.js.map +0 -1
  132. package/utils/normalize.util.d.ts +0 -3
  133. package/utils/normalize.util.d.ts.map +0 -1
  134. package/utils/normalize.util.js +0 -61
  135. package/utils/normalize.util.js.map +0 -1
  136. package/utils/schema.util.d.ts +0 -11
  137. package/utils/schema.util.d.ts.map +0 -1
  138. package/utils/schema.util.js +0 -100
  139. package/utils/schema.util.js.map +0 -1
@@ -1,134 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.generateSchemaFrom = exports.flatAndValidateResults = exports.flatResults = exports.loadVariablesFromProviders = exports.loadProjectInfo = exports.loadSchemaFile = exports.getSubcommand = exports.loadConfigFile = void 0;
30
- const chalk_1 = __importDefault(require("chalk"));
31
- const merge_deep_1 = __importDefault(require("merge-deep"));
32
- const utils_1 = require("../utils");
33
- async function loadConfigFile(argv, delimiters) {
34
- var _a;
35
- if (typeof argv.configFile === 'string') {
36
- const path = (0, utils_1.interpolate)(argv.configFile, argv, delimiters);
37
- const [config, success] = await (0, utils_1.readJson)(path);
38
- if (success)
39
- for (const key in config)
40
- (_a = argv[key]) !== null && _a !== void 0 ? _a : (argv[key] = config[key]);
41
- }
42
- }
43
- exports.loadConfigFile = loadConfigFile;
44
- function getSubcommand(rawArgv, delimiters) {
45
- let subcommand = [];
46
- const begin = rawArgv.indexOf(delimiters[0]);
47
- const count = rawArgv.lastIndexOf(delimiters[1]) - begin;
48
- if (begin > 0) {
49
- subcommand =
50
- count > 0
51
- ? rawArgv.splice(begin, count + 1).slice(1, -1)
52
- : rawArgv.splice(begin).slice(1);
53
- }
54
- return subcommand;
55
- }
56
- exports.getSubcommand = getSubcommand;
57
- async function loadSchemaFile(argv, delimiters) {
58
- if (typeof argv.schemaFile === 'string') {
59
- const path = (0, utils_1.interpolate)(argv.schemaFile, argv, delimiters);
60
- const [schema, success] = await (0, utils_1.readJson)(path);
61
- return success ? schema : undefined;
62
- }
63
- return undefined;
64
- }
65
- exports.loadSchemaFile = loadSchemaFile;
66
- async function loadProjectInfo() {
67
- try {
68
- return await Promise.resolve().then(() => __importStar(require(`${process.cwd()}/package.json`)));
69
- }
70
- catch (_a) {
71
- utils_1.logger.warn(`project file ${chalk_1.default.underline.yellow('package.json')} not found`);
72
- return undefined;
73
- }
74
- }
75
- exports.loadProjectInfo = loadProjectInfo;
76
- function loadVariablesFromProviders(providers, argv) {
77
- if (!providers)
78
- return Promise.resolve([]);
79
- return Promise.all(providers.map(({ handler: { key, load }, config }) => {
80
- utils_1.logger.silly(`executing ${chalk_1.default.yellow(key)} provider`);
81
- const value = load(argv, config);
82
- if (value instanceof Promise) {
83
- return value.then((value) => ({
84
- key,
85
- config,
86
- value
87
- }));
88
- }
89
- else {
90
- return { key, config, value };
91
- }
92
- }));
93
- }
94
- exports.loadVariablesFromProviders = loadVariablesFromProviders;
95
- function flatResults(results) {
96
- return results.flatMap(({ value }) => {
97
- if (Array.isArray(value))
98
- value = (0, merge_deep_1.default)({}, ...value);
99
- return value;
100
- });
101
- }
102
- exports.flatResults = flatResults;
103
- function flatAndValidateResults(results, argv) {
104
- if (!argv.schemaValidate)
105
- return flatResults(results);
106
- const validators = (0, utils_1.createValidators)(argv.schema, argv.detectFormat);
107
- return results.flatMap(({ key, value }) => {
108
- if (Array.isArray(value))
109
- value = (0, merge_deep_1.default)({}, ...value);
110
- const validator = validators[key];
111
- if (validator(value))
112
- return value;
113
- utils_1.logger.error(`schema validation failed for ${chalk_1.default.yellow(key)}`, validator.errors);
114
- throw new Error(`schema validation failed for ${key}`);
115
- });
116
- }
117
- exports.flatAndValidateResults = flatAndValidateResults;
118
- async function generateSchemaFrom(env, argv) {
119
- const { resolve, nullable, detectFormat, schemaFile } = argv;
120
- let schema = env.reduce((schema, { key, value }) => {
121
- const env = Array.isArray(value) ? (0, merge_deep_1.default)({}, ...value) : value;
122
- schema[key] = (0, utils_1.schemaFrom)(env, {
123
- nullable,
124
- strings: { detectFormat }
125
- });
126
- return schema;
127
- }, {});
128
- if (resolve === 'merge')
129
- schema = (0, merge_deep_1.default)(argv.schema, schema);
130
- await (0, utils_1.writeJson)(schemaFile, schema, true);
131
- return schema;
132
- }
133
- exports.generateSchemaFrom = generateSchemaFrom;
134
- //# sourceMappingURL=command.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.util.js","sourceRoot":"","sources":["../../src/utils/command.util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,4DAA+B;AAK/B,oCAOkB;AAQX,KAAK,UAAU,cAAc,CAChC,IAA6B,EAC7B,UAA4B;;IAE5B,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;QACrC,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,OAAO;YAAE,KAAK,MAAM,GAAG,IAAI,MAAM;gBAAE,MAAA,IAAI,CAAC,GAAG,qCAAR,IAAI,CAAC,GAAG,IAAM,MAAM,CAAC,GAAG,CAAC,EAAC;KACpE;AACL,CAAC;AAVD,wCAUC;AAWD,SAAgB,aAAa,CAAC,OAAiB,EAAE,UAA4B;IACzE,IAAI,UAAU,GAAa,EAAE,CAAC;IAG9B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAGzD,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,UAAU;YACN,KAAK,GAAG,CAAC;gBACL,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5C;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAhBD,sCAgBC;AAUM,KAAK,UAAU,cAAc,CAChC,IAA6B,EAC7B,UAA4B;IAE5B,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;QACrC,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;QAE/C,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;KACvC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAZD,wCAYC;AAQM,KAAK,UAAU,eAAe;IAGjC,IAAI;QACA,OAAO,wDAAa,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,GAAC,CAAC;KACxD;IAAC,WAAM;QACJ,cAAM,CAAC,IAAI,CACP,gBAAgB,eAAK,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CACrE,CAAC;QAEF,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAZD,0CAYC;AAUD,SAAgB,0BAA0B,CACtC,SAA8B,EAC9B,IAA6C;IAE7C,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAiC,CAAC;IAE3E,OAAO,OAAO,CAAC,GAAG,CACd,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACjD,cAAM,CAAC,KAAK,CAAC,aAAa,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEjC,IAAI,KAAK,YAAY,OAAO,EAAE;YAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1B,GAAG;gBACH,MAAM;gBACN,KAAK;aACR,CAAC,CAAC,CAAC;SACP;aAAM;YACH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SACjC;IACL,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAvBD,gEAuBC;AAYD,SAAgB,WAAW,CACvB,OAA4B;IAE5B,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,KAAK,GAAG,IAAA,oBAAK,EAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;QAEtD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AARD,kCAQC;AAYD,SAAgB,sBAAsB,CAClC,OAA4B,EAC5B,IAA6C;IAE7C,IAAI,CAAC,IAAI,CAAC,cAAc;QAAE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,MAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAErE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,KAAK,GAAG,IAAA,oBAAK,EAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,UAAW,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnC,cAAM,CAAC,KAAK,CACR,gCAAgC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACnD,SAAS,CAAC,MAAM,CACnB,CAAC;QAEF,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC;AAtBD,wDAsBC;AAYM,KAAK,UAAU,kBAAkB,CACpC,GAAwB,EACxB,IAAiC;IAEjC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAG7D,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAK,EAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE/D,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE;YAC1B,QAAQ;YACR,OAAO,EAAE,EAAE,YAAY,EAAE;SAC5B,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,EAA6B,CAAC,CAAC;IAElC,IAAI,OAAO,KAAK,OAAO;QAAE,MAAM,GAAG,IAAA,oBAAK,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7D,MAAM,IAAA,iBAAS,EAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAClB,CAAC;AAvBD,gDAuBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
package/utils/index.js DELETED
@@ -1,23 +0,0 @@
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
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,qDAAmC;AACnC,8CAA4B;AAC5B,2CAAyB;AACzB,mDAAiC;AACjC,gDAA8B"}
@@ -1,4 +0,0 @@
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
- //# sourceMappingURL=interpolate.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpolate.util.d.ts","sourceRoot":"","sources":["../../src/utils/interpolate.util.ts"],"names":[],"mappings":"AASA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIrE;AAaD,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,EAClD,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,GAAE,CAAC,MAAM,EAAE,MAAM,CAAgB,GAC5C,CAAC,CAaH;AAYD,wBAAgB,eAAe,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,GAAE,CAAC,MAAM,EAAE,MAAM,CAAgB,GAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB"}
@@ -1,33 +0,0 @@
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
- //# sourceMappingURL=interpolate.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpolate.util.js","sourceRoot":"","sources":["../../src/utils/interpolate.util.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAShC,SAAgB,QAAQ,CAAC,GAAY;IACjC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAElD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACvC,CAAC;AAJD,4BAIC;AAaD,SAAgB,WAAW,CACvB,KAAQ,EACR,IAA6B,EAC7B,aAA+B,CAAC,IAAI,EAAE,IAAI,CAAC;IAE3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAA,kBAAQ,EAAC,KAAK,EAAE,IAAI,EAAE;YACzB,cAAc,EAAE,UAAU;SAC7B,CAAM,CAAC;KACX;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAM,CAAC;IAEnE,IAAI,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAM,CAAC;IAE1E,OAAO,KAAK,CAAC;AACjB,CAAC;AAjBD,kCAiBC;AAYD,SAAgB,eAAe,CAC3B,MAA+B,EAC/B,IAA6B,EAC7B,aAA+B,CAAC,IAAI,EAAE,IAAI,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,MAAM;QACpB,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAE7D,OAAO,MAAM,CAAC;AAClB,CAAC;AATD,0CASC"}
@@ -1,5 +0,0 @@
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
- //# sourceMappingURL=json.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.util.d.ts","sourceRoot":"","sources":["../../src/utils/json.util.ts"],"names":[],"mappings":"AAwBA,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOpD;AAWD,wBAAsB,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClD,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAIrD;AAaD,wBAAsB,SAAS,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,UAAQ,EACjB,eAAe,UAAQ,GACxB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAgB1B;AAYD,wBAAsB,gBAAgB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,UAAQ,GAClB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAiB1B"}
@@ -1,48 +0,0 @@
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
- //# sourceMappingURL=json.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.util.js","sourceRoot":"","sources":["../../src/utils/json.util.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,2BAAgC;AAChC,0CAAkD;AAUlD,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,KAAU,EAAuB,EAAE,CAC5D,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAUvC,SAAgB,WAAW,CAAC,QAAgB;IACxC,MAAM,IAAI,GAAG,YAAE,CAAC,OAAO,EAAE,CAAC;IAE1B,IAAI,IAAI,KAAK,SAAS;QAClB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;IAE5D,OAAO,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAPD,kCAOC;AAWM,KAAK,UAAU,QAAQ,CAC1B,IAAY;IAEZ,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAE1C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AAND,4BAMC;AAaM,KAAK,UAAU,SAAS,CAC3B,IAAY,EACZ,OAAgC,EAChC,SAAS,GAAG,KAAK,EACjB,eAAe,GAAG,KAAK;IAEvB,MAAM,MAAM,GAAG,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,MAAM,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAEvC,MAAM,IAAA,oBAAS,EACX,IAAI,EACJ,GAAG,IAAI,CAAC,SAAS,CACb,OAAO,EACP,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACtC,CAAC,CACJ,IAAI,EACL,MAAM,CACT,CAAC;IAEF,OAAO,IAAI,CAAC;AAChB,CAAC;AArBD,8BAqBC;AAYM,KAAK,UAAU,gBAAgB,CAClC,IAAY,EACZ,OAAgC,EAChC,SAAS,GAAG,KAAK;IAEjB,MAAM,MAAM,GAAG,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,MAAM,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAEvC,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;QACvB,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;QAEpD,IAAI,IAAI,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC;KAC/B;IAED,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAEpC,OAAO,IAAI,CAAC;AAChB,CAAC;AArBD,4CAqBC"}
package/utils/logger.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { LoggerWithoutCallSite as Logger } from 'tslog';
2
- export declare const logger: Logger;
3
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,MAAM,EAAE,MAAM,OAAO,CAAC;AAKxD,eAAO,MAAM,MAAM,QAYjB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;AAAA,iCAAwD;AAK3C,QAAA,MAAM,GAAG,IAAI,6BAAM,CAAC;IAC7B,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,KAAK;IACxB,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,KAAK;IAC1B,4BAA4B,EAAE;QAC1B,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,MAAM;KACjB;IACD,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,gCAAgC;IACjD,eAAe,EAAE,KAAK;CACzB,CAAC,CAAC"}
@@ -1,3 +0,0 @@
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
- //# sourceMappingURL=normalize.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.util.d.ts","sourceRoot":"","sources":["../../src/utils/normalize.util.ts"],"names":[],"mappings":"AAYA,wBAAgB,OAAO,CACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,gBAAgB,SAAO,EACvB,IAAI,SAAK,GACV,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BxB;AAcD,wBAAgB,SAAS,CACrB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,gBAAgB,SAAO,EACvB,mBAAmB,UAAQ,EAC3B,IAAI,SAAK,GACV,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyCxB"}
@@ -1,61 +0,0 @@
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
- //# sourceMappingURL=normalize.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.util.js","sourceRoot":"","sources":["../../src/utils/normalize.util.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
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
- //# sourceMappingURL=schema.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.util.d.ts","sourceRoot":"","sources":["../../src/utils/schema.util.ts"],"names":[],"mappings":"AAAA,OAAY,EAAU,cAAc,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAEpE,OAAqB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AA+BvD,wBAAgB,UAAU,CACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,OAAO,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazB;AAUD,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,CAIlC;AAWD,wBAAgB,YAAY,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACpC,OAAO,CAST;AAaD,wBAAgB,UAAU,CACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,SAAK,EACd,gBAAgB,SAAO,EACvB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBzB;AAaD,wBAAgB,eAAe,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,aAAa,UAAO,GACrB,gBAAgB,CAclB;AAaD,wBAAgB,gBAAgB,CAC5B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,aAAa,UAAO,GACrB,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAmBlC"}
@@ -1,100 +0,0 @@
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
- //# sourceMappingURL=schema.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.util.js","sourceRoot":"","sources":["../../src/utils/schema.util.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoE;AACpE,8DAAqC;AACrC,oEAAuD;AAEvD,MAAM,cAAc,GAA2B;IAC3C,YAAY,EACR,+EAA+E;IAEnF,KAAK,EAAE,8VAA8V;IAErW,QAAQ,EACJ,yHAAyH;IAE7H,YAAY,EAAE,eAAe;IAE7B,cAAc,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;IAExD,KAAK,EAAE,aAAa;IAEpB,KAAK,EAAE,wBAAwB;IAE/B,KAAK,EAAE,sBAAsB;CAChC,CAAC;AAWF,SAAgB,UAAU,CACtB,IAA6B,EAC7B,OAA0C;IAE1C,OAAO,IAAA,wBAAY,EAAC,IAAI,EAAE;QACtB,QAAQ,EAAE,KAAK;QACf,GAAG,OAAO;QACV,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;;YACjD,IAAI,KAAK,KAAK,IAAI,EAAE;gBAChB,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrB,MAAM,CAAC,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,KAAK,CAAC;aAChD;YAED,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAhBD,gCAgBC;AAUD,SAAgB,kBAAkB,CAC9B,MAA+B;IAE/B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACxE,CAAC;AAND,gDAMC;AAWD,SAAgB,YAAY,CACxB,MAA+B,EAC/B,YAAiC,EAAE;;IAEnC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU;YAC/B,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,OAAO,SAAS,CAAC;KACpB;SAAM;QACH,OAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;KACjE;AACL,CAAC;AAZD,oCAYC;AAaD,SAAgB,UAAU,CACtB,MAA+B,EAC/B,SAAS,GAAG,EAAE,EACd,gBAAgB,GAAG,IAAI,EACvB,YAAiC,EAAE;IAEnC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE;YACjC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,SAAS;YAG7B,MAAM,MAAM,GACR,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YAE1D,SAAS,GAAG;gBACR,GAAG,SAAS;gBACZ,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC;aAClE,CAAC;SACL;QAED,OAAO,SAAS,CAAC;KACpB;SAAM;QACH,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KAClC;AACL,CAAC;AAxBD,gCAwBC;AAaD,SAAgB,eAAe,CAC3B,MAA+B,EAC/B,aAAa,GAAG,IAAI;IAEpB,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC;QAChB,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,IAAI;KACxB,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE;QACf,IAAA,qBAAU,EAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAElC,KAAK,MAAM,GAAG,IAAI,cAAc;YAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/C;IAED,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAjBD,0CAiBC;AAaD,SAAgB,gBAAgB,CAC5B,YAAoC,EACpC,aAAa,GAAG,IAAI;IAEpB,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC;QAChB,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,IAAI;KACxB,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE;QACf,IAAA,qBAAU,EAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAElC,KAAK,MAAM,GAAG,IAAI,cAAc;YAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/C;IAED,MAAM,UAAU,GAAqC,EAAE,CAAC;IAExD,KAAK,MAAM,GAAG,IAAI,YAAY;QAC1B,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,OAAO,UAAU,CAAC;AACtB,CAAC;AAtBD,4CAsBC"}