sygnal 1.1.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/collection.js +2 -2
- package/dist/component.js +37 -15
- package/dist/jsx.js +13 -0
- package/dist/pragma/fn.js +102 -0
- package/dist/pragma/index.js +154 -0
- package/dist/pragma/is.js +80 -0
- package/package.json +6 -2
- package/sygnal-1.2.1.tgz +0 -0
- package/dist/sygnal.min.js +0 -8
package/dist/collection.js
CHANGED
|
@@ -32,8 +32,8 @@ function collection(component, stateLense) {
|
|
|
32
32
|
return function (sources) {
|
|
33
33
|
var collectionOpts = {
|
|
34
34
|
item: component,
|
|
35
|
-
itemKey: function itemKey(state) {
|
|
36
|
-
return state.id;
|
|
35
|
+
itemKey: function itemKey(state, ind) {
|
|
36
|
+
return state.id || ind;
|
|
37
37
|
},
|
|
38
38
|
itemScope: function itemScope(key) {
|
|
39
39
|
return key;
|
package/dist/component.js
CHANGED
|
@@ -738,7 +738,12 @@ var Component = /*#__PURE__*/function () {
|
|
|
738
738
|
return acc;
|
|
739
739
|
}
|
|
740
740
|
|
|
741
|
-
var factory = _this8.components[componentName];
|
|
741
|
+
var factory = componentName === 'sygnal-factory' ? props.sygnalFactory : _this8.components[componentName] || props.sygnalFactory;
|
|
742
|
+
|
|
743
|
+
if (!factory && !isCollection && !isSwitchable) {
|
|
744
|
+
if (componentName === 'sygnal-factory') throw new Error("Component not found on element with Capitalized selector and nameless function: JSX transpilation replaces selectors starting with upper case letters with functions in-scope with the same name, Sygnal cannot see the name of the resulting component.");
|
|
745
|
+
throw new Error("Component not found: ".concat(componentName));
|
|
746
|
+
}
|
|
742
747
|
|
|
743
748
|
var props$ = _xstream["default"].create().startWith(props);
|
|
744
749
|
|
|
@@ -750,13 +755,30 @@ var Component = /*#__PURE__*/function () {
|
|
|
750
755
|
if (isCollection) {
|
|
751
756
|
var _objectSpread2;
|
|
752
757
|
|
|
753
|
-
|
|
754
|
-
|
|
758
|
+
var stream, field;
|
|
759
|
+
|
|
760
|
+
if (typeof data.props["for"] === 'string') {
|
|
761
|
+
field = data.props["for"];
|
|
762
|
+
stream = _this8.sources[_this8.stateSourceName].stream;
|
|
763
|
+
} else {
|
|
764
|
+
field = 'for';
|
|
765
|
+
stream = props$;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
propState = new _state2.StateSource(stream.map(function (val) {
|
|
769
|
+
var arr = val[field];
|
|
770
|
+
|
|
771
|
+
if (!Array.isArray(arr)) {
|
|
772
|
+
console.warn("Collection of ".concat(data.props.of, " does not have a valid array in the 'for' property: expects either an array or a string of the name of an array property on the state"));
|
|
773
|
+
return [];
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
return arr;
|
|
755
777
|
}).remember());
|
|
756
778
|
|
|
757
779
|
var sources = _objectSpread(_objectSpread({}, _this8.sources), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, _this8.stateSourceName, propState), _defineProperty(_objectSpread2, "props$", props$), _defineProperty(_objectSpread2, "children$", children$), _objectSpread2));
|
|
758
780
|
|
|
759
|
-
var _factory = _this8.components[data.
|
|
781
|
+
var _factory = _this8.components[data.props.of];
|
|
760
782
|
var lense = {
|
|
761
783
|
get: function get(state) {
|
|
762
784
|
return state;
|
|
@@ -1049,7 +1071,7 @@ function makeLog(context) {
|
|
|
1049
1071
|
}
|
|
1050
1072
|
|
|
1051
1073
|
function getComponents(currentElement, componentNames) {
|
|
1052
|
-
var _currentElement$data;
|
|
1074
|
+
var _currentElement$data, _currentElement$data2, _currentElement$data3;
|
|
1053
1075
|
|
|
1054
1076
|
var isNestedElement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
1055
1077
|
if (!currentElement) return {};
|
|
@@ -1058,7 +1080,7 @@ function getComponents(currentElement, componentNames) {
|
|
|
1058
1080
|
var sel = currentElement.sel;
|
|
1059
1081
|
var isCollection = sel && sel.toLowerCase() === 'collection';
|
|
1060
1082
|
var isSwitchable = sel && sel.toLowerCase() === 'switchable';
|
|
1061
|
-
var isComponent = sel && ['collection', 'swtichable'].concat(_toConsumableArray(componentNames)).includes(currentElement.sel);
|
|
1083
|
+
var isComponent = sel && ['collection', 'swtichable', 'sygnal-factory'].concat(_toConsumableArray(componentNames)).includes(currentElement.sel) || typeof ((_currentElement$data2 = currentElement.data) === null || _currentElement$data2 === void 0 ? void 0 : (_currentElement$data3 = _currentElement$data2.props) === null || _currentElement$data3 === void 0 ? void 0 : _currentElement$data3.sygnalFactory) === 'function';
|
|
1062
1084
|
var props = currentElement.data && currentElement.data.props || {};
|
|
1063
1085
|
var children = currentElement.children || [];
|
|
1064
1086
|
var found = {};
|
|
@@ -1067,10 +1089,10 @@ function getComponents(currentElement, componentNames) {
|
|
|
1067
1089
|
var id = getComponentIdFromElement(currentElement);
|
|
1068
1090
|
|
|
1069
1091
|
if (isCollection) {
|
|
1070
|
-
if (!props.
|
|
1071
|
-
if (typeof props.
|
|
1072
|
-
if (!componentNames.includes(props.
|
|
1073
|
-
if (!props
|
|
1092
|
+
if (!props.of) throw new Error("Collection element missing required 'component' property");
|
|
1093
|
+
if (typeof props.of !== 'string') throw new Error("Invalid 'component' property of collection element: found ".concat(_typeof(props.of), " requires string"));
|
|
1094
|
+
if (!componentNames.includes(props.of)) throw new Error("Specified component for collection not found: ".concat(props.of));
|
|
1095
|
+
if (!props["for"] || !(typeof props["for"] === 'string' || Array.isArray(props["for"]))) console.warn("No valid array found in the 'value' property of collection ".concat(props.of, ": no collection components will be created"));
|
|
1074
1096
|
currentElement.data.isCollection = true;
|
|
1075
1097
|
currentElement.data.component = props.component; // currentElement.data.componentArray = props.value
|
|
1076
1098
|
} else if (isSwitchable) {
|
|
@@ -1109,16 +1131,16 @@ function getComponents(currentElement, componentNames) {
|
|
|
1109
1131
|
}
|
|
1110
1132
|
|
|
1111
1133
|
function injectComponents(currentElement, components, componentNames) {
|
|
1112
|
-
var _currentElement$
|
|
1134
|
+
var _currentElement$data4, _currentElement$data5, _currentElement$data6, _currentElement$data7, _currentElement$data8;
|
|
1113
1135
|
|
|
1114
1136
|
var isNestedElement = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
1115
1137
|
if (!currentElement) return;
|
|
1116
|
-
if ((_currentElement$
|
|
1138
|
+
if ((_currentElement$data4 = currentElement.data) !== null && _currentElement$data4 !== void 0 && _currentElement$data4.componentsInjected) return currentElement;
|
|
1117
1139
|
if (!isNestedElement && currentElement.data) currentElement.data.componentsInjected = true;
|
|
1118
1140
|
var sel = currentElement.sel || 'NO SELECTOR';
|
|
1119
|
-
var isComponent = ['collection', 'swtichable'].concat(_toConsumableArray(componentNames)).includes(sel);
|
|
1120
|
-
var isCollection = currentElement === null || currentElement === void 0 ? void 0 : (_currentElement$
|
|
1121
|
-
var isSwitchable = currentElement === null || currentElement === void 0 ? void 0 : (_currentElement$
|
|
1141
|
+
var isComponent = ['collection', 'swtichable', 'sygnal-factory'].concat(_toConsumableArray(componentNames)).includes(sel) || typeof ((_currentElement$data5 = currentElement.data) === null || _currentElement$data5 === void 0 ? void 0 : (_currentElement$data6 = _currentElement$data5.props) === null || _currentElement$data6 === void 0 ? void 0 : _currentElement$data6.sygnalFactory) === 'function';
|
|
1142
|
+
var isCollection = currentElement === null || currentElement === void 0 ? void 0 : (_currentElement$data7 = currentElement.data) === null || _currentElement$data7 === void 0 ? void 0 : _currentElement$data7.isCollection;
|
|
1143
|
+
var isSwitchable = currentElement === null || currentElement === void 0 ? void 0 : (_currentElement$data8 = currentElement.data) === null || _currentElement$data8 === void 0 ? void 0 : _currentElement$data8.isSwitchable;
|
|
1122
1144
|
var props = currentElement.data && currentElement.data.props || {};
|
|
1123
1145
|
var children = currentElement.children || [];
|
|
1124
1146
|
|
package/dist/jsx.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "jsx", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _index.createElement;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _index = require("./pragma/index");
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.reduceDeep = exports.omit = exports.mapObject = exports.flatifyKeys = exports.extend = exports.deepifyKeys = exports.assign = void 0;
|
|
9
|
+
|
|
10
|
+
var _extend2 = _interopRequireDefault(require("extend"));
|
|
11
|
+
|
|
12
|
+
var is = _interopRequireWildcard(require("./is"));
|
|
13
|
+
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
|
+
|
|
20
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
21
|
+
|
|
22
|
+
var extend = function extend() {
|
|
23
|
+
for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
24
|
+
objs[_key] = arguments[_key];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return _extend2["default"].apply(void 0, [true].concat(objs));
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
exports.extend = extend;
|
|
31
|
+
|
|
32
|
+
var assign = function assign() {
|
|
33
|
+
for (var _len2 = arguments.length, objs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
34
|
+
objs[_key2] = arguments[_key2];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return _extend2["default"].apply(void 0, [false].concat(objs));
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.assign = assign;
|
|
41
|
+
|
|
42
|
+
var reduceDeep = function reduceDeep(arr, fn, initial) {
|
|
43
|
+
var result = initial;
|
|
44
|
+
|
|
45
|
+
for (var i = 0; i < arr.length; i++) {
|
|
46
|
+
var value = arr[i];
|
|
47
|
+
|
|
48
|
+
if (is.array(value)) {
|
|
49
|
+
result = reduceDeep(value, fn, result);
|
|
50
|
+
} else {
|
|
51
|
+
result = fn(result, value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return result;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
exports.reduceDeep = reduceDeep;
|
|
59
|
+
|
|
60
|
+
var mapObject = function mapObject(obj, fn) {
|
|
61
|
+
return Object.keys(obj).map(function (key) {
|
|
62
|
+
return fn(key, obj[key]);
|
|
63
|
+
}).reduce(function (acc, curr) {
|
|
64
|
+
return extend(acc, curr);
|
|
65
|
+
}, {});
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
exports.mapObject = mapObject;
|
|
69
|
+
|
|
70
|
+
var deepifyKeys = function deepifyKeys(obj, modules) {
|
|
71
|
+
return mapObject(obj, function (key, val) {
|
|
72
|
+
var dashIndex = key.indexOf('-');
|
|
73
|
+
|
|
74
|
+
if (dashIndex > -1 && modules[key.slice(0, dashIndex)] !== undefined) {
|
|
75
|
+
var moduleData = _defineProperty({}, key.slice(dashIndex + 1), val);
|
|
76
|
+
|
|
77
|
+
return _defineProperty({}, key.slice(0, dashIndex), moduleData);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return _defineProperty({}, key, val);
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
exports.deepifyKeys = deepifyKeys;
|
|
85
|
+
|
|
86
|
+
var flatifyKeys = function flatifyKeys(obj) {
|
|
87
|
+
return mapObject(obj, function (mod, data) {
|
|
88
|
+
return !is.object(data) ? _defineProperty({}, mod, data) : mapObject(flatifyKeys(data), function (key, val) {
|
|
89
|
+
return _defineProperty({}, "".concat(mod, "-").concat(key), val);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
exports.flatifyKeys = flatifyKeys;
|
|
95
|
+
|
|
96
|
+
var omit = function omit(key, obj) {
|
|
97
|
+
return mapObject(obj, function (mod, data) {
|
|
98
|
+
return mod !== key ? _defineProperty({}, mod, data) : {};
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
exports.omit = omit;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.createElementWithModules = exports.createElement = void 0;
|
|
9
|
+
|
|
10
|
+
var is = _interopRequireWildcard(require("./is"));
|
|
11
|
+
|
|
12
|
+
var fn = _interopRequireWildcard(require("./fn"));
|
|
13
|
+
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
|
|
18
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
+
|
|
20
|
+
// Const fnName = (...params) => guard ? default : ...
|
|
21
|
+
var createTextElement = function createTextElement(text) {
|
|
22
|
+
return !is.text(text) ? undefined : {
|
|
23
|
+
text: text,
|
|
24
|
+
sel: undefined,
|
|
25
|
+
data: undefined,
|
|
26
|
+
children: undefined,
|
|
27
|
+
elm: undefined,
|
|
28
|
+
key: undefined
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
var considerSvg = function considerSvg(vnode) {
|
|
33
|
+
return !is.svg(vnode) ? vnode : fn.assign(vnode, {
|
|
34
|
+
data: fn.omit('props', fn.extend(vnode.data, {
|
|
35
|
+
ns: 'http://www.w3.org/2000/svg',
|
|
36
|
+
attrs: fn.omit('className', fn.extend(vnode.data.props, {
|
|
37
|
+
"class": vnode.data.props ? vnode.data.props.className : undefined
|
|
38
|
+
}))
|
|
39
|
+
}))
|
|
40
|
+
}, {
|
|
41
|
+
children: is.undefinedv(vnode.children) ? undefined : vnode.children.map(function (child) {
|
|
42
|
+
return considerSvg(child);
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var rewrites = {
|
|
48
|
+
// for: 'attrs',
|
|
49
|
+
role: 'attrs',
|
|
50
|
+
tabindex: 'attrs',
|
|
51
|
+
'aria-*': 'attrs',
|
|
52
|
+
key: null
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
var rewriteModules = function rewriteModules(data, modules) {
|
|
56
|
+
return fn.mapObject(data, function (key, val) {
|
|
57
|
+
var inner = _defineProperty({}, key, val);
|
|
58
|
+
|
|
59
|
+
if (rewrites[key] && modules[rewrites[key]] !== undefined) {
|
|
60
|
+
return _defineProperty({}, rewrites[key], inner);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (rewrites[key] === null) {
|
|
64
|
+
return {};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var keys = Object.keys(rewrites);
|
|
68
|
+
|
|
69
|
+
for (var i = 0; i < keys.length; i++) {
|
|
70
|
+
var k = keys[i];
|
|
71
|
+
|
|
72
|
+
if (k.charAt(k.length - 1) === '*' && key.indexOf(k.slice(0, -1)) === 0 && modules[rewrites[k]] !== undefined) {
|
|
73
|
+
return _defineProperty({}, rewrites[k], inner);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (modules[key] !== undefined) {
|
|
78
|
+
return _defineProperty({}, modules[key] ? modules[key] : key, val);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (modules.props !== undefined) {
|
|
82
|
+
return {
|
|
83
|
+
props: inner
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return inner;
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
var sanitizeData = function sanitizeData(data, modules) {
|
|
92
|
+
return considerSvg(rewriteModules(fn.deepifyKeys(data, modules), modules));
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
var sanitizeText = function sanitizeText(children) {
|
|
96
|
+
return children.length > 1 || !is.text(children[0]) ? undefined : children[0].toString();
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
var sanitizeChildren = function sanitizeChildren(children) {
|
|
100
|
+
return fn.reduceDeep(children, function (acc, child) {
|
|
101
|
+
var vnode = is.vnode(child) ? child : createTextElement(child);
|
|
102
|
+
acc.push(vnode);
|
|
103
|
+
return acc;
|
|
104
|
+
}, []);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
var defaultModules = {
|
|
108
|
+
attrs: '',
|
|
109
|
+
props: '',
|
|
110
|
+
"class": '',
|
|
111
|
+
data: 'dataset',
|
|
112
|
+
style: '',
|
|
113
|
+
hook: '',
|
|
114
|
+
on: ''
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
var createElementWithModules = function createElementWithModules(modules) {
|
|
118
|
+
return function (sel, data) {
|
|
119
|
+
if (typeof sel === 'undefined') {
|
|
120
|
+
sel = 'UNDEFINED';
|
|
121
|
+
cnosole.error('JSX Error: Capitalized HTML element without corresponding Sygnal factory. Components with names where the first letter is capital MUST be defined or included at the parent component\'s file scope.');
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (is.fun(sel)) {
|
|
125
|
+
var factory = sel;
|
|
126
|
+
sel = sel.name || 'sygnal-factory';
|
|
127
|
+
data || (data = {});
|
|
128
|
+
data.sygnalFactory = factory;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
132
|
+
children[_key - 2] = arguments[_key];
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
var text = sanitizeText(children, modules);
|
|
136
|
+
return considerSvg({
|
|
137
|
+
sel: sel,
|
|
138
|
+
data: data ? sanitizeData(data, modules) : {},
|
|
139
|
+
children: typeof text !== 'undefined' ? undefined : sanitizeChildren(children),
|
|
140
|
+
text: text,
|
|
141
|
+
elm: undefined,
|
|
142
|
+
key: data ? data.key : undefined
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
exports.createElementWithModules = createElementWithModules;
|
|
148
|
+
var createElement = createElementWithModules(defaultModules);
|
|
149
|
+
exports.createElement = createElement;
|
|
150
|
+
var _default = {
|
|
151
|
+
createElement: createElement,
|
|
152
|
+
createElementWithModules: createElementWithModules
|
|
153
|
+
};
|
|
154
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.vnode = exports.undefinedv = exports.text = exports.svg = exports.string = exports.object = exports.number = exports.nullv = exports.fun = exports.array = void 0;
|
|
7
|
+
|
|
8
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
9
|
+
|
|
10
|
+
var nullv = function nullv(v) {
|
|
11
|
+
return v === null;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.nullv = nullv;
|
|
15
|
+
|
|
16
|
+
var undefinedv = function undefinedv(v) {
|
|
17
|
+
return v === undefined;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.undefinedv = undefinedv;
|
|
21
|
+
|
|
22
|
+
var number = function number(v) {
|
|
23
|
+
return typeof v === 'number';
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.number = number;
|
|
27
|
+
|
|
28
|
+
var string = function string(v) {
|
|
29
|
+
return typeof v === 'string';
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
exports.string = string;
|
|
33
|
+
|
|
34
|
+
var text = function text(v) {
|
|
35
|
+
return string(v) || number(v);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
exports.text = text;
|
|
39
|
+
|
|
40
|
+
var array = function array(v) {
|
|
41
|
+
return Array.isArray(v);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
exports.array = array;
|
|
45
|
+
|
|
46
|
+
var object = function object(v) {
|
|
47
|
+
return _typeof(v) === 'object' && v !== null;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
exports.object = object;
|
|
51
|
+
|
|
52
|
+
var fun = function fun(v) {
|
|
53
|
+
return typeof v === 'function';
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
exports.fun = fun;
|
|
57
|
+
|
|
58
|
+
var vnode = function vnode(v) {
|
|
59
|
+
return object(v) && 'sel' in v && 'data' in v && 'children' in v && 'text' in v;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
exports.vnode = vnode;
|
|
63
|
+
var svgPropsMap = {
|
|
64
|
+
svg: 1,
|
|
65
|
+
circle: 1,
|
|
66
|
+
ellipse: 1,
|
|
67
|
+
line: 1,
|
|
68
|
+
polygon: 1,
|
|
69
|
+
polyline: 1,
|
|
70
|
+
rect: 1,
|
|
71
|
+
g: 1,
|
|
72
|
+
path: 1,
|
|
73
|
+
text: 1
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
var svg = function svg(v) {
|
|
77
|
+
return v.sel in svgPropsMap;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
exports.svg = svg;
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sygnal",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "An intuitive framework for building fast and small components or applications based on Cycle.js",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
|
-
"exports":
|
|
6
|
+
"exports": {
|
|
7
|
+
".": "./dist/index.js",
|
|
8
|
+
"./jsx": "./dist/jsx.js"
|
|
9
|
+
},
|
|
7
10
|
"scripts": {
|
|
8
11
|
"test": "echo \"Tests to come...\"",
|
|
9
12
|
"build": "npx babel src --out-dir dist",
|
|
@@ -32,6 +35,7 @@
|
|
|
32
35
|
"@cycle/isolate": "^5.2.0",
|
|
33
36
|
"@cycle/run": "^5.7.0",
|
|
34
37
|
"@cycle/state": "^1.7.0",
|
|
38
|
+
"extend": "^3.0.2",
|
|
35
39
|
"xstream": "^11.14.0"
|
|
36
40
|
},
|
|
37
41
|
"devDependencies": {
|
package/sygnal-1.2.1.tgz
ADDED
|
Binary file
|
package/dist/sygnal.min.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=collection;var _isolate=_interopRequireDefault(require("@cycle/isolate")),_state=require("@cycle/state");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f=[],g=!0,h=!1;try{for(c=c.call(a);!(g=(d=c.next()).done)&&(f.push(d.value),!(b&&f.length===b));g=!0);}catch(a){h=!0,e=a}finally{try{g||null==c["return"]||c["return"]()}finally{if(h)throw e}}return f}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function collection(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:["DOM"],d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:["EVENTS"],e=4<arguments.length&&arguments[4]!==void 0?arguments[4]:"STATE";return function(f){var g=_defineProperty({},e,b);return d.forEach(function(a){return g[a]=null}),c.forEach(function(a){return g[a]=null}),makeIsolatedCollection({item:a,itemKey:function itemKey(a){return a.id},itemScope:function itemScope(a){return a},channel:e,collectSinks:function collectSinks(a){return Object.entries(f).reduce(function(b,d){var e=_slicedToArray(d,2),f=e[0],g=e[1];return b[f]=c.includes(f)?a.pickCombine(f):a.pickMerge(f),b},{})}},g,f)}}function makeIsolatedCollection(a,b,c){return(0,_isolate["default"])((0,_state.makeCollection)(a),b)(c)}
|
|
2
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ABORT=void 0,exports["default"]=component;var _isolate=_interopRequireDefault(require("@cycle/isolate")),_collection=_interopRequireDefault(require("./collection.js")),_state2=require("@cycle/state"),_xstream=_interopRequireWildcard(require("xstream")),_delay=_interopRequireDefault(require("xstream/extra/delay.js")),_concat=_interopRequireDefault(require("xstream/extra/concat.js")),_debounce=_interopRequireDefault(require("xstream/extra/debounce.js")),_dropRepeats=_interopRequireDefault(require("xstream/extra/dropRepeats.js"));function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d["default"]=a,c&&c.set(a,d),d}function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f=[],g=!0,h=!1;try{for(c=c.call(a);!(g=(d=c.next()).done)&&(f.push(d.value),!(b&&f.length===b));g=!0);}catch(a){h=!0,e=a}finally{try{g||null==c["return"]||c["return"]()}finally{if(h)throw e}}return f}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}var ENVIRONMENT="undefined"!=typeof window&&window||process&&process.env||{},REQUEST_SELECTOR_METHOD="request",BOOTSTRAP_ACTION="BOOTSTRAP",INITIALIZE_ACTION="INITIALIZE",HYDRATE_ACTION="HYDRATE",IS_ROOT_COMPONENT=!0,ABORT="~#~#~ABORT~#~#~";exports.ABORT=ABORT;function component(a){var b=a.name,c=a.sources,d=a.isolateOpts,e=a.stateSourceName,f=void 0===e?"STATE":e;if(c&&"object"!==_typeof(c))throw new Error("Sources must be a Cycle.js sources object:",b);var g="string"==typeof d?_defineProperty({},f,d):!0===d?{}:d;var h="undefined"==typeof c;if("object"==_typeof(g)){var i=function(b){var c=_objectSpread(_objectSpread({},a),{},{sources:b});return new Component(c).sinks};return h?(0,_isolate["default"])(i,g):(0,_isolate["default"])(i,g)(c)}return h?function(b){return new Component(_objectSpread(_objectSpread({},a),{},{sources:b})).sinks}:new Component(a).sinks}var Component=function(){function a(b){var c=this,d=b.name,e=void 0===d?"NO NAME":d,f=b.sources,g=b.intent,h=b.request,i=b.model,j=b.response,k=b.view,l=b.children,m=void 0===l?{}:l,n=b.components,o=void 0===n?{}:n,p=b.initialState,q=b.calculated,r=b.storeCalculatedInState,s=b.DOMSourceName,t=void 0===s?"DOM":s,u=b.stateSourceName,v=void 0===u?"STATE":u,w=b.requestSourceName,x=void 0===w?"HTTP":w;if(_classCallCheck(this,a),!f||"object"!=_typeof(f))throw new Error("Missing or invalid sources");this.name=e,this.sources=f,this.intent=g,this.request=h,this.model=i,this.response=j,this.view=k,this.children=m,this.components=o,this.initialState=p,this.calculated=q,this.storeCalculatedInState=void 0===r||r,this.DOMSourceName=t,this.stateSourceName=v,this.requestSourceName=x,this.sourceNames=Object.keys(f),this.isSubComponent=this.sourceNames.includes("props$");var y=f[v]&&f[v].stream;y&&(this.currentState=p||{},this.sources[this.stateSourceName]=new _state2.StateSource(y.map(function(a){return c.currentState=a,a}))),IS_ROOT_COMPONENT&&"undefined"==typeof this.intent&&"undefined"==typeof this.model&&(this.initialState=p||!0,this.intent=function(){return{__NOOP_ACTION__:_xstream["default"].never()}},this.model={__NOOP_ACTION__:function __NOOP_ACTION__(a){return a}}),IS_ROOT_COMPONENT=!1,this.log=makeLog(e),this.initIntent$(),this.initAction$(),this.initResponse$(),this.initState(),this.initModel$(),this.initSendResponse$(),this.initChildren$(),this.initSubComponentSink$(),this.initVdom$(),this.initSinks()}return _createClass(a,[{key:"initIntent$",value:function initIntent$(){if(this.intent){if("function"!=typeof this.intent)throw new Error("Intent must be a function");if(this.intent$=this.intent(this.sources),!(this.intent$ instanceof _xstream.Stream)&&"object"!=_typeof(this.intent$))throw new Error("Intent must return either an action$ stream or map of event streams")}}},{key:"initAction$",value:function initAction$(){var a=this.sources&&this.sources[this.requestSourceName]||null;if(!this.intent$)return void(this.action$=_xstream["default"].never());var b;if(this.intent$ instanceof _xstream.Stream)b=this.intent$;else{var g=Object.entries(this.intent$).map(function(a){var b=_slicedToArray(a,2),c=b[0],d=b[1];return d.map(function(a){return{type:c,data:a}})});b=_xstream["default"].merge.apply(_xstream["default"],[_xstream["default"].never()].concat(_toConsumableArray(g)))}var c,d=b instanceof _xstream.Stream?b:b.apply&&b(this.sources)||_xstream["default"].never(),e=(0,_concat["default"])(_xstream["default"].of({type:BOOTSTRAP_ACTION}),d).compose((0,_delay["default"])(10));c=a&&"function"==typeof a.select?a.select("initial").flatten():_xstream["default"].never();var f=c.map(function(a){return{type:HYDRATE_ACTION,data:a}});this.action$=_xstream["default"].merge(e,f).compose(this.log(function(a){var b=a.type;return"Action triggered: <".concat(b,">")}))}},{key:"initResponse$",value:function initResponse$(){var a=this;if("undefined"!=typeof this.request){if("object"!=_typeof(this.request))throw new Error("The request parameter must be an object");var b=this.sources[this.requestSourceName],c=Object.entries(this.request),d=c.reduce(function(c,d){var e=_slicedToArray(d,2),f=e[0],g=e[1],h=f.toLowerCase();if("function"!=typeof b[h])throw new Error("Invalid method in request object:",f);var i=Object.entries(g),j=i.reduce(function(c,d){var e=_slicedToArray(d,2),f=e[0],g=e[1],i="[".concat(h.toUpperCase(),"]:").concat(f||"none"),j=_typeof(g);if("undefined"===j)throw new Error("Action for '".concat(f,"' route in request object not specified"));else if("string"!==j&&"function"!==j)throw new Error("Invalid action for '".concat(f,"' route: expecting string or function"));var k="function"===j?"[ FUNCTION ]":"< ".concat(g," >");console.log("[".concat(a.name,"] Adding ").concat(a.requestSourceName," route:"),h.toUpperCase(),"'".concat(f,"' <").concat(k,">"));var l=b[h](f).compose((0,_dropRepeats["default"])(function(c,a){return c.id==a.id})).map(function(b){if(!b||!b.id)throw new Error("No id found in request: ".concat(i));try{var c=b.id,d=b.params,e=b.body,f=b.cookies,h="function"===j?"FUNCTION":g,k={type:h,data:e,req:b,_reqId:c,_action:h},l=new Date().toISOString(),m=b.get?b.get("host"):"0.0.0.0";if(console.log("".concat(l," ").concat(m," ").concat(b.method," ").concat(b.url)),ENVIRONMENT.DEBUG&&a.action$.setDebugListener({next:function next(b){var c=b.type;return console.log("[".concat(a.name,"] Action from ").concat(a.requestSourceName," request: <").concat(c,">"))}}),"function"===j){var n=a.addCalculated(a.currentState),o=g(n,b);return _xstream["default"].of(_objectSpread(_objectSpread({},k),{},{data:o}))}a.action$.shamefullySendNext(k);var p=Object.entries(a.sources),q=p.reduce(function(a,b){var d=_slicedToArray(b,2),e=d[0],f=d[1];if(!f||"function"!=typeof f[REQUEST_SELECTOR_METHOD])return a;var g=f[REQUEST_SELECTOR_METHOD](c);return[].concat(_toConsumableArray(a),[g])},[]);return _xstream["default"].merge.apply(_xstream["default"],_toConsumableArray(q))}catch(a){console.error(a)}}).flatten();return[].concat(_toConsumableArray(c),[l])},[]),k=_xstream["default"].merge.apply(_xstream["default"],_toConsumableArray(j));return[].concat(_toConsumableArray(c),[k])},[]);if(this.response$=_xstream["default"].merge.apply(_xstream["default"],_toConsumableArray(d)).compose(this.log(function(b){return b._action?"[".concat(a.requestSourceName,"] response data received for Action: <").concat(b._action,">"):"[".concat(a.requestSourceName,"] response data received from FUNCTION")})),"undefined"!=typeof this.response&&"undefined"==typeof this.response$)throw new Error("Cannot have a response parameter without a request parameter")}}},{key:"initState",value:function initState(){var a=this;null!=this.model&&(void 0===this.model[INITIALIZE_ACTION]?this.model[INITIALIZE_ACTION]=_defineProperty({},this.stateSourceName,function(b,c){return _objectSpread({},a.addCalculated(c))}):Object.keys(this.model[INITIALIZE_ACTION]).forEach(function(b){b!==a.stateSourceName&&(console.warn("".concat(INITIALIZE_ACTION," can only be used with the ").concat(a.stateSourceName," source... disregarding ").concat(b)),delete a.model[INITIALIZE_ACTION][b])}))}},{key:"initModel$",value:function initModel$(){var a=this;if("undefined"==typeof this.model)return void(this.model$=this.sourceNames.reduce(function(b,a){return b[a]=_xstream["default"].never(),b},{}));var b={type:INITIALIZE_ACTION,data:this.initialState},c=this.initialState?(0,_concat["default"])(_xstream["default"].of(b),this.action$).compose((0,_delay["default"])(0)):this.action$,d=this.makeOnAction(c,!0,this.action$),e=this.makeOnAction(this.action$,!1,this.action$),f=Object.entries(this.model),g={};f.forEach(function(b){var c=_slicedToArray(b,2),f=c[0],h=c[1];if("function"==typeof h&&(h=_defineProperty({},a.stateSourceName,h)),"object"!==_typeof(h))throw new Error("Entry for each action must be an object: ".concat(a.name," ").concat(f));var i=Object.entries(h);i.forEach(function(b){var c=_slicedToArray(b,2),h=c[0],i=c[1],j=h==a.stateSourceName,k=j?d:e,l=k(f,i),m=l.compose(a.log(function(a){if(j)return"State reducer added: <".concat(f,">");var b=a&&(a.type||a.command||a.name||a.key||Array.isArray(a)&&"Array"||a);return"Data sent to [".concat(h,"]: <").concat(f,"> ").concat(b)}));Array.isArray(g[h])?g[h].push(m):g[h]=[m]})});var h=Object.entries(g).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a[d]=_xstream["default"].merge.apply(_xstream["default"],[_xstream["default"].never()].concat(_toConsumableArray(e))),a},{});this.model$=h}},{key:"initSendResponse$",value:function initSendResponse$(){var a=this,b=_typeof(this.response);if("function"!=b&&"undefined"!=b)throw new Error("The response parameter must be a function");if("undefined"==b)return this.response$&&this.response$.subscribe({next:this.log(function(a){var b=a._reqId,c=a._action;return"Unhandled response for request: ".concat(c," ").concat(b)})}),void(this.sendResponse$=_xstream["default"].never());var c=this.response({select:function select(b){return"undefined"==typeof b?a.response$:(Array.isArray(b)||(b=[b]),a.response$.filter(function(a){var c=a._action;return!(0<b.length)||"FUNCTION"===c||b.includes(c)}))}});if("object"!=_typeof(c))throw new Error("The response function must return an object");var d=Object.entries(c),e=d.reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1],f=e.map(function(a){var b=a._reqId,c=a._action,e=a.data;if(!b)throw new Error("No request id found for response for: ".concat(d));return{_reqId:b,_action:c,command:d,data:e}});return[].concat(_toConsumableArray(a),[f])},[]);this.sendResponse$=_xstream["default"].merge.apply(_xstream["default"],_toConsumableArray(e)).compose(this.log(function(b){var c=b._reqId,d=b._action;return"[".concat(a.requestSourceName,"] response sent for: <").concat(d,">")}))}},{key:"initChildren$",value:function initChildren$(){var a=this,b=this.sourceNames.reduce(function(b,c){return b[c]=c==a.DOMSourceName?{}:[],b},{});this.children$=Object.entries(this.children).reduce(function(b,c){var d=_slicedToArray(c,2),e=d[0],f=d[1],g=f(a.sources);return a.sourceNames.forEach(function(c){c==a.DOMSourceName?b[c][e]=g[c]:b[c].push(g[c])}),b},b)}},{key:"initSubComponentSink$",value:function initSubComponentSink$(){var a=this,b=_xstream["default"].create({start:function start(b){a.newSubComponentSinks=b.next.bind(b)},stop:function stop(){}});b.subscribe({next:function next(a){return a}}),this.subComponentSink$=b.filter(function(a){return 0<Object.keys(a).length})}},{key:"initVdom$",value:function initVdom$(){var a=this;if("function"!=typeof this.view)return void(this.vdom$=_xstream["default"].of(null));var b=this.sources[this.stateSourceName],c=_objectSpread({},this.children$[this.DOMSourceName]),d=b&&b.isolateSource(b,{get:function get(b){return a.addCalculated(b)}}),e=d&&d.stream||_xstream["default"].never();c.state=e,c[this.stateSourceName]=e,this.sources.props$&&(c.props=this.sources.props$),this.sources.children$&&(c.children=this.sources.children$);var f=Object.entries(c).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a.names.push(d),a.streams.push(e),a},{names:[],streams:[]}),g=_xstream["default"].combine.apply(_xstream["default"],_toConsumableArray(f.streams)),h=g.compose((0,_debounce["default"])(1)).map(function(a){return f.names.reduce(function(b,c,d){return b[c]=a[d],b},{})}),i=Object.keys(this.components);this.vdom$=h.fold(function(b,c){var d=a.view(c)||{sel:"div",data:{},children:[]},e=getComponents(d,i),f=Object.entries(e),g={"::ROOT::":d};if(0===f.length)return g;var h=f.reduce(function(c,d){var e=_slicedToArray(d,2),f=e[0],g=e[1],h=g.sel,i=g.data,j=i.props||{},k=g.children||[],l=i.isCollection||!1,m=i.isSwitchable||!1;if(b[f]){var z=b[f];return c[f]=z,z.props$.shamefullySendNext(j),z.children$.shamefullySendNext(k),c}var n,o,p=a.components[h],q=_xstream["default"].create().startWith(j),r=_xstream["default"].create().startWith(k);if(l){var s;n=new _state2.StateSource(q.map(function(a){return a.value}).remember());var t=_objectSpread(_objectSpread({},a.sources),{},(s={},_defineProperty(s,a.stateSourceName,n),_defineProperty(s,"props$",q),_defineProperty(s,"children$",r),s)),u=a.components[i.component],v={get:function get(a){return a},set:function set(a){return a}};o=(0,_collection["default"])(u,v)(t)}else if(m);else{var w,x=function _lense(a){var b=a.state;if("undefined"==typeof b)return a;if("object"!==_typeof(b))return b;var c=_objectSpread({},a);return delete c.state,_objectSpread(_objectSpread({},c),b)};n=new _state2.StateSource(q.map(x));var A=_objectSpread(_objectSpread({},a.sources),{},(w={},_defineProperty(w,a.stateSourceName,n),_defineProperty(w,"props$",q),_defineProperty(w,"children$",r),w));o=p(A)}var y=o[a.DOMSourceName];return o[a.DOMSourceName]=n.stream.map(function(a){return y.compose((0,_debounce["default"])(2))}).flatten(),c[f]={sink$:o,props$:q,children$:r},c},g);return h},{}).map(function(b){var c=b["::ROOT::"],d=[],e=Object.entries(b).filter(function(a){var b=_slicedToArray(a,1),c=b[0];return"::ROOT::"!==c});if(0===e.length)return _xstream["default"].of(c);var f=e.reduce(function(b,c){var d=_slicedToArray(c,2),e=d[0],f=d[1];return Object.entries(f.sink$).forEach(function(c){var d=_slicedToArray(c,2),e=d[0],f=d[1];b[e]||(b[e]=[]),e!==a.DOMSourceName&&b[e].push(f)}),b},{}),g=Object.entries(f).reduce(function(a,b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return a[d]=_xstream["default"].merge.apply(_xstream["default"],_toConsumableArray(e)),a},{});a.newSubComponentSinks(g);var h=e.map(function(b){var c=_slicedToArray(b,2),e=c[0],f=c[1];return d.push(e),f.sink$[a.DOMSourceName]});return 0===h.length?_xstream["default"].of(c):_xstream["default"].combine.apply(_xstream["default"],_toConsumableArray(h)).map(function(a){var b=a.reduce(function(a,b,c){return a[d[c]]=b,a},{}),e=injectComponents(c,b,i);return e})}).flatten().filter(function(a){return!!a}).remember().compose(this.log("View Rendered"))}},{key:"initSinks",value:function initSinks(){var a=this;this.sinks=this.sourceNames.reduce(function(b,c){if(c==a.DOMSourceName)return b;var d=a.subComponentSink$?a.subComponentSink$.map(function(a){return a[c]}).filter(function(a){return!!a}).flatten():_xstream["default"].never();return b[c]=c===a.stateSourceName?_xstream["default"].merge.apply(_xstream["default"],[a.model$[c]||_xstream["default"].never(),a.sources[a.stateSourceName].stream.filter(function(a){return!1})].concat(_toConsumableArray(a.children$[c]))):_xstream["default"].merge.apply(_xstream["default"],[a.model$[c]||_xstream["default"].never(),d].concat(_toConsumableArray(a.children$[c]))),b},{}),this.sinks[this.DOMSourceName]=this.vdom$,this.sinks[this.requestSourceName]=_xstream["default"].merge(this.sendResponse$,this.sinks[this.requestSourceName])}},{key:"makeOnAction",value:function makeOnAction(a){var b=this,c=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],d=2<arguments.length?arguments[2]:void 0;return d=d||a,function(e,f){var g,h=a.filter(function(a){var b=a.type;return b==e});if("function"==typeof f)g=h.map(function(a){var g=function next(b,c){var f=a._reqId||a.req&&a.req.id,g=f?"object"==_typeof(c)?_objectSpread(_objectSpread({},c),{},{_reqId:f,_action:e}):{data:c,_reqId:f,_action:e}:c;setTimeout(function(){d.shamefullySendNext({type:b,data:g})},10)},h=a.data;if(h&&h.data&&h._reqId&&(h=h.data),c)return function(c){var d=b.isSubComponent?b.currentState:c,e=b.addCalculated(d),i=f(e,h,g,a.req);return i==ABORT?d:b.cleanupCalculated(i)};var i=b.addCalculated(b.currentState),j=f(i,h,g,a.req),k=_typeof(j),l=a._reqId||a.req&&a.req.id;if(["string","number","boolean","function"].includes(k))return j;if("object"==k)return _objectSpread(_objectSpread({},j),{},{_reqId:l,_action:e});if("undefined"==k)return console.warn("'undefined' value sent to ".concat(e)),j;throw new Error("Invalid reducer type for ".concat(e," ").concat(k))}).filter(function(a){return a!=ABORT});else if(void 0===f||!0===f)g=h.map(function(a){var b=a.data;return b});else{var i=f;g=h.mapTo(i)}return g}}},{key:"addCalculated",value:function addCalculated(a){if(!this.calculated||"object"!==_typeof(a))return a;if("object"!==_typeof(this.calculated))throw new Error("'calculated' parameter must be an object mapping calculated state field named to functions");var b=Object.entries(this.calculated),c=b.reduce(function(b,c){var d=_slicedToArray(c,2),f=d[0],g=d[1];if("function"!=typeof g)throw new Error("Missing or invalid calculator function for calculated field '".concat(f));try{b[f]=g(a)}catch(a){console.warn("Calculated field '".concat(f,"' threw an error during calculation: ").concat(a.message))}return b},{});return _objectSpread(_objectSpread({},a),c)}},{key:"cleanupCalculated",value:function cleanupCalculated(a){var b=this;if(this.storeCalculatedInState)return this.addCalculated(a);if(!this.calculated||!a||"object"!==_typeof(a))return a;var c=Object.keys(this.calculated),d=_objectSpread({},a);return c.forEach(function(a){b.initialState&&"undefined"!=typeof b.initialState[a]?d[a]=b.initialState[a]:delete d[a]}),d}}]),a}();function makeLog(a){return function(b){var c="function"==typeof b?b:function(a){return b};return function(b){return b.debug(function(b){("true"==ENVIRONMENT.DEBUG||!0===ENVIRONMENT.DEBUG)&&console.log("[".concat(a,"] ").concat(c(b)))})}}}function getComponents(a,b){var c,d=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2];if(!a)return{};if(null!==(c=a.data)&&void 0!==c&&c.componentsProcessed)return{};d||(a.data.componentsProcessed=!0);var e=a.sel,f=e&&"collection"===e.toLowerCase(),g=e&&"switchable"===e.toLowerCase(),h=e&&["collection","swtichable"].concat(_toConsumableArray(b)).includes(a.sel),i=a.data&&a.data.props||{},j=a.children||[],k={};if(h){var l=getComponentIdFromElement(a);if(f){if(!i.component)throw new Error("Collection element missing required 'component' property");if("string"!=typeof i.component)throw new Error("Invalid 'component' property of collection element: found ".concat(_typeof(i.component)," requires string"));if(!b.includes(i.component))throw new Error("Specified component for collection not found: ".concat(i.component));i.value&&Array.isArray(i.value)||console.warn("No valid array found in the 'value' property of collection ".concat(i.component,": no collection components will be created")),a.data.isCollection=!0,a.data.component=i.component}else if(g){if(!i.components)throw new Error("Switchable element missing required 'components' property");if("object"!==_typeof(i.components))throw new Error("Invalid 'components' property of switchable element: found ".concat(_typeof(i.components)," requires object mapping names to component factories"));var m=Object.values(i.components);if(!m.every(function(a){return"function"==typeof a}))throw new Error("One or more invalid component factories for switchable element is not a valid component factory");if(!i.current||"string"!=typeof i.current)throw new Error("Missing or invalid 'current' property for switchable element: found ".concat(_typeof(i.current)," requires string"));var n=Object.keys(i.components);if(!n.includes(i.current))throw new Error("Component '".concat(i.current,"' not found in switchable element"));a.data.isSwitchable=!0,a.data.components=i.components,a.data.currentComponent=i.current}else;k[l]=a}return 0<j.length&&j.map(function(a){return getComponents(a,b,!0)}).forEach(function(a){Object.entries(a).forEach(function(a){var b=_slicedToArray(a,2),c=b[0],d=b[1];return k[c]=d})}),k}function injectComponents(a,b,c){var d,e,f,g=!!(3<arguments.length&&arguments[3]!==void 0)&&arguments[3];if(a){if(null!==(d=a.data)&&void 0!==d&&d.componentsInjected)return a;!g&&a.data&&(a.data.componentsInjected=!0);var h=a.sel||"NO SELECTOR",i=["collection","swtichable"].concat(_toConsumableArray(c)).includes(h),j=null===a||void 0===a||null===(e=a.data)||void 0===e?void 0:e.isCollection,k=null===a||void 0===a||null===(f=a.data)||void 0===f?void 0:f.isSwitchable,l=a.data&&a.data.props||{},m=a.children||[];if(i){var n=getComponentIdFromElement(a),o=b[n];return j?(a.sel="div",delete a.elm,a.children=o,a):o}return 0<m.length?(a.children=m.map(function(a){return injectComponents(a,b,c)}).flat(),a):a}}function getComponentIdFromElement(a){var b=a.sel,c=a.data&&a.data.props||{},d=c.id&&JSON.stringify(c.id)||JSON.stringify(c);return"".concat(b,"::").concat(d)}
|
|
3
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=eventBusDriver;var _xstream=_interopRequireDefault(require("xstream")),_adapt=require("@cycle/run/lib/adapt");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function eventBusDriver(a){var b=new EventTarget;return a.subscribe({next:function next(a){return b.dispatchEvent(new CustomEvent("data",{detail:a}))}}),{select:function select(a){var c,d=Array.isArray(a)?a:[a],e=_xstream["default"].create({start:function start(e){c=function(b){var c=b.detail,f=c&&c.data||null;(!a||d.includes(c.type))&&e.next(f)},b.addEventListener("data",c)},stop:function stop(){return b.removeEventListener("data",c)}});return(0,_adapt.adapt)(e)}}}
|
|
4
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=logDriver;function logDriver(a){a.addListener({next:function next(a){console.log(a)}})}
|
|
5
|
-
"use strict";var _xstream=_interopRequireDefault(require("xstream"));Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=processForm;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f=[],g=!0,h=!1;try{for(c=c.call(a);!(g=(d=c.next()).done)&&(f.push(d.value),!(b&&f.length===b));g=!0);}catch(a){h=!0,e=a}finally{try{g||null==c["return"]||c["return"]()}finally{if(h)throw e}}return f}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function e(a){throw a},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function e(a){h=!0,f=a},f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function processForm(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{},c=b.events,d=void 0===c?["input","submit"]:c,f=b.preventDefault;"string"==typeof d&&(d=[d]);var g=d.map(function(b){return a.events(b)}),h=_xstream["default"].merge.apply(_xstream["default"],_toConsumableArray(g));return h.map(function(a){(!(void 0!==f)||f)&&a.preventDefault();var b="submit"===a.type?a.srcElement:a.currentTarget,c=new FormData(b),d={};d.event=a,d.eventType=a.type;var e=b.querySelector("input[type=submit]:focus");if(e){var g=e.name,h=e.value;d[g||"submit"]=h}var i,j=_createForOfIteratorHelper(c.entries());try{for(j.s();!(i=j.n()).done;){var k=_slicedToArray(i.value,2),l=k[0],m=k[1];d[l]=m}}catch(a){j.e(a)}finally{j.f()}return d})}
|
|
6
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=run;var _run2=require("@cycle/run"),_state=require("@cycle/state"),_dom=require("@cycle/dom"),_eventDriver=_interopRequireDefault(require("./eventDriver")),_logDriver=_interopRequireDefault(require("./logDriver"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function run(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{},c=(0,_state.withState)(a,"STATE"),d={EVENTS:_eventDriver["default"],DOM:(0,_dom.makeDOMDriver)("#root"),LOG:_logDriver["default"]},e=_objectSpread(_objectSpread({},d),b);return(0,_run2.run)(c,e)}
|
|
7
|
-
"use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ABORT",{enumerable:!0,get:function get(){return _component.ABORT}}),Object.defineProperty(exports,"collection",{enumerable:!0,get:function get(){return _collection["default"]}}),Object.defineProperty(exports,"component",{enumerable:!0,get:function get(){return _component["default"]}}),Object.defineProperty(exports,"processForm",{enumerable:!0,get:function get(){return _processForm["default"]}}),Object.defineProperty(exports,"run",{enumerable:!0,get:function get(){return _run["default"]}}),Object.defineProperty(exports,"switchable",{enumerable:!0,get:function get(){return _switchable["default"]}});var _component=_interopRequireWildcard(require("./component")),_collection=_interopRequireDefault(require("./collection")),_switchable=_interopRequireDefault(require("./switchable")),_processForm=_interopRequireDefault(require("./extra/processForm")),_run=_interopRequireDefault(require("./extra/run"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d["default"]=a,c&&c.set(a,d),d}
|
|
8
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=switchable;var _xstream=_interopRequireWildcard(require("xstream")),_dropRepeats=_interopRequireDefault(require("xstream/extra/dropRepeats"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d["default"]=a,c&&c.set(a,d),d}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f=[],g=!0,h=!1;try{for(c=c.call(a);!(g=(d=c.next()).done)&&(f.push(d.value),!(b&&f.length===b));g=!0);}catch(a){h=!0,e=a}finally{try{g||null==c["return"]||c["return"]()}finally{if(h)throw e}}return f}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function switchable(a,b,c){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:["DOM"],e=4<arguments.length&&arguments[4]!==void 0?arguments[4]:"STATE",f=_typeof(b);if(!b)throw new Error("Missing 'name$' parameter for switchable()");if(!("string"===f||"function"===f||b instanceof _xstream.Stream))throw new Error("Invalid 'name$' parameter for switchable(): expects Stream, String, or Function");if(b instanceof _xstream.Stream){var h=b.compose((0,_dropRepeats["default"])()).startWith(c).remember();return function(b){return _switchable(a,b,h,d)}}var g="function"===f&&b||function(a){return a[b]};return function(b){var f=b&&("string"==typeof e&&b[e]||b.STATE||b.state).stream;if(!f instanceof _xstream.Stream)throw new Error("Could not find the state source: ".concat(e));var h=f.map(g).filter(function(a){return"string"==typeof a}).compose((0,_dropRepeats["default"])()).startWith(c).remember();return _switchable(a,b,h,d,e)}}function _switchable(a,b,c){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:["DOM"],e=4<arguments.length&&arguments[4]!==void 0?arguments[4]:"STATE";"string"==typeof d&&(d=[d]);var f=Object.entries(a).map(function(a){var d=_slicedToArray(a,2),f=d[0],g=d[1];if(b[e]){var h=b[e].stream,i=_xstream["default"].combine(c,h).filter(function(a){var b=_slicedToArray(a,2),c=b[0],d=b[1];return c==f}).map(function(a){var b=_slicedToArray(a,2),c=b[0],d=b[1];return d}).remember(),j=new b[e].constructor(i,b[e]._name);return[f,g(_objectSpread(_objectSpread({},b),{},{state:j}))]}return[f,g(b)]}),g=Object.keys(b).reduce(function(a,b){if(d.includes(b))a[b]=c.map(function(a){var c=f.find(function(b){var c=_slicedToArray(b,2),d=c[0],e=c[1];return d===a});return c&&c[1][b]||_xstream["default"].never()}).flatten().remember().startWith("");else{var e=f.filter(function(a){var c=_slicedToArray(a,2),d=c[0],e=c[1];return e[b]!==void 0}).map(function(a){var c=_slicedToArray(a,2),d=c[0],e=c[1];return e[b]});a[b]=_xstream["default"].merge.apply(_xstream["default"],_toConsumableArray(e))}return a},{});return g}
|