react-slot-machine-gen
Version:
Create an extremely biased, web-based slot machine game.
59 lines (57 loc) • 2.24 kB
JavaScript
/**
* React Slot Machine
* Create an extremely biased, web-based slot machine game.
*
* Copyright 2020-2025, Marc S. Brooks (https://mbrooks.info)
* Licensed under the MIT license:
* http://www.opensource.org/licenses/mit-license.php
*/
;
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _slotMachineGen = _interopRequireDefault(require("slot-machine-gen"));
require("slot-machine-gen/dist/slot-machine.min.css");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
/**
* Provides React Component wrapper.
*/
var SlotMachine = /*#__PURE__*/function (_React$Component) {
function SlotMachine() {
return _React$Component.apply(this, arguments) || this;
}
_inheritsLoose(SlotMachine, _React$Component);
var _proto = SlotMachine.prototype;
_proto.componentDidMount = function componentDidMount() {
this.slot = new _slotMachineGen["default"](this.refs.wrapper, this.props.reels, this.props.callback, this.props.options);
};
_proto.componentDidUpdate = function componentDidUpdate(prevProps) {
if (this.props.play !== prevProps.play) {
this.slot.play();
}
};
_proto.render = function render() {
return /*#__PURE__*/_react["default"].createElement('div', {
className: 'slot-machine',
ref: 'wrapper',
id: this.props.id
});
};
return SlotMachine;
}(_react["default"].Component);
SlotMachine.defaultProps = {
id: 'slot-machine',
play: false
};
SlotMachine.propTypes = {
id: _propTypes["default"].string,
play: _propTypes["default"].bool,
reels: _propTypes["default"].array.isRequired,
callback: _propTypes["default"].func,
options: _propTypes["default"].object
};
var _default = exports["default"] = SlotMachine;
//# sourceMappingURL=react-slot-machine.js.map