diff options
Diffstat (limited to 'toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt16.jsm')
-rw-r--r-- | toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt16.jsm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt16.jsm b/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt16.jsm new file mode 100644 index 0000000000..b118a75d6c --- /dev/null +++ b/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt16.jsm @@ -0,0 +1,26 @@ +class {{ ffi_converter }} extends FfiConverter { + static checkType(name, value) { + super.checkType(name, value); + if (!Number.isInteger(value)) { + throw TypeError(`${name} is not an integer(${value})`); + } + if (value < 0 || value > 65535) { + throw TypeError(`${name} exceeds the U16 bounds (${value})`); + } + } + static computeSize() { + return 2; + } + static lift(value) { + return value; + } + static lower(value) { + return value; + } + static write(dataStream, value) { + dataStream.writeUint16(value) + } + static read(dataStream) { + return dataStream.readUint16() + } +} |