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.
@@ -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>
@@ -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 | undefined;
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 {};
@@ -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":"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"}
1
+ {"version":3,"file":"redux-sacala.js","sourceRoot":"","sources":["../src/redux-sacala.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const redux_1 = require("redux");
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 (0, redux_1.createStore)((0, redux_1.combineReducers)({
23
+ return createStore(combineReducers({
22
24
  local: localReducer,
23
- }), (0, redux_1.applyMiddleware)(createLocalMiddleware(100)));
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":";;AAAA,iCAKe;AACf,iDAAkD;AAUlD,MAAM,EACF,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,YAAY,EACrB,gBAAgB,EAAE,qBAAqB,GAC1C,GAAG,IAAA,+BAAgB,GAAmB,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,EAEN,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,SAAS,aAAa;IAClB,OAAO,IAAA,mBAAW,EAAC,IAAA,uBAAe,EAAC;QAC/B,KAAK,EAAE,YAAY;KACtB,CAAC,EAAE,IAAA,uBAAe,EAAC,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"}
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
@@ -0,0 +1,7 @@
1
+ /** @type {import('ts-jest').JestConfigWithTsJest} **/
2
+ module.exports = {
3
+ testEnvironment: "node",
4
+ transform: {
5
+ "^.+.tsx?$": ["ts-jest",{}],
6
+ },
7
+ };
package/package.json CHANGED
@@ -1,26 +1,24 @@
1
1
  {
2
2
  "name": "redux-sacala",
3
- "version": "0.0.17",
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.1.3",
15
- "jest": "29.5.0",
16
- "@types/jest": "29.5.2",
17
- "babel-jest": "29.5.0",
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
- "prepublish": "jest src && tsc",
21
+ "prepublishOnly": "jest src && tsc",
24
22
  "test": "jest src"
25
23
  }
26
24
  }
@@ -1,5 +1,4 @@
1
1
  import {
2
- Store,
3
2
  createStore,
4
3
  combineReducers,
5
4
  applyMiddleware,
@@ -31,7 +30,9 @@ const {
31
30
  },
32
31
  effects: (dispatch, getState) => {
33
32
  return {
34
-
33
+ incEffect() {
34
+ dispatch(local.inc());
35
+ }
35
36
  };
36
37
  }
37
38
  });
@@ -1,4 +1,4 @@
1
- import { Dispatch, Action, Reducer, Middleware, AnyAction, Store, MiddlewareAPI } from "redux";
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
@@ -3,7 +3,7 @@
3
3
  "strict": true,
4
4
  "noImplicitAny": true,
5
5
  "moduleResolution": "node",
6
- "module": "commonjs",
6
+ "module": "ES2015",
7
7
  "outDir": "build",
8
8
  "sourceMap": true,
9
9
  "declaration": true,
package/babel.config.js DELETED
@@ -1,6 +0,0 @@
1
- module.exports = {
2
- presets: [
3
- ["@babel/preset-env", { targets: { node: "current" } }],
4
- "@babel/preset-typescript"
5
- ],
6
- };