@react-fabric/utilities 1.0.0-beta.62 → 1.0.0-beta.63

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.
@@ -24,9 +24,9 @@ var _signals = new Map();
24
24
  * @throws An error if the request fails or if the response contains an error code.
25
25
  */
26
26
  var _fetch = /*#__PURE__*/function () {
27
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(method, url, _ref) {
27
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(method, url, _ref) {
28
28
  var _ref$headers, headers, body, signal, options, _s, ac;
29
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
29
+ return _regeneratorRuntime.wrap(function (_context2) {
30
30
  while (1) switch (_context2.prev = _context2.next) {
31
31
  case 0:
32
32
  _ref$headers = _ref.headers, headers = _ref$headers === void 0 ? {} : _ref$headers, body = _ref.body, signal = _ref.signal;
@@ -56,29 +56,29 @@ var _fetch = /*#__PURE__*/function () {
56
56
  } else if (signal instanceof AbortSignal) {
57
57
  options.signal = signal;
58
58
  }
59
- _context2.next = 7;
59
+ _context2.next = 1;
60
60
  return fetch(url, _objectSpread(_objectSpread({}, options), {}, {
61
61
  headers: headers
62
- })).then( /*#__PURE__*/function () {
63
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resp) {
64
- return _regeneratorRuntime.wrap(function _callee$(_context) {
62
+ })).then(/*#__PURE__*/function () {
63
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(resp) {
64
+ return _regeneratorRuntime.wrap(function (_context) {
65
65
  while (1) switch (_context.prev = _context.next) {
66
66
  case 0:
67
67
  if (!(resp.status >= 200 && resp.status < 300)) {
68
- _context.next = 4;
68
+ _context.next = 2;
69
69
  break;
70
70
  }
71
- _context.next = 3;
71
+ _context.next = 1;
72
72
  return resp.json();
73
- case 3:
73
+ case 1:
74
74
  return _context.abrupt("return", _context.sent);
75
- case 4:
75
+ case 2:
76
76
  throw {
77
77
  status: resp.status,
78
78
  code: -1,
79
79
  message: resp.statusText
80
80
  };
81
- case 5:
81
+ case 3:
82
82
  case "end":
83
83
  return _context.stop();
84
84
  }
@@ -93,7 +93,6 @@ var _fetch = /*#__PURE__*/function () {
93
93
  var code = (_ref4 = (_resp$error_code = resp.error_code) !== null && _resp$error_code !== void 0 ? _resp$error_code : resp.errorCode) !== null && _ref4 !== void 0 ? _ref4 : resp.error;
94
94
  var message = (_ref5 = (_resp$error_message = resp.error_message) !== null && _resp$error_message !== void 0 ? _resp$error_message : resp.errorMessage) !== null && _ref5 !== void 0 ? _ref5 : resp.message;
95
95
  if (resp.status === "error" || code) {
96
- // eslint-disable-next-line @typescript-eslint/no-throw-literal
97
96
  throw {
98
97
  status: 500,
99
98
  code: code,
@@ -102,9 +101,9 @@ var _fetch = /*#__PURE__*/function () {
102
101
  }
103
102
  return resp;
104
103
  });
105
- case 7:
104
+ case 1:
106
105
  return _context2.abrupt("return", _context2.sent);
107
- case 8:
106
+ case 2:
108
107
  case "end":
109
108
  return _context2.stop();
110
109
  }
@@ -25,7 +25,7 @@ var _isType = require('./_isType.js');
25
25
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
26
  */
27
27
 
28
- var _get = function _get(hit, field) {
28
+ var _get2 = function _get(hit, field) {
29
29
  /** ***************** return if object is empty *******************/
30
30
  /* istanbul ignore next */
31
31
  if (_isType.isNil(hit)) {
@@ -68,7 +68,7 @@ var _get = function _get(hit, field) {
68
68
  /** ***************** return array map of inner propeties *******************/
69
69
  return {
70
70
  v: currentValue.map(function (val) {
71
- return _get(val, innerPath);
71
+ return _get2(val, innerPath);
72
72
  }).filter(function (val) {
73
73
  return !_isType.isEmpty(val);
74
74
  })
@@ -76,7 +76,7 @@ var _get = function _get(hit, field) {
76
76
  } else {
77
77
  /** ***************** return value of remaining path *******************/
78
78
  return {
79
- v: _get(currentValue, innerPath)
79
+ v: _get2(currentValue, innerPath)
80
80
  };
81
81
  }
82
82
  }
@@ -107,7 +107,7 @@ var getByPath = function getByPath(obj, path) {
107
107
  if (_isType.isEmpty(obj) || _isType.isEmpty(path)) {
108
108
  return defaultValue;
109
109
  }
110
- var value = _get(obj, path);
110
+ var value = _get2(obj, path);
111
111
  if (!_isType.isNil(value)) {
112
112
  return value;
113
113
  }
@@ -42,7 +42,7 @@ var _isType = require('./_isType.js');
42
42
  * @param {unknown} test - The second value to compare against the first.
43
43
  * @returns {boolean} - Returns true if the values are equal, false otherwise.
44
44
  */
45
- var isEqual = function isEqual(obj, test) {
45
+ var _isEqual = function isEqual(obj, test) {
46
46
  if (_isType.isNil(obj) && _isType.isNil(test)) {
47
47
  return true;
48
48
  }
@@ -55,7 +55,7 @@ var isEqual = function isEqual(obj, test) {
55
55
  }
56
56
  // check if some value is false
57
57
  return !obj.some(function (o, i) {
58
- return !isEqual(o, test[i]);
58
+ return !_isEqual(o, test[i]);
59
59
  });
60
60
  } else if (_isType.isObject(obj) && _isType.isObject(test)) {
61
61
  var okeys = Object.keys(obj);
@@ -72,28 +72,11 @@ var isEqual = function isEqual(obj, test) {
72
72
  }
73
73
  // check if some value is false
74
74
  return !Object.keys(obj).some(function (k) {
75
- return !isEqual(obj[k], test[k]);
75
+ return !_isEqual(obj[k], test[k]);
76
76
  });
77
77
  }
78
78
  return false;
79
79
  };
80
-
81
- /**
82
- * Match a string against another string with options for equality.
83
- * This function checks if the base string starts with, includes, or is equal to the match string,
84
- * based on the specified equality condition.
85
- * It normalizes both strings to lowercase and ASCII format before comparison.
86
- * This is useful for case-insensitive and ASCII-only comparisons,
87
- * such as when filtering or searching through text data.
88
- *
89
- * @param {string} base - The base string to match against.
90
- * @param {string} match - The string to match with the base string.
91
- * @param {("start" | boolean)} equality - The type of match to perform:
92
- * - "start": checks if the base string starts with the match string.
93
- * - true: checks for exact equality.
94
- * - false (default): checks if the base string includes the match string.
95
- * @returns {boolean} - Returns true if the base string matches the conditions specified by the match string and equality.
96
- */
97
80
  var matchString = function matchString(base, match) {
98
81
  var equality = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
99
82
  var _base = _ascii.ascii(base).toLowerCase();
@@ -139,5 +122,5 @@ var compareValues = function compareValues() {
139
122
  };
140
123
 
141
124
  exports.compareValues = compareValues;
142
- exports.isEqual = isEqual;
125
+ exports.isEqual = _isEqual;
143
126
  exports.matchString = matchString;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var chroma = require('chroma-js');
4
+
3
5
  /*
4
6
  * React Fabric
5
7
  * @version: 1.0.0
@@ -23,7 +25,6 @@
23
25
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
26
  */
25
27
 
26
- /* istanbul ignore file */
27
28
 
28
29
  /**
29
30
  * Get the color set of an image element.
@@ -41,6 +42,7 @@
41
42
  * @returns {string} A string indicating the color set of the image.
42
43
  */
43
44
  var getImageColorset = function getImageColorset(el) {
45
+ var transparentOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
44
46
  // create canvas
45
47
  var canvas = document.createElement("canvas");
46
48
  canvas.width = Math.min(500, el.naturalWidth);
@@ -56,22 +58,32 @@ var getImageColorset = function getImageColorset(el) {
56
58
  var totalPixels = 0;
57
59
  var transparent = (data === null || data === void 0 ? void 0 : data[3]) === 0;
58
60
  for (var x = 0, len = data.length; x < len; x += 4) {
61
+ if (transparentOnly && data[x + 3] / 255 > 0.9) {
62
+ continue;
63
+ }
59
64
  if (data[x + 3] === 0) {
60
65
  transparent = true;
61
66
  continue;
62
67
  }
63
- if (data[x + 3] < 1) {
68
+ if (data[x + 3] < 255) {
64
69
  transparent = true;
65
70
  }
66
71
  r = data[x];
67
72
  g = data[x + 1];
68
73
  b = data[x + 2];
69
- totalPixels++;
70
- 0.2126 * r + 0.7152 * g + 0.0722 * b < 128 ? dark++ : light++;
74
+ var l = chroma([r, g, b]).lab()[0];
75
+ if (transparentOnly) {
76
+ l < 35 && (dark++, totalPixels++);
77
+ l > 65 && (light++, totalPixels++);
78
+ } else {
79
+ l < 50 && (dark++, totalPixels++);
80
+ l >= 50 && (light++, totalPixels++);
81
+ }
71
82
  }
83
+ if (totalPixels === 0) return "auto";
72
84
  var diff = light / totalPixels - dark / totalPixels;
73
85
  var ret = diff > 0 ? "light" : "dark";
74
- if (transparent) {
86
+ if (!transparentOnly && transparent) {
75
87
  ret += "_transparent";
76
88
  }
77
89
  return ret;
package/dist/cjs/index.js CHANGED
@@ -67,6 +67,11 @@ var EMPTY_ARRAY = [];
67
67
  Object.freeze(EMPTY_ARRAY);
68
68
  var EMPTY_OBJECT = {};
69
69
  Object.freeze(EMPTY_OBJECT);
70
+ var EMPTY_FC = function EMPTY_FC() {
71
+ return function () {
72
+ return null;
73
+ };
74
+ };
70
75
 
71
76
  exports.ascii = _ascii.ascii;
72
77
  exports.getBoundingBox = _boundingBox.getBoundingBox;
@@ -118,4 +123,5 @@ exports.getImageColorset = getImageColorset.getImageColorset;
118
123
  exports.useLogger = useLogger.useLogger;
119
124
  exports.yup = _yup__namespace;
120
125
  exports.EMPTY_ARRAY = EMPTY_ARRAY;
126
+ exports.EMPTY_FC = EMPTY_FC;
121
127
  exports.EMPTY_OBJECT = EMPTY_OBJECT;
@@ -189,16 +189,16 @@ var BROWSER = {
189
189
  (_console9 = console).error.apply(_console9, [logs].concat(_toConsumableArray(colors), ["\n".concat(msg, "\n")], rest));
190
190
  },
191
191
  warning: function warning(msg, opts) {
192
- var _console10;
192
+ var _console0;
193
193
  if (+this.logLevel() < LOG_LEVEL.WARNING) return;
194
194
  var _this$makeLog9 = this.makeLog("%cWARNING", this.WARNING, opts),
195
- _this$makeLog10 = _slicedToArray(_this$makeLog9, 2),
196
- logs = _this$makeLog10[0],
197
- colors = _this$makeLog10[1];
198
- for (var _len10 = arguments.length, rest = new Array(_len10 > 2 ? _len10 - 2 : 0), _key10 = 2; _key10 < _len10; _key10++) {
199
- rest[_key10 - 2] = arguments[_key10];
195
+ _this$makeLog0 = _slicedToArray(_this$makeLog9, 2),
196
+ logs = _this$makeLog0[0],
197
+ colors = _this$makeLog0[1];
198
+ for (var _len0 = arguments.length, rest = new Array(_len0 > 2 ? _len0 - 2 : 0), _key0 = 2; _key0 < _len0; _key0++) {
199
+ rest[_key0 - 2] = arguments[_key0];
200
200
  }
201
- (_console10 = console).warn.apply(_console10, [logs].concat(_toConsumableArray(colors), ["\n".concat(msg, "\ntest")], rest));
201
+ (_console0 = console).warn.apply(_console0, [logs].concat(_toConsumableArray(colors), ["\n".concat(msg, "\ntest")], rest));
202
202
  }
203
203
  };
204
204
  var logger = function logger() {
@@ -222,7 +222,6 @@ var useLogger = function useLogger(mod) {
222
222
  timer: function timer(process) {
223
223
  var startTime = new Date().getTime();
224
224
  var nextTime = new Date().getTime();
225
- // eslint-disable-next-line @typescript-eslint/no-this-alias
226
225
  var self = this;
227
226
  var getTime = function getTime() {
228
227
  var ret = (new Date().getTime() - nextTime) / 1000;
@@ -234,8 +233,8 @@ var useLogger = function useLogger(mod) {
234
233
  };
235
234
  return {
236
235
  log: function log(msg) {
237
- for (var _len11 = arguments.length, rest = new Array(_len11 > 1 ? _len11 - 1 : 0), _key11 = 1; _key11 < _len11; _key11++) {
238
- rest[_key11 - 1] = arguments[_key11];
236
+ for (var _len1 = arguments.length, rest = new Array(_len1 > 1 ? _len1 - 1 : 0), _key1 = 1; _key1 < _len1; _key1++) {
237
+ rest[_key1 - 1] = arguments[_key1];
239
238
  }
240
239
  return self.log.apply(self, [msg, {
241
240
  process: process,
@@ -244,8 +243,8 @@ var useLogger = function useLogger(mod) {
244
243
  }].concat(rest));
245
244
  },
246
245
  debug: function debug(msg) {
247
- for (var _len12 = arguments.length, rest = new Array(_len12 > 1 ? _len12 - 1 : 0), _key12 = 1; _key12 < _len12; _key12++) {
248
- rest[_key12 - 1] = arguments[_key12];
246
+ for (var _len10 = arguments.length, rest = new Array(_len10 > 1 ? _len10 - 1 : 0), _key10 = 1; _key10 < _len10; _key10++) {
247
+ rest[_key10 - 1] = arguments[_key10];
249
248
  }
250
249
  return self.debug.apply(self, [msg, {
251
250
  process: process,
@@ -254,8 +253,8 @@ var useLogger = function useLogger(mod) {
254
253
  }].concat(rest));
255
254
  },
256
255
  info: function info(msg) {
257
- for (var _len13 = arguments.length, rest = new Array(_len13 > 1 ? _len13 - 1 : 0), _key13 = 1; _key13 < _len13; _key13++) {
258
- rest[_key13 - 1] = arguments[_key13];
256
+ for (var _len11 = arguments.length, rest = new Array(_len11 > 1 ? _len11 - 1 : 0), _key11 = 1; _key11 < _len11; _key11++) {
257
+ rest[_key11 - 1] = arguments[_key11];
259
258
  }
260
259
  return self.info.apply(self, [msg, {
261
260
  process: process,
@@ -264,8 +263,8 @@ var useLogger = function useLogger(mod) {
264
263
  }].concat(rest));
265
264
  },
266
265
  error: function error(msg) {
267
- for (var _len14 = arguments.length, rest = new Array(_len14 > 1 ? _len14 - 1 : 0), _key14 = 1; _key14 < _len14; _key14++) {
268
- rest[_key14 - 1] = arguments[_key14];
266
+ for (var _len12 = arguments.length, rest = new Array(_len12 > 1 ? _len12 - 1 : 0), _key12 = 1; _key12 < _len12; _key12++) {
267
+ rest[_key12 - 1] = arguments[_key12];
269
268
  }
270
269
  return self.error.apply(self, [msg, {
271
270
  process: process,
@@ -274,8 +273,8 @@ var useLogger = function useLogger(mod) {
274
273
  }].concat(rest));
275
274
  },
276
275
  warning: function warning(msg) {
277
- for (var _len15 = arguments.length, rest = new Array(_len15 > 1 ? _len15 - 1 : 0), _key15 = 1; _key15 < _len15; _key15++) {
278
- rest[_key15 - 1] = arguments[_key15];
276
+ for (var _len13 = arguments.length, rest = new Array(_len13 > 1 ? _len13 - 1 : 0), _key13 = 1; _key13 < _len13; _key13++) {
277
+ rest[_key13 - 1] = arguments[_key13];
279
278
  }
280
279
  return self.warning.apply(self, [msg, {
281
280
  process: process,
@@ -285,8 +284,8 @@ var useLogger = function useLogger(mod) {
285
284
  },
286
285
  end: function end() {
287
286
  var msg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "completed";
288
- for (var _len16 = arguments.length, rest = new Array(_len16 > 1 ? _len16 - 1 : 0), _key16 = 1; _key16 < _len16; _key16++) {
289
- rest[_key16 - 1] = arguments[_key16];
287
+ for (var _len14 = arguments.length, rest = new Array(_len14 > 1 ? _len14 - 1 : 0), _key14 = 1; _key14 < _len14; _key14++) {
288
+ rest[_key14 - 1] = arguments[_key14];
290
289
  }
291
290
  return self.info.apply(self, [msg, {
292
291
  process: process,
@@ -300,8 +299,8 @@ var useLogger = function useLogger(mod) {
300
299
  var _logger;
301
300
  _ref4.module;
302
301
  var opts = _objectWithoutProperties(_ref4, _excluded);
303
- for (var _len17 = arguments.length, rest = new Array(_len17 > 2 ? _len17 - 2 : 0), _key17 = 2; _key17 < _len17; _key17++) {
304
- rest[_key17 - 2] = arguments[_key17];
302
+ for (var _len15 = arguments.length, rest = new Array(_len15 > 2 ? _len15 - 2 : 0), _key15 = 2; _key15 < _len15; _key15++) {
303
+ rest[_key15 - 2] = arguments[_key15];
305
304
  }
306
305
  (_logger = logger()) === null || _logger === void 0 || _logger.log.apply(_logger, [msg, opts].concat(rest));
307
306
  },
@@ -309,8 +308,8 @@ var useLogger = function useLogger(mod) {
309
308
  var _logger2;
310
309
  _ref5.module;
311
310
  var opts = _objectWithoutProperties(_ref5, _excluded2);
312
- for (var _len18 = arguments.length, rest = new Array(_len18 > 2 ? _len18 - 2 : 0), _key18 = 2; _key18 < _len18; _key18++) {
313
- rest[_key18 - 2] = arguments[_key18];
311
+ for (var _len16 = arguments.length, rest = new Array(_len16 > 2 ? _len16 - 2 : 0), _key16 = 2; _key16 < _len16; _key16++) {
312
+ rest[_key16 - 2] = arguments[_key16];
314
313
  }
315
314
  (_logger2 = logger()) === null || _logger2 === void 0 || _logger2.debug.apply(_logger2, [msg, opts].concat(rest));
316
315
  },
@@ -318,8 +317,8 @@ var useLogger = function useLogger(mod) {
318
317
  var _logger3;
319
318
  _ref6.module;
320
319
  var opts = _objectWithoutProperties(_ref6, _excluded3);
321
- for (var _len19 = arguments.length, rest = new Array(_len19 > 2 ? _len19 - 2 : 0), _key19 = 2; _key19 < _len19; _key19++) {
322
- rest[_key19 - 2] = arguments[_key19];
320
+ for (var _len17 = arguments.length, rest = new Array(_len17 > 2 ? _len17 - 2 : 0), _key17 = 2; _key17 < _len17; _key17++) {
321
+ rest[_key17 - 2] = arguments[_key17];
323
322
  }
324
323
  (_logger3 = logger()) === null || _logger3 === void 0 || _logger3.info.apply(_logger3, [msg, opts].concat(rest));
325
324
  },
@@ -327,8 +326,8 @@ var useLogger = function useLogger(mod) {
327
326
  var _logger4;
328
327
  _ref7.module;
329
328
  var opts = _objectWithoutProperties(_ref7, _excluded4);
330
- for (var _len20 = arguments.length, rest = new Array(_len20 > 2 ? _len20 - 2 : 0), _key20 = 2; _key20 < _len20; _key20++) {
331
- rest[_key20 - 2] = arguments[_key20];
329
+ for (var _len18 = arguments.length, rest = new Array(_len18 > 2 ? _len18 - 2 : 0), _key18 = 2; _key18 < _len18; _key18++) {
330
+ rest[_key18 - 2] = arguments[_key18];
332
331
  }
333
332
  (_logger4 = logger()) === null || _logger4 === void 0 || _logger4.error.apply(_logger4, [msg, opts].concat(rest));
334
333
  },
@@ -336,8 +335,8 @@ var useLogger = function useLogger(mod) {
336
335
  var _logger5;
337
336
  _ref8.module;
338
337
  var opts = _objectWithoutProperties(_ref8, _excluded5);
339
- for (var _len21 = arguments.length, rest = new Array(_len21 > 2 ? _len21 - 2 : 0), _key21 = 2; _key21 < _len21; _key21++) {
340
- rest[_key21 - 2] = arguments[_key21];
338
+ for (var _len19 = arguments.length, rest = new Array(_len19 > 2 ? _len19 - 2 : 0), _key19 = 2; _key19 < _len19; _key19++) {
339
+ rest[_key19 - 2] = arguments[_key19];
341
340
  }
342
341
  (_logger5 = logger()) === null || _logger5 === void 0 || _logger5.warning.apply(_logger5, [msg, opts].concat(rest));
343
342
  }
@@ -24,9 +24,9 @@ var _signals = new Map();
24
24
  * @throws An error if the request fails or if the response contains an error code.
25
25
  */
26
26
  var _fetch = /*#__PURE__*/function () {
27
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(method, url, _ref) {
27
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(method, url, _ref) {
28
28
  var _ref$headers, headers, body, signal, options, _s, ac;
29
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
29
+ return _regeneratorRuntime.wrap(function (_context2) {
30
30
  while (1) switch (_context2.prev = _context2.next) {
31
31
  case 0:
32
32
  _ref$headers = _ref.headers, headers = _ref$headers === void 0 ? {} : _ref$headers, body = _ref.body, signal = _ref.signal;
@@ -56,29 +56,29 @@ var _fetch = /*#__PURE__*/function () {
56
56
  } else if (signal instanceof AbortSignal) {
57
57
  options.signal = signal;
58
58
  }
59
- _context2.next = 7;
59
+ _context2.next = 1;
60
60
  return fetch(url, _objectSpread(_objectSpread({}, options), {}, {
61
61
  headers: headers
62
- })).then( /*#__PURE__*/function () {
63
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resp) {
64
- return _regeneratorRuntime.wrap(function _callee$(_context) {
62
+ })).then(/*#__PURE__*/function () {
63
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(resp) {
64
+ return _regeneratorRuntime.wrap(function (_context) {
65
65
  while (1) switch (_context.prev = _context.next) {
66
66
  case 0:
67
67
  if (!(resp.status >= 200 && resp.status < 300)) {
68
- _context.next = 4;
68
+ _context.next = 2;
69
69
  break;
70
70
  }
71
- _context.next = 3;
71
+ _context.next = 1;
72
72
  return resp.json();
73
- case 3:
73
+ case 1:
74
74
  return _context.abrupt("return", _context.sent);
75
- case 4:
75
+ case 2:
76
76
  throw {
77
77
  status: resp.status,
78
78
  code: -1,
79
79
  message: resp.statusText
80
80
  };
81
- case 5:
81
+ case 3:
82
82
  case "end":
83
83
  return _context.stop();
84
84
  }
@@ -93,7 +93,6 @@ var _fetch = /*#__PURE__*/function () {
93
93
  var code = (_ref4 = (_resp$error_code = resp.error_code) !== null && _resp$error_code !== void 0 ? _resp$error_code : resp.errorCode) !== null && _ref4 !== void 0 ? _ref4 : resp.error;
94
94
  var message = (_ref5 = (_resp$error_message = resp.error_message) !== null && _resp$error_message !== void 0 ? _resp$error_message : resp.errorMessage) !== null && _ref5 !== void 0 ? _ref5 : resp.message;
95
95
  if (resp.status === "error" || code) {
96
- // eslint-disable-next-line @typescript-eslint/no-throw-literal
97
96
  throw {
98
97
  status: 500,
99
98
  code: code,
@@ -102,9 +101,9 @@ var _fetch = /*#__PURE__*/function () {
102
101
  }
103
102
  return resp;
104
103
  });
105
- case 7:
104
+ case 1:
106
105
  return _context2.abrupt("return", _context2.sent);
107
- case 8:
106
+ case 2:
108
107
  case "end":
109
108
  return _context2.stop();
110
109
  }
@@ -25,7 +25,7 @@ import { isEmpty, isNil, isObject, isArray } from './_isType.js';
25
25
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
26
  */
27
27
 
28
- var _get = function _get(hit, field) {
28
+ var _get2 = function _get(hit, field) {
29
29
  /** ***************** return if object is empty *******************/
30
30
  /* istanbul ignore next */
31
31
  if (isNil(hit)) {
@@ -68,7 +68,7 @@ var _get = function _get(hit, field) {
68
68
  /** ***************** return array map of inner propeties *******************/
69
69
  return {
70
70
  v: currentValue.map(function (val) {
71
- return _get(val, innerPath);
71
+ return _get2(val, innerPath);
72
72
  }).filter(function (val) {
73
73
  return !isEmpty(val);
74
74
  })
@@ -76,7 +76,7 @@ var _get = function _get(hit, field) {
76
76
  } else {
77
77
  /** ***************** return value of remaining path *******************/
78
78
  return {
79
- v: _get(currentValue, innerPath)
79
+ v: _get2(currentValue, innerPath)
80
80
  };
81
81
  }
82
82
  }
@@ -107,7 +107,7 @@ var getByPath = function getByPath(obj, path) {
107
107
  if (isEmpty(obj) || isEmpty(path)) {
108
108
  return defaultValue;
109
109
  }
110
- var value = _get(obj, path);
110
+ var value = _get2(obj, path);
111
111
  if (!isNil(value)) {
112
112
  return value;
113
113
  }
@@ -42,7 +42,7 @@ import { isNil, isString, isNumber, isBoolean, isObject } from './_isType.js';
42
42
  * @param {unknown} test - The second value to compare against the first.
43
43
  * @returns {boolean} - Returns true if the values are equal, false otherwise.
44
44
  */
45
- var isEqual = function isEqual(obj, test) {
45
+ var _isEqual = function isEqual(obj, test) {
46
46
  if (isNil(obj) && isNil(test)) {
47
47
  return true;
48
48
  }
@@ -55,7 +55,7 @@ var isEqual = function isEqual(obj, test) {
55
55
  }
56
56
  // check if some value is false
57
57
  return !obj.some(function (o, i) {
58
- return !isEqual(o, test[i]);
58
+ return !_isEqual(o, test[i]);
59
59
  });
60
60
  } else if (isObject(obj) && isObject(test)) {
61
61
  var okeys = Object.keys(obj);
@@ -72,28 +72,11 @@ var isEqual = function isEqual(obj, test) {
72
72
  }
73
73
  // check if some value is false
74
74
  return !Object.keys(obj).some(function (k) {
75
- return !isEqual(obj[k], test[k]);
75
+ return !_isEqual(obj[k], test[k]);
76
76
  });
77
77
  }
78
78
  return false;
79
79
  };
80
-
81
- /**
82
- * Match a string against another string with options for equality.
83
- * This function checks if the base string starts with, includes, or is equal to the match string,
84
- * based on the specified equality condition.
85
- * It normalizes both strings to lowercase and ASCII format before comparison.
86
- * This is useful for case-insensitive and ASCII-only comparisons,
87
- * such as when filtering or searching through text data.
88
- *
89
- * @param {string} base - The base string to match against.
90
- * @param {string} match - The string to match with the base string.
91
- * @param {("start" | boolean)} equality - The type of match to perform:
92
- * - "start": checks if the base string starts with the match string.
93
- * - true: checks for exact equality.
94
- * - false (default): checks if the base string includes the match string.
95
- * @returns {boolean} - Returns true if the base string matches the conditions specified by the match string and equality.
96
- */
97
80
  var matchString = function matchString(base, match) {
98
81
  var equality = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
99
82
  var _base = ascii(base).toLowerCase();
@@ -138,4 +121,4 @@ var compareValues = function compareValues() {
138
121
  };
139
122
  };
140
123
 
141
- export { compareValues, isEqual, matchString };
124
+ export { compareValues, _isEqual as isEqual, matchString };
@@ -1,5 +1,7 @@
1
1
  'use client';
2
2
 
3
+ import chroma from 'chroma-js';
4
+
3
5
  /*
4
6
  * React Fabric
5
7
  * @version: 1.0.0
@@ -23,7 +25,6 @@
23
25
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
26
  */
25
27
 
26
- /* istanbul ignore file */
27
28
 
28
29
  /**
29
30
  * Get the color set of an image element.
@@ -41,6 +42,7 @@
41
42
  * @returns {string} A string indicating the color set of the image.
42
43
  */
43
44
  var getImageColorset = function getImageColorset(el) {
45
+ var transparentOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
44
46
  // create canvas
45
47
  var canvas = document.createElement("canvas");
46
48
  canvas.width = Math.min(500, el.naturalWidth);
@@ -56,22 +58,32 @@ var getImageColorset = function getImageColorset(el) {
56
58
  var totalPixels = 0;
57
59
  var transparent = (data === null || data === void 0 ? void 0 : data[3]) === 0;
58
60
  for (var x = 0, len = data.length; x < len; x += 4) {
61
+ if (transparentOnly && data[x + 3] / 255 > 0.9) {
62
+ continue;
63
+ }
59
64
  if (data[x + 3] === 0) {
60
65
  transparent = true;
61
66
  continue;
62
67
  }
63
- if (data[x + 3] < 1) {
68
+ if (data[x + 3] < 255) {
64
69
  transparent = true;
65
70
  }
66
71
  r = data[x];
67
72
  g = data[x + 1];
68
73
  b = data[x + 2];
69
- totalPixels++;
70
- 0.2126 * r + 0.7152 * g + 0.0722 * b < 128 ? dark++ : light++;
74
+ var l = chroma([r, g, b]).lab()[0];
75
+ if (transparentOnly) {
76
+ l < 35 && (dark++, totalPixels++);
77
+ l > 65 && (light++, totalPixels++);
78
+ } else {
79
+ l < 50 && (dark++, totalPixels++);
80
+ l >= 50 && (light++, totalPixels++);
81
+ }
71
82
  }
83
+ if (totalPixels === 0) return "auto";
72
84
  var diff = light / totalPixels - dark / totalPixels;
73
85
  var ret = diff > 0 ? "light" : "dark";
74
- if (transparent) {
86
+ if (!transparentOnly && transparent) {
75
87
  ret += "_transparent";
76
88
  }
77
89
  return ret;
package/dist/esm/index.js CHANGED
@@ -49,5 +49,10 @@ var EMPTY_ARRAY = [];
49
49
  Object.freeze(EMPTY_ARRAY);
50
50
  var EMPTY_OBJECT = {};
51
51
  Object.freeze(EMPTY_OBJECT);
52
+ var EMPTY_FC = function EMPTY_FC() {
53
+ return function () {
54
+ return null;
55
+ };
56
+ };
52
57
 
53
- export { EMPTY_ARRAY, EMPTY_OBJECT };
58
+ export { EMPTY_ARRAY, EMPTY_FC, EMPTY_OBJECT };
@@ -189,16 +189,16 @@ var BROWSER = {
189
189
  (_console9 = console).error.apply(_console9, [logs].concat(_toConsumableArray(colors), ["\n".concat(msg, "\n")], rest));
190
190
  },
191
191
  warning: function warning(msg, opts) {
192
- var _console10;
192
+ var _console0;
193
193
  if (+this.logLevel() < LOG_LEVEL.WARNING) return;
194
194
  var _this$makeLog9 = this.makeLog("%cWARNING", this.WARNING, opts),
195
- _this$makeLog10 = _slicedToArray(_this$makeLog9, 2),
196
- logs = _this$makeLog10[0],
197
- colors = _this$makeLog10[1];
198
- for (var _len10 = arguments.length, rest = new Array(_len10 > 2 ? _len10 - 2 : 0), _key10 = 2; _key10 < _len10; _key10++) {
199
- rest[_key10 - 2] = arguments[_key10];
195
+ _this$makeLog0 = _slicedToArray(_this$makeLog9, 2),
196
+ logs = _this$makeLog0[0],
197
+ colors = _this$makeLog0[1];
198
+ for (var _len0 = arguments.length, rest = new Array(_len0 > 2 ? _len0 - 2 : 0), _key0 = 2; _key0 < _len0; _key0++) {
199
+ rest[_key0 - 2] = arguments[_key0];
200
200
  }
201
- (_console10 = console).warn.apply(_console10, [logs].concat(_toConsumableArray(colors), ["\n".concat(msg, "\ntest")], rest));
201
+ (_console0 = console).warn.apply(_console0, [logs].concat(_toConsumableArray(colors), ["\n".concat(msg, "\ntest")], rest));
202
202
  }
203
203
  };
204
204
  var logger = function logger() {
@@ -222,7 +222,6 @@ var useLogger = function useLogger(mod) {
222
222
  timer: function timer(process) {
223
223
  var startTime = new Date().getTime();
224
224
  var nextTime = new Date().getTime();
225
- // eslint-disable-next-line @typescript-eslint/no-this-alias
226
225
  var self = this;
227
226
  var getTime = function getTime() {
228
227
  var ret = (new Date().getTime() - nextTime) / 1000;
@@ -234,8 +233,8 @@ var useLogger = function useLogger(mod) {
234
233
  };
235
234
  return {
236
235
  log: function log(msg) {
237
- for (var _len11 = arguments.length, rest = new Array(_len11 > 1 ? _len11 - 1 : 0), _key11 = 1; _key11 < _len11; _key11++) {
238
- rest[_key11 - 1] = arguments[_key11];
236
+ for (var _len1 = arguments.length, rest = new Array(_len1 > 1 ? _len1 - 1 : 0), _key1 = 1; _key1 < _len1; _key1++) {
237
+ rest[_key1 - 1] = arguments[_key1];
239
238
  }
240
239
  return self.log.apply(self, [msg, {
241
240
  process: process,
@@ -244,8 +243,8 @@ var useLogger = function useLogger(mod) {
244
243
  }].concat(rest));
245
244
  },
246
245
  debug: function debug(msg) {
247
- for (var _len12 = arguments.length, rest = new Array(_len12 > 1 ? _len12 - 1 : 0), _key12 = 1; _key12 < _len12; _key12++) {
248
- rest[_key12 - 1] = arguments[_key12];
246
+ for (var _len10 = arguments.length, rest = new Array(_len10 > 1 ? _len10 - 1 : 0), _key10 = 1; _key10 < _len10; _key10++) {
247
+ rest[_key10 - 1] = arguments[_key10];
249
248
  }
250
249
  return self.debug.apply(self, [msg, {
251
250
  process: process,
@@ -254,8 +253,8 @@ var useLogger = function useLogger(mod) {
254
253
  }].concat(rest));
255
254
  },
256
255
  info: function info(msg) {
257
- for (var _len13 = arguments.length, rest = new Array(_len13 > 1 ? _len13 - 1 : 0), _key13 = 1; _key13 < _len13; _key13++) {
258
- rest[_key13 - 1] = arguments[_key13];
256
+ for (var _len11 = arguments.length, rest = new Array(_len11 > 1 ? _len11 - 1 : 0), _key11 = 1; _key11 < _len11; _key11++) {
257
+ rest[_key11 - 1] = arguments[_key11];
259
258
  }
260
259
  return self.info.apply(self, [msg, {
261
260
  process: process,
@@ -264,8 +263,8 @@ var useLogger = function useLogger(mod) {
264
263
  }].concat(rest));
265
264
  },
266
265
  error: function error(msg) {
267
- for (var _len14 = arguments.length, rest = new Array(_len14 > 1 ? _len14 - 1 : 0), _key14 = 1; _key14 < _len14; _key14++) {
268
- rest[_key14 - 1] = arguments[_key14];
266
+ for (var _len12 = arguments.length, rest = new Array(_len12 > 1 ? _len12 - 1 : 0), _key12 = 1; _key12 < _len12; _key12++) {
267
+ rest[_key12 - 1] = arguments[_key12];
269
268
  }
270
269
  return self.error.apply(self, [msg, {
271
270
  process: process,
@@ -274,8 +273,8 @@ var useLogger = function useLogger(mod) {
274
273
  }].concat(rest));
275
274
  },
276
275
  warning: function warning(msg) {
277
- for (var _len15 = arguments.length, rest = new Array(_len15 > 1 ? _len15 - 1 : 0), _key15 = 1; _key15 < _len15; _key15++) {
278
- rest[_key15 - 1] = arguments[_key15];
276
+ for (var _len13 = arguments.length, rest = new Array(_len13 > 1 ? _len13 - 1 : 0), _key13 = 1; _key13 < _len13; _key13++) {
277
+ rest[_key13 - 1] = arguments[_key13];
279
278
  }
280
279
  return self.warning.apply(self, [msg, {
281
280
  process: process,
@@ -285,8 +284,8 @@ var useLogger = function useLogger(mod) {
285
284
  },
286
285
  end: function end() {
287
286
  var msg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "completed";
288
- for (var _len16 = arguments.length, rest = new Array(_len16 > 1 ? _len16 - 1 : 0), _key16 = 1; _key16 < _len16; _key16++) {
289
- rest[_key16 - 1] = arguments[_key16];
287
+ for (var _len14 = arguments.length, rest = new Array(_len14 > 1 ? _len14 - 1 : 0), _key14 = 1; _key14 < _len14; _key14++) {
288
+ rest[_key14 - 1] = arguments[_key14];
290
289
  }
291
290
  return self.info.apply(self, [msg, {
292
291
  process: process,
@@ -300,8 +299,8 @@ var useLogger = function useLogger(mod) {
300
299
  var _logger;
301
300
  _ref4.module;
302
301
  var opts = _objectWithoutProperties(_ref4, _excluded);
303
- for (var _len17 = arguments.length, rest = new Array(_len17 > 2 ? _len17 - 2 : 0), _key17 = 2; _key17 < _len17; _key17++) {
304
- rest[_key17 - 2] = arguments[_key17];
302
+ for (var _len15 = arguments.length, rest = new Array(_len15 > 2 ? _len15 - 2 : 0), _key15 = 2; _key15 < _len15; _key15++) {
303
+ rest[_key15 - 2] = arguments[_key15];
305
304
  }
306
305
  (_logger = logger()) === null || _logger === void 0 || _logger.log.apply(_logger, [msg, opts].concat(rest));
307
306
  },
@@ -309,8 +308,8 @@ var useLogger = function useLogger(mod) {
309
308
  var _logger2;
310
309
  _ref5.module;
311
310
  var opts = _objectWithoutProperties(_ref5, _excluded2);
312
- for (var _len18 = arguments.length, rest = new Array(_len18 > 2 ? _len18 - 2 : 0), _key18 = 2; _key18 < _len18; _key18++) {
313
- rest[_key18 - 2] = arguments[_key18];
311
+ for (var _len16 = arguments.length, rest = new Array(_len16 > 2 ? _len16 - 2 : 0), _key16 = 2; _key16 < _len16; _key16++) {
312
+ rest[_key16 - 2] = arguments[_key16];
314
313
  }
315
314
  (_logger2 = logger()) === null || _logger2 === void 0 || _logger2.debug.apply(_logger2, [msg, opts].concat(rest));
316
315
  },
@@ -318,8 +317,8 @@ var useLogger = function useLogger(mod) {
318
317
  var _logger3;
319
318
  _ref6.module;
320
319
  var opts = _objectWithoutProperties(_ref6, _excluded3);
321
- for (var _len19 = arguments.length, rest = new Array(_len19 > 2 ? _len19 - 2 : 0), _key19 = 2; _key19 < _len19; _key19++) {
322
- rest[_key19 - 2] = arguments[_key19];
320
+ for (var _len17 = arguments.length, rest = new Array(_len17 > 2 ? _len17 - 2 : 0), _key17 = 2; _key17 < _len17; _key17++) {
321
+ rest[_key17 - 2] = arguments[_key17];
323
322
  }
324
323
  (_logger3 = logger()) === null || _logger3 === void 0 || _logger3.info.apply(_logger3, [msg, opts].concat(rest));
325
324
  },
@@ -327,8 +326,8 @@ var useLogger = function useLogger(mod) {
327
326
  var _logger4;
328
327
  _ref7.module;
329
328
  var opts = _objectWithoutProperties(_ref7, _excluded4);
330
- for (var _len20 = arguments.length, rest = new Array(_len20 > 2 ? _len20 - 2 : 0), _key20 = 2; _key20 < _len20; _key20++) {
331
- rest[_key20 - 2] = arguments[_key20];
329
+ for (var _len18 = arguments.length, rest = new Array(_len18 > 2 ? _len18 - 2 : 0), _key18 = 2; _key18 < _len18; _key18++) {
330
+ rest[_key18 - 2] = arguments[_key18];
332
331
  }
333
332
  (_logger4 = logger()) === null || _logger4 === void 0 || _logger4.error.apply(_logger4, [msg, opts].concat(rest));
334
333
  },
@@ -336,8 +335,8 @@ var useLogger = function useLogger(mod) {
336
335
  var _logger5;
337
336
  _ref8.module;
338
337
  var opts = _objectWithoutProperties(_ref8, _excluded5);
339
- for (var _len21 = arguments.length, rest = new Array(_len21 > 2 ? _len21 - 2 : 0), _key21 = 2; _key21 < _len21; _key21++) {
340
- rest[_key21 - 2] = arguments[_key21];
338
+ for (var _len19 = arguments.length, rest = new Array(_len19 > 2 ? _len19 - 2 : 0), _key19 = 2; _key19 < _len19; _key19++) {
339
+ rest[_key19 - 2] = arguments[_key19];
341
340
  }
342
341
  (_logger5 = logger()) === null || _logger5 === void 0 || _logger5.warning.apply(_logger5, [msg, opts].concat(rest));
343
342
  }
@@ -13,4 +13,4 @@
13
13
  * @param {HTMLImageElement} el - The HTMLImageElement to analyze.
14
14
  * @returns {string} A string indicating the color set of the image.
15
15
  */
16
- export declare const getImageColorset: (el: HTMLImageElement) => string;
16
+ export declare const getImageColorset: (el: HTMLImageElement, transparentOnly?: boolean) => string;
@@ -21,3 +21,4 @@ export { useLogger } from "./useLogger";
21
21
  export * from "./yup";
22
22
  export declare const EMPTY_ARRAY: never[];
23
23
  export declare const EMPTY_OBJECT: {};
24
+ export declare const EMPTY_FC: () => () => null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-fabric/utilities",
3
- "version": "1.0.0-beta.62",
3
+ "version": "1.0.0-beta.63",
4
4
  "description": "RUF: Utility package",
5
5
  "author": "Adarsh Pastakia <adarshpastakia@outlook.com>",
6
6
  "license": "MIT",
@@ -32,8 +32,9 @@
32
32
  "watch": "npm-run-all -p watch:rollup watch:dts"
33
33
  },
34
34
  "dependencies": {
35
+ "chroma-js": "~3.2.0",
35
36
  "date-fns": "~4.1.0",
36
- "libphonenumber-js": "~1.12.25",
37
+ "libphonenumber-js": "~1.12.40",
37
38
  "numeral": "~2.0.6",
38
39
  "world-countries": "~5.1.0",
39
40
  "yup": "~1.7.1"
@@ -42,8 +43,8 @@
42
43
  "@types/numeral": "~2.0.5"
43
44
  },
44
45
  "engines": {
45
- "node": ">=18.12.0",
46
- "npm": ">=8.19.0"
46
+ "node": ">=22.18.0",
47
+ "npm": ">=10.8.0"
47
48
  },
48
- "gitHead": "9dce2fd9bb753d67e3f8adbf50be257b4bc64242"
49
+ "gitHead": "6e0652b15c6384fbc316842862572e21299a5466"
49
50
  }
package/src/_fetch.ts CHANGED
@@ -86,7 +86,6 @@ export const _fetch = async (
86
86
  if (resp.status >= 200 && resp.status < 300) {
87
87
  return await resp.json();
88
88
  }
89
- // eslint-disable-next-line @typescript-eslint/no-throw-literal
90
89
  throw { status: resp.status, code: -1, message: resp.statusText };
91
90
  })
92
91
  .then((resp) => {
@@ -94,7 +93,6 @@ export const _fetch = async (
94
93
  const code = resp.error_code ?? resp.errorCode ?? resp.error;
95
94
  const message = resp.error_message ?? resp.errorMessage ?? resp.message;
96
95
  if (resp.status === "error" || code) {
97
- // eslint-disable-next-line @typescript-eslint/no-throw-literal
98
96
  throw { status: 500, code, message };
99
97
  }
100
98
  return resp;
@@ -23,6 +23,8 @@
23
23
 
24
24
  /* istanbul ignore file */
25
25
 
26
+ import chroma from "chroma-js";
27
+
26
28
  /**
27
29
  * Get the color set of an image element.
28
30
  * This function analyzes the pixel data of an image to determine if it is predominantly light or dark.
@@ -38,7 +40,10 @@
38
40
  * @param {HTMLImageElement} el - The HTMLImageElement to analyze.
39
41
  * @returns {string} A string indicating the color set of the image.
40
42
  */
41
- export const getImageColorset = (el: HTMLImageElement) => {
43
+ export const getImageColorset = (
44
+ el: HTMLImageElement,
45
+ transparentOnly = false,
46
+ ) => {
42
47
  // create canvas
43
48
  const canvas = document.createElement("canvas");
44
49
  canvas.width = Math.min(500, el.naturalWidth);
@@ -67,23 +72,32 @@ export const getImageColorset = (el: HTMLImageElement) => {
67
72
  let transparent = data?.[3] === 0;
68
73
 
69
74
  for (let x = 0, len = data.length; x < len; x += 4) {
75
+ if (transparentOnly && data[x + 3] / 255 > 0.9) {
76
+ continue;
77
+ }
70
78
  if (data[x + 3] === 0) {
71
79
  transparent = true;
72
80
  continue;
73
81
  }
74
- if (data[x + 3] < 1) {
82
+ if (data[x + 3] < 255) {
75
83
  transparent = true;
76
84
  }
77
85
  r = data[x];
78
86
  g = data[x + 1];
79
87
  b = data[x + 2];
80
- totalPixels++;
81
- 0.2126 * r + 0.7152 * g + 0.0722 * b < 128 ? dark++ : light++;
88
+ const l = chroma([r, g, b]).lab()[0];
89
+ if (transparentOnly) {
90
+ l < 35 && (dark++, totalPixels++);
91
+ l > 65 && (light++, totalPixels++);
92
+ } else {
93
+ l < 50 && (dark++, totalPixels++);
94
+ l >= 50 && (light++, totalPixels++);
95
+ }
82
96
  }
83
-
97
+ if (totalPixels === 0) return "auto";
84
98
  const diff = light / totalPixels - dark / totalPixels;
85
99
  let ret = diff > 0 ? "light" : "dark";
86
- if (transparent) {
100
+ if (!transparentOnly && transparent) {
87
101
  ret += "_transparent";
88
102
  }
89
103
  return ret;
package/src/index.ts CHANGED
@@ -50,3 +50,5 @@ Object.freeze(EMPTY_ARRAY);
50
50
 
51
51
  export const EMPTY_OBJECT = {};
52
52
  Object.freeze(EMPTY_OBJECT);
53
+
54
+ export const EMPTY_FC = () => () => null;
package/src/useLogger.ts CHANGED
@@ -212,7 +212,6 @@ export const useLogger = (mod?: string) => ({
212
212
  timer(process: string) {
213
213
  const startTime = new Date().getTime();
214
214
  let nextTime = new Date().getTime();
215
- // eslint-disable-next-line @typescript-eslint/no-this-alias
216
215
  const self = this;
217
216
  const getTime = () => {
218
217
  const ret = (new Date().getTime() - nextTime) / 1000;