@aiszlab/relax 1.3.14 → 1.3.16
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/dom/contains.cjs +4 -3
- package/dist/dom/contains.d.ts +1 -1
- package/dist/dom/contains.mjs +4 -3
- package/dist/hooks/use-click-away.d.ts +1 -1
- package/dist/hooks/use-refs.cjs +8 -23
- package/dist/hooks/use-refs.d.ts +2 -4
- package/dist/hooks/use-refs.mjs +8 -23
- package/dist/hooks/use-scrollable.d.ts +1 -1
- package/dist/index.cjs +6 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.mjs +3 -0
- package/dist/is/is-empty.cjs +1 -1
- package/dist/is/is-empty.mjs +1 -1
- package/dist/is/is-primitive.cjs +2 -1
- package/dist/is/is-primitive.d.ts +4 -2
- package/dist/is/is-primitive.mjs +2 -1
- package/dist/react/index.cjs +9 -0
- package/dist/react/index.d.ts +4 -0
- package/dist/react/index.mjs +2 -0
- package/dist/react/is-class-component.cjs +7 -0
- package/dist/react/is-class-component.d.ts +1 -0
- package/dist/react/is-class-component.mjs +5 -0
- package/dist/react/mount-ref.cjs +19 -0
- package/dist/react/mount-ref.d.ts +3 -0
- package/dist/react/mount-ref.mjs +17 -0
- package/dist/utils/clone.cjs +33 -6
- package/dist/utils/clone.d.ts +1 -1
- package/dist/utils/clone.mjs +33 -6
- package/dist/utils/first.cjs +13 -0
- package/dist/utils/first.d.ts +1 -1
- package/dist/utils/first.mjs +11 -0
- package/dist/utils/last.cjs +13 -0
- package/dist/utils/last.d.ts +1 -1
- package/dist/utils/last.mjs +11 -0
- package/dist/utils/merge.cjs +53 -0
- package/dist/utils/merge.d.ts +7 -0
- package/dist/utils/merge.mjs +51 -0
- package/dist/utils/unique.cjs +7 -2
- package/dist/utils/unique.d.ts +1 -1
- package/dist/utils/unique.mjs +7 -2
- package/package.json +10 -1
package/dist/dom/contains.cjs
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var contains = function contains(root
|
|
3
|
+
var contains = function contains(root) {
|
|
4
|
+
var node = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
4
5
|
if (!root) {
|
|
5
6
|
return false;
|
|
6
7
|
}
|
|
7
8
|
// Use native if support
|
|
8
|
-
if (root.contains) {
|
|
9
|
-
return root.contains(node
|
|
9
|
+
if (!!root.contains) {
|
|
10
|
+
return root.contains(node);
|
|
10
11
|
}
|
|
11
12
|
// `document.contains` not support with IE11
|
|
12
13
|
var _node = node;
|
package/dist/dom/contains.d.ts
CHANGED
|
@@ -13,4 +13,4 @@ export type Containable = {
|
|
|
13
13
|
*/
|
|
14
14
|
contains?: (node: Nullable<Node>) => boolean;
|
|
15
15
|
};
|
|
16
|
-
export declare const contains: (root: Voidable<Containable>, node
|
|
16
|
+
export declare const contains: (root: Voidable<Containable>, node?: Voidable<Node>) => boolean;
|
package/dist/dom/contains.mjs
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
var contains = function contains(root
|
|
1
|
+
var contains = function contains(root) {
|
|
2
|
+
var node = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
2
3
|
if (!root) {
|
|
3
4
|
return false;
|
|
4
5
|
}
|
|
5
6
|
// Use native if support
|
|
6
|
-
if (root.contains) {
|
|
7
|
-
return root.contains(node
|
|
7
|
+
if (!!root.contains) {
|
|
8
|
+
return root.contains(node);
|
|
8
9
|
}
|
|
9
10
|
// `document.contains` not support with IE11
|
|
10
11
|
var _node = node;
|
package/dist/hooks/use-refs.cjs
CHANGED
|
@@ -1,33 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var mountRef = require('../react/mount-ref.cjs');
|
|
4
|
+
var useEvent = require('./use-event.cjs');
|
|
5
5
|
|
|
6
|
-
var mount = function mount(ref, trigger) {
|
|
7
|
-
if (isFunction.isFunction(ref)) {
|
|
8
|
-
ref(trigger);
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
// in deprecated react, class component can use string ref
|
|
12
|
-
// but there are many problems, in relax, we just make it not work
|
|
13
|
-
// issue for react: https://github.com/facebook/react/pull/8333#issuecomment-271648615
|
|
14
|
-
if (typeof ref === "string") {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
ref.current = trigger;
|
|
18
|
-
};
|
|
19
6
|
var useRefs = function useRefs() {
|
|
20
7
|
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
21
8
|
refs[_key] = arguments[_key];
|
|
22
9
|
}
|
|
23
|
-
return
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
}, refs);
|
|
10
|
+
return useEvent.useEvent(function (reference) {
|
|
11
|
+
refs.forEach(function (ref) {
|
|
12
|
+
if (!ref) return;
|
|
13
|
+
mountRef.mountRef(ref, reference);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
31
16
|
};
|
|
32
17
|
|
|
33
18
|
exports.useRefs = useRefs;
|
package/dist/hooks/use-refs.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { type MutableRefObject, type RefCallback } from "react";
|
|
2
1
|
import type { Nullable, Voidable } from "@aiszlab/relax/types";
|
|
3
|
-
type Refable
|
|
4
|
-
export declare const useRefs: <T>(...refs: Voidable<Refable<Nullable<T>>>[]) => (
|
|
5
|
-
export {};
|
|
2
|
+
import { type Refable } from "../react";
|
|
3
|
+
export declare const useRefs: <T>(...refs: Voidable<Refable<Nullable<T>>>[]) => (reference: T) => void;
|
package/dist/hooks/use-refs.mjs
CHANGED
|
@@ -1,31 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { mountRef } from '../react/mount-ref.mjs';
|
|
2
|
+
import { useEvent } from './use-event.mjs';
|
|
3
3
|
|
|
4
|
-
var mount = function mount(ref, trigger) {
|
|
5
|
-
if (isFunction(ref)) {
|
|
6
|
-
ref(trigger);
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
// in deprecated react, class component can use string ref
|
|
10
|
-
// but there are many problems, in relax, we just make it not work
|
|
11
|
-
// issue for react: https://github.com/facebook/react/pull/8333#issuecomment-271648615
|
|
12
|
-
if (typeof ref === "string") {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
ref.current = trigger;
|
|
16
|
-
};
|
|
17
4
|
var useRefs = function useRefs() {
|
|
18
5
|
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
19
6
|
refs[_key] = arguments[_key];
|
|
20
7
|
}
|
|
21
|
-
return
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
};
|
|
28
|
-
}, refs);
|
|
8
|
+
return useEvent(function (reference) {
|
|
9
|
+
refs.forEach(function (ref) {
|
|
10
|
+
if (!ref) return;
|
|
11
|
+
mountRef(ref, reference);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
29
14
|
};
|
|
30
15
|
|
|
31
16
|
export { useRefs };
|
package/dist/index.cjs
CHANGED
|
@@ -65,6 +65,9 @@ var toggle = require('./utils/toggle.cjs');
|
|
|
65
65
|
var taggedTemplateLiterals = require('./utils/tagged-template-literals.cjs');
|
|
66
66
|
var replace = require('./utils/replace.cjs');
|
|
67
67
|
var clsx = require('./utils/clsx.cjs');
|
|
68
|
+
var first = require('./utils/first.cjs');
|
|
69
|
+
var last = require('./utils/last.cjs');
|
|
70
|
+
var merge = require('./utils/merge.cjs');
|
|
68
71
|
|
|
69
72
|
|
|
70
73
|
|
|
@@ -134,3 +137,6 @@ exports.toggle = toggle.toggle;
|
|
|
134
137
|
exports.taggedTemplateLiterals = taggedTemplateLiterals.taggedTemplateLiterals;
|
|
135
138
|
exports.replace = replace.replace;
|
|
136
139
|
exports.clsx = clsx.clsx;
|
|
140
|
+
exports.first = first.first;
|
|
141
|
+
exports.last = last.last;
|
|
142
|
+
exports.merge = merge.merge;
|
package/dist/index.d.ts
CHANGED
|
@@ -75,3 +75,6 @@ export { toggle } from "./utils/toggle";
|
|
|
75
75
|
export { taggedTemplateLiterals } from "./utils/tagged-template-literals";
|
|
76
76
|
export { replace } from "./utils/replace";
|
|
77
77
|
export { clsx } from "./utils/clsx";
|
|
78
|
+
export { first } from "./utils/first";
|
|
79
|
+
export { last } from "./utils/last";
|
|
80
|
+
export { merge } from "./utils/merge";
|
package/dist/index.mjs
CHANGED
|
@@ -63,3 +63,6 @@ export { toggle } from './utils/toggle.mjs';
|
|
|
63
63
|
export { taggedTemplateLiterals } from './utils/tagged-template-literals.mjs';
|
|
64
64
|
export { replace } from './utils/replace.mjs';
|
|
65
65
|
export { clsx } from './utils/clsx.mjs';
|
|
66
|
+
export { first } from './utils/first.mjs';
|
|
67
|
+
export { last } from './utils/last.mjs';
|
|
68
|
+
export { merge } from './utils/merge.mjs';
|
package/dist/is/is-empty.cjs
CHANGED
package/dist/is/is-empty.mjs
CHANGED
package/dist/is/is-primitive.cjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
export type Primitive = string | number | symbol | boolean | null | undefined;
|
|
1
2
|
/**
|
|
2
3
|
* @description
|
|
3
|
-
*
|
|
4
|
+
* primitive type
|
|
5
|
+
* string | number | symbol | boolean | null | undefined
|
|
4
6
|
*/
|
|
5
|
-
export declare const isPrimitive: (value: unknown) =>
|
|
7
|
+
export declare const isPrimitive: <T extends Primitive>(value: unknown) => value is T;
|
package/dist/is/is-primitive.mjs
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isClassComponent: () => boolean;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var isFunction = require('../is/is-function.cjs');
|
|
4
|
+
|
|
5
|
+
var mountRef = function mountRef(refable, reference) {
|
|
6
|
+
if (isFunction.isFunction(refable)) {
|
|
7
|
+
refable(reference);
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
// in deprecated react, class component can use string ref
|
|
11
|
+
// but there are many problems, in relax, we just make it not work
|
|
12
|
+
// issue for react: https://github.com/facebook/react/pull/8333#issuecomment-271648615
|
|
13
|
+
if (typeof refable === "string") {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
refable.current = reference;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.mountRef = mountRef;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { isFunction } from '../is/is-function.mjs';
|
|
2
|
+
|
|
3
|
+
var mountRef = function mountRef(refable, reference) {
|
|
4
|
+
if (isFunction(refable)) {
|
|
5
|
+
refable(reference);
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
// in deprecated react, class component can use string ref
|
|
9
|
+
// but there are many problems, in relax, we just make it not work
|
|
10
|
+
// issue for react: https://github.com/facebook/react/pull/8333#issuecomment-271648615
|
|
11
|
+
if (typeof refable === "string") {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
refable.current = reference;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { mountRef };
|
package/dist/utils/clone.cjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
3
4
|
var isArray = require('../is/is-array.cjs');
|
|
4
5
|
var isPrimitive = require('../is/is-primitive.cjs');
|
|
5
6
|
|
|
@@ -8,12 +9,38 @@ var isPrimitive = require('../is/is-primitive.cjs');
|
|
|
8
9
|
* in develop, there are many cases to clone a string/number/object/array
|
|
9
10
|
* this util is planning to resolve it
|
|
10
11
|
*/
|
|
11
|
-
var
|
|
12
|
+
var _clone = function clone(value) {
|
|
12
13
|
if (isPrimitive.isPrimitive(value)) return value;
|
|
13
|
-
if (value instanceof Map)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
if (value instanceof Map) {
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
return new Map(Array.from(value.entries()).map(function (_ref) {
|
|
17
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
18
|
+
_key = _ref2[0],
|
|
19
|
+
_value = _ref2[1];
|
|
20
|
+
return [_key, _clone(_value)];
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
if (value instanceof Set) {
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
return new Set(Array.from(value.values()).map(function (_value) {
|
|
26
|
+
return _clone(_value);
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
if (isArray.isArray(value)) {
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
return value.map(function (_value) {
|
|
32
|
+
return _clone(_value);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
return Object.entries(value).reduce(function (cloned, _ref3) {
|
|
37
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
38
|
+
_key = _ref4[0],
|
|
39
|
+
_value = _ref4[1];
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
cloned[_key] = _clone(_value);
|
|
42
|
+
return cloned;
|
|
43
|
+
}, {});
|
|
17
44
|
};
|
|
18
45
|
|
|
19
|
-
exports.clone =
|
|
46
|
+
exports.clone = _clone;
|
package/dist/utils/clone.d.ts
CHANGED
package/dist/utils/clone.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
1
2
|
import { isArray } from '../is/is-array.mjs';
|
|
2
3
|
import { isPrimitive } from '../is/is-primitive.mjs';
|
|
3
4
|
|
|
@@ -6,12 +7,38 @@ import { isPrimitive } from '../is/is-primitive.mjs';
|
|
|
6
7
|
* in develop, there are many cases to clone a string/number/object/array
|
|
7
8
|
* this util is planning to resolve it
|
|
8
9
|
*/
|
|
9
|
-
var
|
|
10
|
+
var _clone = function clone(value) {
|
|
10
11
|
if (isPrimitive(value)) return value;
|
|
11
|
-
if (value instanceof Map)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
if (value instanceof Map) {
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
return new Map(Array.from(value.entries()).map(function (_ref) {
|
|
15
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
16
|
+
_key = _ref2[0],
|
|
17
|
+
_value = _ref2[1];
|
|
18
|
+
return [_key, _clone(_value)];
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
if (value instanceof Set) {
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
return new Set(Array.from(value.values()).map(function (_value) {
|
|
24
|
+
return _clone(_value);
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
if (isArray(value)) {
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
return value.map(function (_value) {
|
|
30
|
+
return _clone(_value);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
// @ts-ignore
|
|
34
|
+
return Object.entries(value).reduce(function (cloned, _ref3) {
|
|
35
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
36
|
+
_key = _ref4[0],
|
|
37
|
+
_value = _ref4[1];
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
cloned[_key] = _clone(_value);
|
|
40
|
+
return cloned;
|
|
41
|
+
}, {});
|
|
15
42
|
};
|
|
16
43
|
|
|
17
|
-
export { clone };
|
|
44
|
+
export { _clone as clone };
|
package/dist/utils/first.d.ts
CHANGED
package/dist/utils/last.d.ts
CHANGED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var isArray = require('../is/is-array.cjs');
|
|
5
|
+
var isFunction = require('../is/is-function.cjs');
|
|
6
|
+
var isPrimitive = require('../is/is-primitive.cjs');
|
|
7
|
+
var clone = require('./clone.cjs');
|
|
8
|
+
var unique = require('./unique.cjs');
|
|
9
|
+
|
|
10
|
+
var _merge2 = function _merge(previous, next) {
|
|
11
|
+
if (isPrimitive.isPrimitive(previous) || isPrimitive.isPrimitive(next) || isFunction.isFunction(previous) || isFunction.isFunction(next) || previous === next) {
|
|
12
|
+
return clone.clone(next);
|
|
13
|
+
}
|
|
14
|
+
var _previous = new Map(Object.entries(previous));
|
|
15
|
+
var _next = new Map(Object.entries(next));
|
|
16
|
+
var _uniqueKeys = unique.unique(_previous.keys(), _next.keys());
|
|
17
|
+
var merged = _uniqueKeys.reduce(function (_merged, _key) {
|
|
18
|
+
var _previousValue = _previous.get(_key);
|
|
19
|
+
var _nextValue = _next.get(_key);
|
|
20
|
+
if (!_next.has(_key)) {
|
|
21
|
+
_merged[_key] = clone.clone(_previousValue);
|
|
22
|
+
return _merged;
|
|
23
|
+
}
|
|
24
|
+
// deep merge child value
|
|
25
|
+
_merged[_key] = _merge2(_previousValue, _nextValue);
|
|
26
|
+
return _merged;
|
|
27
|
+
}, {});
|
|
28
|
+
// convert value type same as previous
|
|
29
|
+
// if `previous` is object, use merged object directly
|
|
30
|
+
if (!isArray.isArray(previous)) return merged;
|
|
31
|
+
// else `previous` is array, check next value type
|
|
32
|
+
// but length will be merged when next value is array
|
|
33
|
+
return Array.from(_objectSpread(_objectSpread({}, merged), {}, {
|
|
34
|
+
length: isArray.isArray(next) ? Object.keys(merged).length : previous.length
|
|
35
|
+
}));
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* @description
|
|
39
|
+
* deep merge api
|
|
40
|
+
* use unique values to avoid duplicate
|
|
41
|
+
*/
|
|
42
|
+
var merge = function merge() {
|
|
43
|
+
for (var _len = arguments.length, values = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {
|
|
44
|
+
values[_key2] = arguments[_key2];
|
|
45
|
+
}
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
return unique.unique(values).reduce(function (_merged, _value) {
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
return _merge2(_merged, _value !== null && _value !== void 0 ? _value : {});
|
|
50
|
+
}, null);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
exports.merge = merge;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
+
import { isArray } from '../is/is-array.mjs';
|
|
3
|
+
import { isFunction } from '../is/is-function.mjs';
|
|
4
|
+
import { isPrimitive } from '../is/is-primitive.mjs';
|
|
5
|
+
import { clone as _clone } from './clone.mjs';
|
|
6
|
+
import { unique } from './unique.mjs';
|
|
7
|
+
|
|
8
|
+
var _merge2 = function _merge(previous, next) {
|
|
9
|
+
if (isPrimitive(previous) || isPrimitive(next) || isFunction(previous) || isFunction(next) || previous === next) {
|
|
10
|
+
return _clone(next);
|
|
11
|
+
}
|
|
12
|
+
var _previous = new Map(Object.entries(previous));
|
|
13
|
+
var _next = new Map(Object.entries(next));
|
|
14
|
+
var _uniqueKeys = unique(_previous.keys(), _next.keys());
|
|
15
|
+
var merged = _uniqueKeys.reduce(function (_merged, _key) {
|
|
16
|
+
var _previousValue = _previous.get(_key);
|
|
17
|
+
var _nextValue = _next.get(_key);
|
|
18
|
+
if (!_next.has(_key)) {
|
|
19
|
+
_merged[_key] = _clone(_previousValue);
|
|
20
|
+
return _merged;
|
|
21
|
+
}
|
|
22
|
+
// deep merge child value
|
|
23
|
+
_merged[_key] = _merge2(_previousValue, _nextValue);
|
|
24
|
+
return _merged;
|
|
25
|
+
}, {});
|
|
26
|
+
// convert value type same as previous
|
|
27
|
+
// if `previous` is object, use merged object directly
|
|
28
|
+
if (!isArray(previous)) return merged;
|
|
29
|
+
// else `previous` is array, check next value type
|
|
30
|
+
// but length will be merged when next value is array
|
|
31
|
+
return Array.from(_objectSpread(_objectSpread({}, merged), {}, {
|
|
32
|
+
length: isArray(next) ? Object.keys(merged).length : previous.length
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* @description
|
|
37
|
+
* deep merge api
|
|
38
|
+
* use unique values to avoid duplicate
|
|
39
|
+
*/
|
|
40
|
+
var merge = function merge() {
|
|
41
|
+
for (var _len = arguments.length, values = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {
|
|
42
|
+
values[_key2] = arguments[_key2];
|
|
43
|
+
}
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
return unique(values).reduce(function (_merged, _value) {
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
return _merge2(_merged, _value !== null && _value !== void 0 ? _value : {});
|
|
48
|
+
}, null);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { merge };
|
package/dist/utils/unique.cjs
CHANGED
|
@@ -4,8 +4,13 @@
|
|
|
4
4
|
* @description
|
|
5
5
|
* unique
|
|
6
6
|
*/
|
|
7
|
-
var unique = function unique(
|
|
8
|
-
|
|
7
|
+
var unique = function unique() {
|
|
8
|
+
for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
9
|
+
values[_key] = arguments[_key];
|
|
10
|
+
}
|
|
11
|
+
return Array.from(values.reduce(function (unionize, _value) {
|
|
12
|
+
return unionize.union(new Set(_value));
|
|
13
|
+
}, new Set()));
|
|
9
14
|
};
|
|
10
15
|
/**
|
|
11
16
|
* @description
|
package/dist/utils/unique.d.ts
CHANGED
package/dist/utils/unique.mjs
CHANGED
|
@@ -2,8 +2,13 @@
|
|
|
2
2
|
* @description
|
|
3
3
|
* unique
|
|
4
4
|
*/
|
|
5
|
-
var unique = function unique(
|
|
6
|
-
|
|
5
|
+
var unique = function unique() {
|
|
6
|
+
for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
7
|
+
values[_key] = arguments[_key];
|
|
8
|
+
}
|
|
9
|
+
return Array.from(values.reduce(function (unionize, _value) {
|
|
10
|
+
return unionize.union(new Set(_value));
|
|
11
|
+
}, new Set()));
|
|
7
12
|
};
|
|
8
13
|
/**
|
|
9
14
|
* @description
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiszlab/relax",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.16",
|
|
4
4
|
"description": "react utils collection",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -17,6 +17,13 @@
|
|
|
17
17
|
"import": "./dist/dom/index.mjs",
|
|
18
18
|
"default": "./dist/dom/index.mjs"
|
|
19
19
|
},
|
|
20
|
+
"./react": {
|
|
21
|
+
"types": "./dist/react/index.d.ts",
|
|
22
|
+
"node": "./dist/react/index.cjs",
|
|
23
|
+
"require": "./dist/react/index.cjs",
|
|
24
|
+
"import": "./dist/react/index.mjs",
|
|
25
|
+
"default": "./dist/react/index.mjs"
|
|
26
|
+
},
|
|
20
27
|
"./types": "./dist/types/index.d.ts"
|
|
21
28
|
},
|
|
22
29
|
"scripts": {
|
|
@@ -25,6 +32,7 @@
|
|
|
25
32
|
"clean:build": "rm -rf dist",
|
|
26
33
|
"prepublishOnly": "npm run clean:build && npm run build",
|
|
27
34
|
"test": "jest",
|
|
35
|
+
"test:coverage": "jest --coverage",
|
|
28
36
|
"publish:npm": "npm publish"
|
|
29
37
|
},
|
|
30
38
|
"dependencies": {
|
|
@@ -43,6 +51,7 @@
|
|
|
43
51
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
44
52
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
45
53
|
"@testing-library/react": "^16.0.1",
|
|
54
|
+
"@types/babel__core": "^7.20.5",
|
|
46
55
|
"@types/react": "^18.3.6",
|
|
47
56
|
"@types/react-dom": "^18.3.0",
|
|
48
57
|
"@types/react-is": "^18.3.0",
|