redux-sacala 0.0.17 → 0.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/.idea/redux-sacala.iml +1 -0
- package/.idea/webResources.xml +14 -0
- package/build/redux-sacala.d.ts +5 -4
- package/build/redux-sacala.js +1 -5
- package/build/redux-sacala.js.map +1 -1
- package/build/redux-sacala.spec.js +10 -8
- package/build/redux-sacala.spec.js.map +1 -1
- package/jest.config.js +7 -0
- package/package.json +7 -9
- package/src/redux-sacala.spec.ts +3 -2
- package/src/redux-sacala.ts +3 -4
- package/tsconfig.json +1 -1
- package/babel.config.js +0 -6
package/.idea/redux-sacala.iml
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
|
6
6
|
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
|
7
7
|
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
|
8
|
+
<excludeFolder url="file://$MODULE_DIR$/build" />
|
|
8
9
|
</content>
|
|
9
10
|
<orderEntry type="inheritedJdk" />
|
|
10
11
|
<orderEntry type="sourceFolder" forTests="false" />
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="WebResourcesPaths">
|
|
4
|
+
<contentEntries>
|
|
5
|
+
<entry url="file://$PROJECT_DIR$">
|
|
6
|
+
<entryData>
|
|
7
|
+
<resourceRoots>
|
|
8
|
+
<path value="file://$PROJECT_DIR$/src" />
|
|
9
|
+
</resourceRoots>
|
|
10
|
+
</entryData>
|
|
11
|
+
</entry>
|
|
12
|
+
</contentEntries>
|
|
13
|
+
</component>
|
|
14
|
+
</project>
|
package/build/redux-sacala.d.ts
CHANGED
|
@@ -19,15 +19,16 @@ type EffectsCreatorMap<GlobalState, ExtraArgument, Map extends EffectsMap<Global
|
|
|
19
19
|
[key in keyof ReturnType<Map>]: (undefined extends FirstArgument<ReturnType<Map>[key]> ? () => Action : (payload: FirstArgument<ReturnType<Map>[key]>) => Action);
|
|
20
20
|
};
|
|
21
21
|
type MiddlewareCreator<T> = T extends undefined ? () => Middleware : (argument: T) => Middleware;
|
|
22
|
-
export declare function createReduxBlock<GlobalState, ExtraArgument = undefined>(): <Name extends keyof GlobalState & string, Actions extends ActionMap<GlobalState[Name]>, Effects extends EffectsMap<GlobalState, ExtraArgument>>({ name, initial, actions, effects }: {
|
|
22
|
+
export declare function createReduxBlock<GlobalState, ExtraArgument = undefined>(): <Name extends (keyof GlobalState) & string, Actions extends ActionMap<GlobalState[Name]>, Effects extends EffectsMap<GlobalState, ExtraArgument>>({ name, initial, actions, effects }: {
|
|
23
23
|
name: Name;
|
|
24
24
|
initial: GlobalState[Name];
|
|
25
25
|
actions: Actions;
|
|
26
|
-
effects?: Effects
|
|
26
|
+
effects?: Effects;
|
|
27
27
|
}) => {
|
|
28
28
|
name: Name;
|
|
29
29
|
reducer: Reducer<GlobalState[Name]>;
|
|
30
|
-
createMiddleware: MiddlewareCreator<ExtraArgument>;
|
|
31
30
|
actions: ActionCreatorMap<Actions> & EffectsCreatorMap<GlobalState, ExtraArgument, Effects>;
|
|
32
|
-
}
|
|
31
|
+
} & ({} extends ReturnType<Effects> ? {} : {
|
|
32
|
+
createMiddleware: MiddlewareCreator<ExtraArgument>;
|
|
33
|
+
});
|
|
33
34
|
export {};
|
package/build/redux-sacala.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createReduxBlock = void 0;
|
|
4
1
|
function bindAll(map) {
|
|
5
2
|
const result = {};
|
|
6
3
|
for (const i in map) {
|
|
@@ -55,7 +52,7 @@ function createMiddlewareCreator(prefix, effectsMap) {
|
|
|
55
52
|
function fail() {
|
|
56
53
|
throw new Error("Can't have access to 'dispatch' and 'getState' during initialization");
|
|
57
54
|
}
|
|
58
|
-
function createReduxBlock() {
|
|
55
|
+
export function createReduxBlock() {
|
|
59
56
|
return function applyConfig({ name, initial, actions, effects }) {
|
|
60
57
|
const actionCreators = Object.keys(actions).reduce((r, key) => {
|
|
61
58
|
r[key] = createActionCreator(`${name}/${key}`);
|
|
@@ -75,5 +72,4 @@ function createReduxBlock() {
|
|
|
75
72
|
};
|
|
76
73
|
};
|
|
77
74
|
}
|
|
78
|
-
exports.createReduxBlock = createReduxBlock;
|
|
79
75
|
//# sourceMappingURL=redux-sacala.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redux-sacala.js","sourceRoot":"","sources":["../src/redux-sacala.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"redux-sacala.js","sourceRoot":"","sources":["../src/redux-sacala.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const redux_sacala_1 = require("./redux-sacala");
|
|
5
|
-
const { actions: local, reducer: localReducer, createMiddleware: createLocalMiddleware, } = (0, redux_sacala_1.createReduxBlock)()({
|
|
1
|
+
import { createStore, combineReducers, applyMiddleware, } from "redux";
|
|
2
|
+
import { createReduxBlock } from "./redux-sacala";
|
|
3
|
+
const { actions: local, reducer: localReducer, createMiddleware: createLocalMiddleware, } = createReduxBlock()({
|
|
6
4
|
name: "local",
|
|
7
5
|
initial: { count: 0 },
|
|
8
6
|
actions: {
|
|
@@ -14,13 +12,17 @@ const { actions: local, reducer: localReducer, createMiddleware: createLocalMidd
|
|
|
14
12
|
}
|
|
15
13
|
},
|
|
16
14
|
effects: (dispatch, getState) => {
|
|
17
|
-
return {
|
|
15
|
+
return {
|
|
16
|
+
incEffect() {
|
|
17
|
+
dispatch(local.inc());
|
|
18
|
+
}
|
|
19
|
+
};
|
|
18
20
|
}
|
|
19
21
|
});
|
|
20
22
|
function createMyStore() {
|
|
21
|
-
return
|
|
23
|
+
return createStore(combineReducers({
|
|
22
24
|
local: localReducer,
|
|
23
|
-
}),
|
|
25
|
+
}), applyMiddleware(createLocalMiddleware(100)));
|
|
24
26
|
}
|
|
25
27
|
let store = createMyStore();
|
|
26
28
|
beforeEach(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redux-sacala.spec.js","sourceRoot":"","sources":["../src/redux-sacala.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"redux-sacala.spec.js","sourceRoot":"","sources":["../src/redux-sacala.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,eAAe,EACf,eAAe,GAClB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAUlD,MAAM,EACF,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,YAAY,EACrB,gBAAgB,EAAE,qBAAqB,GAC1C,GAAG,gBAAgB,EAAmB,CAAC;IACpC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;IACrB,OAAO,EAAE;QACL,GAAG,CAAC,KAAK;YACL,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACtC,CAAC;QACD,GAAG,CAAC,CAAC,EAAE,KAAa;YAChB,OAAO,EAAE,KAAK,EAAE,CAAC;QACrB,CAAC;KACJ;IACD,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAC5B,OAAO;YACH,SAAS;gBACL,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1B,CAAC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,SAAS,aAAa;IAClB,OAAO,WAAW,CAAC,eAAe,CAAC;QAC/B,KAAK,EAAE,YAAY;KACtB,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC;AAE5B,UAAU,CAAC,GAAG,EAAE;IACZ,KAAK,GAAG,aAAa,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/jest.config.js
ADDED
package/package.json
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "redux-sacala",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Andrey Monkin",
|
|
6
6
|
"email": "monkin.andrey@gmail.com"
|
|
7
7
|
},
|
|
8
|
+
"module": "build/redux-sacala.js",
|
|
8
9
|
"main": "build/redux-sacala.js",
|
|
9
10
|
"types": "build/redux-sacala.d.ts",
|
|
10
11
|
"peerDependencies": {
|
|
11
12
|
"redux": "^4.2.1"
|
|
12
13
|
},
|
|
13
14
|
"devDependencies": {
|
|
14
|
-
"typescript": "5.
|
|
15
|
-
"jest": "29.
|
|
16
|
-
"@types/jest": "29.5.
|
|
17
|
-
"
|
|
18
|
-
"@babel/core": "7.22.5",
|
|
19
|
-
"@babel/preset-env": "7.22.5",
|
|
20
|
-
"@babel/preset-typescript": "7.22.5"
|
|
15
|
+
"typescript": "5.7.2",
|
|
16
|
+
"jest": "29.7.0",
|
|
17
|
+
"@types/jest": "29.5.14",
|
|
18
|
+
"ts-jest": "29.2.5"
|
|
21
19
|
},
|
|
22
20
|
"scripts": {
|
|
23
|
-
"
|
|
21
|
+
"prepublishOnly": "jest src && tsc",
|
|
24
22
|
"test": "jest src"
|
|
25
23
|
}
|
|
26
24
|
}
|
package/src/redux-sacala.spec.ts
CHANGED
package/src/redux-sacala.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Dispatch, Action, Reducer, Middleware, AnyAction,
|
|
1
|
+
import { Dispatch, Action, Reducer, Middleware, AnyAction, MiddlewareAPI } from "redux";
|
|
2
2
|
|
|
3
3
|
type UnknownToUndefined<T> = unknown extends T ? undefined : T;
|
|
4
4
|
|
|
@@ -89,7 +89,7 @@ export function createReduxBlock<GlobalState, ExtraArgument = undefined>() {
|
|
|
89
89
|
return function applyConfig<
|
|
90
90
|
Name extends (keyof GlobalState) & string,
|
|
91
91
|
Actions extends ActionMap<GlobalState[Name]>,
|
|
92
|
-
Effects extends EffectsMap<GlobalState, ExtraArgument
|
|
92
|
+
Effects extends EffectsMap<GlobalState, ExtraArgument>,
|
|
93
93
|
>({ name, initial, actions, effects }: {
|
|
94
94
|
name: Name;
|
|
95
95
|
initial: GlobalState[Name];
|
|
@@ -98,9 +98,8 @@ export function createReduxBlock<GlobalState, ExtraArgument = undefined>() {
|
|
|
98
98
|
}): {
|
|
99
99
|
name: Name;
|
|
100
100
|
reducer: Reducer<GlobalState[Name]>;
|
|
101
|
-
createMiddleware: MiddlewareCreator<ExtraArgument>;
|
|
102
101
|
actions: ActionCreatorMap<Actions> & EffectsCreatorMap<GlobalState, ExtraArgument, Effects>;
|
|
103
|
-
} {
|
|
102
|
+
} & ({} extends ReturnType<Effects> ? {} : { createMiddleware: MiddlewareCreator<ExtraArgument>; }) {
|
|
104
103
|
const actionCreators = Object.keys(actions).reduce((r, key) => {
|
|
105
104
|
r[key] = createActionCreator(`${name}/${key}`);
|
|
106
105
|
return r;
|
package/tsconfig.json
CHANGED