sanex3339 8 éve
szülő
commit
1cf47d69f5
3 módosított fájl, 43 hozzáadás és 6 törlés
  1. 26 3
      dist/index.js
  2. 14 3
      src/OptionsNormalizer.ts
  3. 3 0
      src/types/TOptionsNormalizerRule.ts

+ 26 - 3
dist/index.js

@@ -982,9 +982,31 @@ var OptionsNormalizer = function () {
         key: "normalizeOptionsPreset",
         value: function normalizeOptionsPreset(options) {
             var normalizedOptions = Object.assign({}, options);
-            normalizedOptions = OptionsNormalizer.unicodeArrayRule(normalizedOptions);
-            normalizedOptions = OptionsNormalizer.unicodeArrayThresholdRule(normalizedOptions);
-            normalizedOptions = OptionsNormalizer.selfDefendingRule(normalizedOptions);
+            var _iteratorNormalCompletion = true;
+            var _didIteratorError = false;
+            var _iteratorError = undefined;
+
+            try {
+                for (var _iterator = OptionsNormalizer.normalizerRules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+                    var normalizerRule = _step.value;
+
+                    normalizedOptions = normalizerRule(normalizedOptions);
+                }
+            } catch (err) {
+                _didIteratorError = true;
+                _iteratorError = err;
+            } finally {
+                try {
+                    if (!_iteratorNormalCompletion && _iterator.return) {
+                        _iterator.return();
+                    }
+                } finally {
+                    if (_didIteratorError) {
+                        throw _iteratorError;
+                    }
+                }
+            }
+
             return normalizedOptions;
         }
     }, {
@@ -1027,6 +1049,7 @@ OptionsNormalizer.SELF_DEFENDING_OPTIONS = {
     compact: true,
     selfDefending: true
 };
+OptionsNormalizer.normalizerRules = [OptionsNormalizer.unicodeArrayRule, OptionsNormalizer.unicodeArrayThresholdRule, OptionsNormalizer.selfDefendingRule];
 exports.OptionsNormalizer = OptionsNormalizer;
 
 /***/ },

+ 14 - 3
src/OptionsNormalizer.ts

@@ -1,5 +1,7 @@
 import { IOptionsPreset } from "./interfaces/IOptionsPreset";
 
+import { TOptionsNormalizerRule } from "./types/TOptionsNormalizerRule";
+
 export class OptionsNormalizer {
     /**
      * @type {IOptionsPreset}
@@ -20,6 +22,15 @@ export class OptionsNormalizer {
         selfDefending: true
     };
 
+    /**
+     * @type {TOptionsNormalizerRule[]}
+     */
+    private static normalizerRules: TOptionsNormalizerRule[] = [
+        OptionsNormalizer.unicodeArrayRule,
+        OptionsNormalizer.unicodeArrayThresholdRule,
+        OptionsNormalizer.selfDefendingRule
+    ];
+
     /**
      * @param options
      * @returns {IOptionsPreset}
@@ -27,9 +38,9 @@ export class OptionsNormalizer {
     public static normalizeOptionsPreset (options: IOptionsPreset): IOptionsPreset {
         let normalizedOptions: IOptionsPreset = Object.assign({}, options);
 
-        normalizedOptions = OptionsNormalizer.unicodeArrayRule(normalizedOptions);
-        normalizedOptions = OptionsNormalizer.unicodeArrayThresholdRule(normalizedOptions);
-        normalizedOptions = OptionsNormalizer.selfDefendingRule(normalizedOptions);
+        for (let normalizerRule of OptionsNormalizer.normalizerRules) {
+            normalizedOptions = normalizerRule(normalizedOptions);
+        }
 
         return normalizedOptions;
     }

+ 3 - 0
src/types/TOptionsNormalizerRule.ts

@@ -0,0 +1,3 @@
+import { IOptionsPreset } from "../interfaces/IOptionsPreset";
+
+export type TOptionsNormalizerRule = (options: IOptionsPreset) => IOptionsPreset;