@naturalcycles/js-lib 14.251.0 → 14.252.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.
@@ -246,6 +246,7 @@ class LocalDate {
246
246
  return this.plus(-num, 'year');
247
247
  }
248
248
  plus(num, unit, mutate = false) {
249
+ num = Math.floor(num); // if a fractional number like 0.5 is passed - it will be floored, as LocalDate only deals with "whole days" as minimal unit
249
250
  let { day, month, year } = this;
250
251
  if (unit === 'week') {
251
252
  num *= 7;
@@ -5,7 +5,7 @@ exports._Throttle = _Throttle;
5
5
  const debounce_1 = require("./debounce");
6
6
  // eslint-disable-next-line @typescript-eslint/naming-convention
7
7
  function _Debounce(wait, opt = {}) {
8
- return (target, key, descriptor) => {
8
+ return (_target, _key, descriptor) => {
9
9
  const originalFn = descriptor.value;
10
10
  descriptor.value = (0, debounce_1._debounce)(originalFn, wait, opt);
11
11
  return descriptor;
@@ -13,7 +13,7 @@ function _Debounce(wait, opt = {}) {
13
13
  }
14
14
  // eslint-disable-next-line @typescript-eslint/naming-convention
15
15
  function _Throttle(wait, opt = {}) {
16
- return (target, key, descriptor) => {
16
+ return (_target, _key, descriptor) => {
17
17
  const originalFn = descriptor.value;
18
18
  descriptor.value = (0, debounce_1._throttle)(originalFn, wait, opt);
19
19
  return descriptor;
@@ -4,7 +4,7 @@ exports._Retry = _Retry;
4
4
  const __1 = require("..");
5
5
  // eslint-disable-next-line @typescript-eslint/naming-convention
6
6
  function _Retry(opt = {}) {
7
- return (target, key, descriptor) => {
7
+ return (_target, _key, descriptor) => {
8
8
  const originalFn = descriptor.value;
9
9
  descriptor.value = (0, __1.pRetryFn)(originalFn, opt);
10
10
  return descriptor;
package/dist/define.js CHANGED
@@ -97,7 +97,7 @@ function _defineProperty(obj, prop, pd) {
97
97
  * See _defineProperty for exact defaults definition.
98
98
  */
99
99
  function _defineProps(obj, props) {
100
- return Object.defineProperties(obj, (0, object_util_1._mapValues)(props, (k, pd) => ({
100
+ return Object.defineProperties(obj, (0, object_util_1._mapValues)(props, (_k, pd) => ({
101
101
  writable: true,
102
102
  configurable: true,
103
103
  enumerable: true,
@@ -38,7 +38,7 @@ function _tryCatch(fn, opt = {}) {
38
38
  };
39
39
  }
40
40
  // eslint-disable-next-line @typescript-eslint/naming-convention
41
- const _TryCatch = (opt = {}) => (target, key, descriptor) => {
41
+ const _TryCatch = (opt = {}) => (_target, _key, descriptor) => {
42
42
  const originalFn = descriptor.value;
43
43
  descriptor.value = _tryCatch(originalFn, opt);
44
44
  return descriptor;
@@ -308,7 +308,6 @@ function _unset(obj, prop) {
308
308
  if (!(0, is_util_1._isObject)(obj)) {
309
309
  return;
310
310
  }
311
- // eslint-disable-next-line no-prototype-builtins
312
311
  if (obj.hasOwnProperty(prop)) {
313
312
  delete obj[prop];
314
313
  return;
@@ -426,7 +425,7 @@ function _has(obj, path) {
426
425
  function _deepFreeze(o) {
427
426
  Object.freeze(o);
428
427
  Object.getOwnPropertyNames(o).forEach(prop => {
429
- if (o.hasOwnProperty(prop) && // eslint-disable-line no-prototype-builtins
428
+ if (o.hasOwnProperty(prop) &&
430
429
  o[prop] !== null &&
431
430
  (typeof o[prop] === 'object' || typeof o[prop] === 'function') &&
432
431
  !Object.isFrozen(o[prop])) {
@@ -4,5 +4,5 @@ exports.pFilter = pFilter;
4
4
  async function pFilter(iterable, filterFn) {
5
5
  const items = [...iterable];
6
6
  const predicates = await Promise.all(items.map((item, i) => filterFn(item, i)));
7
- return items.filter((item, i) => predicates[i]);
7
+ return items.filter((_item, i) => predicates[i]);
8
8
  }
@@ -33,7 +33,7 @@ async function pTimeout(fn, opt) {
33
33
  }
34
34
  const { timeout, name = fn.name || 'pTimeout function', onTimeout } = opt;
35
35
  const fakeError = opt.fakeError || new Error('TimeoutError');
36
- // eslint-disable-next-line no-async-promise-executor
36
+ // biome-ignore lint/suspicious/noAsyncPromiseExecutor: ok
37
37
  return await new Promise(async (resolve, reject) => {
38
38
  // Prepare the timeout timer
39
39
  const timer = setTimeout(() => {
@@ -20,7 +20,7 @@ function _safeJsonStringify(obj, replacer, spaces, cycleReplacer) {
20
20
  function serializer(replacer, cycleReplacer) {
21
21
  const stack = [];
22
22
  const keys = [];
23
- cycleReplacer ??= (key, value) => {
23
+ cycleReplacer ??= (_key, value) => {
24
24
  if (stack[0] === value)
25
25
  return '[Circular ~]';
26
26
  return '[Circular ~.' + keys.slice(0, stack.indexOf(value)).join('.') + ']';
@@ -243,6 +243,7 @@ export class LocalDate {
243
243
  return this.plus(-num, 'year');
244
244
  }
245
245
  plus(num, unit, mutate = false) {
246
+ num = Math.floor(num); // if a fractional number like 0.5 is passed - it will be floored, as LocalDate only deals with "whole days" as minimal unit
246
247
  let { day, month, year } = this;
247
248
  if (unit === 'week') {
248
249
  num *= 7;
@@ -1,7 +1,7 @@
1
1
  import { _debounce, _throttle } from './debounce';
2
2
  // eslint-disable-next-line @typescript-eslint/naming-convention
3
3
  export function _Debounce(wait, opt = {}) {
4
- return (target, key, descriptor) => {
4
+ return (_target, _key, descriptor) => {
5
5
  const originalFn = descriptor.value;
6
6
  descriptor.value = _debounce(originalFn, wait, opt);
7
7
  return descriptor;
@@ -9,7 +9,7 @@ export function _Debounce(wait, opt = {}) {
9
9
  }
10
10
  // eslint-disable-next-line @typescript-eslint/naming-convention
11
11
  export function _Throttle(wait, opt = {}) {
12
- return (target, key, descriptor) => {
12
+ return (_target, _key, descriptor) => {
13
13
  const originalFn = descriptor.value;
14
14
  descriptor.value = _throttle(originalFn, wait, opt);
15
15
  return descriptor;
@@ -1,7 +1,7 @@
1
1
  import { pRetryFn } from '..';
2
2
  // eslint-disable-next-line @typescript-eslint/naming-convention
3
3
  export function _Retry(opt = {}) {
4
- return (target, key, descriptor) => {
4
+ return (_target, _key, descriptor) => {
5
5
  const originalFn = descriptor.value;
6
6
  descriptor.value = pRetryFn(originalFn, opt);
7
7
  return descriptor;
@@ -89,7 +89,7 @@ export function _defineProperty(obj, prop, pd) {
89
89
  * See _defineProperty for exact defaults definition.
90
90
  */
91
91
  export function _defineProps(obj, props) {
92
- return Object.defineProperties(obj, _mapValues(props, (k, pd) => ({
92
+ return Object.defineProperties(obj, _mapValues(props, (_k, pd) => ({
93
93
  writable: true,
94
94
  configurable: true,
95
95
  enumerable: true,
@@ -34,7 +34,7 @@ export function _tryCatch(fn, opt = {}) {
34
34
  };
35
35
  }
36
36
  // eslint-disable-next-line @typescript-eslint/naming-convention
37
- export const _TryCatch = (opt = {}) => (target, key, descriptor) => {
37
+ export const _TryCatch = (opt = {}) => (_target, _key, descriptor) => {
38
38
  const originalFn = descriptor.value;
39
39
  descriptor.value = _tryCatch(originalFn, opt);
40
40
  return descriptor;
@@ -279,7 +279,6 @@ export function _unset(obj, prop) {
279
279
  if (!_isObject(obj)) {
280
280
  return;
281
281
  }
282
- // eslint-disable-next-line no-prototype-builtins
283
282
  if (obj.hasOwnProperty(prop)) {
284
283
  delete obj[prop];
285
284
  return;
@@ -397,7 +396,7 @@ export function _has(obj, path) {
397
396
  export function _deepFreeze(o) {
398
397
  Object.freeze(o);
399
398
  Object.getOwnPropertyNames(o).forEach(prop => {
400
- if (o.hasOwnProperty(prop) && // eslint-disable-line no-prototype-builtins
399
+ if (o.hasOwnProperty(prop) &&
401
400
  o[prop] !== null &&
402
401
  (typeof o[prop] === 'object' || typeof o[prop] === 'function') &&
403
402
  !Object.isFrozen(o[prop])) {
@@ -1,5 +1,5 @@
1
1
  export async function pFilter(iterable, filterFn) {
2
2
  const items = [...iterable];
3
3
  const predicates = await Promise.all(items.map((item, i) => filterFn(item, i)));
4
- return items.filter((item, i) => predicates[i]);
4
+ return items.filter((_item, i) => predicates[i]);
5
5
  }
@@ -29,7 +29,7 @@ export async function pTimeout(fn, opt) {
29
29
  }
30
30
  const { timeout, name = fn.name || 'pTimeout function', onTimeout } = opt;
31
31
  const fakeError = opt.fakeError || new Error('TimeoutError');
32
- // eslint-disable-next-line no-async-promise-executor
32
+ // biome-ignore lint/suspicious/noAsyncPromiseExecutor: ok
33
33
  return await new Promise(async (resolve, reject) => {
34
34
  // Prepare the timeout timer
35
35
  const timer = setTimeout(() => {
@@ -17,7 +17,7 @@ export function _safeJsonStringify(obj, replacer, spaces, cycleReplacer) {
17
17
  function serializer(replacer, cycleReplacer) {
18
18
  const stack = [];
19
19
  const keys = [];
20
- cycleReplacer ?? (cycleReplacer = (key, value) => {
20
+ cycleReplacer ?? (cycleReplacer = (_key, value) => {
21
21
  if (stack[0] === value)
22
22
  return '[Circular ~]';
23
23
  return '[Circular ~.' + keys.slice(0, stack.indexOf(value)).join('.') + ']';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naturalcycles/js-lib",
3
- "version": "14.251.0",
3
+ "version": "14.252.0",
4
4
  "scripts": {
5
5
  "prepare": "husky",
6
6
  "build": "dev-lib build-esm-cjs",
@@ -46,7 +46,7 @@
46
46
  "types": "dist/index.d.ts",
47
47
  "sideEffects": false,
48
48
  "engines": {
49
- "node": ">=18.12.0"
49
+ "node": ">=20.13.0"
50
50
  },
51
51
  "publishConfig": {
52
52
  "provenance": true,
@@ -1,7 +1,7 @@
1
1
  import { AsyncIterable2 } from '../iter/asyncIterable2'
2
2
  import { Iterable2 } from '../iter/iterable2'
3
3
 
4
- /* eslint-disable no-redeclare, unicorn/no-new-array */
4
+ /* eslint-disable unicorn/no-new-array */
5
5
 
6
6
  /**
7
7
  * Returns an array with ranges from `from` up to (but not including) `to`.
@@ -287,6 +287,7 @@ export class LocalDate {
287
287
  }
288
288
 
289
289
  plus(num: number, unit: LocalDateUnit, mutate = false): LocalDate {
290
+ num = Math.floor(num) // if a fractional number like 0.5 is passed - it will be floored, as LocalDate only deals with "whole days" as minimal unit
290
291
  let { day, month, year } = this
291
292
 
292
293
  if (unit === 'week') {
@@ -3,7 +3,7 @@ import { _debounce, _throttle } from './debounce'
3
3
 
4
4
  // eslint-disable-next-line @typescript-eslint/naming-convention
5
5
  export function _Debounce(wait: number, opt: DebounceOptions = {}): MethodDecorator {
6
- return (target, key, descriptor) => {
6
+ return (_target, _key, descriptor) => {
7
7
  const originalFn = descriptor.value
8
8
  descriptor.value = _debounce(originalFn as any, wait, opt)
9
9
  return descriptor
@@ -12,7 +12,7 @@ export function _Debounce(wait: number, opt: DebounceOptions = {}): MethodDecora
12
12
 
13
13
  // eslint-disable-next-line @typescript-eslint/naming-convention
14
14
  export function _Throttle(wait: number, opt: ThrottleOptions = {}): MethodDecorator {
15
- return (target, key, descriptor) => {
15
+ return (_target, _key, descriptor) => {
16
16
  const originalFn = descriptor.value
17
17
  descriptor.value = _throttle(originalFn as any, wait, opt)
18
18
  return descriptor
@@ -3,7 +3,7 @@ import { pRetryFn } from '..'
3
3
 
4
4
  // eslint-disable-next-line @typescript-eslint/naming-convention
5
5
  export function _Retry(opt: PRetryOptions = {}): MethodDecorator {
6
- return (target, key, descriptor) => {
6
+ return (_target, _key, descriptor) => {
7
7
  const originalFn = descriptor.value
8
8
  descriptor.value = pRetryFn(originalFn as any, opt)
9
9
  return descriptor
package/src/define.ts CHANGED
@@ -115,7 +115,7 @@ export function _defineProps<T extends AnyObject>(
115
115
  ): T {
116
116
  return Object.defineProperties(
117
117
  obj,
118
- _mapValues(props, (k, pd) => ({
118
+ _mapValues(props, (_k, pd) => ({
119
119
  writable: true,
120
120
  configurable: true,
121
121
  enumerable: true,
@@ -67,7 +67,7 @@ export function _tryCatch<T extends AnyFunction>(fn: T, opt: TryCatchOptions = {
67
67
  // eslint-disable-next-line @typescript-eslint/naming-convention
68
68
  export const _TryCatch =
69
69
  (opt: TryCatchOptions = {}): MethodDecorator =>
70
- (target, key, descriptor) => {
70
+ (_target, _key, descriptor) => {
71
71
  const originalFn = descriptor.value
72
72
  descriptor.value = _tryCatch(originalFn as any, opt)
73
73
  return descriptor
@@ -332,7 +332,7 @@ export function _unset<T extends AnyObject>(obj: T, prop: string): void {
332
332
  if (!_isObject(obj)) {
333
333
  return
334
334
  }
335
- // eslint-disable-next-line no-prototype-builtins
335
+
336
336
  if (obj.hasOwnProperty(prop)) {
337
337
  delete obj[prop]
338
338
  return
@@ -470,7 +470,7 @@ export function _deepFreeze(o: any): void {
470
470
 
471
471
  Object.getOwnPropertyNames(o).forEach(prop => {
472
472
  if (
473
- o.hasOwnProperty(prop) && // eslint-disable-line no-prototype-builtins
473
+ o.hasOwnProperty(prop) &&
474
474
  o[prop] !== null &&
475
475
  (typeof o[prop] === 'object' || typeof o[prop] === 'function') &&
476
476
  !Object.isFrozen(o[prop])
@@ -3,5 +3,5 @@ import type { AsyncPredicate } from '../types'
3
3
  export async function pFilter<T>(iterable: Iterable<T>, filterFn: AsyncPredicate<T>): Promise<T[]> {
4
4
  const items = [...iterable]
5
5
  const predicates = await Promise.all(items.map((item, i) => filterFn(item, i)))
6
- return items.filter((item, i) => predicates[i])
6
+ return items.filter((_item, i) => predicates[i])
7
7
  }
@@ -72,7 +72,7 @@ export async function pTimeout<T>(fn: AnyAsyncFunction<T>, opt: PTimeoutOptions)
72
72
  const { timeout, name = fn.name || 'pTimeout function', onTimeout } = opt
73
73
  const fakeError = opt.fakeError || new Error('TimeoutError')
74
74
 
75
- // eslint-disable-next-line no-async-promise-executor
75
+ // biome-ignore lint/suspicious/noAsyncPromiseExecutor: ok
76
76
  return await new Promise(async (resolve, reject) => {
77
77
  // Prepare the timeout timer
78
78
  const timer = setTimeout(() => {
@@ -26,7 +26,7 @@ function serializer(replacer?: Reviver, cycleReplacer?: Reviver): Reviver {
26
26
  const stack: any[] = []
27
27
  const keys: string[] = []
28
28
 
29
- cycleReplacer ??= (key, value) => {
29
+ cycleReplacer ??= (_key, value) => {
30
30
  if (stack[0] === value) return '[Circular ~]'
31
31
  return '[Circular ~.' + keys.slice(0, stack.indexOf(value)).join('.') + ']'
32
32
  }