react-intl-lint 1.0.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 (169) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +228 -0
  3. package/dist/bin.d.ts +2 -0
  4. package/dist/bin.js +5 -0
  5. package/dist/bin.js.map +1 -0
  6. package/dist/package.json +121 -0
  7. package/dist/src/cli/bin.d.ts +2 -0
  8. package/dist/src/cli/bin.js +7 -0
  9. package/dist/src/cli/bin.js.map +1 -0
  10. package/dist/src/cli/cli.d.ts +16 -0
  11. package/dist/src/cli/cli.js +174 -0
  12. package/dist/src/cli/cli.js.map +1 -0
  13. package/dist/src/cli/dictionaries/CliOptions.d.ts +3 -0
  14. package/dist/src/cli/dictionaries/CliOptions.js +158 -0
  15. package/dist/src/cli/dictionaries/CliOptions.js.map +1 -0
  16. package/dist/src/cli/dictionaries/index.d.ts +1 -0
  17. package/dist/src/cli/dictionaries/index.js +18 -0
  18. package/dist/src/cli/dictionaries/index.js.map +1 -0
  19. package/dist/src/cli/enums/OptionsNames.d.ts +29 -0
  20. package/dist/src/cli/enums/OptionsNames.js +36 -0
  21. package/dist/src/cli/enums/OptionsNames.js.map +1 -0
  22. package/dist/src/cli/enums/OptionsPath.d.ts +5 -0
  23. package/dist/src/cli/enums/OptionsPath.js +10 -0
  24. package/dist/src/cli/enums/OptionsPath.js.map +1 -0
  25. package/dist/src/cli/enums/index.d.ts +2 -0
  26. package/dist/src/cli/enums/index.js +19 -0
  27. package/dist/src/cli/enums/index.js.map +1 -0
  28. package/dist/src/cli/models/Option.d.ts +7 -0
  29. package/dist/src/cli/models/Option.js +36 -0
  30. package/dist/src/cli/models/Option.js.map +1 -0
  31. package/dist/src/cli/models/index.d.ts +1 -0
  32. package/dist/src/cli/models/index.js +18 -0
  33. package/dist/src/cli/models/index.js.map +1 -0
  34. package/dist/src/cli/utils/file.d.ts +3 -0
  35. package/dist/src/cli/utils/file.js +51 -0
  36. package/dist/src/cli/utils/file.js.map +1 -0
  37. package/dist/src/cli/utils/index.d.ts +1 -0
  38. package/dist/src/cli/utils/index.js +18 -0
  39. package/dist/src/cli/utils/index.js.map +1 -0
  40. package/dist/src/core/client.d.ts +16 -0
  41. package/dist/src/core/client.js +171 -0
  42. package/dist/src/core/client.js.map +1 -0
  43. package/dist/src/core/config.d.ts +3 -0
  44. package/dist/src/core/config.js +24 -0
  45. package/dist/src/core/config.js.map +1 -0
  46. package/dist/src/core/enums/ErrorFlow.d.ts +15 -0
  47. package/dist/src/core/enums/ErrorFlow.js +20 -0
  48. package/dist/src/core/enums/ErrorFlow.js.map +1 -0
  49. package/dist/src/core/enums/ErrorTypes.d.ts +6 -0
  50. package/dist/src/core/enums/ErrorTypes.js +11 -0
  51. package/dist/src/core/enums/ErrorTypes.js.map +1 -0
  52. package/dist/src/core/enums/StatusCodes.d.ts +6 -0
  53. package/dist/src/core/enums/StatusCodes.js +11 -0
  54. package/dist/src/core/enums/StatusCodes.js.map +1 -0
  55. package/dist/src/core/enums/ToggleRule.d.ts +5 -0
  56. package/dist/src/core/enums/ToggleRule.js +10 -0
  57. package/dist/src/core/enums/ToggleRule.js.map +1 -0
  58. package/dist/src/core/enums/index.d.ts +4 -0
  59. package/dist/src/core/enums/index.js +21 -0
  60. package/dist/src/core/enums/index.js.map +1 -0
  61. package/dist/src/core/index.d.ts +7 -0
  62. package/dist/src/core/index.js +24 -0
  63. package/dist/src/core/index.js.map +1 -0
  64. package/dist/src/core/interface/IAppConfig.d.ts +10 -0
  65. package/dist/src/core/interface/IAppConfig.js +3 -0
  66. package/dist/src/core/interface/IAppConfig.js.map +1 -0
  67. package/dist/src/core/interface/ILogger.d.ts +5 -0
  68. package/dist/src/core/interface/ILogger.js +3 -0
  69. package/dist/src/core/interface/ILogger.js.map +1 -0
  70. package/dist/src/core/interface/IMisprint.d.ts +6 -0
  71. package/dist/src/core/interface/IMisprint.js +3 -0
  72. package/dist/src/core/interface/IMisprint.js.map +1 -0
  73. package/dist/src/core/interface/IRule.d.ts +8 -0
  74. package/dist/src/core/interface/IRule.js +3 -0
  75. package/dist/src/core/interface/IRule.js.map +1 -0
  76. package/dist/src/core/interface/IRulesConfig.d.ts +14 -0
  77. package/dist/src/core/interface/IRulesConfig.js +3 -0
  78. package/dist/src/core/interface/IRulesConfig.js.map +1 -0
  79. package/dist/src/core/interface/IValidationMessage.d.ts +5 -0
  80. package/dist/src/core/interface/IValidationMessage.js +3 -0
  81. package/dist/src/core/interface/IValidationMessage.js.map +1 -0
  82. package/dist/src/core/interface/index.d.ts +6 -0
  83. package/dist/src/core/interface/index.js +23 -0
  84. package/dist/src/core/interface/index.js.map +1 -0
  85. package/dist/src/core/models/KeyModel.d.ts +8 -0
  86. package/dist/src/core/models/KeyModel.js +15 -0
  87. package/dist/src/core/models/KeyModel.js.map +1 -0
  88. package/dist/src/core/models/KeyModelWithLanguages.d.ts +18 -0
  89. package/dist/src/core/models/KeyModelWithLanguages.js +29 -0
  90. package/dist/src/core/models/KeyModelWithLanguages.js.map +1 -0
  91. package/dist/src/core/models/LanguagesModel.d.ts +7 -0
  92. package/dist/src/core/models/LanguagesModel.js +12 -0
  93. package/dist/src/core/models/LanguagesModel.js.map +1 -0
  94. package/dist/src/core/models/MisprintModel.d.ts +8 -0
  95. package/dist/src/core/models/MisprintModel.js +12 -0
  96. package/dist/src/core/models/MisprintModel.js.map +1 -0
  97. package/dist/src/core/models/StylishLogger.d.ts +11 -0
  98. package/dist/src/core/models/StylishLogger.js +37 -0
  99. package/dist/src/core/models/StylishLogger.js.map +1 -0
  100. package/dist/src/core/models/error/ErrorModel.d.ts +7 -0
  101. package/dist/src/core/models/error/ErrorModel.js +4 -0
  102. package/dist/src/core/models/error/ErrorModel.js.map +1 -0
  103. package/dist/src/core/models/error/FatalErrorModel.d.ts +7 -0
  104. package/dist/src/core/models/error/FatalErrorModel.js +16 -0
  105. package/dist/src/core/models/error/FatalErrorModel.js.map +1 -0
  106. package/dist/src/core/models/error/index.d.ts +2 -0
  107. package/dist/src/core/models/error/index.js +19 -0
  108. package/dist/src/core/models/error/index.js.map +1 -0
  109. package/dist/src/core/models/files/FileLanguageModel.d.ts +10 -0
  110. package/dist/src/core/models/files/FileLanguageModel.js +90 -0
  111. package/dist/src/core/models/files/FileLanguageModel.js.map +1 -0
  112. package/dist/src/core/models/files/FileModel.d.ts +12 -0
  113. package/dist/src/core/models/files/FileModel.js +44 -0
  114. package/dist/src/core/models/files/FileModel.js.map +1 -0
  115. package/dist/src/core/models/files/FileViewModel.d.ts +7 -0
  116. package/dist/src/core/models/files/FileViewModel.js +22 -0
  117. package/dist/src/core/models/files/FileViewModel.js.map +1 -0
  118. package/dist/src/core/models/files/index.d.ts +3 -0
  119. package/dist/src/core/models/files/index.js +20 -0
  120. package/dist/src/core/models/files/index.js.map +1 -0
  121. package/dist/src/core/models/index.d.ts +8 -0
  122. package/dist/src/core/models/index.js +25 -0
  123. package/dist/src/core/models/index.js.map +1 -0
  124. package/dist/src/core/models/results/ResultCliModel.d.ts +22 -0
  125. package/dist/src/core/models/results/ResultCliModel.js +84 -0
  126. package/dist/src/core/models/results/ResultCliModel.js.map +1 -0
  127. package/dist/src/core/models/results/ResultErrorModel.d.ts +13 -0
  128. package/dist/src/core/models/results/ResultErrorModel.js +43 -0
  129. package/dist/src/core/models/results/ResultErrorModel.js.map +1 -0
  130. package/dist/src/core/models/results/ResultFileModel.d.ts +11 -0
  131. package/dist/src/core/models/results/ResultFileModel.js +16 -0
  132. package/dist/src/core/models/results/ResultFileModel.js.map +1 -0
  133. package/dist/src/core/models/results/ResultModel.d.ts +15 -0
  134. package/dist/src/core/models/results/ResultModel.js +62 -0
  135. package/dist/src/core/models/results/ResultModel.js.map +1 -0
  136. package/dist/src/core/models/results/index.d.ts +4 -0
  137. package/dist/src/core/models/results/index.js +21 -0
  138. package/dist/src/core/models/results/index.js.map +1 -0
  139. package/dist/src/core/rules/AbsentViewKeysRule.d.ts +12 -0
  140. package/dist/src/core/rules/AbsentViewKeysRule.js +38 -0
  141. package/dist/src/core/rules/AbsentViewKeysRule.js.map +1 -0
  142. package/dist/src/core/rules/EmptyKeysRule.d.ts +10 -0
  143. package/dist/src/core/rules/EmptyKeysRule.js +25 -0
  144. package/dist/src/core/rules/EmptyKeysRule.js.map +1 -0
  145. package/dist/src/core/rules/MisprintRule.d.ts +12 -0
  146. package/dist/src/core/rules/MisprintRule.js +38 -0
  147. package/dist/src/core/rules/MisprintRule.js.map +1 -0
  148. package/dist/src/core/rules/ZombiesRule.d.ts +10 -0
  149. package/dist/src/core/rules/ZombiesRule.js +26 -0
  150. package/dist/src/core/rules/ZombiesRule.js.map +1 -0
  151. package/dist/src/core/rules/index.d.ts +4 -0
  152. package/dist/src/core/rules/index.js +21 -0
  153. package/dist/src/core/rules/index.js.map +1 -0
  154. package/dist/src/core/utils/index.d.ts +4 -0
  155. package/dist/src/core/utils/index.js +21 -0
  156. package/dist/src/core/utils/index.js.map +1 -0
  157. package/dist/src/core/utils/keys.d.ts +7 -0
  158. package/dist/src/core/utils/keys.js +40 -0
  159. package/dist/src/core/utils/keys.js.map +1 -0
  160. package/dist/src/core/utils/logger.d.ts +3 -0
  161. package/dist/src/core/utils/logger.js +13 -0
  162. package/dist/src/core/utils/logger.js.map +1 -0
  163. package/dist/src/core/utils/path.d.ts +5 -0
  164. package/dist/src/core/utils/path.js +56 -0
  165. package/dist/src/core/utils/path.js.map +1 -0
  166. package/dist/src/core/utils/shared.d.ts +2 -0
  167. package/dist/src/core/utils/shared.js +24 -0
  168. package/dist/src/core/utils/shared.js.map +1 -0
  169. package/package.json +121 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyModelWithLanguages.js","sourceRoot":"","sources":["../../../../src/core/models/KeyModelWithLanguages.ts"],"names":[],"mappings":";;;AAAA,MAAM,qBAAqB;IAKvB,YAAY,IAAY,EAAE,YAAqC,EAAE,EAAE,QAA4B,EAAE;QAH1F,UAAK,GAAuB,EAAE,CAAC;QAC/B,cAAS,GAA4B,EAAE,CAAC;QAG3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAwBQ,sDAAqB;AAtB9B,MAAM,gBAAgB;IAIlB,YAAY,IAAY,EAAE,OAAe,EAAE;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAc+B,4CAAgB;AAZhD,MAAM,qBAAqB;IAKvB,YAAY,IAAY,EAAE,IAAY,EAAE,QAAgB;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAEiD,sDAAqB"}
