rearrage_stuff
This commit is contained in:
126
node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js
generated
vendored
Normal file
126
node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js
generated
vendored
Normal file
@@ -0,0 +1,126 @@
|
||||
// Copyright 2021-2025 Buf Technologies, Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
import { int64FromString, int64ToString, uInt64ToString, } from "./wire/varint.js";
|
||||
/**
|
||||
* Int64Support for the current environment.
|
||||
*/
|
||||
export const protoInt64 = /*@__PURE__*/ makeInt64Support();
|
||||
function makeInt64Support() {
|
||||
const dv = new DataView(new ArrayBuffer(8));
|
||||
// note that Safari 14 implements BigInt, but not the DataView methods
|
||||
const ok = typeof BigInt === "function" &&
|
||||
typeof dv.getBigInt64 === "function" &&
|
||||
typeof dv.getBigUint64 === "function" &&
|
||||
typeof dv.setBigInt64 === "function" &&
|
||||
typeof dv.setBigUint64 === "function" &&
|
||||
(typeof process != "object" ||
|
||||
typeof process.env != "object" ||
|
||||
process.env.BUF_BIGINT_DISABLE !== "1");
|
||||
if (ok) {
|
||||
const MIN = BigInt("-9223372036854775808");
|
||||
const MAX = BigInt("9223372036854775807");
|
||||
const UMIN = BigInt("0");
|
||||
const UMAX = BigInt("18446744073709551615");
|
||||
return {
|
||||
zero: BigInt(0),
|
||||
supported: true,
|
||||
parse(value) {
|
||||
const bi = typeof value == "bigint" ? value : BigInt(value);
|
||||
if (bi > MAX || bi < MIN) {
|
||||
throw new Error(`invalid int64: ${value}`);
|
||||
}
|
||||
return bi;
|
||||
},
|
||||
uParse(value) {
|
||||
const bi = typeof value == "bigint" ? value : BigInt(value);
|
||||
if (bi > UMAX || bi < UMIN) {
|
||||
throw new Error(`invalid uint64: ${value}`);
|
||||
}
|
||||
return bi;
|
||||
},
|
||||
enc(value) {
|
||||
dv.setBigInt64(0, this.parse(value), true);
|
||||
return {
|
||||
lo: dv.getInt32(0, true),
|
||||
hi: dv.getInt32(4, true),
|
||||
};
|
||||
},
|
||||
uEnc(value) {
|
||||
dv.setBigInt64(0, this.uParse(value), true);
|
||||
return {
|
||||
lo: dv.getInt32(0, true),
|
||||
hi: dv.getInt32(4, true),
|
||||
};
|
||||
},
|
||||
dec(lo, hi) {
|
||||
dv.setInt32(0, lo, true);
|
||||
dv.setInt32(4, hi, true);
|
||||
return dv.getBigInt64(0, true);
|
||||
},
|
||||
uDec(lo, hi) {
|
||||
dv.setInt32(0, lo, true);
|
||||
dv.setInt32(4, hi, true);
|
||||
return dv.getBigUint64(0, true);
|
||||
},
|
||||
};
|
||||
}
|
||||
return {
|
||||
zero: "0",
|
||||
supported: false,
|
||||
parse(value) {
|
||||
if (typeof value != "string") {
|
||||
value = value.toString();
|
||||
}
|
||||
assertInt64String(value);
|
||||
return value;
|
||||
},
|
||||
uParse(value) {
|
||||
if (typeof value != "string") {
|
||||
value = value.toString();
|
||||
}
|
||||
assertUInt64String(value);
|
||||
return value;
|
||||
},
|
||||
enc(value) {
|
||||
if (typeof value != "string") {
|
||||
value = value.toString();
|
||||
}
|
||||
assertInt64String(value);
|
||||
return int64FromString(value);
|
||||
},
|
||||
uEnc(value) {
|
||||
if (typeof value != "string") {
|
||||
value = value.toString();
|
||||
}
|
||||
assertUInt64String(value);
|
||||
return int64FromString(value);
|
||||
},
|
||||
dec(lo, hi) {
|
||||
return int64ToString(lo, hi);
|
||||
},
|
||||
uDec(lo, hi) {
|
||||
return uInt64ToString(lo, hi);
|
||||
},
|
||||
};
|
||||
}
|
||||
function assertInt64String(value) {
|
||||
if (!/^-?[0-9]+$/.test(value)) {
|
||||
throw new Error("invalid int64: " + value);
|
||||
}
|
||||
}
|
||||
function assertUInt64String(value) {
|
||||
if (!/^[0-9]+$/.test(value)) {
|
||||
throw new Error("invalid uint64: " + value);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user