Ver Fonte

Update default value comparison

Lutz Roeder há 1 mês atrás
pai
commit
ff50a08147
3 ficheiros alterados com 9 adições e 27 exclusões
  1. 3 9
      source/cntk.js
  2. 3 9
      source/mxnet.js
  3. 3 9
      source/openvino.js

+ 3 - 9
source/cntk.js

@@ -405,7 +405,7 @@ cntk.Node = class {
                 if (metadata.visible === false) {
                     visible = false;
                 } else if (metadata.default !== undefined) {
-                    let defaultValue = metadata.default;
+                    const defaultValue = metadata.default;
                     if (typeof value === 'function') {
                         value = value();
                     }
@@ -415,14 +415,8 @@ cntk.Node = class {
                     if (value === defaultValue) {
                         visible = false;
                     } else if (Array.isArray(value) && Array.isArray(defaultValue)) {
-                        defaultValue = defaultValue.slice(0, defaultValue.length);
-                        if (defaultValue.length > 1 && defaultValue[defaultValue.length - 1] === null) {
-                            defaultValue.pop();
-                            while (defaultValue.length < value.length) {
-                                defaultValue.push(defaultValue[defaultValue.length - 1]);
-                            }
-                        }
-                        if (value.every((item, index) => item === defaultValue[index])) {
+                        const repeat = defaultValue.length > 1 && defaultValue[defaultValue.length - 1] === null;
+                        if (value.every((item, index) => item === (repeat && index >= defaultValue.length - 1 ? defaultValue[defaultValue.length - 2] : defaultValue[index]))) {
                             visible = false;
                         }
                     }

+ 3 - 9
source/mxnet.js

@@ -528,18 +528,12 @@ mxnet.Node = class {
                         if (metadata.visible === false) {
                             visible = false;
                         } else if (metadata.default !== undefined) {
-                            let defaultValue = metadata.default;
+                            const defaultValue = metadata.default;
                             if (value === defaultValue) {
                                 visible = false;
                             } else if (Array.isArray(value) && Array.isArray(defaultValue)) {
-                                defaultValue = defaultValue.slice(0, defaultValue.length);
-                                if (defaultValue.length > 1 && defaultValue[defaultValue.length - 1] === null) {
-                                    defaultValue.pop();
-                                    while (defaultValue.length < value.length) {
-                                        defaultValue.push(defaultValue[defaultValue.length - 1]);
-                                    }
-                                }
-                                if (value.every((item, index) => item === defaultValue[index])) {
+                                const repeat = defaultValue.length > 1 && defaultValue[defaultValue.length - 1] === null;
+                                if (value.every((item, index) => item === (repeat && index >= defaultValue.length - 1 ? defaultValue[defaultValue.length - 2] : defaultValue[index]))) {
                                     visible = false;
                                 }
                             }

+ 3 - 9
source/openvino.js

@@ -612,18 +612,12 @@ openvino.Node = class {
             if (schema && schema.visible === false) {
                 visible = false;
             } else if (schema && schema.default !== undefined) {
-                let defaultValue = schema.default;
+                const defaultValue = schema.default;
                 if (value === defaultValue) {
                     visible = false;
                 } else if (Array.isArray(value) && Array.isArray(defaultValue)) {
-                    defaultValue = defaultValue.slice(0, defaultValue.length);
-                    if (defaultValue.length > 1 && defaultValue[defaultValue.length - 1] === null) {
-                        defaultValue.pop();
-                        while (defaultValue.length < value.length) {
-                            defaultValue.push(defaultValue[defaultValue.length - 1]);
-                        }
-                    }
-                    if (value.every((item, index) => item === defaultValue[index])) {
+                    const repeat = defaultValue.length > 1 && defaultValue[defaultValue.length - 1] === null;
+                    if (value.every((item, index) => item === (repeat && index >= defaultValue.length - 1 ? defaultValue[defaultValue.length - 2] : defaultValue[index]))) {
                         visible = false;
                     }
                 }