@guebbit/vue-toolkit 1.0.1 → 1.0.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/README.md +3 -2
- package/dist/composables/structureDataManagement.js +18 -17
- package/dist/composables/structureDataManagement.js.map +1 -1
- package/dist/composables/structureFormManagement.js +3 -3
- package/dist/composables/structureFormManagement.js.map +1 -1
- package/dist/composables/structureFormValidation.js +135 -2
- package/dist/composables/structureFormValidation.js.map +1 -1
- package/dist/composables/structureRestApi.js +37 -31
- package/dist/composables/structureRestApi.js.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/stores/core.js +5 -5
- package/dist/stores/core.js.map +1 -1
- package/dist/stores/notifications.js +7 -5
- package/dist/stores/notifications.js.map +1 -1
- package/dist/types/composables/structureDataManagement.d.ts.map +1 -1
- package/dist/types/composables/structureFormManagement.d.ts +1 -1
- package/dist/types/composables/structureFormManagement.d.ts.map +1 -1
- package/dist/types/composables/structureFormValidation.d.ts +22 -0
- package/dist/types/composables/structureFormValidation.d.ts.map +1 -1
- package/dist/types/composables/structureRestApi.d.ts +2 -2
- package/dist/types/composables/structureRestApi.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/stores/core.d.ts +6 -6
- package/dist/types/stores/core.d.ts.map +1 -1
- package/dist/types/stores/notifications.d.ts.map +1 -1
- package/package.json +73 -71
package/README.md
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
TODO
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
- Copypaste the README.md from boilerplate-node-backend-mongodb
|
|
4
|
+
- WARNING: structureRestApi and structureDataManagement don't know what to do if ID is not present
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { computed, ref } from 'vue';
|
|
2
2
|
export const useStructureDataManagement = (
|
|
3
3
|
// The identification parameter of the item (READONLY and not exported)
|
|
4
|
-
identifiers =
|
|
4
|
+
identifiers = 'id',
|
|
5
5
|
// Delimiter for multiple identifiers
|
|
6
|
-
delimiter =
|
|
6
|
+
delimiter = '|') => {
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
9
9
|
* @param itemData
|
|
@@ -33,11 +33,11 @@ delimiter = "|") => {
|
|
|
33
33
|
*
|
|
34
34
|
* @param items
|
|
35
35
|
*/
|
|
36
|
-
const setRecords = (items) => itemDictionary.value = items;
|
|
36
|
+
const setRecords = (items) => (itemDictionary.value = items);
|
|
37
37
|
/**
|
|
38
38
|
* Empty the items dictionary
|
|
39
39
|
*/
|
|
40
|
-
const resetRecords = () => itemDictionary.value = {};
|
|
40
|
+
const resetRecords = () => (itemDictionary.value = {});
|
|
41
41
|
/**
|
|
42
42
|
* Get record from object dictionary using identifier
|
|
43
43
|
*
|
|
@@ -45,7 +45,8 @@ delimiter = "|") => {
|
|
|
45
45
|
*/
|
|
46
46
|
const getRecord = (..._arguments) => {
|
|
47
47
|
const id = _arguments.join(delimiter);
|
|
48
|
-
|
|
48
|
+
// Important to directly access the dictionary to avoid reactivity issues
|
|
49
|
+
return itemDictionary.value[id];
|
|
49
50
|
};
|
|
50
51
|
/**
|
|
51
52
|
* Multiple getRecord
|
|
@@ -53,7 +54,7 @@ delimiter = "|") => {
|
|
|
53
54
|
* @param idsArray
|
|
54
55
|
*/
|
|
55
56
|
const getRecords = (idsArray = []) => idsArray
|
|
56
|
-
.map(id => Array.isArray(id) ? getRecord(...id) : getRecord(id))
|
|
57
|
+
.map((id) => (Array.isArray(id) ? getRecord(...id) : getRecord(id)))
|
|
57
58
|
.filter(Boolean);
|
|
58
59
|
/**
|
|
59
60
|
* Add item to the dictionary.
|
|
@@ -61,7 +62,7 @@ delimiter = "|") => {
|
|
|
61
62
|
*
|
|
62
63
|
* @param itemData
|
|
63
64
|
*/
|
|
64
|
-
const addRecord = (itemData) => itemDictionary.value[createIdentifier(itemData)] = itemData;
|
|
65
|
+
const addRecord = (itemData) => (itemDictionary.value[createIdentifier(itemData)] = itemData);
|
|
65
66
|
/**
|
|
66
67
|
* Add a list of items to the dictionary.
|
|
67
68
|
*
|
|
@@ -90,10 +91,9 @@ delimiter = "|") => {
|
|
|
90
91
|
// if multiple identifiers, then they need to be joined\translated
|
|
91
92
|
const _id = Array.isArray(_inferredId) ? _inferredId.join(delimiter) : _inferredId;
|
|
92
93
|
// if NOT forced to create and NOT found: error
|
|
93
|
-
if (!create &&
|
|
94
|
-
(!id || !Object.prototype.hasOwnProperty.call(itemDictionary.value, _id))) {
|
|
94
|
+
if (!create && (!id || !Object.prototype.hasOwnProperty.call(itemDictionary.value, _id))) {
|
|
95
95
|
// eslint-disable-next-line no-console
|
|
96
|
-
console.error(
|
|
96
|
+
console.error('storeDataStructure - data not found', data);
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
99
|
// Replace data if already present
|
|
@@ -130,7 +130,7 @@ delimiter = "|") => {
|
|
|
130
130
|
* - List mode: Show in modal or operations that require the details (example items in a table)
|
|
131
131
|
* - Target mode: a detail page or a form to edit the selected item (example item in a dedicated detail page)
|
|
132
132
|
*/
|
|
133
|
-
const selectedRecord = computed(() => selectedIdentifier.value
|
|
133
|
+
const selectedRecord = computed(() => getRecord(selectedIdentifier.value));
|
|
134
134
|
/**
|
|
135
135
|
* ---------------------------------- OFFLINE PAGINATION ------------------------------------
|
|
136
136
|
*/
|
|
@@ -168,7 +168,8 @@ delimiter = "|") => {
|
|
|
168
168
|
*/
|
|
169
169
|
const addToParent = (parentId, childId) => {
|
|
170
170
|
if (!parentHasMany.value[parentId])
|
|
171
|
-
parentHasMany.value[parentId] =
|
|
171
|
+
parentHasMany.value[parentId] =
|
|
172
|
+
[];
|
|
172
173
|
parentHasMany.value[parentId].push(childId);
|
|
173
174
|
};
|
|
174
175
|
/**
|
|
@@ -176,14 +177,14 @@ delimiter = "|") => {
|
|
|
176
177
|
* @param parentId
|
|
177
178
|
* @param childId
|
|
178
179
|
*/
|
|
179
|
-
const removeFromParent = (parentId, childId) => parentHasMany.value[parentId] =
|
|
180
|
-
parentHasMany.value[parentId]
|
|
181
|
-
.filter((id) => id !== childId);
|
|
180
|
+
const removeFromParent = (parentId, childId) => (parentHasMany.value[parentId] = parentHasMany.value[parentId].filter((id) => id !== childId));
|
|
182
181
|
/**
|
|
183
182
|
*
|
|
184
183
|
* @param parentId
|
|
185
184
|
*/
|
|
186
|
-
const removeDuplicateChildren = (parentId) => parentHasMany.value[parentId] = [
|
|
185
|
+
const removeDuplicateChildren = (parentId) => (parentHasMany.value[parentId] = [
|
|
186
|
+
...new Set(parentHasMany.value[parentId])
|
|
187
|
+
]);
|
|
187
188
|
/**
|
|
188
189
|
* Get all records ID by parent and use them to retrieve the complete dictionary
|
|
189
190
|
* @param parentId
|
|
@@ -232,7 +233,7 @@ delimiter = "|") => {
|
|
|
232
233
|
removeFromParent,
|
|
233
234
|
removeDuplicateChildren,
|
|
234
235
|
getRecordsByParent,
|
|
235
|
-
getListByParent
|
|
236
|
+
getListByParent
|
|
236
237
|
};
|
|
237
238
|
};
|
|
238
239
|
//# sourceMappingURL=structureDataManagement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structureDataManagement.js","sourceRoot":"","sources":["../../src/composables/structureDataManagement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"structureDataManagement.js","sourceRoot":"","sources":["../../src/composables/structureDataManagement.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { computed, ref } from 'vue';
|
|
|
6
6
|
* @param initialData - Initial values for the form fields
|
|
7
7
|
* @param schema - Optional Zod schema used for validation
|
|
8
8
|
*/
|
|
9
|
-
export const
|
|
9
|
+
export const useStructureFormValidation = (initialData = {}, schema) => {
|
|
10
10
|
/**
|
|
11
11
|
* Reactive form data
|
|
12
12
|
*/
|
|
@@ -58,7 +58,7 @@ export const useStructureFormManagement = (initialData = {}, schema) => {
|
|
|
58
58
|
const setFieldError = (field, errors) => {
|
|
59
59
|
formErrors.value = {
|
|
60
60
|
...formErrors.value,
|
|
61
|
-
[field]: Array.isArray(errors) ? errors : [errors]
|
|
61
|
+
[field]: Array.isArray(errors) ? errors : [errors]
|
|
62
62
|
};
|
|
63
63
|
};
|
|
64
64
|
/**
|
|
@@ -130,7 +130,7 @@ export const useStructureFormManagement = (initialData = {}, schema) => {
|
|
|
130
130
|
setFieldError,
|
|
131
131
|
clearFieldError,
|
|
132
132
|
validate,
|
|
133
|
-
handleSubmit
|
|
133
|
+
handleSubmit
|
|
134
134
|
};
|
|
135
135
|
};
|
|
136
136
|
//# sourceMappingURL=structureFormManagement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structureFormManagement.js","sourceRoot":"","sources":["../../src/composables/structureFormManagement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"structureFormManagement.js","sourceRoot":"","sources":["../../src/composables/structureFormManagement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAGpC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAItC,cAAiB,EAAO,EACxB,MAAmB,EACrB,EAAE;IACA;;OAEG;IACH,MAAM,IAAI,GAAG,GAAG,CAAI,EAAE,GAAG,WAAW,EAAO,CAAC,CAAC;IAE7C;;;OAGG;IACH,MAAM,UAAU,GAAG,GAAG,CAAqC,EAAE,CAAC,CAAC;IAE/D;;OAEG;IACH,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IAEhC;;OAEG;IACH,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAE3E;;OAEG;IACH,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAE3F;;;;OAIG;IACH,MAAM,OAAO,GAAG,CAAC,IAAgB,EAAE,EAAE;QACjC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,EAAO,CAAC;IACjD,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,WAAW,EAAO,CAAC;QACrC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,MAAyB,EAAE,EAAE;QAChE,UAAU,CAAC,KAAK,GAAG;YACf,GAAG,UAAU,CAAC,KAAK;YACnB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACrD,CAAC;IACN,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,eAAe,GAAG,CAAC,KAAc,EAAE,EAAE;QACvC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC;QACxD,UAAU,CAAC,KAAK,GAAG,IAA0C,CAAC;IAClE,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,QAAQ,GAAG,GAAY,EAAE;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAuC,EAAE,CAAC;QACtD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAY,CAAC;YACvC,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;QAE1B,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,YAAY,GAAG,KAAK,EACtB,QAA2C,EAC3C,cAAc,GAAG,IAAI,EACL,EAAE;QAClB,IAAI,cAAc,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO,KAAK,CAAC;QAEhD,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAC/B,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACH,IAAI;QACJ,UAAU;QACV,YAAY;QACZ,OAAO;QACP,OAAO;QACP,OAAO;QACP,SAAS;QACT,WAAW;QACX,aAAa;QACb,eAAe;QACf,QAAQ;QACR,YAAY;KACf,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,3 +1,136 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { computed, ref } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Form management composable.
|
|
4
|
+
* Handles reactive form state, optional Zod schema validation and submission flow.
|
|
5
|
+
*
|
|
6
|
+
* @param initialData - Initial values for the form fields
|
|
7
|
+
* @param schema - Optional Zod schema used for validation
|
|
8
|
+
*/
|
|
9
|
+
export const useStructureFormValidation = (initialData = {}, schema) => {
|
|
10
|
+
/**
|
|
11
|
+
* Reactive form data
|
|
12
|
+
*/
|
|
13
|
+
const form = ref({ ...initialData });
|
|
14
|
+
/**
|
|
15
|
+
* Per-field validation errors.
|
|
16
|
+
* Each key maps to a list of error messages for that field.
|
|
17
|
+
*/
|
|
18
|
+
const formErrors = ref({});
|
|
19
|
+
/**
|
|
20
|
+
* Whether a submission is currently in progress
|
|
21
|
+
*/
|
|
22
|
+
const isSubmitting = ref(false);
|
|
23
|
+
/**
|
|
24
|
+
* True when there are no validation errors
|
|
25
|
+
*/
|
|
26
|
+
const isValid = computed(() => Object.keys(formErrors.value).length === 0);
|
|
27
|
+
/**
|
|
28
|
+
* True when the form data differs from the initial values
|
|
29
|
+
*/
|
|
30
|
+
const isDirty = computed(() => JSON.stringify(form.value) !== JSON.stringify(initialData));
|
|
31
|
+
/**
|
|
32
|
+
* Merge partial data into the form
|
|
33
|
+
*
|
|
34
|
+
* @param data
|
|
35
|
+
*/
|
|
36
|
+
const setForm = (data) => {
|
|
37
|
+
form.value = { ...form.value, ...data };
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Reset form to initial values and clear all errors
|
|
41
|
+
*/
|
|
42
|
+
const resetForm = () => {
|
|
43
|
+
form.value = { ...initialData };
|
|
44
|
+
formErrors.value = {};
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Clear all validation errors
|
|
48
|
+
*/
|
|
49
|
+
const clearErrors = () => {
|
|
50
|
+
formErrors.value = {};
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Set validation error(s) for a specific field
|
|
54
|
+
*
|
|
55
|
+
* @param field
|
|
56
|
+
* @param errors - a single message or an array of messages
|
|
57
|
+
*/
|
|
58
|
+
const setFieldError = (field, errors) => {
|
|
59
|
+
formErrors.value = {
|
|
60
|
+
...formErrors.value,
|
|
61
|
+
[field]: Array.isArray(errors) ? errors : [errors]
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Remove validation errors for a specific field
|
|
66
|
+
*
|
|
67
|
+
* @param field
|
|
68
|
+
*/
|
|
69
|
+
const clearFieldError = (field) => {
|
|
70
|
+
const { [field]: _removed, ...rest } = formErrors.value;
|
|
71
|
+
formErrors.value = rest;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Validate the current form value against the schema (if provided).
|
|
75
|
+
* Updates {@link formErrors} reactively.
|
|
76
|
+
*
|
|
77
|
+
* @returns true when validation passes (or no schema is set), false otherwise
|
|
78
|
+
*/
|
|
79
|
+
const validate = () => {
|
|
80
|
+
if (!schema) {
|
|
81
|
+
formErrors.value = {};
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
const result = schema.safeParse(form.value);
|
|
85
|
+
if (result.success) {
|
|
86
|
+
formErrors.value = {};
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
const errors = {};
|
|
90
|
+
for (const issue of result.error.issues) {
|
|
91
|
+
const field = issue.path[0];
|
|
92
|
+
if (field === undefined)
|
|
93
|
+
continue;
|
|
94
|
+
if (!errors[field])
|
|
95
|
+
errors[field] = [];
|
|
96
|
+
errors[field].push(issue.message);
|
|
97
|
+
}
|
|
98
|
+
formErrors.value = errors;
|
|
99
|
+
return false;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Validate (optionally) and then call the provided submit handler.
|
|
103
|
+
* Sets {@link isSubmitting} for the duration of the async operation.
|
|
104
|
+
*
|
|
105
|
+
* @param onSubmit - handler called with the current form value
|
|
106
|
+
* @param withValidation - when true (default) the form is validated first
|
|
107
|
+
* @returns true on success, false when validation failed or an error was thrown
|
|
108
|
+
*/
|
|
109
|
+
const handleSubmit = async (onSubmit, withValidation = true) => {
|
|
110
|
+
if (withValidation && !validate())
|
|
111
|
+
return false;
|
|
112
|
+
isSubmitting.value = true;
|
|
113
|
+
try {
|
|
114
|
+
await onSubmit(form.value);
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
finally {
|
|
118
|
+
isSubmitting.value = false;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
return {
|
|
122
|
+
form,
|
|
123
|
+
formErrors,
|
|
124
|
+
isSubmitting,
|
|
125
|
+
isValid,
|
|
126
|
+
isDirty,
|
|
127
|
+
setForm,
|
|
128
|
+
resetForm,
|
|
129
|
+
clearErrors,
|
|
130
|
+
setFieldError,
|
|
131
|
+
clearFieldError,
|
|
132
|
+
validate,
|
|
133
|
+
handleSubmit
|
|
134
|
+
};
|
|
135
|
+
};
|
|
3
136
|
//# sourceMappingURL=structureFormValidation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structureFormValidation.js","sourceRoot":"","sources":["../../src/composables/structureFormValidation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"structureFormValidation.js","sourceRoot":"","sources":["../../src/composables/structureFormValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { computed, ref } from
|
|
2
|
-
import { useStructureDataManagement } from
|
|
1
|
+
import { computed, ref } from 'vue';
|
|
2
|
+
import { useStructureDataManagement } from '../index';
|
|
3
3
|
/**
|
|
4
4
|
* Time To Live and Last Update
|
|
5
5
|
* Optimize fetch requests by caching data and preventing unnecessary requests
|
|
@@ -12,8 +12,8 @@ export var ELastUpdateKeywords;
|
|
|
12
12
|
ELastUpdateKeywords["ONLINE"] = "_online";
|
|
13
13
|
ELastUpdateKeywords["GENERIC"] = "_generic";
|
|
14
14
|
})(ELastUpdateKeywords || (ELastUpdateKeywords = {}));
|
|
15
|
-
export const useStructureRestApi = ({ identifiers =
|
|
16
|
-
delimiter =
|
|
15
|
+
export const useStructureRestApi = ({ identifiers = 'id', loadingKey = crypto.randomUUID(), TTL = 3_600_000, // 1 hour
|
|
16
|
+
delimiter = '|', getLoading, setLoading } = {}) => {
|
|
17
17
|
/**
|
|
18
18
|
* Inherited
|
|
19
19
|
*/
|
|
@@ -21,16 +21,18 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
21
21
|
// Pagination
|
|
22
22
|
pageCurrent, pageSize, pageTotal, pageOffset, pageItemList,
|
|
23
23
|
// belongsTo relationship
|
|
24
|
-
parentHasMany, addToParent, removeFromParent, removeDuplicateChildren, getRecordsByParent, getListByParent
|
|
24
|
+
parentHasMany, addToParent, removeFromParent, removeDuplicateChildren, getRecordsByParent, getListByParent } = useStructureDataManagement(identifiers, delimiter);
|
|
25
25
|
/**
|
|
26
26
|
* loadings
|
|
27
27
|
*/
|
|
28
28
|
// loading mutators
|
|
29
|
-
const startLoading = (postfix =
|
|
30
|
-
const stopLoading = (postfix =
|
|
29
|
+
const startLoading = (postfix = '') => loadingKey && setLoading ? setLoading(loadingKey + postfix, true) : (_loading.value = true);
|
|
30
|
+
const stopLoading = (postfix = '') => loadingKey && setLoading
|
|
31
|
+
? setLoading(loadingKey + postfix, false)
|
|
32
|
+
: (_loading.value = false);
|
|
31
33
|
// Check if it's loading
|
|
32
34
|
const _loading = ref(false);
|
|
33
|
-
const loading = computed(() => getLoading ? getLoading(loadingKey) : _loading.value);
|
|
35
|
+
const loading = computed(() => (getLoading ? getLoading(loadingKey) : _loading.value));
|
|
34
36
|
/**
|
|
35
37
|
*
|
|
36
38
|
*/
|
|
@@ -68,11 +70,13 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
68
70
|
* @param key
|
|
69
71
|
* @param branch
|
|
70
72
|
*/
|
|
71
|
-
const getLastUpdate = (key =
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
const getLastUpdate = (key = '', branch = ELastUpdateKeywords.GENERIC) => Date.now() -
|
|
74
|
+
// if ELastUpdateKeywords.ALL I ignore the key
|
|
75
|
+
(branch === ELastUpdateKeywords.ALL
|
|
76
|
+
? lastUpdate[ELastUpdateKeywords.ALL]
|
|
77
|
+
: // @ts-expect-error too intricate to typesafe. It is safe.
|
|
78
|
+
lastUpdate[branch][key]) <
|
|
79
|
+
TTL;
|
|
76
80
|
/**
|
|
77
81
|
* Check if the last update was within the TTL
|
|
78
82
|
* True = still valid
|
|
@@ -81,7 +85,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
81
85
|
* @param key
|
|
82
86
|
* @param branch
|
|
83
87
|
*/
|
|
84
|
-
const editLastUpdate = (value = 0, key =
|
|
88
|
+
const editLastUpdate = (value = 0, key = '', branch = ELastUpdateKeywords.GENERIC) => {
|
|
85
89
|
// if ELastUpdateKeywords.ALL I ignore the key
|
|
86
90
|
if (branch === ELastUpdateKeywords.ALL) {
|
|
87
91
|
lastUpdate[ELastUpdateKeywords.ALL] = value;
|
|
@@ -98,7 +102,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
98
102
|
* @param key
|
|
99
103
|
* @param branch
|
|
100
104
|
*/
|
|
101
|
-
const checkAndEditLastUpdate = (key =
|
|
105
|
+
const checkAndEditLastUpdate = (key = '', branch = ELastUpdateKeywords.GENERIC) => {
|
|
102
106
|
if (getLastUpdate(key, branch)) {
|
|
103
107
|
return true;
|
|
104
108
|
}
|
|
@@ -140,10 +144,10 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
140
144
|
* @param loadingKey
|
|
141
145
|
*/
|
|
142
146
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
143
|
-
const fetchAny = (asyncCall, { forced, loading = true, lastUpdateKey =
|
|
147
|
+
const fetchAny = (asyncCall, { forced, loading = true, lastUpdateKey = '', loadingKey } = {}) => {
|
|
144
148
|
// If TTL is not expired, the current stored data is still valid
|
|
145
149
|
// If no TTL name is provided, we ignore the TTL altogether
|
|
146
|
-
if (!forced &&
|
|
150
|
+
if (!forced && lastUpdateKey && checkAndEditLastUpdate(lastUpdateKey))
|
|
147
151
|
// WARNING: We don't know what kind of data was about to be fetched, so it will be empty
|
|
148
152
|
// eslint-disable-next-line unicorn/no-useless-undefined
|
|
149
153
|
return Promise.resolve(undefined);
|
|
@@ -173,7 +177,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
173
177
|
* @param loadingKey
|
|
174
178
|
* @param mismatch
|
|
175
179
|
*/
|
|
176
|
-
const fetchAll = (apiCall, { forced, loading = true, merge, lastUpdateKey =
|
|
180
|
+
const fetchAll = (apiCall, { forced, loading = true, merge, lastUpdateKey = '', loadingKey } = {},
|
|
177
181
|
/**
|
|
178
182
|
* When the fetchAll and fetchTarget api calls single items are different:
|
|
179
183
|
* they don't have to be in sync nor the fetchAll must overwrite the fetchTarget item.
|
|
@@ -182,7 +186,10 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
182
186
|
mismatch = false) => {
|
|
183
187
|
// If TTL is not expired, the current stored data is still valid
|
|
184
188
|
// If the TTL name is provided: it becomes a GENERIC TTL check
|
|
185
|
-
if (!forced &&
|
|
189
|
+
if (!forced &&
|
|
190
|
+
(lastUpdateKey
|
|
191
|
+
? checkAndEditLastUpdate(lastUpdateKey)
|
|
192
|
+
: checkAndEditLastUpdate('', ELastUpdateKeywords.ALL)))
|
|
186
193
|
return Promise.resolve(itemDictionary.value);
|
|
187
194
|
if (loading)
|
|
188
195
|
startLoading(loadingKey);
|
|
@@ -216,7 +223,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
216
223
|
* @param loadingKey
|
|
217
224
|
* @param mismatch
|
|
218
225
|
*/
|
|
219
|
-
const fetchByParent = (apiCall, parentId, { forced, loading = true, merge, lastUpdateKey =
|
|
226
|
+
const fetchByParent = (apiCall, parentId, { forced, loading = true, merge, lastUpdateKey = '', loadingKey } = {},
|
|
220
227
|
/**
|
|
221
228
|
* Similar reasoning as fetchAll mismatch
|
|
222
229
|
*/
|
|
@@ -266,7 +273,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
266
273
|
* @param lastUpdateKey
|
|
267
274
|
* @param loadingKey
|
|
268
275
|
*/
|
|
269
|
-
const fetchTarget = (apiCall, id, { forced, loading = true, merge, lastUpdateKey =
|
|
276
|
+
const fetchTarget = (apiCall, id, { forced, loading = true, merge, lastUpdateKey = '', loadingKey } = {}) => {
|
|
270
277
|
// If TTL is not expired, the current stored data is still valid
|
|
271
278
|
// (if id is not provided, we must force through the request)
|
|
272
279
|
if (id && !forced && checkAndEditLastUpdate(lastUpdateKey + id, ELastUpdateKeywords.TARGET))
|
|
@@ -299,7 +306,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
299
306
|
* @param loadingKey
|
|
300
307
|
* @param lastUpdateKey
|
|
301
308
|
*/
|
|
302
|
-
const fetchMultiple = (apiCall, ids, { forced, loading = true, merge, loadingKey, lastUpdateKey =
|
|
309
|
+
const fetchMultiple = (apiCall, ids, { forced, loading = true, merge, loadingKey, lastUpdateKey = '' } = {}) => {
|
|
303
310
|
// nothing to search
|
|
304
311
|
if (!ids || ids.length === 0)
|
|
305
312
|
return Promise.resolve([]);
|
|
@@ -320,7 +327,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
320
327
|
cachedIds.push(id);
|
|
321
328
|
}
|
|
322
329
|
// items that I already have
|
|
323
|
-
const cachedItems = cachedIds.map(id => getRecord(id));
|
|
330
|
+
const cachedItems = cachedIds.map((id) => getRecord(id));
|
|
324
331
|
// If no ids are expired, no need to make a fetch
|
|
325
332
|
if (expiredIds.length === 0)
|
|
326
333
|
return Promise.resolve(cachedItems);
|
|
@@ -363,15 +370,14 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
363
370
|
* @param key - stringified search parameters
|
|
364
371
|
* @param page - page
|
|
365
372
|
*/
|
|
366
|
-
const searchGet = (key, page = 1) => getRecords(searchCached.value[typeof key ===
|
|
373
|
+
const searchGet = (key, page = 1) => getRecords(searchCached.value[typeof key === 'string' ? key : searchKeyGen(key)]?.[page]);
|
|
367
374
|
/**
|
|
368
375
|
* I clean up all expired searches OR, if they are {MAX_SEARCHES}+, the old ones (too many resources on a minor feature)
|
|
369
376
|
*/
|
|
370
377
|
const searchCleanup = () => {
|
|
371
378
|
const MAX_SEARCHES = 50;
|
|
372
379
|
// Remove expired data entries
|
|
373
|
-
const validEntries = Object.entries(lastUpdate[ELastUpdateKeywords.ONLINE])
|
|
374
|
-
.filter(([_, ttl]) => (ttl + TTL) > Date.now());
|
|
380
|
+
const validEntries = Object.entries(lastUpdate[ELastUpdateKeywords.ONLINE]).filter(([_, ttl]) => ttl + TTL > Date.now());
|
|
375
381
|
// If there are too many valid entries, sort descending (newest first) so later the oldest will be trimmed
|
|
376
382
|
if (validEntries.length > MAX_SEARCHES)
|
|
377
383
|
validEntries.sort((a, b) => b[1] - a[1]);
|
|
@@ -401,7 +407,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
401
407
|
* @param loadingKey
|
|
402
408
|
* @param mismatch
|
|
403
409
|
*/
|
|
404
|
-
const fetchSearch = (apiCall, filters = {}, page = 1, { forced, loading = true, merge, lastUpdateKey =
|
|
410
|
+
const fetchSearch = (apiCall, filters = {}, page = 1, { forced, loading = true, merge, lastUpdateKey = '', loadingKey } = {},
|
|
405
411
|
/**
|
|
406
412
|
* Similar reasoning as fetchAll mismatch
|
|
407
413
|
*/
|
|
@@ -451,7 +457,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
451
457
|
* @param loadingKey
|
|
452
458
|
* @param fetchLike - data of the created item will be considered fetched like in fetchTarget
|
|
453
459
|
*/
|
|
454
|
-
const createTarget = (apiCall, dummyData, { loading = true, lastUpdateKey =
|
|
460
|
+
const createTarget = (apiCall, dummyData, { loading = true, lastUpdateKey = '', loadingKey } = {}, fetchLike = true) => {
|
|
455
461
|
const temporaryId = crypto.randomUUID();
|
|
456
462
|
// Create temporary item with temporary id for instantaneity
|
|
457
463
|
if (dummyData)
|
|
@@ -495,14 +501,14 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
495
501
|
* @param fetchLike - data will be considered fetched like in fetchTarget
|
|
496
502
|
* @param fetchAgain - after the update, the call can return the updated item, update in this case (for consistency)
|
|
497
503
|
*/
|
|
498
|
-
const updateTarget = (apiCall, itemData, id, { loading = true, merge, lastUpdateKey =
|
|
504
|
+
const updateTarget = (apiCall, itemData, id, { loading = true, merge, lastUpdateKey = '', loadingKey } = {}, fetchLike = true, fetchAgain = true) => {
|
|
499
505
|
// to be used in case of error and revert is needed
|
|
500
506
|
const oldItemData = getRecord(id);
|
|
501
507
|
// for instantaneity, but can be inconsistent
|
|
502
508
|
editRecord(itemData, id, true);
|
|
503
509
|
if (loading)
|
|
504
510
|
startLoading(loadingKey);
|
|
505
|
-
return apiCall()
|
|
511
|
+
return (apiCall()
|
|
506
512
|
// If the apiCall returns the updated item, editRecord will be called again to ensure data consistency
|
|
507
513
|
.then((data) => {
|
|
508
514
|
if (fetchAgain) {
|
|
@@ -522,7 +528,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
|
|
|
522
528
|
editRecord(oldItemData, id);
|
|
523
529
|
throw error;
|
|
524
530
|
})
|
|
525
|
-
.finally(() => loading && stopLoading(loadingKey));
|
|
531
|
+
.finally(() => loading && stopLoading(loadingKey)));
|
|
526
532
|
};
|
|
527
533
|
/**
|
|
528
534
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structureRestApi.js","sourceRoot":"","sources":["../../src/composables/structureRestApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structureRestApi.js","sourceRoot":"","sources":["../../src/composables/structureRestApi.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { useCoreStore } from
|
|
2
|
-
export { useNotificationsStore } from
|
|
3
|
-
export { useStructureDataManagement } from
|
|
4
|
-
export { useStructureRestApi } from
|
|
5
|
-
export {
|
|
1
|
+
export { useCoreStore } from './stores/core';
|
|
2
|
+
export { useNotificationsStore } from './stores/notifications';
|
|
3
|
+
export { useStructureDataManagement } from './composables/structureDataManagement';
|
|
4
|
+
export { useStructureRestApi } from './composables/structureRestApi';
|
|
5
|
+
export { useStructureFormValidation } from './composables/structureFormValidation';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC"}
|
package/dist/stores/core.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref, computed } from 'vue';
|
|
2
|
-
import { defineStore } from
|
|
2
|
+
import { defineStore } from 'pinia';
|
|
3
3
|
export const useCoreStore = defineStore('core', () => {
|
|
4
4
|
/**
|
|
5
5
|
* This loading must be accessed from anywhere.
|
|
@@ -12,15 +12,15 @@ export const useCoreStore = defineStore('core', () => {
|
|
|
12
12
|
* @param key
|
|
13
13
|
* @param value
|
|
14
14
|
*/
|
|
15
|
-
const setLoading = (key, value) => loadings.value[key] = value;
|
|
15
|
+
const setLoading = (key = '', value = false) => (loadings.value[key] = value);
|
|
16
16
|
/**
|
|
17
17
|
* Reset all loadings
|
|
18
18
|
*/
|
|
19
|
-
const resetLoadings = () => loadings.value = {};
|
|
19
|
+
const resetLoadings = () => (loadings.value = {});
|
|
20
20
|
/**
|
|
21
21
|
* Check if there is a specific loading
|
|
22
22
|
*/
|
|
23
|
-
const getLoading = (key) => loadings.value[key];
|
|
23
|
+
const getLoading = (key = '') => !!loadings.value[key];
|
|
24
24
|
/**
|
|
25
25
|
* Check if there are any loadings
|
|
26
26
|
*/
|
|
@@ -30,7 +30,7 @@ export const useCoreStore = defineStore('core', () => {
|
|
|
30
30
|
isLoading,
|
|
31
31
|
resetLoadings,
|
|
32
32
|
setLoading,
|
|
33
|
-
getLoading
|
|
33
|
+
getLoading
|
|
34
34
|
};
|
|
35
35
|
});
|
|
36
36
|
//# sourceMappingURL=core.js.map
|
package/dist/stores/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/stores/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/stores/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE;IACjD;;;OAGG;IACH,MAAM,QAAQ,GAAG,GAAG,CAAmC,EAAE,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAE9E;;OAEG;IACH,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IAElD;;OAEG;IACH,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEvD;;OAEG;IACH,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE9E,OAAO;QACH,QAAQ;QACR,SAAS;QACT,aAAa;QACb,UAAU;QACV,UAAU;KACb,CAAC;AACN,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineStore } from
|
|
1
|
+
import { defineStore } from 'pinia';
|
|
2
2
|
import { ref, computed } from 'vue';
|
|
3
3
|
export var IToastType;
|
|
4
4
|
(function (IToastType) {
|
|
@@ -35,11 +35,13 @@ export const useNotificationsStore = defineStore('notifications', () => {
|
|
|
35
35
|
id,
|
|
36
36
|
message,
|
|
37
37
|
type,
|
|
38
|
-
visible: true
|
|
38
|
+
visible: true
|
|
39
39
|
});
|
|
40
40
|
// Remove after timeout (if any)
|
|
41
41
|
if (timeout > 0)
|
|
42
|
-
setTimeout(() => {
|
|
42
|
+
setTimeout(() => {
|
|
43
|
+
hideMessage(id);
|
|
44
|
+
}, timeout);
|
|
43
45
|
};
|
|
44
46
|
/**
|
|
45
47
|
* Find a message by id
|
|
@@ -72,7 +74,7 @@ export const useNotificationsStore = defineStore('notifications', () => {
|
|
|
72
74
|
*
|
|
73
75
|
* @param _id
|
|
74
76
|
*/
|
|
75
|
-
const removeMessage = (_id) => history.value = history.value.filter(({ id }) => id !== _id);
|
|
77
|
+
const removeMessage = (_id) => (history.value = history.value.filter(({ id }) => id !== _id));
|
|
76
78
|
// ________________ DIALOGS ________________
|
|
77
79
|
/**
|
|
78
80
|
* Manage all dialogs
|
|
@@ -87,7 +89,7 @@ export const useNotificationsStore = defineStore('notifications', () => {
|
|
|
87
89
|
hideMessage,
|
|
88
90
|
showMessage,
|
|
89
91
|
removeMessage,
|
|
90
|
-
dialogs
|
|
92
|
+
dialogs
|
|
91
93
|
};
|
|
92
94
|
});
|
|
93
95
|
//# sourceMappingURL=notifications.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/stores/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;
|
|
1
|
+
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/stores/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IAClB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;IACvB,8BAAgB,CAAA;IAChB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;AACvB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAQD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,eAAe,EAAE,GAAG,EAAE;IACnE,oEAAoE;IAEpE;;OAEG;IACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAqB,CAAC,CAAC;IAE3C;;OAEG;IACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhF;;;;;;OAMG;IACH,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;QAC5E,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,iBAAiB;QACjB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YACf,EAAE;YACF,OAAO;YACP,IAAI;YACJ,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,gCAAgC;QAChC,IAAI,OAAO,GAAG,CAAC;YACX,UAAU,CAAC,GAAG,EAAE;gBACZ,WAAW,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC,EAAE,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAEhF;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;IACzC,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACxC,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAClC,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAEnE,4CAA4C;IAE5C;;;OAGG;IACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAA6B,CAAC,CAAC;IAEnD,OAAO;QACH,OAAO;QACP,QAAQ;QACR,UAAU;QACV,WAAW;QACX,WAAW;QACX,WAAW;QACX,aAAa;QACb,OAAO;KACV,CAAC;AACN,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structureDataManagement.d.ts","sourceRoot":"","sources":["../../../src/composables/structureDataManagement.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"structureDataManagement.d.ts","sourceRoot":"","sources":["../../../src/composables/structureDataManagement.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,GAGnC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAErE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAG5C,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAG7D,cAAa,MAAM,GAAG,MAAM,EAAS,EAErC,kBAAe;uBAQW,CAAC,gBAAgB,CAAC,sBAAsB,MAAM,GAAG,MAAM,EAAE,KAAG,CAAC;;;;wBA4B5D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;;+BAYpB,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,KAAG,CAAC,GAAG,SAAS;4BAWrC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,KAG3B,CAAC,EAAE;0BAQF,CAAC;6BAQE,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;wBAiBvB,OAAO,CAAC,CAAC,CAAC,OAAY,CAAC,GAAG,CAAC,EAAE;8BAyBtB,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;uBAYxB,CAAC;;;;;;;;;4BA6DI,CAAC;iCAYI,CAAC;wCASM,CAAC;oCASL,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;iCAcnB,CAAC,KAAG,CAAC,EAAE;CAkC9C,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { type ZodType } from 'zod';
|
|
|
6
6
|
* @param initialData - Initial values for the form fields
|
|
7
7
|
* @param schema - Optional Zod schema used for validation
|
|
8
8
|
*/
|
|
9
|
-
export declare const
|
|
9
|
+
export declare const useStructureFormValidation: <T extends Record<string, any> = Record<string, any>>(initialData?: T, schema?: ZodType<T>) => {
|
|
10
10
|
form: [T] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<T, import("vue").Ref<T, T>, T> : import("vue").Ref<import("vue").UnwrapRef<T>, T | import("vue").UnwrapRef<T>>;
|
|
11
11
|
formErrors: [Partial<Record<keyof T, string[]>>] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<import("vue").Ref<any, any> & Partial<Record<keyof T, string[]>>, import("vue").Ref<import("vue").Ref<any, any> & Partial<Record<keyof T, string[]>>, import("vue").Ref<any, any> & Partial<Record<keyof T, string[]>>>, import("vue").Ref<any, any> & Partial<Record<keyof T, string[]>>> : import("vue").Ref<import("vue").UnwrapRef<Partial<Record<keyof T, string[]>>>, Partial<Record<keyof T, string[]>> | import("vue").UnwrapRef<Partial<Record<keyof T, string[]>>>>;
|
|
12
12
|
isSubmitting: import("vue").Ref<boolean, boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structureFormManagement.d.ts","sourceRoot":"","sources":["../../../src/composables/structureFormManagement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"structureFormManagement.d.ts","sourceRoot":"","sources":["../../../src/composables/structureFormManagement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAEnC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEnD,cAAa,CAAW,EACxB,SAAS,OAAO,CAAC,CAAC,CAAC;;;;;;oBAiCI,OAAO,CAAC,CAAC,CAAC;;;2BAyBH,MAAM,CAAC,UAAU,MAAM,GAAG,MAAM,EAAE;6BAYhC,MAAM,CAAC;oBAWlB,OAAO;6BAkCd,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,+BAE5C,OAAO,CAAC,OAAO,CAAC;CA0BtB,CAAC"}
|
|
@@ -1 +1,23 @@
|
|
|
1
|
+
import { type ZodType } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Form management composable.
|
|
4
|
+
* Handles reactive form state, optional Zod schema validation and submission flow.
|
|
5
|
+
*
|
|
6
|
+
* @param initialData - Initial values for the form fields
|
|
7
|
+
* @param schema - Optional Zod schema used for validation
|
|
8
|
+
*/
|
|
9
|
+
export declare const useStructureFormValidation: <T extends Record<string, any> = Record<string, any>>(initialData?: T, schema?: ZodType<T>) => {
|
|
10
|
+
form: [T] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<T, import("vue").Ref<T, T>, T> : import("vue").Ref<import("vue").UnwrapRef<T>, T | import("vue").UnwrapRef<T>>;
|
|
11
|
+
formErrors: [Partial<Record<keyof T, string[]>>] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<import("vue").Ref<any, any> & Partial<Record<keyof T, string[]>>, import("vue").Ref<import("vue").Ref<any, any> & Partial<Record<keyof T, string[]>>, import("vue").Ref<any, any> & Partial<Record<keyof T, string[]>>>, import("vue").Ref<any, any> & Partial<Record<keyof T, string[]>>> : import("vue").Ref<import("vue").UnwrapRef<Partial<Record<keyof T, string[]>>>, Partial<Record<keyof T, string[]>> | import("vue").UnwrapRef<Partial<Record<keyof T, string[]>>>>;
|
|
12
|
+
isSubmitting: import("vue").Ref<boolean, boolean>;
|
|
13
|
+
isValid: import("vue").ComputedRef<boolean>;
|
|
14
|
+
isDirty: import("vue").ComputedRef<boolean>;
|
|
15
|
+
setForm: (data: Partial<T>) => void;
|
|
16
|
+
resetForm: () => void;
|
|
17
|
+
clearErrors: () => void;
|
|
18
|
+
setFieldError: (field: keyof T, errors: string | string[]) => void;
|
|
19
|
+
clearFieldError: (field: keyof T) => void;
|
|
20
|
+
validate: () => boolean;
|
|
21
|
+
handleSubmit: (onSubmit: (data: T) => Promise<void> | void, withValidation?: boolean) => Promise<boolean>;
|
|
22
|
+
};
|
|
1
23
|
//# sourceMappingURL=structureFormValidation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structureFormValidation.d.ts","sourceRoot":"","sources":["../../../src/composables/structureFormValidation.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"structureFormValidation.d.ts","sourceRoot":"","sources":["../../../src/composables/structureFormValidation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAEnC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEnD,cAAa,CAAW,EACxB,SAAS,OAAO,CAAC,CAAC,CAAC;;;;;;oBAiCI,OAAO,CAAC,CAAC,CAAC;;;2BAyBH,MAAM,CAAC,UAAU,MAAM,GAAG,MAAM,EAAE;6BAYhC,MAAM,CAAC;oBAWlB,OAAO;6BAkCd,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,+BAE5C,OAAO,CAAC,OAAO,CAAC;CA0BtB,CAAC"}
|
|
@@ -66,7 +66,7 @@ export interface IStructureRestApi {
|
|
|
66
66
|
loadingKey?: string;
|
|
67
67
|
TTL?: number;
|
|
68
68
|
delimiter?: string;
|
|
69
|
-
getLoading?: (key?: string
|
|
69
|
+
getLoading?: (key?: string) => boolean;
|
|
70
70
|
setLoading?: (key?: string, value?: boolean) => void;
|
|
71
71
|
}
|
|
72
72
|
export declare const useStructureRestApi: <T extends Record<string | number, any> = Record<string, any>, K extends string | number = Extract<keyof T, string | number>, P extends string | number = string | number>({ identifiers, loadingKey, TTL, delimiter, getLoading, setLoading }?: IStructureRestApi) => {
|
|
@@ -98,7 +98,7 @@ export declare const useStructureRestApi: <T extends Record<string | number, any
|
|
|
98
98
|
getListByParent: (parentId?: P | undefined) => T[];
|
|
99
99
|
startLoading: (postfix?: string) => true | void;
|
|
100
100
|
stopLoading: (postfix?: string) => false | void;
|
|
101
|
-
loading: import("vue").ComputedRef<boolean
|
|
101
|
+
loading: import("vue").ComputedRef<boolean>;
|
|
102
102
|
lastUpdate: {
|
|
103
103
|
_all: number;
|
|
104
104
|
_target: Record<K, number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structureRestApi.d.ts","sourceRoot":"","sources":["../../../src/composables/structureRestApi.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,cAAc;
|
|
1
|
+
{"version":3,"file":"structureRestApi.d.ts","sourceRoot":"","sources":["../../../src/composables/structureRestApi.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { useCoreStore } from
|
|
2
|
-
export { useNotificationsStore } from
|
|
3
|
-
export { useStructureDataManagement } from
|
|
4
|
-
export { useStructureRestApi } from
|
|
5
|
-
export {
|
|
1
|
+
export { useCoreStore } from './stores/core';
|
|
2
|
+
export { useNotificationsStore } from './stores/notifications';
|
|
3
|
+
export { useStructureDataManagement } from './composables/structureDataManagement';
|
|
4
|
+
export { useStructureRestApi } from './composables/structureRestApi';
|
|
5
|
+
export { useStructureFormValidation } from './composables/structureFormValidation';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -2,19 +2,19 @@ export declare const useCoreStore: import("pinia").StoreDefinition<"core", Pick<
|
|
|
2
2
|
loadings: import("vue").Ref<Record<string | symbol, boolean>, Record<string | symbol, boolean>>;
|
|
3
3
|
isLoading: import("vue").ComputedRef<boolean>;
|
|
4
4
|
resetLoadings: () => {};
|
|
5
|
-
setLoading: (key
|
|
6
|
-
getLoading: (key
|
|
5
|
+
setLoading: (key?: string, value?: boolean) => boolean;
|
|
6
|
+
getLoading: (key?: string) => boolean;
|
|
7
7
|
}, "loadings">, Pick<{
|
|
8
8
|
loadings: import("vue").Ref<Record<string | symbol, boolean>, Record<string | symbol, boolean>>;
|
|
9
9
|
isLoading: import("vue").ComputedRef<boolean>;
|
|
10
10
|
resetLoadings: () => {};
|
|
11
|
-
setLoading: (key
|
|
12
|
-
getLoading: (key
|
|
11
|
+
setLoading: (key?: string, value?: boolean) => boolean;
|
|
12
|
+
getLoading: (key?: string) => boolean;
|
|
13
13
|
}, "isLoading">, Pick<{
|
|
14
14
|
loadings: import("vue").Ref<Record<string | symbol, boolean>, Record<string | symbol, boolean>>;
|
|
15
15
|
isLoading: import("vue").ComputedRef<boolean>;
|
|
16
16
|
resetLoadings: () => {};
|
|
17
|
-
setLoading: (key
|
|
18
|
-
getLoading: (key
|
|
17
|
+
setLoading: (key?: string, value?: boolean) => boolean;
|
|
18
|
+
getLoading: (key?: string) => boolean;
|
|
19
19
|
}, "resetLoadings" | "setLoading" | "getLoading">>;
|
|
20
20
|
//# sourceMappingURL=core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/stores/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/stores/core.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;kDAqCvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../src/stores/notifications.ts"],"names":[],"mappings":"AAGA,oBAAY,UAAU;
|
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../src/stores/notifications.ts"],"names":[],"mappings":"AAGA,oBAAY,UAAU;IAClB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,UAAU;IAChB,OAAO,YAAY;IACnB,OAAO,YAAY;CACtB;AACD,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB;;YAT1B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;YAHZ,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;;YAHZ,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;0BA0Ba,MAAM;uBAqBT,MAAM;YAlD5B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;uBAsDU,MAAM;uBAUN,MAAM;yBAUJ,MAAM;YA7E9B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;;;;YAHZ,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;YAHZ,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;;YAHZ,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;0BA0Ba,MAAM;uBAqBT,MAAM;YAlD5B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;uBAsDU,MAAM;uBAUN,MAAM;yBAUJ,MAAM;YA7E9B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;;;;YAHZ,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;YAHZ,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;;YAHZ,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;0BA0Ba,MAAM;uBAqBT,MAAM;YAlD5B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;uBAsDU,MAAM;uBAUN,MAAM;yBAUJ,MAAM;YA7E9B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;;mFA+FlB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,74 +1,76 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
"name": "@guebbit/vue-toolkit",
|
|
3
|
+
"version": "1.0.3",
|
|
4
|
+
"license": "AGPLv3.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.js",
|
|
8
|
+
"types": "dist/types/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"types": "./dist/types/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"README.md",
|
|
18
|
+
"LICENSE",
|
|
19
|
+
"CHANGELOG"
|
|
20
|
+
],
|
|
21
|
+
"sideEffects": false,
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsc",
|
|
24
|
+
"test": "jest --config jest.config.cjs --passWithNoTests",
|
|
25
|
+
"test:target": "clear && jest --config jest.config.cjs /tests/structureRestApi.search.spec.ts",
|
|
26
|
+
"lint": "eslint \"*/**/*.{ts,js,json}\"",
|
|
27
|
+
"lint:fix": "eslint \"*/**/*.{ts,js,json}\" --fix",
|
|
28
|
+
"prettier": "npx prettier .",
|
|
29
|
+
"prettier:fix": "npx prettier . --write",
|
|
30
|
+
"docs:dev": "vitepress dev docs --port 8080",
|
|
31
|
+
"docs:build": "vitepress build docs",
|
|
32
|
+
"docs:preview": "vitepress preview docs",
|
|
33
|
+
"update:all": "npx npm-check-updates -u",
|
|
34
|
+
"complete": "npm run build && npm run test && npm run lint:fix && npm run prettier:fix && npm run docs:build",
|
|
35
|
+
"publish:public": "npm run complete && npm publish --access public"
|
|
36
|
+
},
|
|
37
|
+
"peerDependencies": {
|
|
38
|
+
"pinia": ">=2.0.0",
|
|
39
|
+
"vue": ">=3.0.0"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@commitlint/cli": "^20.5.0",
|
|
43
|
+
"@commitlint/config-conventional": "^20.5.0",
|
|
44
|
+
"@eslint/js": "^9.0.0",
|
|
45
|
+
"@types/eslint": "^9.6.1",
|
|
46
|
+
"@types/jest": "^30.0.0",
|
|
47
|
+
"@typescript-eslint/eslint-plugin": "^8.57.2",
|
|
48
|
+
"@typescript-eslint/parser": "^8.57.2",
|
|
49
|
+
"@vitest/eslint-plugin": "^1.6.13",
|
|
50
|
+
"@vue/eslint-config-typescript": "^14.7.0",
|
|
51
|
+
"eslint": "^9.39.2",
|
|
52
|
+
"eslint-config-prettier": "^10.1.8",
|
|
53
|
+
"eslint-plugin-cypress": "^6.2.1",
|
|
54
|
+
"eslint-plugin-oxlint": "^1.57.0",
|
|
55
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
56
|
+
"eslint-plugin-unicorn": "^64.0.0",
|
|
57
|
+
"eslint-plugin-vue": "^10.8.0",
|
|
58
|
+
"husky": "^9.1.7",
|
|
59
|
+
"jest": "^30.3.0",
|
|
60
|
+
"pinia": "^3.0.4",
|
|
61
|
+
"prettier": "^3.8.1",
|
|
62
|
+
"ts-jest": "^29.4.6",
|
|
63
|
+
"typescript": "^5.9.3",
|
|
64
|
+
"typescript-eslint": "^8.57.2",
|
|
65
|
+
"vitepress": "^1.6.4",
|
|
66
|
+
"vue": "^3.5.31"
|
|
67
|
+
},
|
|
68
|
+
"husky": {
|
|
69
|
+
"hooks": {
|
|
70
|
+
"pre-commit": "npm run complete"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"dependencies": {
|
|
74
|
+
"zod": "^4.3.6"
|
|
13
75
|
}
|
|
14
|
-
},
|
|
15
|
-
"files": [
|
|
16
|
-
"dist",
|
|
17
|
-
"README.md",
|
|
18
|
-
"LICENSE",
|
|
19
|
-
"CHANGELOG"
|
|
20
|
-
],
|
|
21
|
-
"sideEffects": false,
|
|
22
|
-
"scripts": {
|
|
23
|
-
"build": "tsc",
|
|
24
|
-
"test": "jest --config jest.config.cjs --passWithNoTests",
|
|
25
|
-
"test:target": "clear && jest --config jest.config.cjs /tests/structureRestApi.search.spec.ts",
|
|
26
|
-
"lint": "eslint \"*/**/*.{ts,js,json}\"",
|
|
27
|
-
"lint:fix": "eslint \"*/**/*.{ts,js,json}\" --fix",
|
|
28
|
-
"docs:dev": "vitepress dev docs --port 8080",
|
|
29
|
-
"docs:build": "vitepress build docs",
|
|
30
|
-
"docs:preview": "vitepress preview docs",
|
|
31
|
-
"update:all": "npx npm-check-updates -u",
|
|
32
|
-
"complete": "npm run build && npm run test && npm run lint && npm run docs:build",
|
|
33
|
-
"publish:public": "npm run complete && npm publish --access public"
|
|
34
|
-
},
|
|
35
|
-
"peerDependencies": {
|
|
36
|
-
"pinia": ">=2.0.0",
|
|
37
|
-
"vue": ">=3.0.0"
|
|
38
|
-
},
|
|
39
|
-
"devDependencies": {
|
|
40
|
-
"@commitlint/cli": "^20.5.0",
|
|
41
|
-
"@commitlint/config-conventional": "^20.5.0",
|
|
42
|
-
"@eslint/js": "^9.0.0",
|
|
43
|
-
"@types/eslint": "^9.6.1",
|
|
44
|
-
"@types/jest": "^30.0.0",
|
|
45
|
-
"@typescript-eslint/eslint-plugin": "^8.57.2",
|
|
46
|
-
"@typescript-eslint/parser": "^8.57.2",
|
|
47
|
-
"@vitest/eslint-plugin": "^1.6.13",
|
|
48
|
-
"@vue/eslint-config-typescript": "^14.7.0",
|
|
49
|
-
"eslint": "^9.39.2",
|
|
50
|
-
"eslint-config-prettier": "^10.1.8",
|
|
51
|
-
"eslint-plugin-cypress": "^6.2.1",
|
|
52
|
-
"eslint-plugin-oxlint": "^1.57.0",
|
|
53
|
-
"eslint-plugin-prettier": "^5.5.5",
|
|
54
|
-
"eslint-plugin-unicorn": "^64.0.0",
|
|
55
|
-
"eslint-plugin-vue": "^10.8.0",
|
|
56
|
-
"husky": "^9.1.7",
|
|
57
|
-
"jest": "^30.3.0",
|
|
58
|
-
"pinia": "^3.0.4",
|
|
59
|
-
"prettier": "^3.8.1",
|
|
60
|
-
"ts-jest": "^29.4.6",
|
|
61
|
-
"typescript": "^5.9.3",
|
|
62
|
-
"typescript-eslint": "^8.57.2",
|
|
63
|
-
"vitepress": "^1.6.4",
|
|
64
|
-
"vue": "^3.5.31"
|
|
65
|
-
},
|
|
66
|
-
"husky": {
|
|
67
|
-
"hooks": {
|
|
68
|
-
"pre-commit": "npm run complete"
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
"dependencies": {
|
|
72
|
-
"zod": "^4.3.6"
|
|
73
|
-
}
|
|
74
76
|
}
|