react-hook-core 0.3.1 → 0.3.3

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/search.js CHANGED
@@ -163,7 +163,6 @@ function changePage(com, pageIndex, pageSize) {
163
163
  }
164
164
  exports.changePage = changePage;
165
165
  function optimizeFilter(obj, searchable, fields) {
166
- var sLimit = searchable.limit;
167
166
  obj.fields = fields;
168
167
  if (searchable.pageIndex && searchable.pageIndex > 1) {
169
168
  obj.page = searchable.pageIndex;
@@ -171,12 +170,7 @@ function optimizeFilter(obj, searchable, fields) {
171
170
  else {
172
171
  delete obj.page;
173
172
  }
174
- if (sLimit) {
175
- obj.limit = searchable.limit;
176
- }
177
- else {
178
- obj.limit = searchable.pageSize;
179
- }
173
+ obj.limit = searchable.pageSize;
180
174
  if (searchable.appendMode && searchable.initPageSize !== searchable.pageSize) {
181
175
  obj.firstLimit = searchable.initPageSize;
182
176
  }
@@ -418,7 +412,10 @@ function removeFormatUrl(url) {
418
412
  var startParams = url.indexOf('?');
419
413
  return startParams !== -1 ? url.substring(0, startParams) : url;
420
414
  }
421
- function addParametersIntoUrl(ft, isFirstLoad, fields, limit) {
415
+ function getPrefix(url) {
416
+ return url.indexOf("?") >= 0 ? "&" : "?";
417
+ }
418
+ function addParametersIntoUrl(ft, isFirstLoad, page, fields, limit) {
422
419
  if (!isFirstLoad) {
423
420
  if (!fields || fields.length === 0) {
424
421
  fields = 'fields';
@@ -426,6 +423,11 @@ function addParametersIntoUrl(ft, isFirstLoad, fields, limit) {
426
423
  if (!limit || limit.length === 0) {
427
424
  limit = 'limit';
428
425
  }
426
+ if (page && page > 1) {
427
+ if (!ft.page || ft.page <= 1) {
428
+ ft.page = page;
429
+ }
430
+ }
429
431
  var pageIndex = ft.page;
430
432
  if (pageIndex && !isNaN(pageIndex) && pageIndex <= 1) {
431
433
  delete ft.page;
@@ -441,31 +443,16 @@ function addParametersIntoUrl(ft, isFirstLoad, fields, limit) {
441
443
  if (typeof objValue === 'string' || typeof objValue === 'number') {
442
444
  if (key === limit) {
443
445
  if (objValue !== resources.limit) {
444
- if (url.indexOf('?') === -1) {
445
- url += "?" + key + "=" + objValue;
446
- }
447
- else {
448
- url += "&" + key + "=" + objValue;
449
- }
446
+ url += getPrefix(url) + (key + "=" + objValue);
450
447
  }
451
448
  }
452
449
  else {
453
- if (url.indexOf('?') === -1) {
454
- url += "?" + key + "=" + objValue;
455
- }
456
- else {
457
- url += "&" + key + "=" + objValue;
458
- }
450
+ url += getPrefix(url) + (key + "=" + objValue);
459
451
  }
460
452
  }
461
453
  else if (typeof objValue === 'object') {
462
454
  if (objValue instanceof Date) {
463
- if (url.indexOf('?') === -1) {
464
- url += "?" + key + "=" + objValue.toISOString();
465
- }
466
- else {
467
- url += "&" + key + "=" + objValue.toISOString();
468
- }
455
+ url += getPrefix(url) + (key + "=" + objValue.toISOString());
469
456
  }
470
457
  else {
471
458
  if (Array.isArray(objValue)) {
@@ -480,12 +467,7 @@ function addParametersIntoUrl(ft, isFirstLoad, fields, limit) {
480
467
  strs.push(subValue.toString());
481
468
  }
482
469
  }
483
- if (url.indexOf('?') === -1) {
484
- url += "?" + key + "=" + strs.join(',');
485
- }
486
- else {
487
- url += "&" + key + "=" + strs.join(',');
488
- }
470
+ url += getPrefix(url) + (key + "=" + strs.join(','));
489
471
  }
490
472
  }
491
473
  else {
@@ -493,21 +475,11 @@ function addParametersIntoUrl(ft, isFirstLoad, fields, limit) {
493
475
  for (var _b = 0, keysLvl2_1 = keysLvl2; _b < keysLvl2_1.length; _b++) {
494
476
  var key2 = keysLvl2_1[_b];
495
477
  var objValueLvl2 = objValue[key2];
496
- if (url.indexOf('?') === -1) {
497
- if (objValueLvl2 instanceof Date) {
498
- url += "?" + key + "." + key2 + "=" + objValueLvl2.toISOString();
499
- }
500
- else {
501
- url += "?" + key + "." + key2 + "=" + objValueLvl2;
502
- }
478
+ if (objValueLvl2 instanceof Date) {
479
+ url += getPrefix(url) + (key + "." + key2 + "=" + objValueLvl2.toISOString());
503
480
  }
504
481
  else {
505
- if (objValueLvl2 instanceof Date) {
506
- url += "&" + key + "." + key2 + "=" + objValueLvl2.toISOString();
507
- }
508
- else {
509
- url += "&" + key + "." + key2 + "=" + objValueLvl2;
510
- }
482
+ url += getPrefix(url) + (key + "." + key2 + "=" + objValueLvl2);
511
483
  }
512
484
  }
513
485
  }
@@ -519,7 +491,7 @@ function addParametersIntoUrl(ft, isFirstLoad, fields, limit) {
519
491
  var p = 'http://';
520
492
  var loc = window.location.href;
521
493
  if (loc.length >= 8) {
522
- var ss = loc.substr(0, 8);
494
+ var ss = loc.substring(0, 8);
523
495
  if (ss === 'https://') {
524
496
  p = 'https://';
525
497
  }
package/lib/useSearch.js CHANGED
@@ -40,7 +40,6 @@ exports.callSearch = function (se, search3, showResults3, searchError3, lc, next
40
40
  var fields = se.fields;
41
41
  delete se['page'];
42
42
  delete se['fields'];
43
- delete se['limit'];
44
43
  delete se['firstLimit'];
45
44
  search3(s, limit, next, fields).then(function (sr) {
46
45
  showResults3(s, sr, lc);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-hook-core",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "react",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",
package/src/core.ts CHANGED
@@ -80,7 +80,7 @@ export function createDiffStatus(status?: DiffStatusConfig): DiffStatusConfig {
80
80
  export interface Filter {
81
81
  q?: string;
82
82
  page?: number;
83
- limit?: number;
83
+ limit: number;
84
84
  firstLimit?: number;
85
85
  fields?: string[];
86
86
  sort?: string;
package/src/route.ts CHANGED
@@ -1,6 +1,7 @@
1
+ import { Filter } from "./core";
1
2
  import * as qs from "query-string";
2
3
 
3
- export function buildFromUrl<S>(modelT?: S): S {
4
+ export function buildFromUrl<S extends Filter>(modelT?: S): S {
4
5
  return buildParameters<S>(window.location.search, modelT);
5
6
  }
6
7
  export function buildParameters<T>(url: string, model?: T): T {
package/src/search.ts CHANGED
@@ -9,7 +9,7 @@ export class resources {
9
9
  }
10
10
  interface Filter {
11
11
  page?: number;
12
- limit?: number;
12
+ limit: number;
13
13
  firstLimit?: number;
14
14
  fields?: string[];
15
15
  sort?: string;
@@ -40,8 +40,8 @@ export interface Sortable {
40
40
 
41
41
  export interface Pagination {
42
42
  initPageSize?: number;
43
- pageSize?: number;
44
- limit?: number;
43
+ pageSize: number;
44
+ // limit: number;
45
45
  pageIndex?: number;
46
46
  total?: number;
47
47
  pages?: number;
@@ -192,18 +192,14 @@ export function changePage(com: Pagination, pageIndex: number, pageSize: number)
192
192
  com.append = false;
193
193
  }
194
194
  export function optimizeFilter<S extends Filter>(obj: S, searchable: Searchable, fields?: string[]): S {
195
- const sLimit = searchable.limit;
195
+ // const sLimit = searchable.limit;
196
196
  obj.fields = fields;
197
197
  if (searchable.pageIndex && searchable.pageIndex > 1) {
198
198
  obj.page = searchable.pageIndex;
199
199
  } else {
200
200
  delete obj.page;
201
201
  }
202
- if (sLimit){
203
- obj.limit = searchable.limit;
204
- }else{
205
- obj.limit = searchable.pageSize;
206
- }
202
+ obj.limit = searchable.pageSize;
207
203
 
208
204
  if (searchable.appendMode && searchable.initPageSize !== searchable.pageSize) {
209
205
  obj.firstLimit = searchable.initPageSize;
@@ -216,7 +212,7 @@ export function optimizeFilter<S extends Filter>(obj: S, searchable: Searchable,
216
212
  delete obj.sort;
217
213
  }
218
214
  if(searchable) {
219
- mapObjects(obj, searchable as S);
215
+ mapObjects(obj, searchable as any);
220
216
  }
221
217
  return obj;
222
218
  }
@@ -444,7 +440,10 @@ function removeFormatUrl(url: string): string {
444
440
  }
445
441
 
446
442
 
447
- export function addParametersIntoUrl<S extends Filter>(ft: S, isFirstLoad?: boolean, fields?: string, limit?: string): void {
443
+ function getPrefix(url: string): string {
444
+ return url.indexOf("?") >= 0 ? "&" : "?"
445
+ }
446
+ export function addParametersIntoUrl<S extends Filter>(ft: S, isFirstLoad?: boolean, page?: number, fields?: string, limit?: string): void {
448
447
  if (!isFirstLoad) {
449
448
  if (!fields || fields.length === 0) {
450
449
  fields = 'fields';
@@ -452,6 +451,11 @@ export function addParametersIntoUrl<S extends Filter>(ft: S, isFirstLoad?: bool
452
451
  if (!limit || limit.length === 0) {
453
452
  limit = 'limit';
454
453
  }
454
+ if (page && page > 1) {
455
+ if (!ft.page || ft.page <= 1) {
456
+ ft.page = page;
457
+ }
458
+ }
455
459
  const pageIndex = ft.page;
456
460
  if (pageIndex && !isNaN(pageIndex) && pageIndex <= 1) {
457
461
  delete ft.page;
@@ -466,30 +470,18 @@ export function addParametersIntoUrl<S extends Filter>(ft: S, isFirstLoad?: bool
466
470
  if (typeof objValue === 'string' || typeof objValue === 'number') {
467
471
  if (key === limit) {
468
472
  if (objValue !== resources.limit) {
469
- if (url.indexOf('?') === -1) {
470
- url += `?${key}=${objValue}`;
471
- } else {
472
- url += `&${key}=${objValue}`;
473
- }
473
+ url += getPrefix(url) + `${key}=${objValue}`;
474
474
  }
475
475
  } else {
476
- if (url.indexOf('?') === -1) {
477
- url += `?${key}=${objValue}`;
478
- } else {
479
- url += `&${key}=${objValue}`;
480
- }
476
+ url += getPrefix(url) + `${key}=${objValue}`;
481
477
  }
482
478
  } else if (typeof objValue === 'object') {
483
479
  if (objValue instanceof Date) {
484
- if (url.indexOf('?') === -1) {
485
- url += `?${key}=${objValue.toISOString()}`;
486
- } else {
487
- url += `&${key}=${objValue.toISOString()}`;
488
- }
480
+ url += getPrefix(url) + `${key}=${objValue.toISOString()}`;
489
481
  } else {
490
482
  if (Array.isArray(objValue)) {
491
483
  if (objValue.length > 0) {
492
- const strs = [];
484
+ const strs: string[] = [];
493
485
  for (const subValue of objValue) {
494
486
  if (typeof subValue === 'string') {
495
487
  strs.push(subValue);
@@ -497,28 +489,16 @@ export function addParametersIntoUrl<S extends Filter>(ft: S, isFirstLoad?: bool
497
489
  strs.push(subValue.toString());
498
490
  }
499
491
  }
500
- if (url.indexOf('?') === -1) {
501
- url += `?${key}=${strs.join(',')}`;
502
- } else {
503
- url += `&${key}=${strs.join(',')}`;
504
- }
492
+ url += getPrefix(url) + `${key}=${strs.join(',')}`;
505
493
  }
506
494
  } else {
507
495
  const keysLvl2 = Object.keys(objValue);
508
496
  for (const key2 of keysLvl2) {
509
497
  const objValueLvl2 = objValue[key2];
510
- if (url.indexOf('?') === -1) {
511
- if (objValueLvl2 instanceof Date) {
512
- url += `?${key}.${key2}=${objValueLvl2.toISOString()}`;
513
- } else {
514
- url += `?${key}.${key2}=${objValueLvl2}`;
515
- }
498
+ if (objValueLvl2 instanceof Date) {
499
+ url += getPrefix(url) + `${key}.${key2}=${objValueLvl2.toISOString()}`;
516
500
  } else {
517
- if (objValueLvl2 instanceof Date) {
518
- url += `&${key}.${key2}=${objValueLvl2.toISOString()}`;
519
- } else {
520
- url += `&${key}.${key2}=${objValueLvl2}`;
521
- }
501
+ url += getPrefix(url) + `${key}.${key2}=${objValueLvl2}`;
522
502
  }
523
503
  }
524
504
  }
@@ -530,7 +510,7 @@ export function addParametersIntoUrl<S extends Filter>(ft: S, isFirstLoad?: bool
530
510
  let p = 'http://';
531
511
  const loc = window.location.href;
532
512
  if (loc.length >= 8) {
533
- const ss = loc.substr(0, 8);
513
+ const ss = loc.substring(0, 8);
534
514
  if (ss === 'https://') {
535
515
  p = 'https://';
536
516
  }
package/src/useSearch.ts CHANGED
@@ -13,7 +13,7 @@ export interface Searchable extends Pagination, Sortable {
13
13
  }
14
14
  interface Filter {
15
15
  page?: number;
16
- limit?: number;
16
+ limit: number;
17
17
  firstLimit?: number;
18
18
  fields?: string[];
19
19
  sort?: string;
@@ -39,7 +39,7 @@ export const callSearch = <T, S extends Filter>(se: S, search3: (s: S, limit?: n
39
39
  const fields = se.fields;
40
40
  delete se['page'];
41
41
  delete se['fields'];
42
- delete se['limit'];
42
+ // delete se['limit'];
43
43
  delete se['firstLimit'];
44
44
  search3(s, limit, next, fields).then(sr => {
45
45
  showResults3(s, sr, lc);
@@ -74,7 +74,7 @@ export interface SearchComponentParam<T, M extends Filter> {
74
74
  appendMode?: boolean;
75
75
  pageSizes?: number[];
76
76
  pageIndex?: number;
77
- pageSize?: number;
77
+ pageSize: number;
78
78
  initPageSize?: number;
79
79
  pageMaxSize?: number;
80
80
  ignoreUrlParam?: boolean;
@@ -303,7 +303,7 @@ export const useCoreSearch = <T, S extends Filter, ST>(
303
303
  const runSearch = doSearch;
304
304
  if (auto) {
305
305
  setTimeout(() => {
306
- runSearch((obj2 as Searchable), true);
306
+ runSearch((obj2 as any), true);
307
307
  }, 0);
308
308
  }
309
309
  };
package/tsconfig.json CHANGED
@@ -17,7 +17,8 @@
17
17
  "dom",
18
18
  "es6",
19
19
  "es7",
20
- "es2017"
20
+ "es2017",
21
+ "es2022"
21
22
  ]
22
23
  },
23
24
  "include": [