@etsoo/react 1.5.34 → 1.5.35

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/lib/index.d.ts CHANGED
@@ -89,5 +89,6 @@ export * from './states/UserState';
89
89
  export * from './uses/useCombinedRefs';
90
90
  export * from './uses/useDelayedExecutor';
91
91
  export * from './uses/useDimensions';
92
+ export * from './uses/useParamsEx';
92
93
  export * from './uses/useTimeout';
93
94
  export * from './uses/useWindowSize';
package/lib/index.js CHANGED
@@ -95,5 +95,6 @@ export * from './states/UserState';
95
95
  export * from './uses/useCombinedRefs';
96
96
  export * from './uses/useDelayedExecutor';
97
97
  export * from './uses/useDimensions';
98
+ export * from './uses/useParamsEx';
98
99
  export * from './uses/useTimeout';
99
100
  export * from './uses/useWindowSize';
@@ -0,0 +1,6 @@
1
+ import { DataTypes } from '@etsoo/shared';
2
+ /**
3
+ * Extended useParams of react-router-dom
4
+ * Provide exact type data
5
+ */
6
+ export declare function useParamsEx<T extends DataTypes.BasicTemplate>(template: T): DataTypes.BasicTemplateType<T>;
@@ -0,0 +1,12 @@
1
+ import { DomUtils } from '@etsoo/shared';
2
+ import { useParams } from 'react-router-dom';
3
+ /**
4
+ * Extended useParams of react-router-dom
5
+ * Provide exact type data
6
+ */
7
+ export function useParamsEx(template) {
8
+ // Get parameters
9
+ const params = useParams();
10
+ // Return
11
+ return DomUtils.dataAs(params, template, false);
12
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/react",
3
- "version": "1.5.34",
3
+ "version": "1.5.35",
4
4
  "description": "TypeScript ReactJs framework",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
package/src/index.ts CHANGED
@@ -102,5 +102,6 @@ export * from './states/UserState';
102
102
  export * from './uses/useCombinedRefs';
103
103
  export * from './uses/useDelayedExecutor';
104
104
  export * from './uses/useDimensions';
105
+ export * from './uses/useParamsEx';
105
106
  export * from './uses/useTimeout';
106
107
  export * from './uses/useWindowSize';
@@ -0,0 +1,14 @@
1
+ import { DataTypes, DomUtils } from '@etsoo/shared';
2
+ import { useParams } from 'react-router-dom';
3
+
4
+ /**
5
+ * Extended useParams of react-router-dom
6
+ * Provide exact type data
7
+ */
8
+ export function useParamsEx<T extends DataTypes.BasicTemplate>(template: T) {
9
+ // Get parameters
10
+ const params = useParams<{ [K in keyof T]: string }>();
11
+
12
+ // Return
13
+ return DomUtils.dataAs(params, template, false);
14
+ }