UNPKG

reign

Version:

A persistent, typed-objects implementation.

51 lines (41 loc) 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.make = make; var _integer = require("../../hash-functions/integer"); var _integer2 = _interopRequireDefault(_integer); var _backing = require("backing"); var _backing2 = _interopRequireDefault(_backing); var _ = require("../.."); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function make(_ref) { let PrimitiveType = _ref.PrimitiveType; return new PrimitiveType({ name: 'Uint16', byteAlignment: 2, byteLength: 2, cast: function cast(input) { return input & 65535; }, accepts: function accepts(input) { return typeof input === 'number' && !isNaN(input) && input >= 0 && input <= 65535 && input === Math.floor(input); }, store: function store(backing, address, value) { backing.setUint16(address, value); }, load: function load(backing, address) { return backing.getUint16(address); }, emptyValue: function emptyValue() { return 0; }, randomValue: function randomValue() { return Math.floor(Math.random() * Math.pow(2, 16)); }, hashValue: _integer2.default, flowType: function flowType() { return `uint16`; } }); }