summaryrefslogtreecommitdiffstats
path: root/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/Int64.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/Int64.jsm')
-rw-r--r--toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/Int64.jsm23
1 files changed, 23 insertions, 0 deletions
diff --git a/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/Int64.jsm b/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/Int64.jsm
new file mode 100644
index 0000000000..7e62a4b401
--- /dev/null
+++ b/toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/Int64.jsm
@@ -0,0 +1,23 @@
+class {{ ffi_converter }} extends FfiConverter {
+ static checkType(name, value) {
+ super.checkType(name, value);
+ if (!Number.isSafeInteger(value)) {
+ throw TypeError(`${name} exceeds the safe integer bounds (${value})`);
+ }
+ }
+ static computeSize() {
+ return 8;
+ }
+ static lift(value) {
+ return value;
+ }
+ static lower(value) {
+ return value;
+ }
+ static write(dataStream, value) {
+ dataStream.writeInt64(value)
+ }
+ static read(dataStream) {
+ return dataStream.readInt64()
+ }
+}