mirror of
https://github.com/JonasunderscoreJones/api-worker.git
synced 2025-10-23 18:39:19 +02:00
45 lines
No EOL
1.8 KiB
JavaScript
45 lines
No EOL
1.8 KiB
JavaScript
"use strict";
|
|
/**
|
|
* @author jdiaz5513
|
|
*/
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getVoidMask = exports.getUint64Mask = exports.getInt64Mask = exports.getBitMask = exports.getUint8Mask = exports.getUint32Mask = exports.getUint16Mask = exports.getInt8Mask = exports.getInt32Mask = exports.getInt16Mask = exports.getFloat64Mask = exports.getFloat32Mask = void 0;
|
|
const errors_1 = require("../errors");
|
|
function _makePrimitiveMaskFn(byteLength, setter) {
|
|
return (x) => {
|
|
const dv = new DataView(new ArrayBuffer(byteLength));
|
|
setter.call(dv, 0, x, true);
|
|
return dv;
|
|
};
|
|
}
|
|
/* eslint-disable @typescript-eslint/unbound-method */
|
|
exports.getFloat32Mask = _makePrimitiveMaskFn(4, DataView.prototype.setFloat32);
|
|
exports.getFloat64Mask = _makePrimitiveMaskFn(8, DataView.prototype.setFloat64);
|
|
exports.getInt16Mask = _makePrimitiveMaskFn(2, DataView.prototype.setInt16);
|
|
exports.getInt32Mask = _makePrimitiveMaskFn(4, DataView.prototype.setInt32);
|
|
exports.getInt8Mask = _makePrimitiveMaskFn(1, DataView.prototype.setInt8);
|
|
exports.getUint16Mask = _makePrimitiveMaskFn(2, DataView.prototype.setUint16);
|
|
exports.getUint32Mask = _makePrimitiveMaskFn(4, DataView.prototype.setUint32);
|
|
exports.getUint8Mask = _makePrimitiveMaskFn(1, DataView.prototype.setUint8);
|
|
/* eslint-enable */
|
|
function getBitMask(value, bitOffset) {
|
|
const dv = new DataView(new ArrayBuffer(1));
|
|
if (!value)
|
|
return dv;
|
|
dv.setUint8(0, 1 << bitOffset % 8);
|
|
return dv;
|
|
}
|
|
exports.getBitMask = getBitMask;
|
|
function getInt64Mask(x) {
|
|
return x.toDataView();
|
|
}
|
|
exports.getInt64Mask = getInt64Mask;
|
|
function getUint64Mask(x) {
|
|
return x.toDataView();
|
|
}
|
|
exports.getUint64Mask = getUint64Mask;
|
|
function getVoidMask() {
|
|
throw new Error(errors_1.INVARIANT_UNREACHABLE_CODE);
|
|
}
|
|
exports.getVoidMask = getVoidMask;
|
|
//# sourceMappingURL=mask.js.map
|