vue-context-storage 0.1.9 → 0.1.10

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.
Files changed (39) hide show
  1. package/dist/index.d.ts +411 -14
  2. package/dist/index.js +84 -71
  3. package/package.json +73 -83
  4. package/dist/collection.d.cts +0 -22
  5. package/dist/collection.d.ts +0 -22
  6. package/dist/handlers/query/helpers.d.cts +0 -45
  7. package/dist/handlers/query/helpers.d.ts +0 -45
  8. package/dist/handlers/query/index.d.cts +0 -31
  9. package/dist/handlers/query/index.d.ts +0 -31
  10. package/dist/handlers/query/transform-helpers.d.cts +0 -123
  11. package/dist/handlers/query/transform-helpers.d.ts +0 -123
  12. package/dist/handlers/query/types.d.cts +0 -103
  13. package/dist/handlers/query/types.d.ts +0 -103
  14. package/dist/handlers.d.cts +0 -15
  15. package/dist/handlers.d.ts +0 -15
  16. package/dist/index.cjs +0 -571
  17. package/dist/index.cjs.map +0 -1
  18. package/dist/index.d.cts +0 -14
  19. package/dist/index.js.map +0 -1
  20. package/dist/injectionSymbols.d.cts +0 -7
  21. package/dist/injectionSymbols.d.ts +0 -7
  22. package/dist/symbols.d.cts +0 -4
  23. package/dist/symbols.d.ts +0 -4
  24. package/src/collection.ts +0 -71
  25. package/src/components/ContextStorage.vue +0 -23
  26. package/src/components/ContextStorageActivator.vue +0 -20
  27. package/src/components/ContextStorageCollection.vue +0 -92
  28. package/src/components/ContextStorageProvider.vue +0 -38
  29. package/src/components.ts +0 -5
  30. package/src/handlers/query/helpers.ts +0 -134
  31. package/src/handlers/query/index.ts +0 -355
  32. package/src/handlers/query/transform-helpers.ts +0 -309
  33. package/src/handlers/query/types.ts +0 -125
  34. package/src/handlers.ts +0 -18
  35. package/src/index.ts +0 -44
  36. package/src/injectionSymbols.ts +0 -15
  37. package/src/plugin.ts +0 -16
  38. package/src/shims-vue.d.ts +0 -5
  39. package/src/symbols.ts +0 -4
