summaryrefslogtreecommitdiffstats
path: root/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt16.jsm
diff options
context:
space:
mode:
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.jsm26
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()
+ }
+}