@startlibs/utils 1.0.0-alpha-7i → 1.0.0-alpha-7k

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.
Files changed (2) hide show
  1. package/lib/index.js +127 -3
  2. package/package.json +3 -4
package/lib/index.js CHANGED
@@ -27,6 +27,7 @@ var polished = require('polished');
27
27
  var react = require('react');
28
28
  var styled = require('styled-components');
29
29
  var createEmotion = require('create-emotion');
30
+ var _flow = require('lodash/fp/flow');
30
31
  var _map = require('lodash/fp/map');
31
32
  var _filter = require('lodash/fp/filter');
32
33
  var _each = require('lodash/fp/each');
@@ -65,6 +66,7 @@ var _get__default = /*#__PURE__*/_interopDefaultLegacy(_get);
65
66
  var _unset__default = /*#__PURE__*/_interopDefaultLegacy(_unset);
66
67
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
67
68
  var createEmotion__default = /*#__PURE__*/_interopDefaultLegacy(createEmotion);
69
+ var _flow__default = /*#__PURE__*/_interopDefaultLegacy(_flow);
68
70
  var _map__default = /*#__PURE__*/_interopDefaultLegacy(_map);
69
71
  var _filter__default = /*#__PURE__*/_interopDefaultLegacy(_filter);
70
72
  var _each__default = /*#__PURE__*/_interopDefaultLegacy(_each);
@@ -524,6 +526,8 @@ var formatHour = function formatHour() {
524
526
 
525
527
  if (!h && parseInt(m) < 24 && !_isFinite__default['default'](hour)) {
526
528
  return m + ":00";
529
+ } else if (h) {
530
+ return (parseInt(h, 10) > 23 ? h.slice(1) : h) + ':' + m;
527
531
  }
528
532
 
529
533
  return ('000' + hour.toString().replace(":", "")).slice(-4).replace(/(\d\d)(\d\d)/, '$1:$2');
@@ -1163,7 +1167,14 @@ var _s = {
1163
1167
  find: find,
1164
1168
  filter: filter,
1165
1169
  map: map,
1166
- insertAt: insertAt
1170
+ insertAt: insertAt,
1171
+ flowEach: function flowEach() {
1172
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1173
+ args[_key] = arguments[_key];
1174
+ }
1175
+
1176
+ return _flow__default['default'].apply(void 0, _toConsumableArray__default['default'](args.filter(Boolean)));
1177
+ }
1167
1178
  };
1168
1179
 