@@ -1,103 +0,0 @@
1
- import { LocationQueryValue } from 'vue-router';
2
- import { MaybeRefOrGetter, UnwrapNestedRefs, WatchHandle } from 'vue';
3
- import { ContextStorageHandler, RegisterBaseOptions } from '../../handlers.ts';
4
- export type QueryValue = LocationQueryValue | LocationQueryValue[];
5
- export type DeepTransformValuesToLocationQueryValue<T> = {
6
- [K in keyof T]?: T[K] extends object ? T[K] extends Array<any> ? QueryValue : DeepTransformValuesToLocationQueryValue<T[K]> : QueryValue;
7
- };
8
- interface QueryHandlerSharedOptions {
9
- /**
10
- * Default: false
11
- *
12
- * If enabled - empty state will be preserved in query.
13
- *
14
- * Useful, when you have default values, and want to preserve empty state in query.
15
- * @example
16
- * ```
17
- * Options: {preserveEmptyState: true, prefix: 'filters'}
18
- *
19
- * When filters are empty we will get this in query string:
20
- *
21
- * /list?filters
22
- *
23
- * After page reload state will be not restored to default
24
- * ```
25
- *
26
- * @example
27
- * ```
28
- * Options: {preserveEmptyState: false, prefix: 'filters'}
29
- *
30
- * When filters are empty we will get this in query string:
31
- *
32
- * /list
33
- *
34
- * After page reload state will be restored to default
35
- * ```
36
- *
37
- * @example
38
- * ```
39
- * Options: {preserveEmptyState: true}
40
- *
41
- * When filters are empty we will get this in query string:
42
- *
43
- * /list?_
44
- *
45
- * After page reload state will be not restored to default.
46
- * Underscore (_) is default value for emptyPlaceholder option
47
- * ```
48
- */
49
- preserveEmptyState?: boolean;
50
- /**
51
- * Default: true
52
- *
53
- * If transform option is not passed, ref will be merged with query only by keys that exists in ref.
54
- */
55
- mergeOnlyExistingKeysWithoutTransform?: boolean;
56
- }
57
- export interface QueryHandlerBaseOptions extends QueryHandlerSharedOptions {
58
- /**
59
- * Default: replace
60
- *
61
- * Vue-router navigate mode.
62
- * Use push if you want to add new query to history.
63
- * Use replace if you want to replace current query without adding to history.
64
- */
65
- mode?: 'replace' | 'push';
66
- /**
67
- * Default: _
68
- *
69
- * Placeholder for empty state, used when preserveEmptyState is true and all ref values are empty.
70
- */
71
- emptyPlaceholder?: string;
72
- /**
73
- * Default: false
74
- *
75
- * If enabled - unused keys will be preserved in query.
76
- * Unused keys are keys, that are not exists in ref.
77
- */
78
- preserveUnusedKeys?: boolean;
79
- }
80
- export interface RegisterQueryHandlerBaseOptions<T> extends QueryHandlerSharedOptions {
81
- /**
82
- * Prefix in query string.
83
- *
84
- * @example
85
- * ```
86
- * filters, table-1[filters], table-2[filters]
87
- * ```
88
- */
89
- prefix?: string;
90
- transform?: (deserialized: DeepTransformValuesToLocationQueryValue<UnwrapNestedRefs<T>>, initialData: T) => UnwrapNestedRefs<T>;
91
- }
92
- export interface RegisterQueryHandlerOptions<T> extends RegisterBaseOptions, RegisterQueryHandlerBaseOptions<T> {
93
- }
94
- export interface IContextStorageQueryHandler extends ContextStorageHandler {
95
- register: <T extends Record<string, unknown>>(data: MaybeRefOrGetter<T>, options: RegisterQueryHandlerOptions<T>) => () => void;
96
- }
97
- export interface ContextStorageQueryRegisteredItem<T extends Record<string, unknown>> {
98
- data: MaybeRefOrGetter<T>;
99
- initialData: T;
100
- options: RegisterQueryHandlerOptions<T>;
101
- watchHandle: WatchHandle;
102
- }
103
- export {};
@@ -1,103 +0,0 @@
1
- import { LocationQueryValue } from 'vue-router';
2
- import { MaybeRefOrGetter, UnwrapNestedRefs, WatchHandle } from 'vue';
3
- import { ContextStorageHandler, RegisterBaseOptions } from '../../handlers.ts';
4
- export type QueryValue = LocationQueryValue | LocationQueryValue[];
5
- export type DeepTransformValuesToLocationQueryValue<T> = {
6
- [K in keyof T]?: T[K] extends object ? T[K] extends Array<any> ? QueryValue : DeepTransformValuesToLocationQueryValue<T[K]> : QueryValue;
7
- };
8
- interface QueryHandlerSharedOptions {
9
- /**
10
- * Default: false
11
- *
12
- * If enabled - empty state will be preserved in query.
13
- *
14
- * Useful, when you have default values, and want to preserve empty state in query.
15
- * @example
16
- * ```
17
- * Options: {preserveEmptyState: true, prefix: 'filters'}
18
- *
19
- * When filters are empty we will get this in query string:
20
- *
21
- * /list?filters
22
- *
23
- * After page reload state will be not restored to default
24
- * ```
25
- *
26
- * @example
27
- * ```
28
- * Options: {preserveEmptyState: false, prefix: 'filters'}
29
- *
30
- * When filters are empty we will get this in query string:
31
- *
32
- * /list
33
- *
34
- * After page reload state will be restored to default
35
- * ```
36
- *
37
- * @example
38
- * ```
39
- * Options: {preserveEmptyState: true}
40
- *
41
- * When filters are empty we will get this in query string:
42
- *
43
- * /list?_
44
- *
45
- * After page reload state will be not restored to default.
46
- * Underscore (_) is default value for emptyPlaceholder option
47
- * ```
48
- */
49
- preserveEmptyState?: boolean;
50
- /**
51
- * Default: true
52
- *
53
- * If transform option is not passed, ref will be merged with query only by keys that exists in ref.
54
- */
55
- mergeOnlyExistingKeysWithoutTransform?: boolean;
56
- }
57
- export interface QueryHandlerBaseOptions extends QueryHandlerSharedOptions {
58
- /**
59
- * Default: replace
60
- *
61
- * Vue-router navigate mode.
62
- * Use push if you want to add new query to history.
63
- * Use replace if you want to replace current query without adding to history.
64
- */
65
- mode?: 'replace' | 'push';
66
- /**
67
- * Default: _
68
- *
69
- * Placeholder for empty state, used when preserveEmptyState is true and all ref values are empty.
70
- */
71
- emptyPlaceholder?: string;
72
- /**
73
- * Default: false
74
- *
75
- * If enabled - unused keys will be preserved in query.
76
- * Unused keys are keys, that are not exists in ref.
77
- */
78
- preserveUnusedKeys?: boolean;
79
- }
80
- export interface RegisterQueryHandlerBaseOptions<T> extends QueryHandlerSharedOptions {
81
- /**
82
- * Prefix in query string.
83
- *
84
- * @example
85
- * ```
86
- * filters, table-1[filters], table-2[filters]
87
- * ```
88
- */
89
- prefix?: string;
90
- transform?: (deserialized: DeepTransformValuesToLocationQueryValue<UnwrapNestedRefs<T>>, initialData: T) => UnwrapNestedRefs<T>;
91
- }
92
- export interface RegisterQueryHandlerOptions<T> extends RegisterBaseOptions, RegisterQueryHandlerBaseOptions<T> {
93
- }
94
- export interface IContextStorageQueryHandler extends ContextStorageHandler {
95
- register: <T extends Record<string, unknown>>(data: MaybeRefOrGetter<T>, options: RegisterQueryHandlerOptions<T>) => () => void;
96
- }
97
- export interface ContextStorageQueryRegisteredItem<T extends Record<string, unknown>> {
98
- data: MaybeRefOrGetter<T>;
99
- initialData: T;
100
- options: RegisterQueryHandlerOptions<T>;
101
- watchHandle: WatchHandle;
102
- }
103
- export {};
@@ -1,15 +0,0 @@
1
- import type { InjectionKey, MaybeRefOrGetter } from 'vue';
2
- export interface ContextStorageHandlerConstructor {
3
- new (): ContextStorageHandler;
4
- getInitialStateResolver?: () => () => Record<string, unknown>;
5
- }
6
- export interface RegisterBaseOptions {
7
- causer: string;
8
- uid: number;
9
- }
10
- export interface ContextStorageHandler {
11
- register: (data: MaybeRefOrGetter, options: RegisterBaseOptions) => () => void;
12
- setInitialState?: (state: Record<string, unknown>) => void;
13
- setEnabled?: (enabled: boolean, initial: boolean) => void;
14
- getInjectionKey(): InjectionKey<ContextStorageHandler>;
15
- }
@@ -1,15 +0,0 @@
1
- import type { InjectionKey, MaybeRefOrGetter } from 'vue';
2
- export interface ContextStorageHandlerConstructor {
3
- new (): ContextStorageHandler;
4
- getInitialStateResolver?: () => () => Record<string, unknown>;
5
- }
6
- export interface RegisterBaseOptions {
7
- causer: string;
8
- uid: number;
9
- }
10
- export interface ContextStorageHandler {
11
- register: (data: MaybeRefOrGetter, options: RegisterBaseOptions) => () => void;
12
- setInitialState?: (state: Record<string, unknown>) => void;
13
- setEnabled?: (enabled: boolean, initial: boolean) => void;
14
- getInjectionKey(): InjectionKey<ContextStorageHandler>;
15
- }