@jelper/context-composer 0.1.0 → 1.1.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.
- package/es/index.js +3 -3
- package/lib/index.js +25 -5
- package/package.json +39 -39
- package/types/index.d.ts +2 -2
- package/es/types.js +0 -18
- package/lib/types.js +0 -21
package/es/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
2
|
export const createCtxComposer = (useCfgHook) => {
|
|
3
3
|
const ComposerCtx = React.createContext({});
|
|
4
4
|
return {
|
|
5
5
|
forwardComposer: (Com) => (props) => {
|
|
6
6
|
const value = useCfgHook(props);
|
|
7
|
-
return (React.createElement(ComposerCtx.Provider, { value: value },
|
|
8
|
-
React.createElement(Com, Object.assign({}, props))));
|
|
7
|
+
return (React.createElement(ComposerCtx.Provider, { value: value }, useMemo(() => React.createElement(Com, Object.assign({}, props)), [props])));
|
|
9
8
|
},
|
|
10
9
|
useComposerCtx() {
|
|
11
10
|
return React.useContext(ComposerCtx);
|
|
@@ -22,3 +21,4 @@ export const mergeComposer = (list) => {
|
|
|
22
21
|
}, Com);
|
|
23
22
|
};
|
|
24
23
|
};
|
|
24
|
+
export default createCtxComposer;
|
package/lib/index.js
CHANGED
|
@@ -10,19 +10,38 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
14
|
-
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
15
35
|
};
|
|
16
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
37
|
exports.mergeComposer = exports.createCtxComposer = void 0;
|
|
18
|
-
var react_1 =
|
|
38
|
+
var react_1 = __importStar(require("react"));
|
|
19
39
|
var createCtxComposer = function (useCfgHook) {
|
|
20
40
|
var ComposerCtx = react_1.default.createContext({});
|
|
21
41
|
return {
|
|
22
42
|
forwardComposer: function (Com) { return function (props) {
|
|
23
43
|
var value = useCfgHook(props);
|
|
24
|
-
return (react_1.default.createElement(ComposerCtx.Provider, { value: value },
|
|
25
|
-
react_1.default.createElement(Com, __assign({}, props))));
|
|
44
|
+
return (react_1.default.createElement(ComposerCtx.Provider, { value: value }, (0, react_1.useMemo)(function () { return react_1.default.createElement(Com, __assign({}, props)); }, [props])));
|
|
26
45
|
}; },
|
|
27
46
|
useComposerCtx: function () {
|
|
28
47
|
return react_1.default.useContext(ComposerCtx);
|
|
@@ -41,3 +60,4 @@ var mergeComposer = function (list) {
|
|
|
41
60
|
};
|
|
42
61
|
};
|
|
43
62
|
exports.mergeComposer = mergeComposer;
|
|
63
|
+
exports.default = exports.createCtxComposer;
|
package/package.json
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"types": "types/index.d.ts",
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@jelper/context-composer",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "react context helper",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"module": "es/index.js",
|
|
7
|
+
"types": "types/index.d.ts",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"store",
|
|
10
|
+
"helper"
|
|
11
|
+
],
|
|
12
|
+
"files": [
|
|
13
|
+
"package.json",
|
|
14
|
+
"README.md",
|
|
15
|
+
"es/**",
|
|
16
|
+
"lib/**",
|
|
17
|
+
"types/**"
|
|
18
|
+
],
|
|
19
|
+
"publishConfig": {
|
|
20
|
+
"access": "public"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@jelper/builder": "1.1.0",
|
|
24
|
+
"@types/node": "~18.0.0",
|
|
25
|
+
"@types/react": "~18.2.17"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"react": "~18.2.0"
|
|
29
|
+
},
|
|
30
|
+
"author": "apathyjade@outlook.com",
|
|
31
|
+
"license": "ISC",
|
|
32
|
+
"scripts": {
|
|
33
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
34
|
+
"build": "jelper build",
|
|
35
|
+
"build:debug": "jelper build --debug",
|
|
36
|
+
"build:help": "jelper build --help",
|
|
37
|
+
"serve": "jelper serve"
|
|
38
|
+
}
|
|
39
|
+
}
|
package/types/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import React, { FC } from 'react';
|
|
|
2
2
|
type Composer<P> = (Com: FC<P>) => FC<P>;
|
|
3
3
|
export declare const createCtxComposer: <P extends React.JSX.IntrinsicAttributes, T>(useCfgHook: (props: P) => T) => {
|
|
4
4
|
forwardComposer: (Com: FC<P>) => FC<P>;
|
|
5
|
-
useComposerCtx()
|
|
5
|
+
useComposerCtx: () => T;
|
|
6
6
|
};
|
|
7
7
|
export declare const mergeComposer: <P extends React.JSX.IntrinsicAttributes>(list: Array<Composer<P>>) => Composer<P>;
|
|
8
|
-
export
|
|
8
|
+
export default createCtxComposer;
|
package/es/types.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author: jade <apathyjade@outlook.com>
|
|
3
|
-
* @Version: 0.0.1
|
|
4
|
-
* @Date: 2022-06-22 16:44:40
|
|
5
|
-
* @Last Modified by: jade
|
|
6
|
-
* @Last Modified Time: 2022-06-22 16:44:40
|
|
7
|
-
*/
|
|
8
|
-
export var StorageType;
|
|
9
|
-
(function (StorageType) {
|
|
10
|
-
StorageType["memory"] = "memory";
|
|
11
|
-
StorageType["session"] = "session";
|
|
12
|
-
StorageType["local"] = "local";
|
|
13
|
-
})(StorageType || (StorageType = {}));
|
|
14
|
-
export var StoreType;
|
|
15
|
-
(function (StoreType) {
|
|
16
|
-
StoreType["global"] = "global";
|
|
17
|
-
StoreType["page"] = "page";
|
|
18
|
-
})(StoreType || (StoreType = {}));
|
package/lib/types.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* @Author: jade <apathyjade@outlook.com>
|
|
4
|
-
* @Version: 0.0.1
|
|
5
|
-
* @Date: 2022-06-22 16:44:40
|
|
6
|
-
* @Last Modified by: jade
|
|
7
|
-
* @Last Modified Time: 2022-06-22 16:44:40
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.StoreType = exports.StorageType = void 0;
|
|
11
|
-
var StorageType;
|
|
12
|
-
(function (StorageType) {
|
|
13
|
-
StorageType["memory"] = "memory";
|
|
14
|
-
StorageType["session"] = "session";
|
|
15
|
-
StorageType["local"] = "local";
|
|
16
|
-
})(StorageType || (exports.StorageType = StorageType = {}));
|
|
17
|
-
var StoreType;
|
|
18
|
-
(function (StoreType) {
|
|
19
|
-
StoreType["global"] = "global";
|
|
20
|
-
StoreType["page"] = "page";
|
|
21
|
-
})(StoreType || (exports.StoreType = StoreType = {}));
|