@ciwergrp/nuxid 1.6.6 → 1.7.1
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/dist/module.json +1 -1
- package/dist/module.mjs +1 -0
- package/dist/runtime/form.js +42 -3
- package/dist/runtime/helper/date/index.d.ts +4 -1
- package/dist/runtime/helper/date/index.js +3 -0
- package/dist/runtime/helper/date/utc.d.ts +4 -0
- package/dist/runtime/helper/date/utc.js +24 -0
- package/dist/runtime/helper/index.d.ts +2 -2
- package/dist/runtime/helper/index.js +1 -0
- package/docs/.docs/dependencies.md +52 -0
- package/package.json +1 -1
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
package/dist/runtime/form.js
CHANGED
|
@@ -2,6 +2,45 @@ import { reactive, ref, toRaw } from "vue";
|
|
|
2
2
|
function normalizeStringWhitespace(value) {
|
|
3
3
|
return value.trim().replace(/\s{2,}/g, " ");
|
|
4
4
|
}
|
|
5
|
+
function isPlainObject(value) {
|
|
6
|
+
return value !== null && Object.prototype.toString.call(value) === "[object Object]";
|
|
7
|
+
}
|
|
8
|
+
function flattenErrorPaths(value, currentPath = "", target = {}) {
|
|
9
|
+
if (Array.isArray(value)) {
|
|
10
|
+
const hasObjectItems = value.some((item) => item !== null && typeof item === "object");
|
|
11
|
+
if (!hasObjectItems) {
|
|
12
|
+
if (currentPath) {
|
|
13
|
+
target[currentPath] = value;
|
|
14
|
+
}
|
|
15
|
+
return target;
|
|
16
|
+
}
|
|
17
|
+
value.forEach((item, index) => {
|
|
18
|
+
const nextPath = currentPath ? `${currentPath}.${index}` : `${index}`;
|
|
19
|
+
flattenErrorPaths(item, nextPath, target);
|
|
20
|
+
});
|
|
21
|
+
return target;
|
|
22
|
+
}
|
|
23
|
+
if (isPlainObject(value)) {
|
|
24
|
+
Object.keys(value).forEach((key) => {
|
|
25
|
+
const nextPath = currentPath ? `${currentPath}.${key}` : key;
|
|
26
|
+
flattenErrorPaths(value[key], nextPath, target);
|
|
27
|
+
});
|
|
28
|
+
return target;
|
|
29
|
+
}
|
|
30
|
+
if (currentPath) {
|
|
31
|
+
target[currentPath] = value;
|
|
32
|
+
}
|
|
33
|
+
return target;
|
|
34
|
+
}
|
|
35
|
+
function withDotPathErrors(errors) {
|
|
36
|
+
if (!isPlainObject(errors) && !Array.isArray(errors)) {
|
|
37
|
+
return errors;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
...errors,
|
|
41
|
+
...flattenErrorPaths(errors)
|
|
42
|
+
};
|
|
43
|
+
}
|
|
5
44
|
function normalizeValue(value) {
|
|
6
45
|
if (typeof value === "string") {
|
|
7
46
|
return normalizeStringWhitespace(value);
|
|
@@ -121,11 +160,11 @@ export default function useHttp(initialData, formOptions) {
|
|
|
121
160
|
if (context.response._data && typeof context.response._data === "object") {
|
|
122
161
|
const responseData = context.response._data;
|
|
123
162
|
if (responseData.errors) {
|
|
124
|
-
form.errors = responseData.errors;
|
|
163
|
+
form.errors = withDotPathErrors(responseData.errors);
|
|
125
164
|
} else if (responseData.message || responseData.error) {
|
|
126
|
-
form.errors = responseData;
|
|
165
|
+
form.errors = withDotPathErrors(responseData);
|
|
127
166
|
} else {
|
|
128
|
-
form.errors = responseData;
|
|
167
|
+
form.errors = withDotPathErrors(responseData);
|
|
129
168
|
}
|
|
130
169
|
} else {
|
|
131
170
|
form.errors = {};
|
|
@@ -6,7 +6,9 @@ import { addDay, addDays, addHour, addHours, addMinute, addMinutes, addMonth, ad
|
|
|
6
6
|
import { endOfDay, endOfHour, endOfMinute, endOfMonth, endOfQuarter, endOfSecond, endOfWeek, endOfYear, startOfDay, startOfHour, startOfMinute, startOfMonth, startOfQuarter, startOfSecond, startOfWeek, startOfYear } from './bounds.js';
|
|
7
7
|
import { diffInDays, diffInHours, diffInMinutes, diffInMonths, diffInSeconds, diffInWeeks, diffInYears } from './diff.js';
|
|
8
8
|
import { isAfter, isBefore, isEqual, isFuture, isPast, isSameDay, isSameHour, isSameMinute, isSameMonth, isSameSecond, isSameWeek, isSameYear, isThisMonth, isThisWeek, isThisYear, isToday, isTomorrow, isValid, isWeekend, isYesterday } from './compare.js';
|
|
9
|
+
import { localDateToUTCISO, type LocalDateToUTCISOOptions } from './utc.js';
|
|
9
10
|
export type { DateFormatPreset } from './format.js';
|
|
11
|
+
export type { LocalDateToUTCISOOptions };
|
|
10
12
|
export interface DateHelper {
|
|
11
13
|
toDate: typeof toDate;
|
|
12
14
|
toUnix: typeof toUnix;
|
|
@@ -29,6 +31,7 @@ export interface DateHelper {
|
|
|
29
31
|
toIsoString: typeof toIsoString;
|
|
30
32
|
toRfc3339String: typeof toRfc3339String;
|
|
31
33
|
toRfc7231String: typeof toRfc7231String;
|
|
34
|
+
localDateToUTCISO: typeof localDateToUTCISO;
|
|
32
35
|
parse: typeof parse;
|
|
33
36
|
parseISO: typeof parseISO;
|
|
34
37
|
addSecond: typeof addSecond;
|
|
@@ -104,4 +107,4 @@ export interface DateHelper {
|
|
|
104
107
|
isValid: typeof isValid;
|
|
105
108
|
}
|
|
106
109
|
export declare function dt(): DateHelper;
|
|
107
|
-
export { type DateInput, toDate, toUnix, toMillis, fromUnix, fromTimestamp, now, today, tomorrow, yesterday, format as dateFormat, formatISO, formatRFC3339, formatRFC7231, fromNow, diffForHumans, toDateString, toTimeString, toDateTimeString, toIsoString, toRfc3339String, toRfc7231String, parse as dateParse, parseISO, addSecond, addSeconds, addMinute, addMinutes, addHour, addHours, addDay, addDays, addWeek, addWeeks, addMonth, addMonths, addYear, addYears, subSecond, subSeconds, subMinute, subMinutes, subHour, subHours, subDay, subDays, subWeek, subWeeks, subMonth, subMonths, subYear, subYears, startOfSecond, endOfSecond, startOfMinute, endOfMinute, startOfHour, endOfHour, startOfDay, endOfDay, startOfWeek, endOfWeek, startOfMonth, endOfMonth, startOfQuarter, endOfQuarter, startOfYear, endOfYear, diffInSeconds, diffInMinutes, diffInHours, diffInDays, diffInWeeks, diffInMonths, diffInYears, isBefore, isAfter, isEqual, isSameSecond, isSameMinute, isSameHour, isSameDay, isSameWeek, isSameMonth, isSameYear, isToday, isTomorrow, isYesterday, isWeekend, isPast, isFuture, isThisWeek, isThisMonth, isThisYear, isValid, };
|
|
110
|
+
export { type DateInput, toDate, toUnix, toMillis, fromUnix, fromTimestamp, now, today, tomorrow, yesterday, format as dateFormat, formatISO, formatRFC3339, formatRFC7231, fromNow, diffForHumans, toDateString, toTimeString, toDateTimeString, toIsoString, toRfc3339String, toRfc7231String, localDateToUTCISO, parse as dateParse, parseISO, addSecond, addSeconds, addMinute, addMinutes, addHour, addHours, addDay, addDays, addWeek, addWeeks, addMonth, addMonths, addYear, addYears, subSecond, subSeconds, subMinute, subMinutes, subHour, subHours, subDay, subDays, subWeek, subWeeks, subMonth, subMonths, subYear, subYears, startOfSecond, endOfSecond, startOfMinute, endOfMinute, startOfHour, endOfHour, startOfDay, endOfDay, startOfWeek, endOfWeek, startOfMonth, endOfMonth, startOfQuarter, endOfQuarter, startOfYear, endOfYear, diffInSeconds, diffInMinutes, diffInHours, diffInDays, diffInWeeks, diffInMonths, diffInYears, isBefore, isAfter, isEqual, isSameSecond, isSameMinute, isSameHour, isSameDay, isSameWeek, isSameMonth, isSameYear, isToday, isTomorrow, isYesterday, isWeekend, isPast, isFuture, isThisWeek, isThisMonth, isThisYear, isValid, };
|
|
@@ -94,6 +94,7 @@ import {
|
|
|
94
94
|
isWeekend,
|
|
95
95
|
isYesterday
|
|
96
96
|
} from "./compare.js";
|
|
97
|
+
import { localDateToUTCISO } from "./utc.js";
|
|
97
98
|
export function dt() {
|
|
98
99
|
return {
|
|
99
100
|
toDate,
|
|
@@ -117,6 +118,7 @@ export function dt() {
|
|
|
117
118
|
toIsoString,
|
|
118
119
|
toRfc3339String,
|
|
119
120
|
toRfc7231String,
|
|
121
|
+
localDateToUTCISO,
|
|
120
122
|
parse,
|
|
121
123
|
parseISO,
|
|
122
124
|
addSecond,
|
|
@@ -214,6 +216,7 @@ export {
|
|
|
214
216
|
toIsoString,
|
|
215
217
|
toRfc3339String,
|
|
216
218
|
toRfc7231String,
|
|
219
|
+
localDateToUTCISO,
|
|
217
220
|
parse as dateParse,
|
|
218
221
|
parseISO,
|
|
219
222
|
addSecond,
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function localDateToUTCISO(value, options) {
|
|
2
|
+
if (!value) {
|
|
3
|
+
return void 0;
|
|
4
|
+
}
|
|
5
|
+
const [yearRaw, monthRaw, dayRaw] = value.split("-");
|
|
6
|
+
const year = Number(yearRaw);
|
|
7
|
+
const month = Number(monthRaw);
|
|
8
|
+
const day = Number(dayRaw);
|
|
9
|
+
if (!year || !month || !day) {
|
|
10
|
+
return void 0;
|
|
11
|
+
}
|
|
12
|
+
const localDate = new Date(
|
|
13
|
+
year,
|
|
14
|
+
month - 1,
|
|
15
|
+
day,
|
|
16
|
+
options?.endOfDay ? 23 : 0,
|
|
17
|
+
options?.endOfDay ? 59 : 0,
|
|
18
|
+
options?.endOfDay ? 59 : 0
|
|
19
|
+
);
|
|
20
|
+
if (Number.isNaN(localDate.getTime())) {
|
|
21
|
+
return void 0;
|
|
22
|
+
}
|
|
23
|
+
return localDate.toISOString();
|
|
24
|
+
}
|
|
@@ -12,5 +12,5 @@ export type { StringHelper } from './string/index.js';
|
|
|
12
12
|
export { after, afterLast, ascii, before, beforeLast, between, betweenFirst, camel, contains, containsAll, endsWith, finish, kebab, lcfirst, length, lower, padBoth, padLeft, padRight, remove, replace, replaceFirst, replaceLast, rtrim, slug, snake, start, startsWith, studly, title, transliterate, ucfirst, upper, wordCount, words, } from './string/index.js';
|
|
13
13
|
export { defaultLocale, useLocale, withLocale, defaultCurrency, useCurrency, withCurrency, } from './state.js';
|
|
14
14
|
export { dt } from './date/index.js';
|
|
15
|
-
export type { DateHelper, DateInput, DateFormatPreset } from './date/index.js';
|
|
16
|
-
export { toDate, toUnix, toMillis, fromUnix, fromTimestamp, now, today, tomorrow, yesterday, dateFormat, formatISO, formatRFC3339, formatRFC7231, fromNow, diffForHumans, toDateString, toTimeString, toDateTimeString, toIsoString, toRfc3339String, toRfc7231String, dateParse, parseISO, addSecond, addSeconds, addMinute, addMinutes, addHour, addHours, addDay, addDays, addWeek, addWeeks, addMonth, addMonths, addYear, addYears, subSecond, subSeconds, subMinute, subMinutes, subHour, subHours, subDay, subDays, subWeek, subWeeks, subMonth, subMonths, subYear, subYears, startOfSecond, endOfSecond, startOfMinute, endOfMinute, startOfHour, endOfHour, startOfDay, endOfDay, startOfWeek, endOfWeek, startOfMonth, endOfMonth, startOfQuarter, endOfQuarter, startOfYear, endOfYear, diffInSeconds, diffInMinutes, diffInHours, diffInDays, diffInWeeks, diffInMonths, diffInYears, isBefore, isAfter, isEqual, isSameSecond, isSameMinute, isSameHour, isSameDay, isSameWeek, isSameMonth, isSameYear, isToday, isTomorrow, isYesterday, isWeekend, isPast, isFuture, isThisWeek, isThisMonth, isThisYear, isValid, } from './date/index.js';
|
|
15
|
+
export type { DateHelper, DateInput, DateFormatPreset, LocalDateToUTCISOOptions } from './date/index.js';
|
|
16
|
+
export { toDate, toUnix, toMillis, fromUnix, fromTimestamp, now, today, tomorrow, yesterday, dateFormat, formatISO, formatRFC3339, formatRFC7231, fromNow, diffForHumans, toDateString, toTimeString, toDateTimeString, toIsoString, toRfc3339String, toRfc7231String, localDateToUTCISO, dateParse, parseISO, addSecond, addSeconds, addMinute, addMinutes, addHour, addHours, addDay, addDays, addWeek, addWeeks, addMonth, addMonths, addYear, addYears, subSecond, subSeconds, subMinute, subMinutes, subHour, subHours, subDay, subDays, subWeek, subWeeks, subMonth, subMonths, subYear, subYears, startOfSecond, endOfSecond, startOfMinute, endOfMinute, startOfHour, endOfHour, startOfDay, endOfDay, startOfWeek, endOfWeek, startOfMonth, endOfMonth, startOfQuarter, endOfQuarter, startOfYear, endOfYear, diffInSeconds, diffInMinutes, diffInHours, diffInDays, diffInWeeks, diffInMonths, diffInYears, isBefore, isAfter, isEqual, isSameSecond, isSameMinute, isSameHour, isSameDay, isSameWeek, isSameMonth, isSameYear, isToday, isTomorrow, isYesterday, isWeekend, isPast, isFuture, isThisWeek, isThisMonth, isThisYear, isValid, } from './date/index.js';
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Dependencies
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Dependencies
|
|
6
|
+
|
|
7
|
+
This page documents dependencies introduced by `@ciwergrp/nuxid`.
|
|
8
|
+
|
|
9
|
+
## Does this already exist?
|
|
10
|
+
|
|
11
|
+
Not as a dedicated page/menu.
|
|
12
|
+
|
|
13
|
+
- Existing docs under [Third-Party](/built-in-modules/) explain some integrations.
|
|
14
|
+
- This page is the complete dependency inventory.
|
|
15
|
+
|
|
16
|
+
## Package Dependencies (installed with `@ciwergrp/nuxid`)
|
|
17
|
+
|
|
18
|
+
When you install `@ciwergrp/nuxid`, these direct package dependencies are installed:
|
|
19
|
+
|
|
20
|
+
- `@element-plus/nuxt`
|
|
21
|
+
- `@formatjs/intl`
|
|
22
|
+
- `@inquirer/prompts`
|
|
23
|
+
- `@nuxt/icon`
|
|
24
|
+
- `@nuxt/kit`
|
|
25
|
+
- `@sentry/nuxt`
|
|
26
|
+
- `@sindresorhus/slugify`
|
|
27
|
+
- `@sindresorhus/transliterate`
|
|
28
|
+
- `@tailwindcss/vite`
|
|
29
|
+
- `@vueuse/nuxt`
|
|
30
|
+
- `date-fns`
|
|
31
|
+
- `element-plus`
|
|
32
|
+
- `hls.js`
|
|
33
|
+
- `lodash-es`
|
|
34
|
+
- `pinia`
|
|
35
|
+
- `socket.io-client`
|
|
36
|
+
- `tailwindcss`
|
|
37
|
+
- `vite`
|
|
38
|
+
|
|
39
|
+
## Nuxt Module Dependencies Added to Your App
|
|
40
|
+
|
|
41
|
+
Nuxid adds/integrates Nuxt modules as follows:
|
|
42
|
+
|
|
43
|
+
- Always declared module dependency: `@sentry/nuxt` (via `moduleDependencies`)
|
|
44
|
+
- Conditionally installed when enabled in `nuxid` options:
|
|
45
|
+
- `@nuxt/icon` (`nuxid.icon`)
|
|
46
|
+
- `@element-plus/nuxt` (`nuxid.elementPlus`)
|
|
47
|
+
- `@vueuse/nuxt` (`nuxid.vueuse`)
|
|
48
|
+
|
|
49
|
+
## Notes
|
|
50
|
+
|
|
51
|
+
- Enabling `nuxid.pinia` integrates Pinia runtime/composables but does not call `installModule('@pinia/nuxt')`.
|
|
52
|
+
- Versions follow this repository's `package.json`.
|