UNPKG

mesos-framework

Version:

A wrapper around the Mesos HTTP APIs for Schedulers and Executors. Write your Mesos framework in pure JavaScript!

59 lines (47 loc) 1.32 kB
"use strict"; var protoBuf = require("protobufjs"); var path = require("path"); // Load Mesos protobuf definitions var builder = protoBuf.loadProtoFile(path.join(__dirname, "../", "proto/all.proto")); // Instantiate protobuf definitions var mesos = builder.build("mesos"); /** * The Mesos protocol buffers helper * @returns {object} An object with the Mesos protocol buffer definitions * @constructor */ function Mesos () { if (!(this instanceof Mesos)) { return new Mesos(); } } /** * * @returns {Mesos} */ Mesos.prototype.getMesos = function () { return mesos; }; /** * Get a ProtoBuf.Builder instance * @returns {?ProtoBuf.Builder|undefined|ProtoBuf.Builder} A ProtoBuf.Builder instance */ Mesos.prototype.getBuilder = function () { return builder; }; /** * Convenience method to get a ProtoBuf.Message instance of the specified `messageType` * @param {string} messageType The * @returns {?ProtoBuf.Message|undefined|ProtoBuf.Message} A ProtoBuf.Message instance */ Mesos.prototype.build = function (messageType) { return new (builder.build(messageType))() }; /** * Get a reference to the protobuf.js module * @returns {function} A reference to the protobuf.js module */ Mesos.prototype.getProtoBuf = function () { return protoBuf; }; module.exports = Mesos;