@guebbit/vue-toolkit 1.0.0 → 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 CHANGED
@@ -1,3 +1,4 @@
1
1
  TODO
2
- - Copypaste the README.md from boilerplate-node-backend-mongodb
3
- - WARNING: structureRestApi and structureDataManagement don't know what to do if ID is not present
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 = "id",
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
- return Object.prototype.hasOwnProperty.call(itemDictionary.value, id) ? itemDictionary.value[id] : undefined;
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("storeDataStructure - data not found", data);
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 && itemDictionary.value[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] = [...new Set(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":"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"}
1
+ {"version":3,"file":"structureDataManagement.js","sourceRoot":"","sources":["../../src/composables/structureDataManagement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
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
+ };
136
+ //# sourceMappingURL=structureFormManagement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structureFormManagement.js","sourceRoot":"","sources":["../../src/composables/structureFormManagement.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,136 @@
1
- "use strict";
2
- // TODO with zod
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":";AAAA,gBAAgB"}
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 "vue";
2
- import { useStructureDataManagement } from "../index";
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 = "id", loadingKey = crypto.randomUUID(), TTL = 3600000, // 1 hour
16
- delimiter = "|", getLoading, setLoading } = {}) => {
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, } = useStructureDataManagement(identifiers, delimiter);
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 = "") => loadingKey && setLoading ? setLoading(loadingKey + postfix, true) : _loading.value = true;
30
- const stopLoading = (postfix = "") => loadingKey && setLoading ? setLoading(loadingKey + postfix, false) : _loading.value = false;
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 = "", branch = ELastUpdateKeywords.GENERIC) => Date.now() - (
72
- // if ELastUpdateKeywords.ALL I ignore the key
73
- branch === ELastUpdateKeywords.ALL ? lastUpdate[ELastUpdateKeywords.ALL] :
74
- // @ts-expect-error too intricate to typesafe. It is safe.
75
- lastUpdate[branch][key]) < TTL;
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 = "", branch = ELastUpdateKeywords.GENERIC) => {
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,11 +102,11 @@ delimiter = "|", getLoading, setLoading } = {}) => {
98
102
  * @param key
99
103
  * @param branch
100
104
  */
101
- const checkAndEditLastUpdate = (key = "", branch = ELastUpdateKeywords.GENERIC) => {
105
+ const checkAndEditLastUpdate = (key = '', branch = ELastUpdateKeywords.GENERIC) => {
102
106
  if (getLastUpdate(key, branch)) {
103
107
  return true;
104
108
  }
105
- editLastUpdate(Date.now());
109
+ editLastUpdate(Date.now(), key, branch);
106
110
  return false;
107
111
  };
108
112
  /**
@@ -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 = "", loadingKey } = {}) => {
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 && (lastUpdateKey && checkAndEditLastUpdate(lastUpdateKey)))
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 = "", loadingKey } = {},
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 && (lastUpdateKey ? checkAndEditLastUpdate(lastUpdateKey) : checkAndEditLastUpdate("", ELastUpdateKeywords.ALL)))
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 = "", loadingKey } = {},
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 = "", loadingKey } = {}) => {
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,20 +370,19 @@ 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 === "string" ? key : searchKeyGen(key)]?.[page]);
373
+ const searchGet = (key, page = 1) => getRecords(searchCached.value[typeof key === 'string' ? key : searchKeyGen(key)]?.[page]);
367
374
  /**
368
- * I clean up all expired searches OR, if they are 100+, the old ones.
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
- // Remove expired entries
373
- const validEntries = Object.entries(lastUpdate[ELastUpdateKeywords.ONLINE])
374
- .filter(([_, ttl]) => ttl < Date.now());
379
+ // Remove expired data entries
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]);
378
- // rebuild lastUpdate
379
- lastUpdate[ELastUpdateKeywords.ONLINE] = Object.fromEntries(validEntries.slice(0, 100));
384
+ // rebuild lastUpdate. Remove the oldest entries if there are too many for resources reason
385
+ lastUpdate[ELastUpdateKeywords.ONLINE] = Object.fromEntries(validEntries.slice(0, MAX_SEARCHES));
380
386
  };
381
387
  /**
382
388
  * Fetch items as a search.
@@ -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 = "", loadingKey } = {},
410
+ const fetchSearch = (apiCall, filters = {}, page = 1, { forced, loading = true, merge, lastUpdateKey = '', loadingKey } = {},
405
411
  /**
406
412
  * Similar reasoning as fetchAll mismatch
407
413
  */
@@ -412,7 +418,7 @@ delimiter = "|", getLoading, setLoading } = {}) => {
412
418
  // Instead of regular checkAndEditLastUpdate, I clean up all expired searches and check if the ID is still present
413
419
  searchCleanup();
414
420
  // TTL is monodimensional so the page will be added to the key (TTL ONLY)
415
- if (!forced && (searchTTLkey) in lastUpdate[ELastUpdateKeywords.ONLINE])
421
+ if (!forced && searchTTLkey in lastUpdate[ELastUpdateKeywords.ONLINE])
416
422
  return Promise.resolve(getRecords(searchCached.value[searchKey]?.[page]));
417
423
  // Then I manually save the TTL (since I'm not using checkAndEditLastUpdate shortcut)
418
424
  lastUpdate[ELastUpdateKeywords.ONLINE][searchTTLkey] = Date.now();
@@ -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 = "", loadingKey } = {}, fetchLike = true) => {
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 = "", loadingKey } = {}, fetchLike = true, fetchAgain = true) => {
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,5 +1,6 @@
1
- export { useCoreStore } from "./stores/core";
2
- export { useNotificationsStore } from "./stores/notifications";
3
- export { useStructureDataManagement } from "./composables/structureDataManagement";
4
- export { useStructureRestApi } from "./composables/structureRestApi";
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';
5
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,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA"}
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"}
@@ -1,5 +1,5 @@
1
1
  import { ref, computed } from 'vue';
2
- import { defineStore } from "pinia";
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
@@ -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,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGpC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE;IAEnD;;;OAGG;IACH,MAAM,QAAQ,GAAG,GAAG,CAAmC,EAAE,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,MAAM,UAAU,GAAG,CAAC,GAAoB,EAAE,KAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAEzF;;OAEG;IACH,MAAM,aAAa,GAAG,GAAG,EAAE,CAAE,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;IAEjD;;OAEG;IACH,MAAM,UAAU,GAAG,CAAC,GAAoB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjE;;OAEG;IACH,MAAM,SAAS,GAAG,QAAQ,CACxB,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAClD,CAAA;IAED,OAAO;QACL,QAAQ;QACR,SAAS;QACT,aAAa;QACb,UAAU;QACV,UAAU;KACX,CAAA;AACH,CAAC,CAAC,CAAA"}
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 "pinia";
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(() => { hideMessage(id); }, timeout);
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;IACpB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;IACvB,8BAAgB,CAAA;IAChB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;AACrB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAQD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,eAAe,EAAE,GAAG,EAAE;IAErE,oEAAoE;IAEpE;;OAEG;IACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAAqB,CAAC,CAAC;IAE3C;;OAEG;IACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAC/C,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;QAC9E,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,iBAAiB;QACjB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YACjB,EAAE;YACF,OAAO;YACP,IAAI;YACJ,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,gCAAgC;QAChC,IAAG,OAAO,GAAG,CAAC;YACZ,UAAU,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAA;IAED;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAE7C;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,OAAO;YACT,OAAO,CAAC,OAAO,GAAG,KAAK,CAAA;IAC3B,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,OAAO;YACT,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;IAC1B,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CACpC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAI/D,4CAA4C;IAE5C;;;OAGG;IACH,MAAM,OAAO,GAAG,GAAG,CAAC,EAA6B,CAAC,CAAA;IAElD,OAAO;QACL,OAAO;QACP,QAAQ;QACR,UAAU;QACV,WAAW;QACX,WAAW;QACX,WAAW;QACX,aAAa;QACb,OAAO;KACR,CAAC;AACJ,CAAC,CAAC,CAAC"}
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":"AAGA,eAAO,MAAM,0BAA0B,GAGrC,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;uBASW,CAAC,gBAAgB,CAAC,sBAAsB,MAAM,GAAG,MAAM,EAAE,KAAG,CAAC;;;;wBA4B5D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;;+BAcpB,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,KAAG,CAAC,GAAG,SAAS;4BAUrC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,KAG/B,CAAC,EAAE;0BAQE,CAAC;6BAQE,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;wBAkBvB,OAAO,CAAC,CAAC,CAAC,OAAY,CAAC,GAAG,CAAC,EAAE;8BA4BtB,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;uBAaxB,CAAC;;;;;;;;;4BAkEI,CAAC;iCAWI,CAAC;wCASM,CAAC;oCAOL,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;iCAgBnB,CAAC,KAAG,CAAC,EAAE;CAkC5C,CAAC"}
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"}
@@ -0,0 +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
+ };
23
+ //# sourceMappingURL=structureFormManagement.d.ts.map
@@ -0,0 +1 @@
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, value?: boolean) => void;
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 | void>;
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":"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"}
1
+ {"version":3,"file":"structureRestApi.d.ts","sourceRoot":"","sources":["../../../src/composables/structureRestApi.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- export { useCoreStore } from "./stores/core";
2
- export { useNotificationsStore } from "./stores/notifications";
3
- export { useStructureDataManagement } from "./composables/structureDataManagement";
4
- export { useStructureRestApi } from "./composables/structureRestApi";
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';
5
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,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA"}
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: string | symbol, value: boolean) => boolean;
6
- getLoading: (key: string | symbol) => boolean;
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: string | symbol, value: boolean) => boolean;
12
- getLoading: (key: string | symbol) => boolean;
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: string | symbol, value: boolean) => boolean;
18
- getLoading: (key: string | symbol) => boolean;
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":"AAIA,eAAO,MAAM,YAAY;;;;sBAcE,MAAM,GAAG,MAAM,SAAS,OAAO;sBAU/B,MAAM,GAAG,MAAM;;;;;sBAVf,MAAM,GAAG,MAAM,SAAS,OAAO;sBAU/B,MAAM,GAAG,MAAM;;;;;sBAVf,MAAM,GAAG,MAAM,SAAS,OAAO;sBAU/B,MAAM,GAAG,MAAM;kDAgBxC,CAAA"}
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;IACpB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,UAAU;IAChB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AACD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB;;YAT5B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;YAHZ,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;;YAHZ,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;0BA6Ba,MAAM;uBAmBT,MAAM;YAnD5B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;uBAwDU,MAAM;uBAWN,MAAM;yBAWJ,MAAM;YAjF9B,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;;0BA6Ba,MAAM;uBAmBT,MAAM;YAnD5B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;uBAwDU,MAAM;uBAWN,MAAM;yBAWJ,MAAM;YAjF9B,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;;0BA6Ba,MAAM;uBAmBT,MAAM;YAnD5B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;uBAwDU,MAAM;uBAWN,MAAM;yBAWJ,MAAM;YAjF9B,MAAM;iBACD,MAAM;cACT,UAAU;iBACP,OAAO;;;mFAqGhB,CAAC"}
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
- "name": "@guebbit/vue-toolkit",
3
- "version": "1.0.0",
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"
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": "jest --config jest.config.cjs /tests/getColorBrightness.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
  }