Bladeren bron

Update xmodel.js

Lutz Roeder 4 jaren geleden
bovenliggende
commit
7be2801e82
1 gewijzigde bestanden met toevoegingen van 8 en 10 verwijderingen
  1. 8 10
      source/xmodel.js

+ 8 - 10
source/xmodel.js

@@ -15,17 +15,18 @@ xmodel.ModelFactory = class {
 
     open(context) {
         return context.require('./xmodel-proto').then(() => {
-            let graph = null;
             try {
                 xmodel.proto = protobuf.get('xmodel').serial_v2;
-                const reader = protobuf.Reader.create(context.stream.peek());
-                graph = xmodel.proto.Graph.decode(reader);
+                const stream = context.stream;
+                const buffer = stream.peek();
+                const reader = protobuf.Reader.create(buffer);
+                const graph = xmodel.proto.Graph.decode(reader);
+                return new xmodel.Model(graph);
             }
             catch (error) {
                 const message = error && error.message ? error.message : error.toString();
                 throw new xmodel.Error('File format is not serial_v2.Graph (' + message.replace(/\.$/, '') + ').');
             }
-            return new xmodel.Model(graph);
         });
     }
 };
@@ -59,10 +60,9 @@ xmodel.Model = class {
 xmodel.Graph = class {
 
     constructor(graph) {
-        const metadata = new xmodel.GraphMetadata(graph.op_defs);
+        const metadata = new xmodel.Metadata(graph.op_defs);
         this._inputs = [];
         this._outputs = [];
-        this._nodes = [];
         const count = new Map();
         for (const op_node of graph.op_node) {
             for (const arg of op_node.args) {
@@ -89,9 +89,7 @@ xmodel.Graph = class {
             }
             nodes.push(op_node);
         }
-        for (const op_node of nodes) {
-            this._nodes.push(new xmodel.Node(metadata, op_node, initializers));
-        }
+        this._nodes = nodes.map((node) => new xmodel.Node(metadata, node, initializers))
     }
 
     get inputs() {
@@ -418,7 +416,7 @@ xmodel.Utility = class {
     }
 };
 
-xmodel.GraphMetadata = class {
+xmodel.Metadata = class {
 
     constructor(op_defs) {
         this._map = new Map();