@fringeworks/react-utils 0.9.1 → 0.9.2
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/README.ja.md +13 -0
- package/README.md +13 -0
- package/index.cjs +2 -0
- package/index.d.cts +2 -1
- package/index.d.mts +2 -1
- package/index.mjs +2 -1
- package/package.json +11 -1
- package/utils/getComponentName/getComponentName.cjs +18 -0
- package/utils/getComponentName/getComponentName.d.cts +12 -0
- package/utils/getComponentName/getComponentName.d.mts +12 -0
- package/utils/getComponentName/getComponentName.mjs +17 -0
- package/utils/getComponentName/index.cjs +5 -0
- package/utils/getComponentName/index.d.cts +2 -0
- package/utils/getComponentName/index.d.mts +2 -0
- package/utils/getComponentName/index.mjs +3 -0
- package/utils/index.cjs +2 -0
- package/utils/index.d.cts +3 -1
- package/utils/index.d.mts +3 -1
- package/utils/index.mjs +2 -1
package/README.ja.md
CHANGED
|
@@ -50,6 +50,7 @@ import useLatestRef from '@fringeworks/react-utils/hooks/useLatestRef';
|
|
|
50
50
|
| `extendElement(element, overrideProps?, ...children)` | `className` と `style` をマージしてエレメントを複製する |
|
|
51
51
|
| `forEachContent(children, callback)` | Fragment を透過し、エレメント・文字列・数値を順に処理する |
|
|
52
52
|
| `forEachElement(children, callback)` | Fragment を透過し、エレメントを順に処理する |
|
|
53
|
+
| `getComponentName(Component)` | HOC の `displayName` などに使う、コンポーネントの名前を返す |
|
|
53
54
|
| `markAt()` | 呼び出すたびに増加する値を返す |
|
|
54
55
|
| `setRefCurrent(value, ...refs)` | 複数の ref に値を設定し、クリーンアップ関数を返す |
|
|
55
56
|
| `transformContent(children, callback)` | Fragment を透過し、エレメント・文字列・数値を変換した配列を返す |
|
|
@@ -242,6 +243,18 @@ Fragment を透過して `children` を順に処理します。`forEachContent`
|
|
|
242
243
|
- 配列や iterable も展開します。
|
|
243
244
|
- `index` は、Fragment をまたいだ連番です。
|
|
244
245
|
|
|
246
|
+
### `getComponentName`
|
|
247
|
+
|
|
248
|
+
```ts
|
|
249
|
+
getComponentName(Component: ElementType): string
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
HOC の `displayName` などに使う、コンポーネントの名前を返します。
|
|
253
|
+
|
|
254
|
+
- 組み込みタグ(`'div'` など)はそのまま返します。
|
|
255
|
+
- `displayName` を関数名より優先します。
|
|
256
|
+
- どちらも無い(空文字の)場合は `Unknown` を返します。
|
|
257
|
+
|
|
245
258
|
### `markAt`
|
|
246
259
|
|
|
247
260
|
```ts
|
package/README.md
CHANGED
|
@@ -50,6 +50,7 @@ import useLatestRef from '@fringeworks/react-utils/hooks/useLatestRef';
|
|
|
50
50
|
| `extendElement(element, overrideProps?, ...children)` | Clones an element, merging `className` and `style` |
|
|
51
51
|
| `forEachContent(children, callback)` | Iterates over elements, strings, and numbers, looking through Fragments |
|
|
52
52
|
| `forEachElement(children, callback)` | Iterates over elements, looking through Fragments |
|
|
53
|
+
| `getComponentName(Component)` | Returns the name of a component, for use in an HOC's `displayName` |
|
|
53
54
|
| `markAt()` | Returns a value that increases on every call |
|
|
54
55
|
| `setRefCurrent(value, ...refs)` | Sets a value to multiple refs and returns a cleanup function |
|
|
55
56
|
| `transformContent(children, callback)` | Maps elements, strings, and numbers to an array, looking through Fragments |
|
|
@@ -242,6 +243,18 @@ Iterates over `children`, looking through Fragments. `forEachContent` handles el
|
|
|
242
243
|
- Arrays and iterables are also expanded.
|
|
243
244
|
- `index` is a sequential number across Fragments.
|
|
244
245
|
|
|
246
|
+
### `getComponentName`
|
|
247
|
+
|
|
248
|
+
```ts
|
|
249
|
+
getComponentName(Component: ElementType): string
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Returns the name of a component, for use in an HOC's `displayName` and the like.
|
|
253
|
+
|
|
254
|
+
- A built-in tag (such as `'div'`) is returned as is.
|
|
255
|
+
- `displayName` takes precedence over the function name.
|
|
256
|
+
- Returns `Unknown` when neither is available (or both are empty).
|
|
257
|
+
|
|
245
258
|
### `markAt`
|
|
246
259
|
|
|
247
260
|
```ts
|
package/index.cjs
CHANGED
|
@@ -14,6 +14,7 @@ const require_utils_ensureComponent_ensureComponent = require("./utils/ensureCom
|
|
|
14
14
|
const require_utils_extendElement_extendElement = require("./utils/extendElement/extendElement.cjs");
|
|
15
15
|
const require_utils_forEachContent_forEachContent = require("./utils/forEachContent/forEachContent.cjs");
|
|
16
16
|
const require_utils_forEachElement_forEachElement = require("./utils/forEachElement/forEachElement.cjs");
|
|
17
|
+
const require_utils_getComponentName_getComponentName = require("./utils/getComponentName/getComponentName.cjs");
|
|
17
18
|
const require_utils_transformContent_transformContent = require("./utils/transformContent/transformContent.cjs");
|
|
18
19
|
const require_utils_transformElement_transformElement = require("./utils/transformElement/transformElement.cjs");
|
|
19
20
|
require("./utils/index.cjs");
|
|
@@ -23,6 +24,7 @@ exports.ensureComponent = require_utils_ensureComponent_ensureComponent.default;
|
|
|
23
24
|
exports.extendElement = require_utils_extendElement_extendElement.default;
|
|
24
25
|
exports.forEachContent = require_utils_forEachContent_forEachContent.default;
|
|
25
26
|
exports.forEachElement = require_utils_forEachElement_forEachElement.default;
|
|
27
|
+
exports.getComponentName = require_utils_getComponentName_getComponentName.default;
|
|
26
28
|
exports.markAt = require_utils_markAt_markAt.default;
|
|
27
29
|
exports.setRefCurrent = require_utils_setRefCurrent_setRefCurrent.default;
|
|
28
30
|
exports.transformContent = require_utils_transformContent_transformContent.default;
|
package/index.d.cts
CHANGED
|
@@ -19,8 +19,9 @@ import { ExtendableProps } from "./utils/extendElement/types.cjs";
|
|
|
19
19
|
import extendElement from "./utils/extendElement/extendElement.cjs";
|
|
20
20
|
import forEachContent from "./utils/forEachContent/forEachContent.cjs";
|
|
21
21
|
import forEachElement from "./utils/forEachElement/forEachElement.cjs";
|
|
22
|
+
import getComponentName from "./utils/getComponentName/getComponentName.cjs";
|
|
22
23
|
import setRefCurrent from "./utils/setRefCurrent/setRefCurrent.cjs";
|
|
23
24
|
import transformContent from "./utils/transformContent/transformContent.cjs";
|
|
24
25
|
import transformElement from "./utils/transformElement/transformElement.cjs";
|
|
25
26
|
import "./utils/index.cjs";
|
|
26
|
-
export { type AppliedProps, type CSSPropertiesWithVars, type ExecutionFunction, type ExecutionRequest, type ExtendableProps, type LatestRef, type MarkAtResult, type SkippedDefaults, type UseExecutionAtOptions, type UseExecutionAtResult, type UsePreviousValueOptions, applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, markAt, setRefCurrent, transformContent, transformElement, useCombinedRefs, useConstant, useExecutionAt, useIsMounted, useLatestRef, usePreviousValue, useStableLength };
|
|
27
|
+
export { type AppliedProps, type CSSPropertiesWithVars, type ExecutionFunction, type ExecutionRequest, type ExtendableProps, type LatestRef, type MarkAtResult, type SkippedDefaults, type UseExecutionAtOptions, type UseExecutionAtResult, type UsePreviousValueOptions, applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, getComponentName, markAt, setRefCurrent, transformContent, transformElement, useCombinedRefs, useConstant, useExecutionAt, useIsMounted, useLatestRef, usePreviousValue, useStableLength };
|
package/index.d.mts
CHANGED
|
@@ -19,8 +19,9 @@ import { ExtendableProps } from "./utils/extendElement/types.mjs";
|
|
|
19
19
|
import extendElement from "./utils/extendElement/extendElement.mjs";
|
|
20
20
|
import forEachContent from "./utils/forEachContent/forEachContent.mjs";
|
|
21
21
|
import forEachElement from "./utils/forEachElement/forEachElement.mjs";
|
|
22
|
+
import getComponentName from "./utils/getComponentName/getComponentName.mjs";
|
|
22
23
|
import setRefCurrent from "./utils/setRefCurrent/setRefCurrent.mjs";
|
|
23
24
|
import transformContent from "./utils/transformContent/transformContent.mjs";
|
|
24
25
|
import transformElement from "./utils/transformElement/transformElement.mjs";
|
|
25
26
|
import "./utils/index.mjs";
|
|
26
|
-
export { type AppliedProps, type CSSPropertiesWithVars, type ExecutionFunction, type ExecutionRequest, type ExtendableProps, type LatestRef, type MarkAtResult, type SkippedDefaults, type UseExecutionAtOptions, type UseExecutionAtResult, type UsePreviousValueOptions, applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, markAt, setRefCurrent, transformContent, transformElement, useCombinedRefs, useConstant, useExecutionAt, useIsMounted, useLatestRef, usePreviousValue, useStableLength };
|
|
27
|
+
export { type AppliedProps, type CSSPropertiesWithVars, type ExecutionFunction, type ExecutionRequest, type ExtendableProps, type LatestRef, type MarkAtResult, type SkippedDefaults, type UseExecutionAtOptions, type UseExecutionAtResult, type UsePreviousValueOptions, applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, getComponentName, markAt, setRefCurrent, transformContent, transformElement, useCombinedRefs, useConstant, useExecutionAt, useIsMounted, useLatestRef, usePreviousValue, useStableLength };
|
package/index.mjs
CHANGED
|
@@ -13,8 +13,9 @@ import ensureComponent from "./utils/ensureComponent/ensureComponent.mjs";
|
|
|
13
13
|
import extendElement from "./utils/extendElement/extendElement.mjs";
|
|
14
14
|
import forEachContent from "./utils/forEachContent/forEachContent.mjs";
|
|
15
15
|
import forEachElement from "./utils/forEachElement/forEachElement.mjs";
|
|
16
|
+
import getComponentName from "./utils/getComponentName/getComponentName.mjs";
|
|
16
17
|
import transformContent from "./utils/transformContent/transformContent.mjs";
|
|
17
18
|
import transformElement from "./utils/transformElement/transformElement.mjs";
|
|
18
19
|
import "./utils/index.mjs";
|
|
19
20
|
|
|
20
|
-
export { applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, markAt, setRefCurrent, transformContent, transformElement, useCombinedRefs, useConstant, useExecutionAt, useIsMounted, useLatestRef, usePreviousValue, useStableLength };
|
|
21
|
+
export { applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, getComponentName, markAt, setRefCurrent, transformContent, transformElement, useCombinedRefs, useConstant, useExecutionAt, useIsMounted, useLatestRef, usePreviousValue, useStableLength };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fringeworks/react-utils",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"description": "A library some will find handy, providing utilities for React.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react"
|
|
@@ -164,6 +164,16 @@
|
|
|
164
164
|
"default": "./utils/forEachElement/index.cjs"
|
|
165
165
|
}
|
|
166
166
|
},
|
|
167
|
+
"./utils/getComponentName": {
|
|
168
|
+
"import": {
|
|
169
|
+
"types": "./utils/getComponentName/index.d.mts",
|
|
170
|
+
"default": "./utils/getComponentName/index.mjs"
|
|
171
|
+
},
|
|
172
|
+
"require": {
|
|
173
|
+
"types": "./utils/getComponentName/index.d.cts",
|
|
174
|
+
"default": "./utils/getComponentName/index.cjs"
|
|
175
|
+
}
|
|
176
|
+
},
|
|
167
177
|
"./utils/markAt": {
|
|
168
178
|
"import": {
|
|
169
179
|
"types": "./utils/markAt/index.d.mts",
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
//#region src/utils/getComponentName/getComponentName.ts
|
|
3
|
+
/**
|
|
4
|
+
* コンポーネントの名前を取得する(HOCのdisplayNameなどに使う)
|
|
5
|
+
*
|
|
6
|
+
* - HTMLの要素名はそのまま使う
|
|
7
|
+
* - displayName・関数名が無い(空文字の)場合は`Unknown`
|
|
8
|
+
* @param Component コンポーネント
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
function getComponentName(Component) {
|
|
12
|
+
if (typeof Component === "string") return Component;
|
|
13
|
+
const { displayName, name } = Component;
|
|
14
|
+
return displayName || name || "Unknown";
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
exports.default = getComponentName;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ElementType } from "react";
|
|
2
|
+
//#region src/utils/getComponentName/getComponentName.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* コンポーネントの名前を取得する(HOCのdisplayNameなどに使う)
|
|
5
|
+
*
|
|
6
|
+
* - HTMLの要素名はそのまま使う
|
|
7
|
+
* - displayName・関数名が無い(空文字の)場合は`Unknown`
|
|
8
|
+
* @param Component コンポーネント
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
declare function getComponentName(Component: ElementType): string;
|
|
12
|
+
export = getComponentName;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ElementType } from "react";
|
|
2
|
+
//#region src/utils/getComponentName/getComponentName.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* コンポーネントの名前を取得する(HOCのdisplayNameなどに使う)
|
|
5
|
+
*
|
|
6
|
+
* - HTMLの要素名はそのまま使う
|
|
7
|
+
* - displayName・関数名が無い(空文字の)場合は`Unknown`
|
|
8
|
+
* @param Component コンポーネント
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export default function getComponentName(Component: ElementType): string;
|
|
12
|
+
//#endregion
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/utils/getComponentName/getComponentName.ts
|
|
2
|
+
/**
|
|
3
|
+
* コンポーネントの名前を取得する(HOCのdisplayNameなどに使う)
|
|
4
|
+
*
|
|
5
|
+
* - HTMLの要素名はそのまま使う
|
|
6
|
+
* - displayName・関数名が無い(空文字の)場合は`Unknown`
|
|
7
|
+
* @param Component コンポーネント
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
function getComponentName(Component) {
|
|
11
|
+
if (typeof Component === "string") return Component;
|
|
12
|
+
const { displayName, name } = Component;
|
|
13
|
+
return displayName || name || "Unknown";
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
export { getComponentName as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
const require_utils_getComponentName_getComponentName = require("./getComponentName.cjs");
|
|
3
|
+
|
|
4
|
+
exports.default = require_utils_getComponentName_getComponentName.default;
|
|
5
|
+
exports.getComponentName = require_utils_getComponentName_getComponentName.default;
|
package/utils/index.cjs
CHANGED
|
@@ -10,6 +10,7 @@ const require_utils_forEachContent_forEachContent = require("./forEachContent/fo
|
|
|
10
10
|
require("./forEachContent/index.cjs");
|
|
11
11
|
const require_utils_forEachElement_forEachElement = require("./forEachElement/forEachElement.cjs");
|
|
12
12
|
require("./forEachElement/index.cjs");
|
|
13
|
+
const require_utils_getComponentName_getComponentName = require("./getComponentName/getComponentName.cjs");
|
|
13
14
|
const require_utils_transformContent_transformContent = require("./transformContent/transformContent.cjs");
|
|
14
15
|
require("./transformContent/index.cjs");
|
|
15
16
|
const require_utils_transformElement_transformElement = require("./transformElement/transformElement.cjs");
|
|
@@ -20,6 +21,7 @@ exports.ensureComponent = require_utils_ensureComponent_ensureComponent.default;
|
|
|
20
21
|
exports.extendElement = require_utils_extendElement_extendElement.default;
|
|
21
22
|
exports.forEachContent = require_utils_forEachContent_forEachContent.default;
|
|
22
23
|
exports.forEachElement = require_utils_forEachElement_forEachElement.default;
|
|
24
|
+
exports.getComponentName = require_utils_getComponentName_getComponentName.default;
|
|
23
25
|
exports.markAt = require_utils_markAt_markAt.default;
|
|
24
26
|
exports.setRefCurrent = require_utils_setRefCurrent_setRefCurrent.default;
|
|
25
27
|
exports.transformContent = require_utils_transformContent_transformContent.default;
|
package/utils/index.d.cts
CHANGED
|
@@ -11,10 +11,12 @@ import forEachContent from "./forEachContent/forEachContent.cjs";
|
|
|
11
11
|
import "./forEachContent/index.cjs";
|
|
12
12
|
import forEachElement from "./forEachElement/forEachElement.cjs";
|
|
13
13
|
import "./forEachElement/index.cjs";
|
|
14
|
+
import getComponentName from "./getComponentName/getComponentName.cjs";
|
|
15
|
+
import "./getComponentName/index.cjs";
|
|
14
16
|
import setRefCurrent from "./setRefCurrent/setRefCurrent.cjs";
|
|
15
17
|
import "./setRefCurrent/index.cjs";
|
|
16
18
|
import transformContent from "./transformContent/transformContent.cjs";
|
|
17
19
|
import "./transformContent/index.cjs";
|
|
18
20
|
import transformElement from "./transformElement/transformElement.cjs";
|
|
19
21
|
import "./transformElement/index.cjs";
|
|
20
|
-
export { type AppliedProps, type ExtendableProps, type MarkAtResult, type SkippedDefaults, applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, markAt, setRefCurrent, transformContent, transformElement };
|
|
22
|
+
export { type AppliedProps, type ExtendableProps, type MarkAtResult, type SkippedDefaults, applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, getComponentName, markAt, setRefCurrent, transformContent, transformElement };
|
package/utils/index.d.mts
CHANGED
|
@@ -11,10 +11,12 @@ import forEachContent from "./forEachContent/forEachContent.mjs";
|
|
|
11
11
|
import "./forEachContent/index.mjs";
|
|
12
12
|
import forEachElement from "./forEachElement/forEachElement.mjs";
|
|
13
13
|
import "./forEachElement/index.mjs";
|
|
14
|
+
import getComponentName from "./getComponentName/getComponentName.mjs";
|
|
15
|
+
import "./getComponentName/index.mjs";
|
|
14
16
|
import setRefCurrent from "./setRefCurrent/setRefCurrent.mjs";
|
|
15
17
|
import "./setRefCurrent/index.mjs";
|
|
16
18
|
import transformContent from "./transformContent/transformContent.mjs";
|
|
17
19
|
import "./transformContent/index.mjs";
|
|
18
20
|
import transformElement from "./transformElement/transformElement.mjs";
|
|
19
21
|
import "./transformElement/index.mjs";
|
|
20
|
-
export { type AppliedProps, type ExtendableProps, type MarkAtResult, type SkippedDefaults, applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, markAt, setRefCurrent, transformContent, transformElement };
|
|
22
|
+
export { type AppliedProps, type ExtendableProps, type MarkAtResult, type SkippedDefaults, applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, getComponentName, markAt, setRefCurrent, transformContent, transformElement };
|
package/utils/index.mjs
CHANGED
|
@@ -9,9 +9,10 @@ import forEachContent from "./forEachContent/forEachContent.mjs";
|
|
|
9
9
|
import "./forEachContent/index.mjs";
|
|
10
10
|
import forEachElement from "./forEachElement/forEachElement.mjs";
|
|
11
11
|
import "./forEachElement/index.mjs";
|
|
12
|
+
import getComponentName from "./getComponentName/getComponentName.mjs";
|
|
12
13
|
import transformContent from "./transformContent/transformContent.mjs";
|
|
13
14
|
import "./transformContent/index.mjs";
|
|
14
15
|
import transformElement from "./transformElement/transformElement.mjs";
|
|
15
16
|
import "./transformElement/index.mjs";
|
|
16
17
|
|
|
17
|
-
export { applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, markAt, setRefCurrent, transformContent, transformElement };
|
|
18
|
+
export { applyDefaultProps, ensureComponent, extendElement, forEachContent, forEachElement, getComponentName, markAt, setRefCurrent, transformContent, transformElement };
|