dash-renderer
Version:
render dash components in react
98 lines (97 loc) • 5.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.CallbackAggregateActionType = exports.CallbackActionType = void 0;
var _ramda = require("ramda");
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var CallbackActionType = exports.CallbackActionType = /*#__PURE__*/function (CallbackActionType) {
CallbackActionType["AddBlocked"] = "Callbacks.AddBlocked";
CallbackActionType["AddExecuted"] = "Callbacks.AddExecuted";
CallbackActionType["AddExecuting"] = "Callbacks.AddExecuting";
CallbackActionType["AddPrioritized"] = "Callbacks.AddPrioritized";
CallbackActionType["AddRequested"] = "Callbacks.AddRequested";
CallbackActionType["AddStored"] = "Callbacks.AddStored";
CallbackActionType["AddWatched"] = "Callbacks.AddWatched";
CallbackActionType["RemoveBlocked"] = "Callbacks.RemoveBlocked";
CallbackActionType["RemoveExecuted"] = "Callbacks.RemoveExecuted";
CallbackActionType["RemoveExecuting"] = "Callbacks.RemoveExecuting";
CallbackActionType["RemovePrioritized"] = "Callbacks.RemovePrioritized";
CallbackActionType["RemoveRequested"] = "Callbacks.RemoveRequested";
CallbackActionType["RemoveStored"] = "Callbacks.RemoveStored";
CallbackActionType["RemoveWatched"] = "Callbacks.RemoveWatched";
return CallbackActionType;
}({});
var CallbackAggregateActionType = exports.CallbackAggregateActionType = /*#__PURE__*/function (CallbackAggregateActionType) {
CallbackAggregateActionType["AddCompleted"] = "Callbacks.Completed";
CallbackAggregateActionType["Aggregate"] = "Callbacks.Aggregate";
return CallbackAggregateActionType;
}({});
var DEFAULT_STATE = {
blocked: [],
executed: [],
executing: [],
prioritized: [],
requested: [],
stored: [],
watched: [],
completed: 0
};
var transforms = {
[CallbackActionType.AddBlocked]: _ramda.concat,
[CallbackActionType.AddExecuted]: _ramda.concat,
[CallbackActionType.AddExecuting]: _ramda.concat,
[CallbackActionType.AddPrioritized]: _ramda.concat,
[CallbackActionType.AddRequested]: _ramda.concat,
[CallbackActionType.AddStored]: _ramda.concat,
[CallbackActionType.AddWatched]: _ramda.concat,
[CallbackActionType.RemoveBlocked]: _ramda.difference,
[CallbackActionType.RemoveExecuted]: _ramda.difference,
[CallbackActionType.RemoveExecuting]: _ramda.difference,
[CallbackActionType.RemovePrioritized]: _ramda.difference,
[CallbackActionType.RemoveRequested]: _ramda.difference,
[CallbackActionType.RemoveStored]: _ramda.difference,
[CallbackActionType.RemoveWatched]: _ramda.difference
};
var fields = {
[CallbackActionType.AddBlocked]: 'blocked',
[CallbackActionType.AddExecuted]: 'executed',
[CallbackActionType.AddExecuting]: 'executing',
[CallbackActionType.AddPrioritized]: 'prioritized',
[CallbackActionType.AddRequested]: 'requested',
[CallbackActionType.AddStored]: 'stored',
[CallbackActionType.AddWatched]: 'watched',
[CallbackActionType.RemoveBlocked]: 'blocked',
[CallbackActionType.RemoveExecuted]: 'executed',
[CallbackActionType.RemoveExecuting]: 'executing',
[CallbackActionType.RemovePrioritized]: 'prioritized',
[CallbackActionType.RemoveRequested]: 'requested',
[CallbackActionType.RemoveStored]: 'stored',
[CallbackActionType.RemoveWatched]: 'watched'
};
var mutateCompleted = (state, action) => _objectSpread(_objectSpread({}, state), {}, {
completed: state.completed + action.payload
});
var mutateCallbacks = (state, action) => {
var transform = transforms[action.type];
var field = fields[action.type];
return !transform || !field || action.payload.length === 0 ? state : _objectSpread(_objectSpread({}, state), {}, {
[field]: transform(state[field], action.payload)
});
};
var _default = exports.default = function _default() {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
var action = arguments.length > 1 ? arguments[1] : undefined;
return (0, _ramda.reduce)((s, a) => {
if (a === null) {
return s;
} else if (a.type === CallbackAggregateActionType.AddCompleted) {
return mutateCompleted(s, a);
}
return mutateCallbacks(s, a);
}, state, action.type === CallbackAggregateActionType.Aggregate ? action.payload : [action]);
};