bytekit 1.0.31 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -188
- package/dist/utils/core/ApiClient.d.ts +11 -10
- package/dist/utils/core/ApiClient.d.ts.map +1 -1
- package/dist/utils/core/ApiClient.js +17 -9
- package/dist/utils/core/ApiClient.js.map +1 -1
- package/dist/utils/core/SchemaAdapter.d.ts +35 -0
- package/dist/utils/core/SchemaAdapter.d.ts.map +1 -0
- package/dist/utils/core/SchemaAdapter.js +36 -0
- package/dist/utils/core/SchemaAdapter.js.map +1 -0
- package/dist/utils/core/index.d.ts +1 -1
- package/dist/utils/core/index.d.ts.map +1 -1
- package/dist/utils/core/index.js +1 -1
- package/dist/utils/core/index.js.map +1 -1
- package/dist/utils/helpers/QueryStringHelper.d.ts +11 -0
- package/dist/utils/helpers/QueryStringHelper.d.ts.map +1 -0
- package/dist/utils/helpers/QueryStringHelper.js +84 -0
- package/dist/utils/helpers/QueryStringHelper.js.map +1 -0
- package/dist/utils/helpers/UrlSlugHelper.d.ts +19 -0
- package/dist/utils/helpers/UrlSlugHelper.d.ts.map +1 -0
- package/dist/utils/helpers/UrlSlugHelper.js +27 -0
- package/dist/utils/helpers/UrlSlugHelper.js.map +1 -0
- package/dist/utils/helpers/index.d.ts +2 -13
- package/dist/utils/helpers/index.d.ts.map +1 -1
- package/dist/utils/helpers/index.js +2 -13
- package/dist/utils/helpers/index.js.map +1 -1
- package/dist/utils/index.d.ts +2 -8
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -8
- package/dist/utils/index.js.map +1 -1
- package/package.json +13 -71
- package/dist/color-utils.d.ts +0 -2
- package/dist/color-utils.d.ts.map +0 -1
- package/dist/color-utils.js +0 -2
- package/dist/color-utils.js.map +0 -1
- package/dist/date-utils.d.ts +0 -2
- package/dist/date-utils.d.ts.map +0 -1
- package/dist/date-utils.js +0 -2
- package/dist/date-utils.js.map +0 -1
- package/dist/number-utils.d.ts +0 -2
- package/dist/number-utils.d.ts.map +0 -1
- package/dist/number-utils.js +0 -2
- package/dist/number-utils.js.map +0 -1
- package/dist/string-utils.d.ts +0 -2
- package/dist/string-utils.d.ts.map +0 -1
- package/dist/string-utils.js +0 -2
- package/dist/string-utils.js.map +0 -1
- package/dist/utils/core/BatchRequest.d.ts +0 -79
- package/dist/utils/core/BatchRequest.d.ts.map +0 -1
- package/dist/utils/core/BatchRequest.js +0 -152
- package/dist/utils/core/BatchRequest.js.map +0 -1
- package/dist/utils/core/QueryClient.d.ts +0 -145
- package/dist/utils/core/QueryClient.d.ts.map +0 -1
- package/dist/utils/core/QueryClient.js +0 -453
- package/dist/utils/core/QueryClient.js.map +0 -1
- package/dist/utils/core/QueryState.d.ts +0 -99
- package/dist/utils/core/QueryState.d.ts.map +0 -1
- package/dist/utils/core/QueryState.js +0 -65
- package/dist/utils/core/QueryState.js.map +0 -1
- package/dist/utils/helpers/ArrayUtils.d.ts +0 -134
- package/dist/utils/helpers/ArrayUtils.d.ts.map +0 -1
- package/dist/utils/helpers/ArrayUtils.js +0 -306
- package/dist/utils/helpers/ArrayUtils.js.map +0 -1
- package/dist/utils/helpers/ColorUtils.d.ts +0 -235
- package/dist/utils/helpers/ColorUtils.d.ts.map +0 -1
- package/dist/utils/helpers/ColorUtils.js +0 -598
- package/dist/utils/helpers/ColorUtils.js.map +0 -1
- package/dist/utils/helpers/DateUtils.d.ts +0 -36
- package/dist/utils/helpers/DateUtils.d.ts.map +0 -1
- package/dist/utils/helpers/DateUtils.js +0 -131
- package/dist/utils/helpers/DateUtils.js.map +0 -1
- package/dist/utils/helpers/FormUtils.d.ts +0 -176
- package/dist/utils/helpers/FormUtils.d.ts.map +0 -1
- package/dist/utils/helpers/FormUtils.js +0 -437
- package/dist/utils/helpers/FormUtils.js.map +0 -1
- package/dist/utils/helpers/HttpStatusHelper.d.ts +0 -82
- package/dist/utils/helpers/HttpStatusHelper.d.ts.map +0 -1
- package/dist/utils/helpers/HttpStatusHelper.js +0 -174
- package/dist/utils/helpers/HttpStatusHelper.js.map +0 -1
- package/dist/utils/helpers/NumberUtils.d.ts +0 -230
- package/dist/utils/helpers/NumberUtils.d.ts.map +0 -1
- package/dist/utils/helpers/NumberUtils.js +0 -564
- package/dist/utils/helpers/NumberUtils.js.map +0 -1
- package/dist/utils/helpers/ObjectUtils.d.ts +0 -102
- package/dist/utils/helpers/ObjectUtils.d.ts.map +0 -1
- package/dist/utils/helpers/ObjectUtils.js +0 -301
- package/dist/utils/helpers/ObjectUtils.js.map +0 -1
- package/dist/utils/helpers/PaginationHelper.d.ts +0 -127
- package/dist/utils/helpers/PaginationHelper.d.ts.map +0 -1
- package/dist/utils/helpers/PaginationHelper.js +0 -295
- package/dist/utils/helpers/PaginationHelper.js.map +0 -1
- package/dist/utils/helpers/Signal.d.ts +0 -92
- package/dist/utils/helpers/Signal.d.ts.map +0 -1
- package/dist/utils/helpers/Signal.js +0 -243
- package/dist/utils/helpers/Signal.js.map +0 -1
- package/dist/utils/helpers/StringUtils.d.ts +0 -46
- package/dist/utils/helpers/StringUtils.d.ts.map +0 -1
- package/dist/utils/helpers/StringUtils.js +0 -228
- package/dist/utils/helpers/StringUtils.js.map +0 -1
- package/dist/utils/helpers/TimeUtils.d.ts +0 -87
- package/dist/utils/helpers/TimeUtils.d.ts.map +0 -1
- package/dist/utils/helpers/TimeUtils.js +0 -234
- package/dist/utils/helpers/TimeUtils.js.map +0 -1
- package/dist/utils/helpers/UrlBuilder.d.ts +0 -79
- package/dist/utils/helpers/UrlBuilder.d.ts.map +0 -1
- package/dist/utils/helpers/UrlBuilder.js +0 -161
- package/dist/utils/helpers/UrlBuilder.js.map +0 -1
- package/dist/utils/helpers/Validator.d.ts +0 -31
- package/dist/utils/helpers/Validator.d.ts.map +0 -1
- package/dist/utils/helpers/Validator.js +0 -175
- package/dist/utils/helpers/Validator.js.map +0 -1
- package/dist/utils/helpers/useSignal.d.ts +0 -11
- package/dist/utils/helpers/useSignal.d.ts.map +0 -1
- package/dist/utils/helpers/useSignal.js +0 -11
- package/dist/utils/helpers/useSignal.js.map +0 -1
- package/dist/validator.d.ts +0 -2
- package/dist/validator.d.ts.map +0 -1
- package/dist/validator.js +0 -2
- package/dist/validator.js.map +0 -1
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
const MS_PER_UNIT = {
|
|
2
|
-
milliseconds: 1,
|
|
3
|
-
seconds: 1000,
|
|
4
|
-
minutes: 60000,
|
|
5
|
-
hours: 3600000,
|
|
6
|
-
days: 86400000,
|
|
7
|
-
};
|
|
8
|
-
const ROUNDING_FUNCTIONS = {
|
|
9
|
-
floor: Math.floor,
|
|
10
|
-
ceil: Math.ceil,
|
|
11
|
-
round: Math.round,
|
|
12
|
-
trunc: Math.trunc,
|
|
13
|
-
};
|
|
14
|
-
const toDate = (value) => {
|
|
15
|
-
if (value === null || value === undefined)
|
|
16
|
-
return null;
|
|
17
|
-
if (value instanceof Date && !Number.isNaN(value.getTime()))
|
|
18
|
-
return new Date(value.getTime());
|
|
19
|
-
if (typeof value === "number" && Number.isFinite(value))
|
|
20
|
-
return new Date(value);
|
|
21
|
-
if (typeof value === "string") {
|
|
22
|
-
const parsed = new Date(value);
|
|
23
|
-
return Number.isNaN(parsed.getTime()) ? null : parsed;
|
|
24
|
-
}
|
|
25
|
-
return null;
|
|
26
|
-
};
|
|
27
|
-
const requireDate = (value) => {
|
|
28
|
-
const date = toDate(value);
|
|
29
|
-
if (!date)
|
|
30
|
-
throw new TypeError("Invalid date input");
|
|
31
|
-
return date;
|
|
32
|
-
};
|
|
33
|
-
const pad = (value) => value.toString().padStart(2, "0");
|
|
34
|
-
const calculateDurationMs = ({ days = 0, hours = 0, minutes = 0, seconds = 0, milliseconds = 0, } = {}) => days * MS_PER_UNIT.days +
|
|
35
|
-
hours * MS_PER_UNIT.hours +
|
|
36
|
-
minutes * MS_PER_UNIT.minutes +
|
|
37
|
-
seconds * MS_PER_UNIT.seconds +
|
|
38
|
-
milliseconds;
|
|
39
|
-
export const DateUtils = {
|
|
40
|
-
parse(value) {
|
|
41
|
-
return toDate(value);
|
|
42
|
-
},
|
|
43
|
-
isValid(value) {
|
|
44
|
-
return Boolean(toDate(value));
|
|
45
|
-
},
|
|
46
|
-
toISODate(value) {
|
|
47
|
-
const date = requireDate(value);
|
|
48
|
-
return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;
|
|
49
|
-
},
|
|
50
|
-
startOfDay(value) {
|
|
51
|
-
const date = requireDate(value);
|
|
52
|
-
date.setHours(0, 0, 0, 0);
|
|
53
|
-
return date;
|
|
54
|
-
},
|
|
55
|
-
endOfDay(value) {
|
|
56
|
-
const date = requireDate(value);
|
|
57
|
-
date.setHours(23, 59, 59, 999);
|
|
58
|
-
return date;
|
|
59
|
-
},
|
|
60
|
-
add(value, duration = {}) {
|
|
61
|
-
const date = requireDate(value);
|
|
62
|
-
const result = new Date(date.getTime());
|
|
63
|
-
result.setTime(result.getTime() + calculateDurationMs(duration));
|
|
64
|
-
return result;
|
|
65
|
-
},
|
|
66
|
-
diff(a, b, options = {}) {
|
|
67
|
-
const start = requireDate(a);
|
|
68
|
-
const end = requireDate(b);
|
|
69
|
-
const { unit = "milliseconds", absolute = false, rounding = "floor", } = options;
|
|
70
|
-
const diffMs = end.getTime() - start.getTime();
|
|
71
|
-
const value = diffMs / MS_PER_UNIT[unit];
|
|
72
|
-
const rounded = ROUNDING_FUNCTIONS[rounding](value);
|
|
73
|
-
return absolute ? Math.abs(rounded) : rounded;
|
|
74
|
-
},
|
|
75
|
-
diffInDays(a, b, options = {}) {
|
|
76
|
-
const { rounding = "ceil", ...rest } = options;
|
|
77
|
-
return DateUtils.diff(a, b, {
|
|
78
|
-
...rest,
|
|
79
|
-
rounding,
|
|
80
|
-
unit: "days",
|
|
81
|
-
});
|
|
82
|
-
},
|
|
83
|
-
isSameDay(a, b) {
|
|
84
|
-
const first = requireDate(a);
|
|
85
|
-
const second = requireDate(b);
|
|
86
|
-
return (first.getFullYear() === second.getFullYear() &&
|
|
87
|
-
first.getMonth() === second.getMonth() &&
|
|
88
|
-
first.getDate() === second.getDate());
|
|
89
|
-
},
|
|
90
|
-
isBefore(a, b) {
|
|
91
|
-
return requireDate(a).getTime() < requireDate(b).getTime();
|
|
92
|
-
},
|
|
93
|
-
isAfter(a, b) {
|
|
94
|
-
return requireDate(a).getTime() > requireDate(b).getTime();
|
|
95
|
-
},
|
|
96
|
-
/**
|
|
97
|
-
* Format a date into a custom string or using a locale.
|
|
98
|
-
* @param date Date to format
|
|
99
|
-
* @param formatOrLocale Custom format string (e.g. 'YYYY-MM-DD') or locale (e.g. 'es-AR')
|
|
100
|
-
*/
|
|
101
|
-
format(dateInput, formatOrLocale = "es-AR") {
|
|
102
|
-
const date = requireDate(dateInput);
|
|
103
|
-
// If it contains format tokens, treat as a custom format string
|
|
104
|
-
const tokens = ["YYYY", "MM", "DD", "HH", "mm", "ss"];
|
|
105
|
-
const hasTokens = tokens.some((token) => formatOrLocale.includes(token));
|
|
106
|
-
if (hasTokens) {
|
|
107
|
-
const map = {
|
|
108
|
-
YYYY: date.getFullYear(),
|
|
109
|
-
MM: pad(date.getMonth() + 1),
|
|
110
|
-
DD: pad(date.getDate()),
|
|
111
|
-
HH: pad(date.getHours()),
|
|
112
|
-
mm: pad(date.getMinutes()),
|
|
113
|
-
ss: pad(date.getSeconds()),
|
|
114
|
-
};
|
|
115
|
-
return formatOrLocale.replace(/YYYY|MM|DD|HH|mm|ss/g, (matched) => map[matched].toString());
|
|
116
|
-
}
|
|
117
|
-
// Validate if it's a potential locale string (simple check)
|
|
118
|
-
try {
|
|
119
|
-
return date.toLocaleDateString(formatOrLocale, {
|
|
120
|
-
year: "numeric",
|
|
121
|
-
month: "short",
|
|
122
|
-
day: "2-digit",
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
catch {
|
|
126
|
-
// If toLocaleDateString fails, return ISO string as fallback
|
|
127
|
-
return date.toISOString();
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
};
|
|
131
|
-
//# sourceMappingURL=DateUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DateUtils.js","sourceRoot":"","sources":["../../../src/utils/helpers/DateUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Form validation and management utilities
|
|
3
|
-
* Framework-agnostic form handling with built-in validators
|
|
4
|
-
*/
|
|
5
|
-
export type ValidatorFn<T = unknown> = (value: T) => boolean | string;
|
|
6
|
-
export type AsyncValidatorFn<T = unknown> = (value: T) => Promise<boolean | string>;
|
|
7
|
-
export interface FieldRule<T = unknown> {
|
|
8
|
-
required?: boolean | string;
|
|
9
|
-
minLength?: number | string;
|
|
10
|
-
maxLength?: number | string;
|
|
11
|
-
min?: number | string;
|
|
12
|
-
max?: number | string;
|
|
13
|
-
pattern?: RegExp | string;
|
|
14
|
-
email?: boolean | string;
|
|
15
|
-
url?: boolean | string;
|
|
16
|
-
match?: string;
|
|
17
|
-
custom?: ValidatorFn<T> | ValidatorFn<T>[];
|
|
18
|
-
asyncCustom?: AsyncValidatorFn<T> | AsyncValidatorFn<T>[];
|
|
19
|
-
}
|
|
20
|
-
export interface FieldError {
|
|
21
|
-
field: string;
|
|
22
|
-
message: string;
|
|
23
|
-
rule?: string;
|
|
24
|
-
}
|
|
25
|
-
export interface FormState<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
26
|
-
values: T;
|
|
27
|
-
errors: Record<string, string>;
|
|
28
|
-
touched: Record<string, boolean>;
|
|
29
|
-
dirty: Record<string, boolean>;
|
|
30
|
-
isValidating: boolean;
|
|
31
|
-
isValid: boolean;
|
|
32
|
-
}
|
|
33
|
-
export interface FormConfig<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
34
|
-
initialValues: T;
|
|
35
|
-
rules?: Record<keyof T, FieldRule>;
|
|
36
|
-
onSubmit?: (values: T) => void | Promise<void>;
|
|
37
|
-
onError?: (errors: FieldError[]) => void;
|
|
38
|
-
validateOnChange?: boolean;
|
|
39
|
-
validateOnBlur?: boolean;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Built-in validators
|
|
43
|
-
*/
|
|
44
|
-
export declare const Validators: {
|
|
45
|
-
required: (value: unknown, message?: string) => boolean | string;
|
|
46
|
-
minLength: (value: unknown, min: number, message?: string) => boolean | string;
|
|
47
|
-
maxLength: (value: unknown, max: number, message?: string) => boolean | string;
|
|
48
|
-
min: (value: unknown, min: number, message?: string) => boolean | string;
|
|
49
|
-
max: (value: unknown, max: number, message?: string) => boolean | string;
|
|
50
|
-
email: (value: unknown, message?: string) => boolean | string;
|
|
51
|
-
url: (value: unknown, message?: string) => boolean | string;
|
|
52
|
-
pattern: (value: unknown, pattern: RegExp, message?: string) => boolean | string;
|
|
53
|
-
match: (value: unknown, other: unknown, message?: string) => boolean | string;
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Form validation and state management
|
|
57
|
-
*/
|
|
58
|
-
export declare class FormUtils<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
59
|
-
private state;
|
|
60
|
-
private rules;
|
|
61
|
-
private config;
|
|
62
|
-
private validationTimeouts;
|
|
63
|
-
constructor(config: FormConfig<T>);
|
|
64
|
-
/**
|
|
65
|
-
* Get current form state
|
|
66
|
-
*/
|
|
67
|
-
getState(): FormState<T>;
|
|
68
|
-
/**
|
|
69
|
-
* Get field value
|
|
70
|
-
*/
|
|
71
|
-
getValue<K extends keyof T>(field: K): T[K];
|
|
72
|
-
/**
|
|
73
|
-
* Set field value
|
|
74
|
-
*/
|
|
75
|
-
setValue<K extends keyof T>(field: K, value: T[K]): void;
|
|
76
|
-
/**
|
|
77
|
-
* Set multiple values
|
|
78
|
-
*/
|
|
79
|
-
setValues(values: Partial<T>): void;
|
|
80
|
-
/**
|
|
81
|
-
* Mark field as touched
|
|
82
|
-
*/
|
|
83
|
-
touchField<K extends keyof T>(field: K): void;
|
|
84
|
-
/**
|
|
85
|
-
* Reset form to initial state
|
|
86
|
-
*/
|
|
87
|
-
reset(): void;
|
|
88
|
-
/**
|
|
89
|
-
* Validate single field
|
|
90
|
-
*/
|
|
91
|
-
validateField<K extends keyof T>(field: K): Promise<string | null>;
|
|
92
|
-
/**
|
|
93
|
-
* Validate all fields
|
|
94
|
-
*/
|
|
95
|
-
validate(): Promise<FieldError[]>;
|
|
96
|
-
/**
|
|
97
|
-
* Submit form
|
|
98
|
-
*/
|
|
99
|
-
submit(): Promise<boolean>;
|
|
100
|
-
/**
|
|
101
|
-
* Get field error
|
|
102
|
-
*/
|
|
103
|
-
getFieldError<K extends keyof T>(field: K): string;
|
|
104
|
-
/**
|
|
105
|
-
* Check if field has error
|
|
106
|
-
*/
|
|
107
|
-
hasError<K extends keyof T>(field: K): boolean;
|
|
108
|
-
/**
|
|
109
|
-
* Check if field is touched
|
|
110
|
-
*/
|
|
111
|
-
isTouched<K extends keyof T>(field: K): boolean;
|
|
112
|
-
/**
|
|
113
|
-
* Check if field is dirty
|
|
114
|
-
*/
|
|
115
|
-
isDirty<K extends keyof T>(field: K): boolean;
|
|
116
|
-
/**
|
|
117
|
-
* Get all errors
|
|
118
|
-
*/
|
|
119
|
-
getErrors(): Record<string, string>;
|
|
120
|
-
/**
|
|
121
|
-
* Clear field error
|
|
122
|
-
*/
|
|
123
|
-
clearFieldError<K extends keyof T>(field: K): void;
|
|
124
|
-
/**
|
|
125
|
-
* Clear field error (alias for clearFieldError)
|
|
126
|
-
*/
|
|
127
|
-
clearError<K extends keyof T>(field: K): void;
|
|
128
|
-
/**
|
|
129
|
-
* Clear all errors
|
|
130
|
-
*/
|
|
131
|
-
clearErrors(): void;
|
|
132
|
-
/**
|
|
133
|
-
* Get complete field state
|
|
134
|
-
*/
|
|
135
|
-
getFieldState<K extends keyof T>(field: K): {
|
|
136
|
-
value: T[K];
|
|
137
|
-
touched: boolean;
|
|
138
|
-
dirty: boolean;
|
|
139
|
-
error: string;
|
|
140
|
-
};
|
|
141
|
-
/**
|
|
142
|
-
* Serialize form data
|
|
143
|
-
*/
|
|
144
|
-
serialize(): T;
|
|
145
|
-
/**
|
|
146
|
-
* Deserialize form data
|
|
147
|
-
*/
|
|
148
|
-
deserialize(data: Partial<T>): void;
|
|
149
|
-
/**
|
|
150
|
-
* Create form binding for framework integration
|
|
151
|
-
*/
|
|
152
|
-
createBinding<K extends keyof T>(field: K): {
|
|
153
|
-
value: T[K];
|
|
154
|
-
onChange: (value: T[K]) => void;
|
|
155
|
-
onBlur: () => void;
|
|
156
|
-
error: string;
|
|
157
|
-
touched: boolean;
|
|
158
|
-
dirty: boolean;
|
|
159
|
-
};
|
|
160
|
-
/**
|
|
161
|
-
* Create form bindings for all fields
|
|
162
|
-
*/
|
|
163
|
-
createBindings(): Record<string, {
|
|
164
|
-
value: T[keyof T];
|
|
165
|
-
onChange: (value: T[keyof T]) => void;
|
|
166
|
-
onBlur: () => void;
|
|
167
|
-
error: string;
|
|
168
|
-
touched: boolean;
|
|
169
|
-
dirty: boolean;
|
|
170
|
-
}>;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Factory function for creating forms
|
|
174
|
-
*/
|
|
175
|
-
export declare function createForm<T extends Record<string, unknown> = Record<string, unknown>>(config: FormConfig<T>): FormUtils<T>;
|
|
176
|
-
//# sourceMappingURL=FormUtils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/FormUtils.ts"],"names":[],"mappings":"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"}
|