@@ -0,0 +1,7 @@
1
+ import { KeyModel } from './KeyModel';
2
+ export declare class LanguagesModel {
3
+ name: string;
4
+ path: string;
5
+ keys: KeyModel[];
6
+ constructor(name: string);
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LanguagesModel = void 0;
4
+ class LanguagesModel {
5
+ constructor(name) {
6
+ this.path = '';
7
+ this.keys = [];
8
+ this.name = name;
9
+ }
10
+ }
11
+ exports.LanguagesModel = LanguagesModel;
12
+ //# sourceMappingURL=LanguagesModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguagesModel.js","sourceRoot":"","sources":["../../../../src/core/models/LanguagesModel.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IAKvB,YAAY,IAAY;QAHjB,SAAI,GAAW,EAAE,CAAC;QAClB,SAAI,GAAe,EAAE,CAAC;QAGzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AARD,wCAQC"}
@@ -0,0 +1,8 @@
1
+ import { ErrorTypes } from './../enums';
2
+ import { IMisprint } from '../interface';
3
+ declare class MisprintModel implements IMisprint {
4
+ type: ErrorTypes;
5
+ coefficient: number;
6
+ constructor(type?: ErrorTypes, coefficient?: number);
7
+ }
8
+ export { MisprintModel };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MisprintModel = void 0;
4
+ const enums_1 = require("./../enums");
5
+ class MisprintModel {
6
+ constructor(type = enums_1.ErrorTypes.warning, coefficient = 0.9) {
7
+ this.type = type;
8
+ this.coefficient = coefficient;
9
+ }
10
+ }
11
+ exports.MisprintModel = MisprintModel;
12
+ //# sourceMappingURL=MisprintModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MisprintModel.js","sourceRoot":"","sources":["../../../../src/core/models/MisprintModel.ts"],"names":[],"mappings":";;;AAAA,sCAAwC;AAGxC,MAAM,aAAa;IAGf,YACI,OAAmB,kBAAU,CAAC,OAAO,EACrC,cAAsB,GAAG;QAEzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;CACJ;AAEQ,sCAAa"}
@@ -0,0 +1,11 @@
1
+ import { ILogger } from "./../interface";
2
+ import { ErrorTypes } from "./../enums";
3
+ declare class StylishLogger implements ILogger {
4
+ private logger;
5
+ private errorType;
6
+ constructor(logger: ILogger, errorType?: ErrorTypes);
7
+ error(message: string): void;
8
+ log(message: string): void;
9
+ printMessage(message: string, errorType?: ErrorTypes): void;
10
+ }
11
+ export { StylishLogger };
@@ -0,0 +1,37 @@
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.StylishLogger = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const enums_1 = require("./../enums");
9
+ class StylishLogger {
10
+ constructor(logger, errorType = enums_1.ErrorTypes.error) {
11
+ this.logger = logger;
12
+ this.errorType = errorType;
13
+ }
14
+ error(message) {
15
+ // tslint:disable-next-line:no-console
16
+ console.error(chalk_1.default.red(message));
17
+ }
18
+ log(message) {
19
+ // tslint:disable-next-line:no-console
20
+ console.log(chalk_1.default.yellow(message));
21
+ }
22
+ printMessage(message, errorType = this.errorType) {
23
+ switch (errorType) {
24
+ case enums_1.ErrorTypes.error:
25
+ this.error(message);
26
+ break;
27
+ case enums_1.ErrorTypes.warning:
28
+ this.log(message);
29
+ break;
30
+ default:
31
+ this.log(message);
32
+ break;
33
+ }
34
+ }
35
+ }
36
+ exports.StylishLogger = StylishLogger;
37
+ //# sourceMappingURL=StylishLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StylishLogger.js","sourceRoot":"","sources":["../../../../src/core/models/StylishLogger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,sCAAwC;AAExC,MAAM,aAAa;IAIf,YACI,MAAe,EACf,YAAwB,kBAAU,CAAC,KAAK;QAExC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAe;QACxB,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,GAAG,CAAC,OAAe;QACtB,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY,CAAC,OAAe,EAAE,YAAwB,IAAI,CAAC,SAAS;QACvE,QAAQ,SAAS,EAAE;YACf,KAAK,kBAAU,CAAC,KAAK;gBACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACpB,MAAM;YACV,KAAK,kBAAU,CAAC,OAAO;gBACnB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClB,MAAM;YACV;gBACI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClB,MAAM;SACb;IACL,CAAC;CACJ;AAEQ,sCAAa"}
@@ -0,0 +1,7 @@
1
+ declare class ErrorModel {
2
+ name?: string;
3
+ message: string;
4
+ stack?: string;
5
+ constructor(message?: string);
6
+ }
7
+ export { ErrorModel };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorModel = void 0;
4
+ //# sourceMappingURL=ErrorModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorModel.js","sourceRoot":"","sources":["../../../../../src/core/models/error/ErrorModel.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ declare class FatalErrorModel extends Error {
2
+ message: string;
3
+ innerError?: Error | undefined;
4
+ static NAME: string;
5
+ constructor(message: string, innerError?: Error | undefined);
6
+ }
7
+ export { FatalErrorModel };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FatalErrorModel = void 0;
4
+ class FatalErrorModel extends Error {
5
+ constructor(message, innerError) {
6
+ super(message);
7
+ this.message = message;
8
+ this.innerError = innerError;
9
+ this.name = FatalErrorModel.NAME;
10
+ // Fix prototype chain for target ES5
11
+ Object.setPrototypeOf(this, FatalErrorModel.prototype);
12
+ }
13
+ }
14
+ exports.FatalErrorModel = FatalErrorModel;
15
+ FatalErrorModel.NAME = "FatalError";
16
+ //# sourceMappingURL=FatalErrorModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FatalErrorModel.js","sourceRoot":"","sources":["../../../../../src/core/models/error/FatalErrorModel.ts"],"names":[],"mappings":";;;AAAA,MAAM,eAAgB,SAAQ,KAAK;IAE/B,YAAmB,OAAe,EAAS,UAAkB;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QADA,YAAO,GAAP,OAAO,CAAQ;QAAS,eAAU,GAAV,UAAU,CAAQ;QAEzD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAEjC,qCAAqC;QACrC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;;AAGI,0CAAe;AAVN,oBAAI,GAAW,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ErrorModel';
2
+ export * from './FatalErrorModel';
@@ -0,0 +1,19 @@
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("./ErrorModel"), exports);
18
+ __exportStar(require("./FatalErrorModel"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/models/error/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,oDAAkC"}
@@ -0,0 +1,10 @@
1
+ import { KeyModel } from '../KeyModel';
2
+ import { FileModel } from './FileModel';
3
+ declare class FileLanguageModel extends FileModel {
4
+ constructor(path: string, files?: string[], keys?: KeyModel[], ignore?: string);
5
+ getKeys(): FileLanguageModel;
6
+ getKeysWithValue(): FileLanguageModel;
7
+ private getLanguageKeysWithValue;
8
+ private getLanguageKeys;
9
+ }
10
+ export { FileLanguageModel };
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileLanguageModel = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const KeyModel_1 = require("../KeyModel");
6
+ const FileModel_1 = require("./FileModel");
7
+ class FileLanguageModel extends FileModel_1.FileModel {
8
+ constructor(path, files = [], keys = [], ignore = '') {
9
+ super(path, files, keys, ignore);
10
+ }
11
+ getKeys() {
12
+ this.files = this.getNormalizeFiles();
13
+ this.keys = this.parseKeys((fileData, filePath) => {
14
+ try {
15
+ const fileKeysNames = this.getLanguageKeys(JSON.parse(fileData));
16
+ return !fileKeysNames ? [] : fileKeysNames
17
+ .filter(x => !!x)
18
+ .map((key) => {
19
+ return new KeyModel_1.KeyModel(key, [], [filePath]);
20
+ });
21
+ }
22
+ catch (e) {
23
+ const errorMessage = `Can't parse JSON file: ${filePath}`;
24
+ throw new Error(errorMessage);
25
+ }
26
+ });
27
+ return this;
28
+ }
29
+ getKeysWithValue() {
30
+ this.files = this.getNormalizeFiles();
31
+ this.keys = this.parseKeysWithValues((fileData, filePath) => {
32
+ try {
33
+ const fileKeysNames = this.getLanguageKeysWithValue(JSON.parse(fileData));
34
+ return fileKeysNames.map((key) => {
35
+ key.languages.push(filePath);
36
+ return key;
37
+ });
38
+ }
39
+ catch (e) {
40
+ const errorMessage = `Can't parse JSON file: ${filePath}`;
41
+ throw new Error(errorMessage);
42
+ }
43
+ });
44
+ return this;
45
+ }
46
+ getLanguageKeysWithValue(obj, cat = null, tKeys = [], tValues = []) {
47
+ const currentKeys = [...tKeys];
48
+ const correctKeys = tValues;
49
+ const objectKeys = Object.keys(obj);
50
+ objectKeys.forEach((key) => {
51
+ // @ts-ignore
52
+ const keyValue = (0, lodash_1.get)(obj, key);
53
+ const isObject = typeof keyValue === 'object';
54
+ const currentKey = cat === null ? key : cat.concat('.', key);
55
+ if (isObject) {
56
+ const childKeys = this.getLanguageKeysWithValue(keyValue, currentKey, tKeys, correctKeys).map((x) => x.name);
57
+ currentKeys.push(...childKeys);
58
+ }
59
+ else {
60
+ correctKeys.push({
61
+ name: currentKey,
62
+ value: keyValue.toString(),
63
+ views: [],
64
+ languages: []
65
+ });
66
+ }
67
+ });
68
+ return correctKeys;
69
+ }
70
+ getLanguageKeys(obj, cat = null, tKeys = []) {
71
+ const currentKeys = [...tKeys];
72
+ const objectKeys = Object.keys(obj);
73
+ objectKeys.forEach((key) => {
74
+ // @ts-ignore
75
+ const keyValue = (0, lodash_1.get)(obj, key);
76
+ const isObject = typeof keyValue === 'object';
77
+ const currentKey = cat === null ? key : cat.concat('.', key);
78
+ if (isObject) {
79
+ const childKeys = this.getLanguageKeys(keyValue, currentKey, tKeys);
80
+ currentKeys.push(...childKeys);
81
+ }
82
+ else {
83
+ currentKeys.push(currentKey);
84
+ }
85
+ });
86
+ return currentKeys;
87
+ }
88
+ }
89
+ exports.FileLanguageModel = FileLanguageModel;
90
+ //# sourceMappingURL=FileLanguageModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileLanguageModel.js","sourceRoot":"","sources":["../../../../../src/core/models/files/FileLanguageModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { KeyModel } from '../KeyModel';
2
+ declare abstract class FileModel {
3
+ path: string;
4
+ keys: KeyModel[];
5
+ files: string[];
6
+ ignore: string | undefined;
7
+ protected constructor(path: string, files?: string[], keys?: KeyModel[], ignore?: string | undefined);
8
+ getNormalizeFiles(): string[];
9
+ parseKeys(identity: Function): KeyModel[];
10
+ parseKeysWithValues(identity: Function): KeyModel[];
11
+ }
12
+ export { FileModel };
@@ -0,0 +1,44 @@
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.FileModel = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const utils_1 = require("../../utils");
9
+ class FileModel {
10
+ constructor(path, files = [], keys = [], ignore = undefined) {
11
+ this.path = path;
12
+ this.keys = keys;
13
+ this.files = files;
14
+ this.ignore = ignore;
15
+ }
16
+ getNormalizeFiles() {
17
+ const ignorePathList = this.ignore && this.ignore !== '' ? this.ignore.split(',') : [];
18
+ const resultFilesList = utils_1.PathUtils.getNormalizeFiles(this.path, ignorePathList);
19
+ if (!resultFilesList.length) {
20
+ throw Error(`Cannot found files for path: '${this.path}'`);
21
+ }
22
+ return resultFilesList;
23
+ }
24
+ parseKeys(identity) {
25
+ const keysModels = this.files.reduce((acum, filePath) => {
26
+ const fileData = fs_1.default.readFileSync(filePath).toString();
27
+ const models = identity(fileData, filePath);
28
+ acum.push(...models);
29
+ return acum;
30
+ }, []);
31
+ return utils_1.KeysUtils.groupKeysByName(keysModels);
32
+ }
33
+ parseKeysWithValues(identity) {
34
+ const keysModels = this.files.reduce((acum, filePath) => {
35
+ const fileData = fs_1.default.readFileSync(filePath).toString();
36
+ const models = identity(fileData, filePath);
37
+ acum.push(...models);
38
+ return acum;
39
+ }, []);
40
+ return keysModels;
41
+ }
42
+ }
43
+ exports.FileModel = FileModel;
44
+ //# sourceMappingURL=FileModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileModel.js","sourceRoot":"","sources":["../../../../../src/core/models/files/FileModel.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AAGpB,uCAAmD;AAGnD,MAAe,SAAS;IAMpB,YACI,IAAY,EACZ,QAAkB,EAAE,EACpB,OAAmB,EAAE,EACrB,SAA6B,SAAS;QAEtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEM,iBAAiB;QACpB,MAAM,cAAc,GAAa,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,MAAM,eAAe,GAAa,iBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAEzF,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YACzB,MAAM,KAAK,CAAC,iCAAiC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;SAC9D;QACD,OAAO,eAAe,CAAC;IAC3B,CAAC;IAGM,SAAS,CAAC,QAAkB;QAC/B,MAAM,UAAU,GAAe,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAgB,EAAE,QAAgB,EAAE,EAAE;YACpF,MAAM,QAAQ,GAAW,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAe,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,iBAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAEM,mBAAmB,CAAC,QAAkB;QACzC,MAAM,UAAU,GAAe,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAgB,EAAE,QAAgB,EAAE,EAAE;YACpF,MAAM,QAAQ,GAAW,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAe,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AAEQ,8BAAS"}
@@ -0,0 +1,7 @@
1
+ import { FileModel } from "./FileModel";
2
+ import { KeyModel } from "../KeyModel";
3
+ declare class FileViewModel extends FileModel {
4
+ constructor(path: string, files?: string[], keys?: KeyModel[], ignore?: string);
5
+ getKeys(regExp: RegExp): FileViewModel;
6
+ }
7
+ export { FileViewModel };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileViewModel = void 0;
4
+ const FileModel_1 = require("./FileModel");
5
+ const KeyModel_1 = require("../KeyModel");
6
+ class FileViewModel extends FileModel_1.FileModel {
7
+ constructor(path, files = [], keys = [], ignore = '') {
8
+ super(path, files, keys, ignore);
9
+ }
10
+ getKeys(regExp) {
11
+ this.files = this.getNormalizeFiles();
12
+ this.keys = this.parseKeys((fileData, filePath) => {
13
+ const fileKeysNames = fileData.match(regExp);
14
+ return !fileKeysNames ? [] : fileKeysNames
15
+ .filter(x => !!x)
16
+ .map((key) => new KeyModel_1.KeyModel(key, [filePath], []));
17
+ });
18
+ return this;
19
+ }
20
+ }
21
+ exports.FileViewModel = FileViewModel;
22
+ //# sourceMappingURL=FileViewModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileViewModel.js","sourceRoot":"","sources":["../../../../../src/core/models/files/FileViewModel.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,0CAAuC;AAEvC,MAAM,aAAc,SAAQ,qBAAS;IACjC,YACI,IAAY,EACZ,QAAkB,EAAE,EACpB,OAAmB,EAAE,EACrB,SAAiB,EAAE;QAEnB,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,OAAO,CAAC,MAAc;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,QAAgB,EAAE,QAAgB,EAAc,EAAE;YAC1E,MAAM,aAAa,GAAa,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAa,CAAC;YACnE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;iBACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChB,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,mBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAEQ,sCAAa"}
@@ -0,0 +1,3 @@
1
+ export * from './FileModel';
2
+ export * from './FileViewModel';
3
+ export * from './FileLanguageModel';
@@ -0,0 +1,20 @@
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("./FileModel"), exports);
18
+ __exportStar(require("./FileViewModel"), exports);
19
+ __exportStar(require("./FileLanguageModel"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/models/files/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kDAAgC;AAChC,sDAAoC"}
@@ -0,0 +1,8 @@
1
+ export * from './error';
2
+ export * from './files';
3
+ export * from './results';
4
+ export * from './KeyModel';
5
+ export * from './StylishLogger';
6
+ export * from './MisprintModel';
7
+ export * from './LanguagesModel';
8
+ export * from './KeyModelWithLanguages';
@@ -0,0 +1,25 @@
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("./error"), exports);
18
+ __exportStar(require("./files"), exports);
19
+ __exportStar(require("./results"), exports);
20
+ __exportStar(require("./KeyModel"), exports);
21
+ __exportStar(require("./StylishLogger"), exports);
22
+ __exportStar(require("./MisprintModel"), exports);
23
+ __exportStar(require("./LanguagesModel"), exports);
24
+ __exportStar(require("./KeyModelWithLanguages"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,4CAA0B;AAC1B,6CAA2B;AAC3B,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,0DAAwC"}
@@ -0,0 +1,22 @@
1
+ import { ResultModel } from './ResultModel';
2
+ import { ResultErrorModel } from './ResultErrorModel';
3
+ import { StatusCodes } from '../../enums';
4
+ declare class ResultCliModel {
5
+ errors: ResultErrorModel[];
6
+ maxCountWarning: number;
7
+ countWarnings(): number;
8
+ hasWarnings(): boolean;
9
+ isFullOfWarning(): boolean;
10
+ countErrors(): number;
11
+ hasErrors(): boolean;
12
+ countMisprint(): number;
13
+ hasMisprint(): boolean;
14
+ getEmptyKeys(): ResultErrorModel[];
15
+ countEmptyKeys(): number;
16
+ hasEmptyKeys(): boolean;
17
+ exitCode(): StatusCodes;
18
+ constructor(errors?: ResultErrorModel[], maxCountWarning?: number);
19
+ private getResultFiles;
20
+ getResultModel(): ResultModel;
21
+ }
22
+ export { ResultCliModel };
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResultCliModel = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const utils_1 = require("../../utils");
6
+ const ResultModel_1 = require("./ResultModel");
7
+ const ResultFileModel_1 = require("./ResultFileModel");
8
+ const enums_1 = require("../../enums");
9
+ class ResultCliModel {
10
+ constructor(errors = [], maxCountWarning = 0) {
11
+ this.errors = [];
12
+ this.maxCountWarning = 0;
13
+ this.errors = errors;
14
+ this.maxCountWarning = +maxCountWarning;
15
+ }
16
+ countWarnings() {
17
+ const result = (this.errors.filter((item) => item.errorType === enums_1.ErrorTypes.warning) || []).length;
18
+ return result;
19
+ }
20
+ hasWarnings() {
21
+ const result = this.countWarnings() > 0;
22
+ return result;
23
+ }
24
+ isFullOfWarning() {
25
+ const result = this.maxCountWarning && this.maxCountWarning !== 0 && this.hasWarnings() ? this.countWarnings() > this.maxCountWarning : false;
26
+ return result;
27
+ }
28
+ countErrors() {
29
+ const result = (this.errors.filter((item) => item.errorType === enums_1.ErrorTypes.error) || []).length;
30
+ return result;
31
+ }
32
+ hasErrors() {
33
+ const result = this.countErrors() > 0 || this.isFullOfWarning();
34
+ return result;
35
+ }
36
+ countMisprint() {
37
+ const misprintCount = (this.errors.filter((item) => item.errorFlow === enums_1.ErrorFlow.misprintKeys) || []).length;
38
+ return misprintCount;
39
+ }
40
+ hasMisprint() {
41
+ const result = this.countMisprint() > 0;
42
+ return result;
43
+ }
44
+ getEmptyKeys() {
45
+ const result = (this.errors.filter((item) => item.errorFlow === enums_1.ErrorFlow.emptyKeys) || []);
46
+ return result;
47
+ }
48
+ countEmptyKeys() {
49
+ const result = (this.errors.filter((item) => item.errorFlow === enums_1.ErrorFlow.emptyKeys) || []).length;
50
+ return result;
51
+ }
52
+ hasEmptyKeys() {
53
+ const result = this.countEmptyKeys() > 0;
54
+ return result;
55
+ }
56
+ exitCode() {
57
+ return this.hasErrors() ? enums_1.StatusCodes.error : enums_1.StatusCodes.successful;
58
+ }
59
+ getResultFiles() {
60
+ const resultFiles = (0, lodash_1.chain)(this.errors)
61
+ .groupBy("currentPath")
62
+ .map((dictionary, key) => {
63
+ let clearDictionary = dictionary;
64
+ const hasError = (0, lodash_1.some)(dictionary, { 'errorType': enums_1.ErrorTypes.error });
65
+ const errorType = hasError || this.isFullOfWarning() ? enums_1.ErrorTypes.error : enums_1.ErrorTypes.warning;
66
+ if (this.isFullOfWarning()) {
67
+ clearDictionary = dictionary.map((item) => {
68
+ item.errorType = enums_1.ErrorTypes.error;
69
+ return item;
70
+ });
71
+ }
72
+ return new ResultFileModel_1.ResultFileModel(key, clearDictionary, errorType);
73
+ })
74
+ .value();
75
+ return resultFiles;
76
+ }
77
+ getResultModel() {
78
+ const resultFiles = this.getResultFiles();
79
+ const resultModel = new ResultModel_1.ResultModel(this, resultFiles, this.hasErrors(), this.hasWarnings(), utils_1.logger);
80
+ return resultModel;
81
+ }
82
+ }
83
+ exports.ResultCliModel = ResultCliModel;
84
+ //# sourceMappingURL=ResultCliModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultCliModel.js","sourceRoot":"","sources":["../../../../../src/core/models/results/ResultCliModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { IValidationMessage } from '../../interface';
2
+ import { ErrorFlow, ErrorTypes } from '../../enums';
3
+ declare class ResultErrorModel implements IValidationMessage {
4
+ value: string;
5
+ errorFlow: ErrorFlow;
6
+ errorType: ErrorTypes;
7
+ absentedPath?: string | string[];
8
+ currentPath: string;
9
+ suggestions: string[];
10
+ constructor(value: string, errorFlow: ErrorFlow | undefined, errorType: ErrorTypes | undefined, currentPath: string, absentedPath?: string | string[], suggestions?: string[]);
11
+ message(): string | string[] | null;
12
+ }
13
+ export { ResultErrorModel };