UNPKG

reign

Version:

A persistent, typed-objects implementation.

52 lines (43 loc) 1.29 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: 'Boolean', byteAlignment: 1, byteLength: 1, cast: function cast(input) { return input ? true : false; }, accepts: function accepts(input) { return typeof input === 'boolean'; }, store: function store(backing, address, value) { backing.setUint8(address, value ? 1 : 0); }, load: function load(backing, address) { return backing.getUint8(address) ? true : false; }, emptyValue: function emptyValue() { return false; }, randomValue: function randomValue() { return Math.random() >= 0.5 ? true : false; }, hashValue: function hashValue(input) { return (0, _integer2.default)(input ? 1 : 0); }, flowType: function flowType() { return `boolean`; } }); }