1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', { value: true });
- var _tslib = require('./_virtual/_tslib.js');
- var utils = require('./utils.js');
- function toggle(onState, offState, eventType) {
- var _a, _b, _c;
- return _a = {}, _a[onState] = {
- on: (_b = {}, _b[eventType] = offState, _b)
- }, _a[offState] = {
- on: (_c = {}, _c[eventType] = onState, _c)
- }, _a;
- }
- var defaultSequencePatternOptions = {
- nextEvent: 'NEXT',
- prevEvent: 'PREV'
- };
- function sequence(items, options) {
- var resolvedOptions = _tslib.__assign(_tslib.__assign({}, defaultSequencePatternOptions), options);
- var states = {};
- var nextEventObject = resolvedOptions.nextEvent === undefined ? undefined : utils.toEventObject(resolvedOptions.nextEvent);
- var prevEventObject = resolvedOptions.prevEvent === undefined ? undefined : utils.toEventObject(resolvedOptions.prevEvent);
- items.forEach(function (item, i) {
- var state = {
- on: {}
- };
- if (i + 1 === items.length) {
- state.type = 'final';
- }
- if (nextEventObject && i + 1 < items.length) {
- state.on[nextEventObject.type] = items[i + 1];
- }
- if (prevEventObject && i > 0) {
- state.on[prevEventObject.type] = items[i - 1];
- }
- states[item] = state;
- });
- return {
- initial: items[0],
- states: states
- };
- }
- exports.sequence = sequence;
- exports.toggle = toggle;
|