1169
1180
  function _templateObject() {
@@ -1422,9 +1433,16 @@ var styledExtend = function styledExtend(_ref8) {
1422
1433
  var target = _ref8.target,
1423
1434
  componentStyle = _ref8.componentStyle;
1424
1435
  return function () {
1425
- var v = styled__default['default'](target).apply(void 0, arguments);
1436
+ var wasStatic = !_find__default['default'](_isFunction__default['default'], componentStyle.rules);
1437
+
1438
+ for (var _len8 = arguments.length, template = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
1439
+ template[_key8] = arguments[_key8];
1440
+ }
1441
+
1442
+ var v = styled__default['default'](target).apply(void 0, template.concat(_toConsumableArray__default['default'](wasStatic ? [] : [function () {
1443
+ return "";
1444
+ }])));
1426
1445
  v.componentStyle.rules = _toConsumableArray__default['default'](componentStyle.rules).concat(_toConsumableArray__default['default'](v.componentStyle.rules));
1427
- v.componentStyle.isStatic = !_find__default['default'](_isFunction__default['default'], v.componentStyle.rules);
1428
1446
  return v;
1429
1447
  };
1430
1448
  };
@@ -2029,19 +2047,117 @@ var willUseAutoLazy = function willUseAutoLazy() {
2029
2047
  return [lazy, useAutoLazyEffect];
2030
2048
  };
2031
2049
 
2050
+ var SECOND = 1000;
2051
+ var MINUTE = SECOND * 60;
2052
+ var HOUR = MINUTE * 60;
2053
+ var DAY = HOUR * 24;
2054
+ var WEEK = DAY * 7;
2055
+ var MONTH = DAY * 31;
2056
+ var YEAR = DAY * 366;
2057
+ var getStartOfDay = function getStartOfDay(d) {
2058
+ var utc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
2059
+ var date = new Date(d);
2060
+
2061
+ if (utc) {
2062
+ date.setUTCHours(0, 0, 0, 0);
2063
+ } else {
2064
+ date.setHours(0, 0, 0, 0);
2065
+ }
2066
+
2067
+ return date;
2068
+ };
2069
+ var isSameDay = function isSameDay(a, b) {
2070
+ var utc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
2071
+ return getStartOfDay(a, utc).getTime() === getStartOfDay(b, utc).getTime();
2072
+ };
2073
+ var intervalsIntersect = function intervalsIntersect(_ref, _ref2) {
2074
+ var _ref3 = _slicedToArray__default['default'](_ref, 2),
2075
+ a1 = _ref3[0],
2076
+ a2 = _ref3[1];
2077
+
2078
+ var _ref4 = _slicedToArray__default['default'](_ref2, 2),
2079
+ b1 = _ref4[0],
2080
+ b2 = _ref4[1];
2081
+
2082
+ return b2 >= a1 && b1 <= a2;
2083
+ };
2084
+ var intervalsIntersection = function intervalsIntersection(a, b) {
2085
+ if (!intervalsIntersect(a, b)) {
2086
+ return [];
2087
+ }
2088
+
2089
+ return [[Math.max(a[0], b[0]), Math.min(a[1], b[1])]];
2090
+ };
2091
+ var diffIntervals = function diffIntervals(_ref5, _ref6) {
2092
+ var _ref7 = _slicedToArray__default['default'](_ref5, 2),
2093
+ a1 = _ref7[0],
2094
+ a2 = _ref7[1];
2095
+
2096
+ var _ref8 = _slicedToArray__default['default'](_ref6, 2),
2097
+ b1 = _ref8[0],
2098
+ b2 = _ref8[1];
2099
+
2100
+ if (a1 >= b2 || // a after b
2101
+ b1 >= a2 // a before b
2102
+ ) {
2103
+ return [[a1, a2]];
2104
+ } else if (a1 > b1 && a2 < b2) {
2105
+ // a inside b
2106
+ return [];
2107
+ }
2108
+
2109
+ if (b1 > a1 && b2 < a2) {
2110
+ // b inside a
2111
+ return [[a1, b1], [b2, a2]];
2112
+ }
2113
+
2114
+ if (b1 <= a1) {
2115
+ // b intersecting left of a
2116
+ return [[b2, a2]];
2117
+ } else {
2118
+ // b intersecting right of a
2119
+ return [[a1, b1]];
2120
+ }
2121
+ };
2122
+ var blockDiffIntervals = function blockDiffIntervals(a, b) {
2123
+ return intervalsIntersect(a, b) ? [] : [a];
2124
+ };
2125
+ var startBlockDiffIntervals = function startBlockDiffIntervals(a, b) {
2126
+ return intervalsIntersect(a, b) && a[0] < b[0] ? [] : [a];
2127
+ };
2128
+
2129
+ var formatJoin = function formatJoin(arr) {
2130
+ var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ', ';
2131
+ var lastSeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ' e ';
2132
+ return [arr.slice(0, -1).join(separator), arr.slice(-1)].join(lastSeparator);
2133
+ };
2134
+ var formatJoinArr = function formatJoinArr(arr, separator, lastSeparator) {
2135
+ return arr.flatMap(function (v, i) {
2136
+ return i < arr.length - 2 ? [v, separator] : i < arr.length - 1 ? [v, lastSeparator] : [v];
2137
+ });
2138
+ };
2139
+
2032
2140
  exports.Action = Action;
2033
2141
  exports.COMPLETE_ACTION = COMPLETE_ACTION;
2142
+ exports.DAY = DAY;
2034
2143
  exports.FETCH = FETCH;
2144
+ exports.HOUR = HOUR;
2145
+ exports.MINUTE = MINUTE;
2146
+ exports.MONTH = MONTH;
2035
2147
  exports.REDUCE = REDUCE;
2148
+ exports.SECOND = SECOND;
2036
2149
  exports.SKIPPED_ACTION = SKIPPED_ACTION;
2037
2150
  exports.SKIP_DISPATCH = SKIP_DISPATCH;
2038
2151
  exports.SKIP_FETCH = SKIP_FETCH;
2039
2152
  exports.SkipAction = SkipAction;
2153
+ exports.WEEK = WEEK;
2154
+ exports.YEAR = YEAR;
2040
2155
  exports._s = _s;
2041
2156
  exports.activateActions = activateActions;
2042
2157
  exports.addHttp = addHttp;
2043
2158
  exports.addQueryString = addQueryString;
2044
2159
  exports.animationTiming = animationTiming;
2160
+ exports.blockDiffIntervals = blockDiffIntervals;
2045
2161
  exports.callIfFunction = callIfFunction;
2046
2162
  exports.callIfFunctions = callIfFunctions;
2047
2163
  exports.callMany = callMany;
@@ -2053,6 +2169,7 @@ exports.createPressAndMoveEvent = createPressAndMoveEvent;
2053
2169
  exports.createPressEvent = createPressEvent;
2054
2170
  exports.createPromiseQueue = createPromiseQueue;
2055
2171
  exports.customTheme = customTheme;
2172
+ exports.diffIntervals = diffIntervals;
2056
2173
  exports.digitsToPattern = digitsToPattern;
2057
2174
  exports.ellipsis = ellipsis;
2058
2175
  exports.fixMediaQuery = fixMediaQuery;
@@ -2061,6 +2178,8 @@ exports.formFetchWithResponse = formFetchWithResponse;
2061
2178
  exports.formatDate = formatDate;
2062
2179
  exports.formatDateToPattern = formatDateToPattern;
2063
2180
  exports.formatHour = formatHour;
2181
+ exports.formatJoin = formatJoin;
2182
+ exports.formatJoinArr = formatJoinArr;
2064
2183
  exports.formatPath = formatPath;
2065
2184
  exports.getClosestOffsetScroll = getClosestOffsetScroll;
2066
2185
  exports.getColor = getColor;
@@ -2070,6 +2189,7 @@ exports.getMargin = getMargin;
2070
2189
  exports.getNumberInputType = getNumberInputType;
2071
2190
  exports.getNumberInputType2 = getNumberInputType2;
2072
2191
  exports.getScrollParent = getScrollParent;
2192
+ exports.getStartOfDay = getStartOfDay;
2073
2193
  exports.getUID = getUID;
2074
2194
  exports.getUrlParams = getUrlParams;
2075
2195
  exports.identityFn = identityFn;
@@ -2080,12 +2200,15 @@ exports.ifProp = ifProp;
2080
2200
  exports.ifPropEquals = ifPropEquals;
2081
2201
  exports.ifUndefined = ifUndefined;
2082
2202
  exports.intToHour = intToHour;
2203
+ exports.intervalsIntersect = intervalsIntersect;
2204
+ exports.intervalsIntersection = intervalsIntersection;
2083
2205
  exports.intsToHour = intsToHour;
2084
2206
  exports.isEmptyHtml = isEmptyHtml;
2085
2207
  exports.isHighDensity = isHighDensity;
2086
2208
  exports.isIOS = isIOS;
2087
2209
  exports.isMobile = isMobile;
2088
2210
  exports.isRetina = isRetina;
2211
+ exports.isSameDay = isSameDay;
2089
2212
  exports.isSmallDevice = isSmallDevice;
2090
2213
  exports.isTouchDevice = isTouchDevice;
2091
2214
  exports.isUrl = isUrl;
@@ -2108,6 +2231,7 @@ exports.scrollIntoViewWithOffset = scrollIntoViewWithOffset;
2108
2231
  exports.scrollWidth = scrollWidth;
2109
2232
  exports.selectPath = selectPath;
2110
2233
  exports.smoothScroll = smoothScroll;
2234
+ exports.startBlockDiffIntervals = startBlockDiffIntervals;
2111
2235
  exports.stopPropagation = stopPropagation;
2112
2236
  exports.styledExtend = styledExtend;
2113
2237
  exports.timerPromise = timerPromise;
package/package.json CHANGED
@@ -1,15 +1,14 @@
1
1
  {
2
2
  "name": "@startlibs/utils",
3
- "version": "1.0.0-alpha-7i",
3
+ "version": "1.0.0-alpha-7k",
4
4
  "description": "Startlibs Utils",
5
5
  "main": "lib/index.js",
6
6
  "sideEffects": false,
7
7
  "source": true,
8
8
  "peerDependencies": {
9
9
  "lodash": "^4.17.11",
10
- "react": "^16.8",
11
- "react-dom": "^16.8",
12
- "react-hot-loader": "^4.3.5"
10
+ "react": "^18.0",
11
+ "react-dom": "^18.0"
13
12
  },
14
13
  "devDependencies": {
15
14
  "@babel/core": "^7.2.0",