@arc-js/core 0.0.20 → 0.0.30

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/auto-rooting.jsx CHANGED
@@ -2,16 +2,12 @@ import * as autoRoutes from './routes-utils';
2
2
  import { useRootingActions } from './rooting.hooks';
3
3
  import React from "react";
4
4
 
5
- /**
6
- * Permet d'initialiser toutes les routes de l'application
7
- * @returns RouteObject[]
8
- */
9
5
  export default () => {
10
6
  let routes = autoRoutes.routes.map(route => ({
11
7
  path: route.path,
12
- element: route.layout ? /*#__PURE__*/React.createElement(route.layout, null, /*#__PURE__*/React.createElement(route.component, null)) : /*#__PURE__*/React.createElement(route.component, null),
8
+ element: route.layout ? React.createElement(route.layout, null, React.createElement(route.component, null)) : React.createElement(route.component, null),
13
9
  ...(!!route.error ? {
14
- errorElement: /*#__PURE__*/React.createElement(route.error, null)
10
+ errorElement: React.createElement(route.error, null)
15
11
  } : {})
16
12
  }));
17
13
  let homeRoute = undefined;
package/auto-rooting.tsx CHANGED
@@ -5,10 +5,7 @@ import { useRootingActions } from './rooting.hooks';
5
5
  import { RouteDefinition } from './types';
6
6
 
7
7
 
8
- /**
9
- * Permet d'initialiser toutes les routes de l'application
10
- * @returns RouteObject[]
11
- */
8
+
12
9
  export default () => {
13
10
  let routes: RouteObject[] = autoRoutes.routes.map((route) => ({
14
11
  path: route.path,
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.0.20",
6
+ "version": "0.0.30",
7
7
  "description": "CORE est un module de routage intelligent et auto-configuré pour les applications React avec TypeScript/Javascript. Il fournit un système de routage basé sur la structure de fichiers, des hooks de navigation avancés et une configuration minimale pour les applications modulaires.",
8
8
  "main": "index.js",
9
9
  "keywords": [],
package/rooting.hooks.jsx CHANGED
@@ -2,49 +2,15 @@ import { useEffect } from 'react';
2
2
  import { useLocation, useNavigate, useParams, generatePath, createSearchParams, matchPath } from 'react-router-dom';
3
3
  import { getLang } from './utils';
4
4
  import { qust } from '@arc-js/qust';
5
- import React from "react";
5
+ import React from "react"
6
6
 
7
7
 
8
- /**
9
- * Interface du paramètre de configuration de la fonction "goAndReloadRoute" .
10
- */
11
-
12
- ;
13
-
14
- /**
15
- * Cette fonction permet de recuperer tous les parameters de l'url
16
- */
17
8
  function getParams() {
18
9
  const queryString = window.location.search;
19
10
  const urlParams = new URLSearchParams(queryString);
20
11
  return urlParams;
21
12
  }
22
- ;
23
- /**
24
- * Interface du paramètre de configuration de la fonction "goAndReloadRoute" .
25
- */
26
-
27
- ;
28
- /**
29
- * Interface du paramètre de configuration de la fonction "resolveRoute" .
30
- */
31
13
 
32
- ;
33
- /**
34
- * Interface du paramètre de configuration de la fonction "goToRoute" .
35
- */
36
-
37
- ;
38
- /**
39
- * Interface de retour du hooks "useRootingActions".
40
- */
41
-
42
- /**
43
- * Cette fonction permet de recuperer une route en fonction de son path, ses paramètres et ses query parameters.
44
- * @param config - la donnée de la route à ressortir
45
- * @param incorrectUrl - la route qui sera prise en compte si le path n'existe pas
46
- * @returns string
47
- */
48
14
  export function nativeResolveRoute(config, incorrectUrl = "") {
49
15
  try {
50
16
  const params = typeof config?.params === 'object' && Array.isArray(config?.params) === false ? config?.params : {};
@@ -73,45 +39,15 @@ export function nativeResolveRoute(config, incorrectUrl = "") {
73
39
  return incorrectUrl;
74
40
  }
75
41
  }
76
- ;
77
42
 
78
- /**
79
- * Ce hooks contient toutes les actions necessaires pour le routing.
80
- * - recuperer les paramètres de la route
81
- * - Recuperer les query parameters de la route
82
- * - naviguer au travers des routes
83
- * - recuperer une route en fonction de son path, ses paramètres et ses query parameters
84
- * - naviguer vers une route en fonction de son path, ses paramètres et ses query parameters
85
- * - naviguer vers une route en fonction de son path, ses paramètres et ses query parameters en rafraîchissant le navigateur
86
- * - recuperer l'url de la route courante
87
- * - recuperer la chaîne de caractères contenant les query parameters
88
- * @type {() => RootingActionReturns}
89
- * @returns {RootingActionReturns} Resultat du hooks.
90
- */
91
43
  export const useRootingActions = () => {
92
44
  const location = useLocation();
93
45
  const pathname = location.pathname;
94
- /**
95
- * L'ensemble des parametres de la route
96
- * @type {Readonly<Params<string>>}
97
- */
98
46
  const params = useParams();
99
- /**
100
- * L'url de la route courante
101
- * @type {string}
102
- */
103
47
  const pathName = useLocation().pathname;
104
- /**
105
- * La chaîne de caractères contenant les query parameters
106
- * @type {string}
107
- */
108
48
  const urlSearch = useLocation().search;
109
49
  const paramsData = new URLSearchParams(useLocation().search);
110
50
 
111
- /**
112
- * L'ensemble des query parameters de la route
113
- * @type {any}
114
- */
115
51
  let queries = {};
116
52
  for (const key of paramsData.keys()) {
117
53
  const valueParamsData = paramsData.getAll(key).length === 1 ? paramsData.getAll(key)[0] : paramsData.getAll(key);
@@ -122,21 +58,10 @@ export const useRootingActions = () => {
122
58
  }
123
59
  const navigate = useNavigate();
124
60
 
125
- /**
126
- * Cette fonction permet de recuperer une route en fonction de son path, ses paramètres et ses query parameters.
127
- * @param {ConfigResolveRoute} config - Paramètre de configuration ou de paramètrage.
128
- * @type {(config: ConfigResolveRoute) => string}
129
- * @returns {string} Resultat de la fonction.
130
- */
131
61
  const resolveRoute = config => {
132
62
  const incorrectUrl = pathName;
133
63
  return nativeResolveRoute(config, incorrectUrl);
134
64
  };
135
- /**
136
- * Cette fonction permet de naviguer vers une route en fonction de son path, ses paramètres et ses query parameters.
137
- * @param {ConfigGoToRoute} config - Paramètre de configuration ou de paramètrage.
138
- * @type {(config: ConfigGoToRoute) => void}
139
- */
140
65
  const goToRoute = (config, loaderHandler = () => {}) => {
141
66
  loaderHandler = !!loaderHandler ? loaderHandler : () => {};
142
67
  if (!config?.queries) {
@@ -169,11 +94,6 @@ export const useRootingActions = () => {
169
94
  });
170
95
  }
171
96
  };
172
- /**
173
- * Cette fonction permet de naviguer vers une route en fonction de son path, ses paramètres et ses query parameters en rafraîchissant le navigateur.
174
- * @param {ConfigGoAndReloadRoute} config - Paramètre de configuration ou de paramètrage.
175
- * @type {(config: ConfigGoAndReloadRoute) => void}
176
- */
177
97
  const goAndReloadRoute = (config, loaderHandler = () => {}) => {
178
98
  loaderHandler = !!loaderHandler ? loaderHandler : () => {};
179
99
  if (!config?.queries) {
@@ -188,11 +108,7 @@ export const useRootingActions = () => {
188
108
  lang
189
109
  };
190
110
  config.queries = Object.fromEntries(Object.entries(config.queries || {}).filter(([key, value]) => value !== undefined && value !== null));
191
- config.params = Object.fromEntries(Object.entries(config.params || {}).filter(([key, value]) => value !== undefined && value !== null));
192
- // goToRoute({
193
- // ...config,
194
- // refreshPage: false,
195
- // })
111
+ config.params = Object.fromEntries(Object.entries(config.params || {}).filter(([key, value]) => value !== undefined && value !== null))
196
112
  const url = resolveRoute(config);
197
113
  window.location = url;
198
114
  if (typeof !!config?.enableLoader === 'undefined' && typeof !!config?.enableLoader === 'boolean' && !!config?.enableLoader) {
package/rooting.hooks.tsx CHANGED
@@ -4,9 +4,7 @@ import { getLang } from './utils';
4
4
  import { qust, Qust } from '@arc-js/qust';
5
5
 
6
6
 
7
- /**
8
- * Interface du paramètre de configuration de la fonction "goAndReloadRoute" .
9
- */
7
+
10
8
  export interface ConfigGoToSpecificUrl {
11
9
  path?: string;
12
10
  queries?: any;
@@ -15,34 +13,26 @@ export interface ConfigGoToSpecificUrl {
15
13
  enableLoader?: boolean;
16
14
  };
17
15
 
18
- /**
19
- * Cette fonction permet de recuperer tous les parameters de l'url
20
- */
16
+
21
17
  function getParams() {
22
18
  const queryString = window.location.search;
23
19
  const urlParams = new URLSearchParams(queryString);
24
20
  return urlParams;
25
21
  };
26
- /**
27
- * Interface du paramètre de configuration de la fonction "goAndReloadRoute" .
28
- */
22
+
29
23
  export interface ConfigGoAndReloadRoute {
30
24
  path?: string;
31
25
  params?: any;
32
26
  queries?: any;
33
27
  enableLoader?: boolean;
34
28
  };
35
- /**
36
- * Interface du paramètre de configuration de la fonction "resolveRoute" .
37
- */
29
+
38
30
  export interface ConfigResolveRoute {
39
31
  path?: string;
40
32
  params?: any;
41
33
  queries?: any;
42
34
  };
43
- /**
44
- * Interface du paramètre de configuration de la fonction "goToRoute" .
45
- */
35
+
46
36
  export interface ConfigGoToRoute {
47
37
  path?: string;
48
38
  params?: any;
@@ -51,9 +41,7 @@ export interface ConfigGoToRoute {
51
41
  replace?: boolean;
52
42
  enableLoader?: boolean;
53
43
  };
54
- /**
55
- * Interface de retour du hooks "useRootingActions".
56
- */
44
+
57
45
  export interface RootingActionReturns {
58
46
  params: Readonly<Params<string>>;
59
47
  queries: any;
@@ -76,12 +64,7 @@ export interface RootingActionReturns {
76
64
  }
77
65
 
78
66
 
79
- /**
80
- * Cette fonction permet de recuperer une route en fonction de son path, ses paramètres et ses query parameters.
81
- * @param config - la donnée de la route à ressortir
82
- * @param incorrectUrl - la route qui sera prise en compte si le path n'existe pas
83
- * @returns string
84
- */
67
+
85
68
  export function nativeResolveRoute(config: ConfigResolveRoute, incorrectUrl: string = "") {
86
69
  try {
87
70
  const params = (
@@ -123,43 +106,19 @@ export function nativeResolveRoute(config: ConfigResolveRoute, incorrectUrl: str
123
106
  }
124
107
  };
125
108
 
126
- /**
127
- * Ce hooks contient toutes les actions necessaires pour le routing.
128
- * - recuperer les paramètres de la route
129
- * - Recuperer les query parameters de la route
130
- * - naviguer au travers des routes
131
- * - recuperer une route en fonction de son path, ses paramètres et ses query parameters
132
- * - naviguer vers une route en fonction de son path, ses paramètres et ses query parameters
133
- * - naviguer vers une route en fonction de son path, ses paramètres et ses query parameters en rafraîchissant le navigateur
134
- * - recuperer l'url de la route courante
135
- * - recuperer la chaîne de caractères contenant les query parameters
136
- * @type {() => RootingActionReturns}
137
- * @returns {RootingActionReturns} Resultat du hooks.
138
- */
109
+
139
110
  export const useRootingActions = () => {
140
111
  const location = useLocation();
141
112
  const pathname = location.pathname;
142
- /**
143
- * L'ensemble des parametres de la route
144
- * @type {Readonly<Params<string>>}
145
- */
113
+
146
114
  const params = useParams();
147
- /**
148
- * L'url de la route courante
149
- * @type {string}
150
- */
115
+
151
116
  const pathName = useLocation().pathname;
152
- /**
153
- * La chaîne de caractères contenant les query parameters
154
- * @type {string}
155
- */
117
+
156
118
  const urlSearch = useLocation().search;
157
119
  const paramsData = new URLSearchParams(useLocation().search);
158
120
 
159
- /**
160
- * L'ensemble des query parameters de la route
161
- * @type {any}
162
- */
121
+
163
122
  let queries: any = {};
164
123
  for (const key of paramsData.keys()) {
165
124
  const valueParamsData: any = (
@@ -172,21 +131,12 @@ export const useRootingActions = () => {
172
131
  }
173
132
  const navigate = useNavigate();
174
133
 
175
- /**
176
- * Cette fonction permet de recuperer une route en fonction de son path, ses paramètres et ses query parameters.
177
- * @param {ConfigResolveRoute} config - Paramètre de configuration ou de paramètrage.
178
- * @type {(config: ConfigResolveRoute) => string}
179
- * @returns {string} Resultat de la fonction.
180
- */
134
+
181
135
  const resolveRoute = (config: ConfigResolveRoute) => {
182
136
  const incorrectUrl = pathName;
183
137
  return nativeResolveRoute(config, incorrectUrl);
184
138
  };
185
- /**
186
- * Cette fonction permet de naviguer vers une route en fonction de son path, ses paramètres et ses query parameters.
187
- * @param {ConfigGoToRoute} config - Paramètre de configuration ou de paramètrage.
188
- * @type {(config: ConfigGoToRoute) => void}
189
- */
139
+
190
140
  const goToRoute = (
191
141
  config: ConfigGoToRoute,
192
142
  loaderHandler = () => {},
@@ -239,11 +189,7 @@ export const useRootingActions = () => {
239
189
  );
240
190
  }
241
191
  };
242
- /**
243
- * Cette fonction permet de naviguer vers une route en fonction de son path, ses paramètres et ses query parameters en rafraîchissant le navigateur.
244
- * @param {ConfigGoAndReloadRoute} config - Paramètre de configuration ou de paramètrage.
245
- * @type {(config: ConfigGoAndReloadRoute) => void}
246
- */
192
+
247
193
  const goAndReloadRoute = (
248
194
  config: ConfigGoAndReloadRoute,
249
195
  loaderHandler = () => {},
@@ -266,10 +212,10 @@ export const useRootingActions = () => {
266
212
  config.params = Object.fromEntries(
267
213
  Object.entries(config.params || {}).filter(([key, value]) => value !== undefined && value !== null)
268
214
  );
269
- // goToRoute({
270
- // ...config,
271
- // refreshPage: false,
272
- // })
215
+
216
+
217
+
218
+
273
219
  const url = resolveRoute(config);
274
220
 
275
221
  window.location = url as string & Location;