summaryrefslogtreecommitdiffstats
path: root/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt8.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt8.jsm')
-rw-r--r--toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt8.jsm26
1 files changed, 26 insertions, 0 deletions
diff --git a/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt8.jsm b/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt8.jsm
new file mode 100644
index 0000000000..17f0c5c54b
--- /dev/null
+++ b/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/UInt8.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 > 256) {
+ throw TypeError(`${name} exceeds the U8 bounds (${value})`);
+ }
+ }
+ static computeSize() {
+ return 1;
+ }
+ static lift(value) {
+ return value;
+ }
+ static lower(value) {
+ return value;
+ }
+ static write(dataStream, value) {
+ dataStream.writeUint8(value)
+ }
+ static read(dataStream) {
+ return dataStream.readUint8()
+ }
+}