new Builder()
Constructs a new Builder.
Classes
Members
-
files :Array.<string>
-
Imported files.
-
importRoot :string
-
Import root override.
-
ns :ProtoBuf.Reflect.Namespace
-
Namespace.
-
ptr :ProtoBuf.Reflect.T
-
Namespace pointer.
-
resolved :boolean
-
Resolved flag.
-
result :Object.<string,ProtoBuf.Builder.Message|Object>|null
-
The current building result.
Methods
-
<static> isValidEnum(def) → {boolean}
-
Tests if a definition is a valid enum definition.
Parameters:
Name Type Description def
Object Definition
Returns:
true if valid, else false
- Type
- boolean
-
<static> isValidExtend(def) → {boolean}
-
Tests if a definition is a valid extension.
Parameters:
Name Type Description def
Object Definition
Returns:
true if valid, else false
- Type
- boolean
-
<static> isValidImport(filename) → {boolean}
-
Tests if the specified file is a valid import.
Parameters:
Name Type Description filename
string Returns:
true if valid, false if it should be skipped
- Type
- boolean
-
<static> isValidMessage(def) → {boolean}
-
Tests if a definition is a valid message definition.
Parameters:
Name Type Description def
Object.<string,*> Definition
Returns:
true if valid, else false
- Type
- boolean
-
<static> isValidMessageField(def) → {boolean}
-
Tests if a definition is a valid message field definition.
Parameters:
Name Type Description def
Object Definition
Returns:
true if valid, else false
- Type
- boolean
-
<static> isValidService(def) → {boolean}
-
Tests if a definition is a valid service definition.
Parameters:
Name Type Description def
Object Definition
Returns:
true if valid, else false
- Type
- boolean
-
["import"](json, filename) → {ProtoBuf.Builder}
-
Imports another definition into this builder.
Parameters:
Name Type Argument Description json
Object.<string,*> Parsed import
filename
string | {root: string, file: string} <optional>
Imported file name
Throws:
If the definition or file cannot be imported- Type
- Error
Returns:
this
- Type
- ProtoBuf.Builder
-
build(path) → {ProtoBuf.Builder.Message|Object.<string,*>}
-
Builds the protocol. This will first try to resolve all definitions and, if this has been successful, return the built package.
Parameters:
Name Type Argument Description path
string <optional>
Specifies what to return. If omitted, the entire namespace will be returned.
Throws:
If a type could not be resolved- Type
- Error
Returns:
- Type
- ProtoBuf.Builder.Message | Object.<string,*>
-
create(defs) → {ProtoBuf.Builder}
-
Creates ths specified protocol types at the current pointer position.
Parameters:
Name Type Description defs
Array.<Object.<string,*>> Messages, enums or services to create
Throws:
If a message definition is invalid- Type
- Error
Returns:
this
- Type
- ProtoBuf.Builder
-
define(pkg, options) → {ProtoBuf.Builder}
-
Defines a package on top of the current pointer position and places the pointer on it.
Parameters:
Name Type Argument Description pkg
string options
Object.<string,*> <optional>
Throws:
If the package name is invalid- Type
- Error
Returns:
this
- Type
- ProtoBuf.Builder
-
lookup(path) → {ProtoBuf.Reflect.T}
-
Similar to ProtoBuf.Builder#build, but looks up the internal reflection descriptor.
Parameters:
Name Type Argument Description path
string <optional>
Specifies what to return. If omitted, the entire namespace wiil be returned.
Returns:
Reflection descriptor or
null
if not found- Type
- ProtoBuf.Reflect.T
-
reset()
-
Resets the pointer to the global namespace.
-
resolveAll()
-
Resolves all namespace objects.
Throws:
If a type cannot be resolved- Type
- Error
-
toString() → {string}
-
Returns a string representation of this object.
Returns:
String representation as of "Builder"
- Type
- string