blob: c9702a1053255174065ca97de83f0f3c2abc0850 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
/**
* @fileoverview kind definitions.
* @private
*/
/**
* @summary Namespace of constants for VDL kinds.
* @description Namespace of constants for VDL kinds.
* @namespace
* @memberof module:vanadium.vdl
*/
var kind = {
// Nullable kinds
/**
* @type {string}
* @const
*/
ANY: 'any',
/**
* @type {string}
* @const
*/
OPTIONAL: 'optional',
// Scalar kinds
/**
* @type {string}
* @const
*/
BOOL: 'bool',
/**
* @type {string}
* @const
*/
BYTE: 'byte',
/**
* @type {string}
* @const
*/
UINT16: 'uint16',
/**
* @type {string}
* @const
*/
UINT32: 'uint32',
/**
* @type {string}
* @const
*/
UINT64: 'uint64',
/**
* @type {string}
* @const
*/
INT8: 'int8',
/**
* @type {string}
* @const
*/
INT16: 'int16',
/**
* @type {string}
* @const
*/
INT32: 'int32',
/**
* @type {string}
* @const
*/
INT64: 'int64',
/**
* @type {string}
* @const
*/
FLOAT32: 'float32',
/**
* @type {string}
* @const
*/
FLOAT64: 'float64',
/**
* @type {string}
* @const
*/
COMPLEX64: 'complex64',
/**
* @type {string}
* @const
*/
COMPLEX128: 'complex128',
/**
* @type {string}
* @const
*/
STRING: 'string',
/**
* @type {string}
* @const
*/
ENUM: 'enum',
/**
* @type {string}
* @const
*/
TYPEOBJECT: 'typeobject',
// Composite kinds
/**
* @type {string}
* @const
*/
ARRAY: 'array',
/**
* @type {string}
* @const
*/
LIST: 'list',
/**
* @type {string}
* @const
*/
SET: 'set',
/**
* @type {string}
* @const
*/
MAP: 'map',
/**
* @type {string}
* @const
*/
STRUCT: 'struct',
/**
* Union is like struct, but with only 1 field filled in.
* @type {string}
* @const
*/
UNION: 'union',
};
module.exports = kind;