Static
froman abstract static method that creates an instance of this
schema class, using a regular javascript object
Optional
namename of the node, used for object property key naming by parent SchemaRecordNode
Optional
childrenan array collection of child element. typically used by non-leaf nodes, such as SchemaRecordNode and SchemaTupleNode
args that should be passed on to either the type
specific encoder or decoder
Optional
docan optional doc string for this schema node, that should be cleared when MINIFY
is true
to achive that, you would want to write your doc strings as follows:
declare const [DEBUG, MINIFY, BUNDLE]: [boolean, boolean, boolean]
const my_schema_node: SPrimitive<number> {
type: "u4l",
doc: MINIFY || "a stupid description of this 32-bit unsinged little piece of endian."
}
a mandatory kind descriptior of the primitive kind
the value held by this schema node. used as a storage for interceptors to interact and read decoded value
it can also used as a means for storing default values for the encoder to utilize.
but besides those two scenarios, it should typically be left unassigned.
this also comes in handy when annotating types both for the encoder or decoder
manually set this
schema's type
to the provided type_name
, and also
register the new type_name
to global type_registery
if register = true
.
this is the only easy way to register type_name
s of sub-sub-classes of abstract SchemaNode.
check out SHeadArray to see how it extends SArray, but registers its own type_name = "headarray"
that's different from its parent class's type_name = "array"
Rest
...children: SchemaChildNode<any, string>[]Rest
...args: any[]Rest
...args: any[]this functionality is made into a method instead of being embeded into SEnum.decode
mainly so that it's possible to subclass it
true
if the bytes in the provided buffer
and offset
match with this enum entry's bytes, else the result is false
Rest
...args: any[]this functionality is made into a method instead of being embeded into SEnum.encode
mainly so that it's possible to subclass it
true
if the provided value
matches with this enum entry's value, else the result is false
Rest
...args: any[]Generated using TypeDoc
an enum entry to be used as a child of an
SEnum
schema node. this schema node'svalue
must be a 2-tuple array with the first element (of typeT
) being the javascript value, and the second element (of typeUint8Array
) being its corresponding bytes