@zohodesk/react-cli 0.0.1-beta.172 → 0.0.1-beta.174

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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.libAlias = void 0;
6
+ exports.libAlias = exports.jestModuleNameMapper = void 0;
7
7
  // the reason for alias at the time was code tree shaking
8
8
  // tree shaking was most compactable with ES module system
9
9
  // FIXME: But there is a posiblity when these package does not have lib,
@@ -27,5 +27,12 @@ const libAlias = {
27
27
  '@zohodesk/timetracker/lib': '@zohodesk/timetracker/es',
28
28
  '@zohodesk/variables/lib': '@zohodesk/variables/es',
29
29
  '@zohodesk/virtualizer/lib': '@zohodesk/virtualizer/es'
30
- };
31
- exports.libAlias = libAlias;
30
+ }; // '^@root(.*)$': '<rootDir>/src$1',
31
+ // '^@components(.*)$': '<rootDir>/src/components$1',
32
+
33
+ exports.libAlias = libAlias;
34
+ const jestModuleNameMapper = Object.keys(libAlias).reduce((previousValue, key) => {
35
+ previousValue[`^${key}(.*)$`] = `${libAlias[key]}$1`;
36
+ return previousValue;
37
+ }, {});
38
+ exports.jestModuleNameMapper = jestModuleNameMapper;
@@ -16,8 +16,8 @@ var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
16
16
 
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
 
