summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/protobufjs/src/enum.js
diff options
context:
space:
mode:
authoraltaf-creator <dev@altafcreator.com>2025-11-16 19:08:29 +0800
committeraltaf-creator <dev@altafcreator.com>2025-11-16 19:08:29 +0800
commit434aa8343fdcbb4d5002f934979913c099489bee (patch)
tree55bab4ec5a6151be57797d34f61faf5ea744471b /frontend-old/node_modules/protobufjs/src/enum.js
parent893c388d4e99442a36005e5971a87730623f946e (diff)
sdk, del
Diffstat (limited to 'frontend-old/node_modules/protobufjs/src/enum.js')
-rw-r--r--frontend-old/node_modules/protobufjs/src/enum.js223
1 files changed, 0 insertions, 223 deletions
diff --git a/frontend-old/node_modules/protobufjs/src/enum.js b/frontend-old/node_modules/protobufjs/src/enum.js
deleted file mode 100644
index 8eea761..0000000
--- a/frontend-old/node_modules/protobufjs/src/enum.js
+++ /dev/null
@@ -1,223 +0,0 @@
-"use strict";
-module.exports = Enum;
-
-// extends ReflectionObject
-var ReflectionObject = require("./object");
-((Enum.prototype = Object.create(ReflectionObject.prototype)).constructor = Enum).className = "Enum";
-
-var Namespace = require("./namespace"),
- util = require("./util");
-
-/**
- * Constructs a new enum instance.
- * @classdesc Reflected enum.
- * @extends ReflectionObject
- * @constructor
- * @param {string} name Unique name within its namespace
- * @param {Object.<string,number>} [values] Enum values as an object, by name
- * @param {Object.<string,*>} [options] Declared options
- * @param {string} [comment] The comment for this enum
- * @param {Object.<string,string>} [comments] The value comments for this enum
- * @param {Object.<string,Object<string,*>>|undefined} [valuesOptions] The value options for this enum
- */
-function Enum(name, values, options, comment, comments, valuesOptions) {
- ReflectionObject.call(this, name, options);
-
- if (values && typeof values !== "object")
- throw TypeError("values must be an object");
-
- /**
- * Enum values by id.
- * @type {Object.<number,string>}
- */
- this.valuesById = {};
-
- /**
- * Enum values by name.
- * @type {Object.<string,number>}
- */
- this.values = Object.create(this.valuesById); // toJSON, marker
-
- /**
- * Enum comment text.
- * @type {string|null}
- */
- this.comment = comment;
-
- /**
- * Value comment texts, if any.
- * @type {Object.<string,string>}
- */
- this.comments = comments || {};
-
- /**
- * Values options, if any
- * @type {Object<string, Object<string, *>>|undefined}
- */
- this.valuesOptions = valuesOptions;
-
- /**
- * Resolved values features, if any
- * @type {Object<string, Object<string, *>>|undefined}
- */
- this._valuesFeatures = {};
-
- /**
- * Reserved ranges, if any.
- * @type {Array.<number[]|string>}
- */
- this.reserved = undefined; // toJSON
-
- // Note that values inherit valuesById on their prototype which makes them a TypeScript-
- // compatible enum. This is used by pbts to write actual enum definitions that work for
- // static and reflection code alike instead of emitting generic object definitions.
-
- if (values)
- for (var keys = Object.keys(values), i = 0; i < keys.length; ++i)
- if (typeof values[keys[i]] === "number") // use forward entries only
- this.valuesById[ this.values[keys[i]] = values[keys[i]] ] = keys[i];
-}
-
-/**
- * @override
- */
-Enum.prototype._resolveFeatures = function _resolveFeatures(edition) {
- edition = this._edition || edition;
- ReflectionObject.prototype._resolveFeatures.call(this, edition);
-
- Object.keys(this.values).forEach(key => {
- var parentFeaturesCopy = Object.assign({}, this._features);
- this._valuesFeatures[key] = Object.assign(parentFeaturesCopy, this.valuesOptions && this.valuesOptions[key] && this.valuesOptions[key].features);
- });
-
- return this;
-};
-
-/**
- * Enum descriptor.
- * @interface IEnum
- * @property {Object.<string,number>} values Enum values
- * @property {Object.<string,*>} [options] Enum options
- */
-
-/**
- * Constructs an enum from an enum descriptor.
- * @param {string} name Enum name
- * @param {IEnum} json Enum descriptor
- * @returns {Enum} Created enum
- * @throws {TypeError} If arguments are invalid
- */
-Enum.fromJSON = function fromJSON(name, json) {
- var enm = new Enum(name, json.values, json.options, json.comment, json.comments);
- enm.reserved = json.reserved;
- if (json.edition)
- enm._edition = json.edition;
- enm._defaultEdition = "proto3"; // For backwards-compatibility.
- return enm;
-};
-
-/**
- * Converts this enum to an enum descriptor.
- * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
- * @returns {IEnum} Enum descriptor
- */
-Enum.prototype.toJSON = function toJSON(toJSONOptions) {
- var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
- return util.toObject([
- "edition" , this._editionToJSON(),
- "options" , this.options,
- "valuesOptions" , this.valuesOptions,
- "values" , this.values,
- "reserved" , this.reserved && this.reserved.length ? this.reserved : undefined,
- "comment" , keepComments ? this.comment : undefined,
- "comments" , keepComments ? this.comments : undefined
- ]);
-};
-
-/**
- * Adds a value to this enum.
- * @param {string} name Value name
- * @param {number} id Value id
- * @param {string} [comment] Comment, if any
- * @param {Object.<string, *>|undefined} [options] Options, if any
- * @returns {Enum} `this`
- * @throws {TypeError} If arguments are invalid
- * @throws {Error} If there is already a value with this name or id
- */
-Enum.prototype.add = function add(name, id, comment, options) {
- // utilized by the parser but not by .fromJSON
-
- if (!util.isString(name))
- throw TypeError("name must be a string");
-
- if (!util.isInteger(id))
- throw TypeError("id must be an integer");
-
- if (this.values[name] !== undefined)
- throw Error("duplicate name '" + name + "' in " + this);
-
- if (this.isReservedId(id))
- throw Error("id " + id + " is reserved in " + this);
-
- if (this.isReservedName(name))
- throw Error("name '" + name + "' is reserved in " + this);
-
- if (this.valuesById[id] !== undefined) {
- if (!(this.options && this.options.allow_alias))
- throw Error("duplicate id " + id + " in " + this);
- this.values[name] = id;
- } else
- this.valuesById[this.values[name] = id] = name;
-
- if (options) {
- if (this.valuesOptions === undefined)
- this.valuesOptions = {};
- this.valuesOptions[name] = options || null;
- }
-
- this.comments[name] = comment || null;
- return this;
-};
-
-/**
- * Removes a value from this enum
- * @param {string} name Value name
- * @returns {Enum} `this`
- * @throws {TypeError} If arguments are invalid
- * @throws {Error} If `name` is not a name of this enum
- */
-Enum.prototype.remove = function remove(name) {
-
- if (!util.isString(name))
- throw TypeError("name must be a string");
-
- var val = this.values[name];
- if (val == null)
- throw Error("name '" + name + "' does not exist in " + this);
-
- delete this.valuesById[val];
- delete this.values[name];
- delete this.comments[name];
- if (this.valuesOptions)
- delete this.valuesOptions[name];
-
- return this;
-};
-
-/**
- * Tests if the specified id is reserved.
- * @param {number} id Id to test
- * @returns {boolean} `true` if reserved, otherwise `false`
- */
-Enum.prototype.isReservedId = function isReservedId(id) {
- return Namespace.isReservedId(this.reserved, id);
-};
-
-/**
- * Tests if the specified name is reserved.
- * @param {string} name Name to test
- * @returns {boolean} `true` if reserved, otherwise `false`
- */
-Enum.prototype.isReservedName = function isReservedName(name) {
- return Namespace.isReservedName(this.reserved, name);
-};