@j13b/react-state 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/LICENSE +201 -0
- package/NOTICE +16 -0
- package/README.md +60 -0
- package/dist/cjs/hooks/use_runner_error.d.ts +25 -0
- package/dist/cjs/hooks/use_runner_error.js +30 -0
- package/dist/cjs/hooks/use_runner_error_effect.d.ts +28 -0
- package/dist/cjs/hooks/use_runner_error_effect.js +35 -0
- package/dist/cjs/hooks/use_runner_feedback.d.ts +26 -0
- package/dist/cjs/hooks/use_runner_feedback.js +31 -0
- package/dist/cjs/hooks/use_runner_feedback_effect.d.ts +30 -0
- package/dist/cjs/hooks/use_runner_feedback_effect.js +37 -0
- package/dist/cjs/hooks/use_runner_progress.d.ts +21 -0
- package/dist/cjs/hooks/use_runner_progress.js +7 -0
- package/dist/cjs/hooks/use_runner_progress_effect.d.ts +31 -0
- package/dist/cjs/hooks/use_runner_progress_effect.js +38 -0
- package/dist/cjs/hooks/use_runner_status.d.ts +23 -0
- package/dist/cjs/hooks/use_runner_status.js +28 -0
- package/dist/cjs/hooks/use_runner_status_effect.d.ts +24 -0
- package/dist/cjs/hooks/use_runner_status_effect.js +31 -0
- package/dist/cjs/hooks/use_signal_value.d.ts +38 -0
- package/dist/cjs/hooks/use_signal_value.js +56 -0
- package/dist/cjs/hooks/use_signal_value_effect.d.ts +34 -0
- package/dist/cjs/hooks/use_signal_value_effect.js +60 -0
- package/dist/cjs/hooks/use_update.d.ts +14 -0
- package/dist/cjs/hooks/use_update.js +23 -0
- package/dist/cjs/index.d.ts +21 -0
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/package.json +3 -0
- package/dist/hooks/use_runner_error.d.ts +26 -0
- package/dist/hooks/use_runner_error.d.ts.map +1 -0
- package/dist/hooks/use_runner_error.js +32 -0
- package/dist/hooks/use_runner_error.js.map +1 -0
- package/dist/hooks/use_runner_error_effect.d.ts +29 -0
- package/dist/hooks/use_runner_error_effect.d.ts.map +1 -0
- package/dist/hooks/use_runner_error_effect.js +37 -0
- package/dist/hooks/use_runner_error_effect.js.map +1 -0
- package/dist/hooks/use_runner_feedback.d.ts +21 -0
- package/dist/hooks/use_runner_feedback.d.ts.map +1 -0
- package/dist/hooks/use_runner_feedback.js +27 -0
- package/dist/hooks/use_runner_feedback.js.map +1 -0
- package/dist/hooks/use_runner_feedback_effect.d.ts +25 -0
- package/dist/hooks/use_runner_feedback_effect.d.ts.map +1 -0
- package/dist/hooks/use_runner_feedback_effect.js +33 -0
- package/dist/hooks/use_runner_feedback_effect.js.map +1 -0
- package/dist/hooks/use_runner_progress.d.ts +3 -0
- package/dist/hooks/use_runner_progress.d.ts.map +1 -0
- package/dist/hooks/use_runner_progress.js +9 -0
- package/dist/hooks/use_runner_progress.js.map +1 -0
- package/dist/hooks/use_runner_progress_effect.d.ts +26 -0
- package/dist/hooks/use_runner_progress_effect.d.ts.map +1 -0
- package/dist/hooks/use_runner_progress_effect.js +34 -0
- package/dist/hooks/use_runner_progress_effect.js.map +1 -0
- package/dist/hooks/use_runner_status.d.ts +24 -0
- package/dist/hooks/use_runner_status.d.ts.map +1 -0
- package/dist/hooks/use_runner_status.js +30 -0
- package/dist/hooks/use_runner_status.js.map +1 -0
- package/dist/hooks/use_runner_status_effect.d.ts +25 -0
- package/dist/hooks/use_runner_status_effect.d.ts.map +1 -0
- package/dist/hooks/use_runner_status_effect.js +33 -0
- package/dist/hooks/use_runner_status_effect.js.map +1 -0
- package/dist/hooks/use_signal_value.d.ts +39 -0
- package/dist/hooks/use_signal_value.d.ts.map +1 -0
- package/dist/hooks/use_signal_value.js +51 -0
- package/dist/hooks/use_signal_value.js.map +1 -0
- package/dist/hooks/use_signal_value_effect.d.ts +35 -0
- package/dist/hooks/use_signal_value_effect.d.ts.map +1 -0
- package/dist/hooks/use_signal_value_effect.js +54 -0
- package/dist/hooks/use_signal_value_effect.js.map +1 -0
- package/dist/hooks/use_update.d.ts +15 -0
- package/dist/hooks/use_update.d.ts.map +1 -0
- package/dist/hooks/use_update.js +24 -0
- package/dist/hooks/use_update.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/package.json +79 -0
- package/src/__tests__/exports.test.ts +32 -0
- package/src/__tests__/hooks.test.tsx +242 -0
- package/src/hooks/use_runner_error.ts +29 -0
- package/src/hooks/use_runner_error_effect.ts +37 -0
- package/src/hooks/use_runner_feedback.ts +31 -0
- package/src/hooks/use_runner_feedback_effect.ts +40 -0
- package/src/hooks/use_runner_progress.ts +25 -0
- package/src/hooks/use_runner_progress_effect.ts +41 -0
- package/src/hooks/use_runner_status.ts +27 -0
- package/src/hooks/use_runner_status_effect.ts +33 -0
- package/src/hooks/use_signal_value.ts +61 -0
- package/src/hooks/use_signal_value_effect.ts +68 -0
- package/src/hooks/use_update.ts +21 -0
- package/src/index.ts +21 -0
- package/tsconfig.json +23 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useReducer } from 'react';
|
|
2
|
+
|
|
3
|
+
const updateReducer = (num: number): number => (num + 1) % 1_000_000;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A hook that provides a way to force component re-renders.
|
|
7
|
+
*
|
|
8
|
+
* @returns A function that triggers a re-render when called
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* const update = useUpdate();
|
|
13
|
+
*
|
|
14
|
+
* // Force a re-render
|
|
15
|
+
* update();
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export const useUpdate = () => {
|
|
19
|
+
const [, update] = useReducer(updateReducer, 0);
|
|
20
|
+
return update as () => void;
|
|
21
|
+
};
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React bindings for @j13b/state.
|
|
3
|
+
* Hooks for subscribing to Signals, Runners, and Broadcasts from React
|
|
4
|
+
* components. Requires react and @j13b/state as peer dependencies.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { useSignalValue, useRunnerStatus } from '@j13b/react-state';
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export * from './hooks/use_signal_value.js';
|
|
12
|
+
export * from './hooks/use_signal_value_effect.js';
|
|
13
|
+
export * from './hooks/use_update.js';
|
|
14
|
+
export * from './hooks/use_runner_status.js';
|
|
15
|
+
export * from './hooks/use_runner_status_effect.js';
|
|
16
|
+
export * from './hooks/use_runner_error.js';
|
|
17
|
+
export * from './hooks/use_runner_error_effect.js';
|
|
18
|
+
export * from './hooks/use_runner_progress.js';
|
|
19
|
+
export * from './hooks/use_runner_progress_effect.js';
|
|
20
|
+
export * from './hooks/use_runner_feedback.js';
|
|
21
|
+
export * from './hooks/use_runner_feedback_effect.js';
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ESNext",
|
|
5
|
+
"moduleResolution": "Bundler",
|
|
6
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
7
|
+
"jsx": "react-jsx",
|
|
8
|
+
"strict": true,
|
|
9
|
+
"noImplicitAny": false,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"skipLibCheck": true,
|
|
12
|
+
"forceConsistentCasingInFileNames": true,
|
|
13
|
+
"isolatedModules": true,
|
|
14
|
+
"resolveJsonModule": true,
|
|
15
|
+
"declaration": true,
|
|
16
|
+
"declarationMap": true,
|
|
17
|
+
"sourceMap": true,
|
|
18
|
+
"outDir": "./dist",
|
|
19
|
+
"rootDir": "./src"
|
|
20
|
+
},
|
|
21
|
+
"include": ["src/**/*"],
|
|
22
|
+
"exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.test.tsx", "**/__tests__/**"]
|
|
23
|
+
}
|