19
- let options = (0, _utils.getOptions)();
20
- let {
19
+ const options = (0, _utils.getOptions)();
20
+ const {
21
21
  unstableDepsInverse,
22
22
  app: {
23
23
  folder,
@@ -27,6 +27,7 @@ let {
27
27
  plugins,
28
28
  exclude,
29
29
  mediaQueryHoverActiveString,
30
+ cssVariableReplacementConfig,
30
31
  cssUniqueness,
31
32
  seperateCssModules,
32
33
  changeRuntimeChunkChar,
@@ -41,13 +42,13 @@ let {
41
42
  crossorigin
42
43
  }
43
44
  } = options;
44
- let {
45
+ const {
45
46
  disableContextURL
46
47
  } = server;
47
- let appPath = process.cwd();
48
- let contextURL = disableContextURL ? '' : context;
49
- let serverUrl = (0, _utils.getServerURL)(server, 'https');
50
- let output = {
48
+ const appPath = process.cwd();
49
+ const contextURL = disableContextURL ? '' : context;
50
+ const serverUrl = (0, _utils.getServerURL)(server, 'https');
51
+ const output = {
51
52
  path: _path.default.join(appPath, outputFolder),
52
53
  filename: 'js/[name].js',
53
54
  chunkFilename: 'js/[name].js',
@@ -86,9 +87,9 @@ module.exports = {
86
87
  test: /\.js$/,
87
88
  use: (0, _loaderUtils.getDevJsLoaders)(options),
88
89
  include: module => {
89
- let srcPath = _path.default.join(appPath, folder);
90
+ const srcPath = _path.default.join(appPath, folder);
90
91
 
91
- let depsPath = _path.default.join(appPath, 'node_modules', '@zohodesk');
92
+ const depsPath = _path.default.join(appPath, 'node_modules', '@zohodesk');
92
93
 
93
94
  if (module.includes(srcPath) || devConsoleExculde && module.includes(depsPath)) {
94
95
  return true;
@@ -99,10 +100,10 @@ module.exports = {
99
100
  }, seperateCssModules ? {
100
101
  test: /\.css$/,
101
102
  exclude: /\.module\.css$/,
102
- use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, '[local]', false, null)
103
+ use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, '[local]', false, null)
103
104
  } : null, {
104
105
  test: seperateCssModules ? /\.module\.css$/ : /(\.module)?\.css$/,
105
- use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, null, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
106
+ use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, null, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
106
107
  }, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), {
107
108
  test: /\.tmpl$/,
108
109
  use: [{
@@ -14,8 +14,8 @@ var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
14
14
 
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
 
17
- let options = (0, _utils.getOptions)();
18
- let {
17
+ const options = (0, _utils.getOptions)();
18
+ const {
19
19
  unstableDepsInverse,
20
20
  docs: {
21
21
  componentFolder,
@@ -25,6 +25,7 @@ let {
25
25
  plugins,
26
26
  exclude,
27
27
  mediaQueryHoverActiveString,
28
+ cssVariableReplacementConfig,
28
29
  cssHashSelectors,
29
30
  classNamePrefix
30
31
  },
@@ -32,7 +33,7 @@ let {
32
33
  folder
33
34
  }
34
35
  } = options;
35
- let appPath = process.cwd();
36
+ const appPath = process.cwd();
36
37
  const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
37
38
 
38
39
  module.exports = isSSTest => ({
@@ -74,7 +75,7 @@ module.exports = isSSTest => ({
74
75
  exclude: /node_modules/
75
76
  }, {
76
77
  test: /(\.module)?\.css$/,
77
- use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
78
+ use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
78
79
  }, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), {
79
80
  test: /\.html$/,
80
81
  use: {
@@ -12,14 +12,15 @@ var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
12
12
 
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
 
15
- let options = (0, _utils.getOptions)();
16
- let {
15
+ const options = (0, _utils.getOptions)();
16
+ const {
17
17
  docs: {
18
18
  componentFolder,
19
19
  cssUniqueness,
20
20
  plugins,
21
21
  exclude,
22
22
  mediaQueryHoverActiveString,
23
+ cssVariableReplacementConfig,
23
24
  cssHashSelectors,
24
25
  enableChunkHash,
25
26
  classNamePrefix
@@ -28,7 +29,7 @@ let {
28
29
  folder
29
30
  }
30
31
  } = options;
31
- let appPath = process.cwd();
32
+ const appPath = process.cwd();
32
33
  const nameTemplate = (0, _configsAssetsLoaders.createNameTemplate)(enableChunkHash);
33
34
  module.exports = {
34
35
  entry: {
@@ -69,7 +70,7 @@ module.exports = {
69
70
  exclude: /node_modules/
70
71
  }, {
71
72
  test: /(\.module)?\.css$/,
72
- use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
73
+ use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, false, cssUniqueness, null, cssHashSelectors, classNamePrefix)
73
74
  }, (0, _configsAssetsLoaders.configImageLoader)(nameTemplate), (0, _configsAssetsLoaders.configFontLoader)(nameTemplate), (0, _configsAssetsLoaders.configSVGLoader)(nameTemplate), (0, _configsAssetsLoaders.configAudioLoader)(nameTemplate), (0, _configsAssetsLoaders.configVideoLoader)(nameTemplate), {
74
75
  test: /\.html$/,
75
76
  use: {
@@ -17,7 +17,7 @@ var _configsAssetsLoaders = require("../loaderUtils/configsAssetsLoaders");
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
 
19
19
  // import TerserPlugin from 'terser-webpack-plugin';
20
- let options = (0, _utils.getOptions)();
20
+ const options = (0, _utils.getOptions)();
21
21
  let {
22
22
  unstableDepsInverse,
23
23
  app: {
@@ -32,6 +32,7 @@ let {
32
32
  plugins,
33
33
  exclude,
34
34
  mediaQueryHoverActiveString,
35
+ cssVariableReplacementConfig,
35
36
  cssUniqueness,
36
37
  server: {
37
38
  mode
@@ -46,10 +47,10 @@ let {
46
47
  crossorigin
47
48
  }
48
49
  } = options;
49
- let appPath = process.cwd();
50
- let isDevelopment = mode === 'prod' || mode === 'dev' || mode === 'dev-no-warn';
50
+ const appPath = process.cwd();
51
+ const isDevelopment = mode === 'prod' || mode === 'dev' || mode === 'dev-no-warn';
51
52
  enableChunkHash = !isDevelopment && enableChunkHash;
52
- let output = {
53
+ const output = {
53
54
  path: _path.default.resolve(appPath, outputFolder),
54
55
  filename: enableChunkHash ? 'js/[name].[chunkhash:20]_.js' : 'js/[name]_.js',
55
56
  chunkFilename: enableChunkHash ? 'js/[name].[chunkhash:20]_.js' : 'js/[name]_.js',
@@ -62,15 +63,15 @@ if (crossorigin) {
62
63
  }
63
64
 
64
65
  if (isDevelopment) {
65
- let {
66
+ const {
66
67
  disableContextURL
67
68
  } = server;
68
- let contextURL = disableContextURL ? '' : context;
69
- let serverUrl = (0, _utils.getServerURL)(server, 'https');
69
+ const contextURL = disableContextURL ? '' : context;
70
+ const serverUrl = (0, _utils.getServerURL)(server, 'https');
70
71
  output.publicPath = `${[serverUrl, contextURL].filter(a => a).join('/')}/`;
71
72
  }
72
73
 
73
- let shouldRemovePropTypes = !isDevelopment && removePropTypes;
74
+ const shouldRemovePropTypes = !isDevelopment && removePropTypes;
74
75
  module.exports = {
75
76
  entry: (0, _common.getEntries)(options, 'production'),
76
77
  devtool: isDevelopment ? 'cheap-module-source-map' : enableSMap ? 'hidden-source-map' : 'none',
@@ -134,9 +135,9 @@ module.exports = {
134
135
  }].filter(Boolean),
135
136
  // include: path.join(appPath, folder)
136
137
  include: module => {
137
- let srcPath = _path.default.join(appPath, folder);
138
+ const srcPath = _path.default.join(appPath, folder);
138
139
 
139
- let depsPath = _path.default.join(appPath, 'node_modules', '@zohodesk');
140
+ const depsPath = _path.default.join(appPath, 'node_modules', '@zohodesk');
140
141
 
141
142
  if (module.includes(srcPath) || devConsoleExculde && module.includes(depsPath)) {
142
143
  return true;
@@ -147,10 +148,10 @@ module.exports = {
147
148
  }, seperateCssModules ? {
148
149
  test: /\.css$/,
149
150
  exclude: /\.module\.css$/,
150
- use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, '[local]', false, null)
151
+ use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, cssVariableReplacementConfig, mediaQueryHoverActiveString, '[local]', false, null)
151
152
  } : null, {
152
153
  test: seperateCssModules ? /\.module\.css$/ : /\.css$/,
153
- use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, false, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
154
+ use: (0, _loaderUtils.getCSSLoaders)(plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, false, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix)
154
155
  }, {
155
156
  test: /\.jpe?g$|\.gif$|\.png$/,
156
157
  use: [{
@@ -6,23 +6,32 @@ var _postcssHashClassname = _interopRequireDefault(require("postcss-hash-classna
6
6
 
7
7
  var _fs = _interopRequireDefault(require("fs"));
8
8
 
9
+ var _utils = require("../../utils");
10
+
9
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
12
 
11
13
  let count = 0;
14
+ const options = (0, _utils.getOptions)();
15
+ const {
16
+ classnameFormat
17
+ } = options.test;
12
18
  module.exports = {
13
19
  process: function (src) {
14
20
  count++;
15
- let opts = {
21
+ const opts = {
16
22
  hashType: 'md5',
17
- digestType: 'base32'
23
+ digestType: 'base32',
24
+ maxLength: 6,
25
+ type: '.json',
26
+ classnameFormat: classnameFormat,
27
+ outputName: `jsonFile_test_${count}`
18
28
  };
19
- opts.maxLength = 6;
20
- opts.type = '.json';
21
- opts.outputName = `jsonFile_test_${count}`;
22
- let processor = (0, _postcss.default)([(0, _postcssHashClassname.default)(opts)]);
29
+ const processor = (0, _postcss.default)([(0, _postcssHashClassname.default)(opts)]);
23
30
  processor.process(src).css;
24
31
 
25
- let jsonMap = _fs.default.readFileSync(`jsonFile_test_${count}.json`, 'UTF-8');
32
+ const jsonMap = _fs.default.readFileSync(`jsonFile_test_${count}.json`, 'UTF-8');
33
+
34
+ _fs.default.unlinkSync(`jsonFile_test_${count}.json`);
26
35
 
27
36
  return `module.exports =${jsonMap}`;
28
37
  }
@@ -13,8 +13,10 @@ var _utils = require("../utils");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- let options = (0, _utils.getOptions)();
17
- let isWin = process.platform === 'win32';
16
+ const fs = require('fs');
17
+
18
+ const options = (0, _utils.getOptions)();
19
+ const isWin = process.platform === 'win32';
18
20
 
19
21
  function windowsModification(array) {
20
22
  return isWin ? array.map(r => r.replace(/\//g, '\\')) : array;
@@ -31,7 +33,7 @@ function excludeEmptyCheckPlugin({
31
33
  })] : [];
32
34
  }
33
35
 
34
- let getCSSLoaders = (plugins, exclude, mediaQueryHoverActiveString, classNameBlob, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix) => {
36
+ const getCSSLoaders = (plugins, exclude, mediaQueryHoverActiveString, cssVariableReplacementConfig, classNameBlob, cssUniqueness, selectorReplace, cssHashSelectors, classNamePrefix) => {
35
37
  // console.log('plugins:')
36
38
  // console.log(plugins)
37
39
  // console.log('exclude:')
@@ -45,10 +47,12 @@ let getCSSLoaders = (plugins, exclude, mediaQueryHoverActiveString, classNameBlo
45
47
  const {
46
48
  cssSelectorZipPath
47
49
  } = options.impactService;
48
- let rtlExcludeLocal = windowsModification(exclude.rtl);
49
- let hoverActiveExcludeLocal = windowsModification(exclude.hoverActive);
50
- let combinerMediaQueryExcludeLocal = windowsModification(exclude.combinerMediaQuery);
51
- let cssLoaderOptions = {
50
+ fs.writeFileSync('./css_error.log', '');
51
+ const rtlExcludeLocal = windowsModification(exclude.rtl);
52
+ const hoverActiveExcludeLocal = windowsModification(exclude.hoverActive);
53
+ const combinerMediaQueryExcludeLocal = windowsModification(exclude.combinerMediaQuery);
54
+ const cssVariableReplacementExcludeLocal = windowsModification(exclude.cssVariableReplacement);
55
+ const cssLoaderOptions = {
52
56
  // importLoaders: hasRTL||hoverActive ? 1 : 0,
53
57
  importLoaders: 1,
54
58
  modules: {},
@@ -61,7 +65,12 @@ let getCSSLoaders = (plugins, exclude, mediaQueryHoverActiveString, classNameBlo
61
65
  cssLoaderOptions.modules.getLocalIdent = (0, _cssClassNameGenerate.default)(cssUniqueness, cssHashSelectors, classNamePrefix);
62
66
  }
63
67
 
64
- const postcssPlugins = [valueReplacer && require('../postcss-plugins/ValueReplacer')(valueReplacer), selectorReplace && require('postcss-selector-replace')(selectorReplace), ...excludeEmptyCheckPlugin({
68
+ const postcssPlugins = [valueReplacer && require('../postcss-plugins/ValueReplacer')(valueReplacer), selectorReplace && require('postcss-selector-replace')(selectorReplace), // ...excludeEmptyCheckPlugin({
69
+ // enable: true,
70
+ // ignore: [],
71
+ // plugins: [require('../postcss-plugins/variablePropertiesCollector').default()]
72
+ // }),
73
+ ...excludeEmptyCheckPlugin({
65
74
  enable: plugins.hasRTL,
66
75
  ignore: rtlExcludeLocal,
67
76
  plugins: [require('@zohodesk/postcss-rtl')({
@@ -81,8 +90,11 @@ let getCSSLoaders = (plugins, exclude, mediaQueryHoverActiveString, classNameBlo
81
90
  enable: plugins.hoverActive,
82
91
  ignore: hoverActiveExcludeLocal,
83
92
  plugins: [require('../postcss-plugins/hoverActivePlugin')(mediaQueryHoverActiveString)]
84
- }) // require('../postcss-plugins/variableModifier')()
85
- ].filter(Boolean);
93
+ }), ...excludeEmptyCheckPlugin({
94
+ enable: plugins.cssVariableReplacement,
95
+ ignore: cssVariableReplacementExcludeLocal,
96
+ plugins: [fs.existsSync(cssVariableReplacementConfig) && require('../postcss-plugins/variableModificationPlugin/index')(cssVariableReplacementConfig)]
97
+ })].filter(Boolean);
86
98
  return [cssSelectorZipPath && {
87
99
  loader: require.resolve('../loaders/selectorMappingLoader')
88
100
  }, {
@@ -33,9 +33,24 @@ function isHoverPresent(atrule) {
33
33
  return hoverPresent;
34
34
  }
35
35
 
36
+ function checkForUsualClass(root, sel) {
37
+ let present = false;
38
+ sel.split(',').forEach(value => {
39
+ if (value.includes('hover')) {
40
+ const valueNoHover = value.replace(':hover', '').trim();
41
+ root.walkRules(rule => {
42
+ if (rule.selector === valueNoHover) {
43
+ present = true;
44
+ }
45
+ });
46
+ }
47
+ });
48
+ return present;
49
+ }
50
+
36
51
  module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHoverActiveString => rootOriginal => {
37
52
  const hoverRules = [];
38
- let positionsObj = {};
53
+ const positionsObj = {};
39
54
  hoverMedQuerySuffix = mediaQueryHoverActiveString.hover;
40
55
  hoverNoneMedQuerySuffix = mediaQueryHoverActiveString.none;
41
56
 
@@ -145,16 +160,16 @@ module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHover
145
160
  if (rule.parent.params !== undefined && !rule.parent.params.includes('hover')) {
146
161
  //console.log(hovMed, actMed);
147
162
  let newSelector = '';
148
- let {
163
+ const {
149
164
  hovMed,
150
165
  actMed
151
166
  } = getPositionsOfHoverAndActiveMedQueries(rule.parent);
152
- let hovQueries = [];
153
- let actQueries = [];
167
+ const hovQueries = [];
168
+ const actQueries = [];
154
169
  rule.selector.split(/\s*,\s*/).forEach(_subrule => {
155
- let subrule = _subrule.trim();
170
+ const subrule = _subrule.trim();
156
171
 
157
- let clone = rule.clone();
172
+ const clone = rule.clone();
158
173
 
159
174
  if (subrule.includes('hover')) {
160
175
  clone.selector = subrule;
@@ -172,13 +187,13 @@ module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHover
172
187
  });
173
188
 
174
189
  if (hovQueries.length > 0) {
175
- let clone = rule.clone();
190
+ const clone = rule.clone();
176
191
  clone.selector = hovQueries.join(',');
177
192
  hovMed.append(clone);
178
193
  }
179
194
 
180
195
  if (actQueries.length > 0) {
181
- let clone = rule.clone();
196
+ const clone = rule.clone();
182
197
  clone.selector = actQueries.join(',');
183
198
  actMed.append(clone.clone({
184
199
  selector: clone.selector.replace(/:hover/gi, ':active')
@@ -197,7 +212,7 @@ module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHover
197
212
 
198
213
  function mediaQuery(rule, index) {
199
214
  if (rule.parent.params !== undefined && !rule.parent.params.includes('hover')) {
200
- let {
215
+ const {
201
216
  hovMed,
202
217
  actMed
203
218
  } = getPositionsOfHoverAndActiveMedQueries(rule.parent);
@@ -219,9 +234,9 @@ module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHover
219
234
  function commaQuery(rule, index) {
220
235
  //console.log("comma" , rule.selector.split('\n'));
221
236
  let newSelector = '';
222
- let hovQueries = [];
237
+ const hovQueries = [];
223
238
  rule.selector.split(/\s*,\s*/).forEach(_subrule => {
224
- let subrule = _subrule.trim();
239
+ const subrule = _subrule.trim();
225
240
 
226
241
  if (subrule.includes('hover')) {
227
242
  // hoverRules.push({ rule: clone, index });
@@ -232,7 +247,7 @@ module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHover
232
247
  });
233
248
 
234
249
  if (hovQueries.length > 0) {
235
- let clone = rule.clone();
250
+ const clone = rule.clone();
236
251
  clone.selector = hovQueries.join(',');
237
252
  hoverRules.push({
238
253
  rule: clone,
@@ -241,7 +256,9 @@ module.exports = _postcss.default.plugin('postcss-mobile-hover', mediaQueryHover
241
256
  }
242
257
 
243
258
  if (handleHoverAndHoverActiveIgnore(index)) {
244
- rule.selector = newSelector.substring(0, newSelector.length - 2).trim();
259
+ if (checkForUsualClass(rootOriginal, rule.selector)) {
260
+ rule.selector = newSelector.substring(0, newSelector.length - 2).trim();
261
+ }
245
262
  }
246
263
 
247
264
  if (rule.selector === '') {
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ErrorHandler = void 0;
7
+
8
+ class ErrorHandler {
9
+ constructor(allowedErrs) {
10
+ this.errors = [];
11
+ this.allowedErrs = allowedErrs;
12
+ }
13
+
14
+ addError(errstr) {
15
+ this.errors.push(`{\n${errstr}\n}\n`);
16
+ }
17
+
18
+ errorFunction(errStr, type) {
19
+ const {
20
+ addError,
21
+ allowedErrs
22
+ } = this;
23
+
24
+ if (type === 'DECLARATION_IGNORED' && allowedErrs.DECLARATION_IGNORED) {
25
+ addError(errStr);
26
+ } else if (type === 'UNIT_ERROR' && allowedErrs.UNIT_ERROR) {
27
+ addError(errStr);
28
+ } else if (type === 'RANGE_ERROR' && allowedErrs.RANGE_ERROR) {
29
+ addError(errStr);
30
+ } else if (type === 'VARIABLE_PRESENT' && allowedErrs.VARIABLE_PRESENT) {
31
+ addError(errStr);
32
+ }
33
+ }
34
+
35
+ }
36
+
37
+ exports.ErrorHandler = ErrorHandler;