github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/sawtooth-core-master/sdk/javascript/protobuf/index.js (about) 1 /** 2 * Copyright 2016 Intel Corporation 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * ------------------------------------------------------------------------------ 16 */ 17 18 'use strict' 19 20 const protobuf = require('protobufjs') 21 22 const root = protobuf.Root.fromJSON(require('./protobuf_bundle.json')) 23 24 const Message = root.lookup('Message') 25 Message.MessageType = Message.nested.MessageType.values 26 Message.MessageType.stringValue = (id) => 27 `${Message.nested.MessageType.valuesById[id]}(${id})` 28 29 let exportableMessages = 30 Object.keys(root) 31 .filter((key) => /^[A-Z]/.test(key)) 32 .reduce((acc, key) => { 33 acc[key] = root[key] 34 return acc 35 }, {}) 36 37 // Add our stringValue enabled Message 38 exportableMessages['Message'] = Message 39 40 module.exports = exportableMessages