@snack-uikit/utils 3.10.1 → 3.10.2-preview-23549ae9.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/README.md CHANGED
@@ -75,9 +75,9 @@
75
75
  ### Props
76
76
  | name | type | default value | description |
77
77
  |------|------|---------------|-------------|
78
- | options | `FilterStateOptions<TFilter>` | - | |
79
- | parser | `(jsonFilter: string) => TFilter` | - | |
80
- | serializer | `(filter: TFilter) => string` | - | |
78
+ | options | `DataPersistOptions<TData>` | - | |
79
+ | parser | `(jsonData: string) => TData` | - | |
80
+ | serializer | `(data: TData) => string` | - | |
81
81
  ## useModalOpenState
82
82
  `hook`
83
83
 
@@ -1,16 +1,16 @@
1
1
  import { StateProps } from './useSource';
2
- export type FilterStateOptions<T> = {
3
- filterQueryKey: string;
4
- filterLocalStorageKey: string;
2
+ export type DataPersistOptions<T> = {
3
+ queryKey: string;
4
+ localStorageKey: string;
5
5
  validateData(value: unknown): value is T;
6
6
  };
7
- type FilterStateProps<TFilter> = Omit<StateProps<TFilter>, 'source'> & {
8
- options?: FilterStateOptions<TFilter>;
9
- parser?(jsonFilter: string): TFilter;
10
- serializer?(filter: TFilter): string;
7
+ type DataPersistProps<TData> = Omit<StateProps<TData>, 'source'> & {
8
+ options?: DataPersistOptions<TData>;
9
+ parser?(jsonData: string): TData;
10
+ serializer?(data: TData): string;
11
11
  };
12
- export declare const useDataPersist: <TFilter>({ options, parser, serializer }: FilterStateProps<TFilter>) => {
13
- getDefaultFilter: () => NonNullable<TFilter> | null | undefined;
14
- setDataToStorages: (data: TFilter) => void;
12
+ export declare const useDataPersist: <TData>({ options, parser, serializer }: DataPersistProps<TData>) => {
13
+ getDefaultData: () => NonNullable<TData> | null | undefined;
14
+ setDataToStorages: (data: TData) => void;
15
15
  };
16
16
  export {};
@@ -13,8 +13,8 @@ const useDataPersist = _ref => {
13
13
  parser,
14
14
  serializer
15
15
  } = _ref;
16
- const querySource = (0, react_1.useMemo)(() => options ? new sources_1.QueryParamSource(options.filterQueryKey, options.validateData, parser, serializer) : undefined, [options, parser, serializer]);
17
- const localStorageSource = (0, react_1.useMemo)(() => options ? new sources_1.LocalStorageSource(options.filterLocalStorageKey, options.validateData) : undefined, [options]);
16
+ const querySource = (0, react_1.useMemo)(() => options ? new sources_1.QueryParamSource(options.queryKey, options.validateData, parser, serializer) : undefined, [options, parser, serializer]);
17
+ const localStorageSource = (0, react_1.useMemo)(() => options ? new sources_1.LocalStorageSource(options.localStorageKey, options.validateData) : undefined, [options]);
18
18
  const {
19
19
  getData: getLocalStorageData,
20
20
  setData: setLocalStorageData
@@ -31,12 +31,12 @@ const useDataPersist = _ref => {
31
31
  setLocalStorageData(data);
32
32
  setQueryParamsData(data);
33
33
  }, [setLocalStorageData, setQueryParamsData]);
34
- const getDefaultFilter = (0, react_1.useCallback)(() => {
34
+ const getDefaultData = (0, react_1.useCallback)(() => {
35
35
  const queryData = getQueryParamsData();
36
36
  return queryData ? queryData : getLocalStorageData();
37
37
  }, [getLocalStorageData, getQueryParamsData]);
38
38
  return {
39
- getDefaultFilter,
39
+ getDefaultData,
40
40
  setDataToStorages
41
41
  };
42
42
  };
@@ -1,16 +1,16 @@
1
1
  import { StateProps } from './useSource';
2
- export type FilterStateOptions<T> = {
3
- filterQueryKey: string;
4
- filterLocalStorageKey: string;
2
+ export type DataPersistOptions<T> = {
3
+ queryKey: string;
4
+ localStorageKey: string;
5
5
  validateData(value: unknown): value is T;
6
6
  };
7
- type FilterStateProps<TFilter> = Omit<StateProps<TFilter>, 'source'> & {
8
- options?: FilterStateOptions<TFilter>;
9
- parser?(jsonFilter: string): TFilter;
10
- serializer?(filter: TFilter): string;
7
+ type DataPersistProps<TData> = Omit<StateProps<TData>, 'source'> & {
8
+ options?: DataPersistOptions<TData>;
9
+ parser?(jsonData: string): TData;
10
+ serializer?(data: TData): string;
11
11
  };
12
- export declare const useDataPersist: <TFilter>({ options, parser, serializer }: FilterStateProps<TFilter>) => {
13
- getDefaultFilter: () => NonNullable<TFilter> | null | undefined;
14
- setDataToStorages: (data: TFilter) => void;
12
+ export declare const useDataPersist: <TData>({ options, parser, serializer }: DataPersistProps<TData>) => {
13
+ getDefaultData: () => NonNullable<TData> | null | undefined;
14
+ setDataToStorages: (data: TData) => void;
15
15
  };
16
16
  export {};
@@ -2,10 +2,8 @@ import { useCallback, useMemo } from 'react';
2
2
  import { LocalStorageSource, QueryParamSource } from './sources';
3
3
  import { useSource } from './useSource';
4
4
  export const useDataPersist = ({ options, parser, serializer }) => {
5
- const querySource = useMemo(() => options
6
- ? new QueryParamSource(options.filterQueryKey, options.validateData, parser, serializer)
7
- : undefined, [options, parser, serializer]);
8
- const localStorageSource = useMemo(() => (options ? new LocalStorageSource(options.filterLocalStorageKey, options.validateData) : undefined), [options]);
5
+ const querySource = useMemo(() => options ? new QueryParamSource(options.queryKey, options.validateData, parser, serializer) : undefined, [options, parser, serializer]);
6
+ const localStorageSource = useMemo(() => (options ? new LocalStorageSource(options.localStorageKey, options.validateData) : undefined), [options]);
9
7
  const { getData: getLocalStorageData, setData: setLocalStorageData } = useSource({
10
8
  source: querySource,
11
9
  });
@@ -16,9 +14,9 @@ export const useDataPersist = ({ options, parser, serializer }) => {
16
14
  setLocalStorageData(data);
17
15
  setQueryParamsData(data);
18
16
  }, [setLocalStorageData, setQueryParamsData]);
19
- const getDefaultFilter = useCallback(() => {
17
+ const getDefaultData = useCallback(() => {
20
18
  const queryData = getQueryParamsData();
21
19
  return queryData ? queryData : getLocalStorageData();
22
20
  }, [getLocalStorageData, getQueryParamsData]);
23
- return { getDefaultFilter, setDataToStorages };
21
+ return { getDefaultData, setDataToStorages };
24
22
  };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "title": "Utils",
7
- "version": "3.10.1",
7
+ "version": "3.10.2-preview-23549ae9.0",
8
8
  "sideEffects": [
9
9
  "*.css",
10
10
  "*.woff",
@@ -39,5 +39,5 @@
39
39
  "react-swipeable": "7.0.2",
40
40
  "uncontrollable": "8.0.4"
41
41
  },
42
- "gitHead": "2871794a46212ecbb3bc0002d7d8912310643332"
42
+ "gitHead": "e42f92b88079738efc564d7fa74f5fbd18e2fd6d"
43
43
  }
@@ -3,50 +3,49 @@ import { useCallback, useMemo } from 'react';
3
3
  import { LocalStorageSource, QueryParamSource } from './sources';
4
4
  import { StateProps, useSource } from './useSource';
5
5
 
6
- export type FilterStateOptions<T> = {
7
- filterQueryKey: string;
8
- filterLocalStorageKey: string;
6
+ export type DataPersistOptions<T> = {
7
+ queryKey: string;
8
+ localStorageKey: string;
9
9
  validateData(value: unknown): value is T;
10
10
  };
11
11
 
12
- type FilterStateProps<TFilter> = Omit<StateProps<TFilter>, 'source'> & {
13
- options?: FilterStateOptions<TFilter>;
14
- parser?(jsonFilter: string): TFilter;
15
- serializer?(filter: TFilter): string;
12
+ type DataPersistProps<TData> = Omit<StateProps<TData>, 'source'> & {
13
+ options?: DataPersistOptions<TData>;
14
+ parser?(jsonData: string): TData;
15
+ serializer?(data: TData): string;
16
16
  };
17
17
 
18
- export const useDataPersist = <TFilter>({ options, parser, serializer }: FilterStateProps<TFilter>) => {
18
+ export const useDataPersist = <TData>({ options, parser, serializer }: DataPersistProps<TData>) => {
19
19
  const querySource = useMemo(
20
20
  () =>
21
- options
22
- ? new QueryParamSource<TFilter>(options.filterQueryKey, options.validateData, parser, serializer)
23
- : undefined,
21
+ options ? new QueryParamSource<TData>(options.queryKey, options.validateData, parser, serializer) : undefined,
24
22
  [options, parser, serializer],
25
23
  );
26
24
  const localStorageSource = useMemo(
27
- () => (options ? new LocalStorageSource<TFilter>(options.filterLocalStorageKey, options.validateData) : undefined),
25
+ () => (options ? new LocalStorageSource<TData>(options.localStorageKey, options.validateData) : undefined),
28
26
  [options],
29
27
  );
30
28
 
31
- const { getData: getLocalStorageData, setData: setLocalStorageData } = useSource<TFilter>({
29
+ const { getData: getLocalStorageData, setData: setLocalStorageData } = useSource<TData>({
32
30
  source: querySource,
33
31
  });
34
- const { getData: getQueryParamsData, setData: setQueryParamsData } = useSource<TFilter>({
32
+
33
+ const { getData: getQueryParamsData, setData: setQueryParamsData } = useSource<TData>({
35
34
  source: localStorageSource,
36
35
  });
37
36
 
38
37
  const setDataToStorages = useCallback(
39
- (data: TFilter) => {
38
+ (data: TData) => {
40
39
  setLocalStorageData(data);
41
40
  setQueryParamsData(data);
42
41
  },
43
42
  [setLocalStorageData, setQueryParamsData],
44
43
  );
45
44
 
46
- const getDefaultFilter = useCallback(() => {
45
+ const getDefaultData = useCallback(() => {
47
46
  const queryData = getQueryParamsData();
48
47
  return queryData ? queryData : getLocalStorageData();
49
48
  }, [getLocalStorageData, getQueryParamsData]);
50
49
 
51
- return { getDefaultFilter, setDataToStorages };
50
+ return { getDefaultData, setDataToStorages };
52
51
  };