mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2025-01-01 03:31:21 +00:00
105 lines
3.6 KiB
JavaScript
105 lines
3.6 KiB
JavaScript
"use strict";
|
|
var protobuf = module.exports = require("./index-minimal");
|
|
|
|
protobuf.build = "light";
|
|
|
|
/**
|
|
* A node-style callback as used by {@link load} and {@link Root#load}.
|
|
* @typedef LoadCallback
|
|
* @type {function}
|
|
* @param {Error|null} error Error, if any, otherwise `null`
|
|
* @param {Root} [root] Root, if there hasn't been an error
|
|
* @returns {undefined}
|
|
*/
|
|
|
|
/**
|
|
* Loads one or multiple .proto or preprocessed .json files into a common root namespace and calls the callback.
|
|
* @param {string|string[]} filename One or multiple files to load
|
|
* @param {Root} root Root namespace, defaults to create a new one if omitted.
|
|
* @param {LoadCallback} callback Callback function
|
|
* @returns {undefined}
|
|
* @see {@link Root#load}
|
|
*/
|
|
function load(filename, root, callback) {
|
|
if (typeof root === "function") {
|
|
callback = root;
|
|
root = new protobuf.Root();
|
|
} else if (!root)
|
|
root = new protobuf.Root();
|
|
return root.load(filename, callback);
|
|
}
|
|
|
|
/**
|
|
* Loads one or multiple .proto or preprocessed .json files into a common root namespace and calls the callback.
|
|
* @name load
|
|
* @function
|
|
* @param {string|string[]} filename One or multiple files to load
|
|
* @param {LoadCallback} callback Callback function
|
|
* @returns {undefined}
|
|
* @see {@link Root#load}
|
|
* @variation 2
|
|
*/
|
|
// function load(filename:string, callback:LoadCallback):undefined
|
|
|
|
/**
|
|
* Loads one or multiple .proto or preprocessed .json files into a common root namespace and returns a promise.
|
|
* @name load
|
|
* @function
|
|
* @param {string|string[]} filename One or multiple files to load
|
|
* @param {Root} [root] Root namespace, defaults to create a new one if omitted.
|
|
* @returns {Promise<Root>} Promise
|
|
* @see {@link Root#load}
|
|
* @variation 3
|
|
*/
|
|
// function load(filename:string, [root:Root]):Promise<Root>
|
|
|
|
protobuf.load = load;
|
|
|
|
/**
|
|
* Synchronously loads one or multiple .proto or preprocessed .json files into a common root namespace (node only).
|
|
* @param {string|string[]} filename One or multiple files to load
|
|
* @param {Root} [root] Root namespace, defaults to create a new one if omitted.
|
|
* @returns {Root} Root namespace
|
|
* @throws {Error} If synchronous fetching is not supported (i.e. in browsers) or if a file's syntax is invalid
|
|
* @see {@link Root#loadSync}
|
|
*/
|
|
function loadSync(filename, root) {
|
|
if (!root)
|
|
root = new protobuf.Root();
|
|
return root.loadSync(filename);
|
|
}
|
|
|
|
protobuf.loadSync = loadSync;
|
|
|
|
// Serialization
|
|
protobuf.encoder = require("./encoder");
|
|
protobuf.decoder = require("./decoder");
|
|
protobuf.verifier = require("./verifier");
|
|
protobuf.converter = require("./converter");
|
|
|
|
// Reflection
|
|
protobuf.ReflectionObject = require("./object");
|
|
protobuf.Namespace = require("./namespace");
|
|
protobuf.Root = require("./root");
|
|
protobuf.Enum = require("./enum");
|
|
protobuf.Type = require("./type");
|
|
protobuf.Field = require("./field");
|
|
protobuf.OneOf = require("./oneof");
|
|
protobuf.MapField = require("./mapfield");
|
|
protobuf.Service = require("./service");
|
|
protobuf.Method = require("./method");
|
|
|
|
// Runtime
|
|
protobuf.Message = require("./message");
|
|
protobuf.wrappers = require("./wrappers");
|
|
|
|
// Utility
|
|
protobuf.types = require("./types");
|
|
protobuf.util = require("./util");
|
|
|
|
// Set up possibly cyclic reflection dependencies
|
|
protobuf.ReflectionObject._configure(protobuf.Root);
|
|
protobuf.Namespace._configure(protobuf.Type, protobuf.Service, protobuf.Enum);
|
|
protobuf.Root._configure(protobuf.Type);
|
|
protobuf.Field._configure(protobuf.Type);
|