katanakit-js 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/LICENSE +22 -0
  3. package/README.md +446 -0
  4. package/dist/adapters/astro/astro.service.d.ts +18 -0
  5. package/dist/adapters/astro/astro.service.d.ts.map +1 -0
  6. package/dist/adapters/astro/astro.service.js +83 -0
  7. package/dist/adapters/astro/astro.service.js.map +1 -0
  8. package/dist/adapters/astro/index.d.ts +4 -0
  9. package/dist/adapters/astro/index.d.ts.map +1 -0
  10. package/dist/adapters/astro/index.js +4 -0
  11. package/dist/adapters/astro/index.js.map +1 -0
  12. package/dist/adapters/astro/rss.service.d.ts +115 -0
  13. package/dist/adapters/astro/rss.service.d.ts.map +1 -0
  14. package/dist/adapters/astro/rss.service.js +231 -0
  15. package/dist/adapters/astro/rss.service.js.map +1 -0
  16. package/dist/adapters/express/app.d.ts +4 -0
  17. package/dist/adapters/express/app.d.ts.map +1 -0
  18. package/dist/adapters/express/app.js +4 -0
  19. package/dist/adapters/express/app.js.map +1 -0
  20. package/dist/adapters/express/index.d.ts +5 -0
  21. package/dist/adapters/express/index.d.ts.map +1 -0
  22. package/dist/adapters/express/index.js +5 -0
  23. package/dist/adapters/express/index.js.map +1 -0
  24. package/dist/adapters/express/main.d.ts +2 -0
  25. package/dist/adapters/express/main.d.ts.map +1 -0
  26. package/dist/adapters/express/main.js +3 -0
  27. package/dist/adapters/express/main.js.map +1 -0
  28. package/dist/adapters/express/products.controller.d.ts +10 -0
  29. package/dist/adapters/express/products.controller.d.ts.map +1 -0
  30. package/dist/adapters/express/products.controller.js +53 -0
  31. package/dist/adapters/express/products.controller.js.map +1 -0
  32. package/dist/adapters/express/router.d.ts +3 -0
  33. package/dist/adapters/express/router.d.ts.map +1 -0
  34. package/dist/adapters/express/router.js +14 -0
  35. package/dist/adapters/express/router.js.map +1 -0
  36. package/dist/adapters/express/server.d.ts +15 -0
  37. package/dist/adapters/express/server.d.ts.map +1 -0
  38. package/dist/adapters/express/server.js +59 -0
  39. package/dist/adapters/express/server.js.map +1 -0
  40. package/dist/adapters/index.d.ts +2 -0
  41. package/dist/adapters/index.d.ts.map +1 -0
  42. package/dist/adapters/index.js +2 -0
  43. package/dist/adapters/index.js.map +1 -0
  44. package/dist/adapters/nuxt/index.d.ts +2 -0
  45. package/dist/adapters/nuxt/index.d.ts.map +1 -0
  46. package/dist/adapters/nuxt/index.js +2 -0
  47. package/dist/adapters/nuxt/index.js.map +1 -0
  48. package/dist/adapters/nuxt/nuxt.service.d.ts +83 -0
  49. package/dist/adapters/nuxt/nuxt.service.d.ts.map +1 -0
  50. package/dist/adapters/nuxt/nuxt.service.js +104 -0
  51. package/dist/adapters/nuxt/nuxt.service.js.map +1 -0
  52. package/dist/config/index.d.ts +3 -0
  53. package/dist/config/index.d.ts.map +1 -0
  54. package/dist/config/index.js +3 -0
  55. package/dist/config/index.js.map +1 -0
  56. package/dist/config/seo.service.d.ts +72 -0
  57. package/dist/config/seo.service.d.ts.map +1 -0
  58. package/dist/config/seo.service.js +190 -0
  59. package/dist/config/seo.service.js.map +1 -0
  60. package/dist/config/site.config.d.ts +89 -0
  61. package/dist/config/site.config.d.ts.map +1 -0
  62. package/dist/config/site.config.js +59 -0
  63. package/dist/config/site.config.js.map +1 -0
  64. package/dist/core/index.d.ts +13 -0
  65. package/dist/core/index.d.ts.map +1 -0
  66. package/dist/core/index.js +13 -0
  67. package/dist/core/index.js.map +1 -0
  68. package/dist/core/services/dates.service.d.ts +24 -0
  69. package/dist/core/services/dates.service.d.ts.map +1 -0
  70. package/dist/core/services/dates.service.js +64 -0
  71. package/dist/core/services/dates.service.js.map +1 -0
  72. package/dist/core/services/error.service.d.ts +25 -0
  73. package/dist/core/services/error.service.d.ts.map +1 -0
  74. package/dist/core/services/error.service.js +39 -0
  75. package/dist/core/services/error.service.js.map +1 -0
  76. package/dist/core/services/formatter.service.d.ts +36 -0
  77. package/dist/core/services/formatter.service.d.ts.map +1 -0
  78. package/dist/core/services/formatter.service.js +64 -0
  79. package/dist/core/services/formatter.service.js.map +1 -0
  80. package/dist/core/services/generator.service.d.ts +34 -0
  81. package/dist/core/services/generator.service.d.ts.map +1 -0
  82. package/dist/core/services/generator.service.js +83 -0
  83. package/dist/core/services/generator.service.js.map +1 -0
  84. package/dist/core/services/geometry.service.d.ts +45 -0
  85. package/dist/core/services/geometry.service.d.ts.map +1 -0
  86. package/dist/core/services/geometry.service.js +100 -0
  87. package/dist/core/services/geometry.service.js.map +1 -0
  88. package/dist/core/services/http.service.d.ts +22 -0
  89. package/dist/core/services/http.service.d.ts.map +1 -0
  90. package/dist/core/services/http.service.js +124 -0
  91. package/dist/core/services/http.service.js.map +1 -0
  92. package/dist/core/services/logger.service.d.ts +36 -0
  93. package/dist/core/services/logger.service.d.ts.map +1 -0
  94. package/dist/core/services/logger.service.js +60 -0
  95. package/dist/core/services/logger.service.js.map +1 -0
  96. package/dist/core/services/reactive.service.d.ts +22 -0
  97. package/dist/core/services/reactive.service.d.ts.map +1 -0
  98. package/dist/core/services/reactive.service.js +167 -0
  99. package/dist/core/services/reactive.service.js.map +1 -0
  100. package/dist/core/services/timing.service.d.ts +23 -0
  101. package/dist/core/services/timing.service.d.ts.map +1 -0
  102. package/dist/core/services/timing.service.js +217 -0
  103. package/dist/core/services/timing.service.js.map +1 -0
  104. package/dist/core/services/utils.service.d.ts +44 -0
  105. package/dist/core/services/utils.service.d.ts.map +1 -0
  106. package/dist/core/services/utils.service.js +143 -0
  107. package/dist/core/services/utils.service.js.map +1 -0
  108. package/dist/index.d.ts +6 -0
  109. package/dist/index.d.ts.map +1 -0
  110. package/dist/index.js +6 -0
  111. package/dist/index.js.map +1 -0
  112. package/dist/infrastructure/dom/dom.service.d.ts +49 -0
  113. package/dist/infrastructure/dom/dom.service.d.ts.map +1 -0
  114. package/dist/infrastructure/dom/dom.service.js +133 -0
  115. package/dist/infrastructure/dom/dom.service.js.map +1 -0
  116. package/dist/infrastructure/index.d.ts +11 -0
  117. package/dist/infrastructure/index.d.ts.map +1 -0
  118. package/dist/infrastructure/index.js +11 -0
  119. package/dist/infrastructure/index.js.map +1 -0
  120. package/dist/infrastructure/observer/observer.service.d.ts +34 -0
  121. package/dist/infrastructure/observer/observer.service.d.ts.map +1 -0
  122. package/dist/infrastructure/observer/observer.service.js +145 -0
  123. package/dist/infrastructure/observer/observer.service.js.map +1 -0
  124. package/dist/infrastructure/sensors/sensors.service.d.ts +25 -0
  125. package/dist/infrastructure/sensors/sensors.service.d.ts.map +1 -0
  126. package/dist/infrastructure/sensors/sensors.service.js +133 -0
  127. package/dist/infrastructure/sensors/sensors.service.js.map +1 -0
  128. package/dist/infrastructure/storage/storage.service.d.ts +48 -0
  129. package/dist/infrastructure/storage/storage.service.d.ts.map +1 -0
  130. package/dist/infrastructure/storage/storage.service.js +108 -0
  131. package/dist/infrastructure/storage/storage.service.js.map +1 -0
  132. package/dist/infrastructure/theme/theme.service.d.ts +30 -0
  133. package/dist/infrastructure/theme/theme.service.d.ts.map +1 -0
  134. package/dist/infrastructure/theme/theme.service.js +104 -0
  135. package/dist/infrastructure/theme/theme.service.js.map +1 -0
  136. package/dist/infrastructure/viewport/viewport.service.d.ts +38 -0
  137. package/dist/infrastructure/viewport/viewport.service.d.ts.map +1 -0
  138. package/dist/infrastructure/viewport/viewport.service.js +145 -0
  139. package/dist/infrastructure/viewport/viewport.service.js.map +1 -0
  140. package/dist/infrastructure/worker/worker.service.d.ts +42 -0
  141. package/dist/infrastructure/worker/worker.service.d.ts.map +1 -0
  142. package/dist/infrastructure/worker/worker.service.js +151 -0
  143. package/dist/infrastructure/worker/worker.service.js.map +1 -0
  144. package/dist/prisma/db.d.ts +4 -0
  145. package/dist/prisma/db.d.ts.map +1 -0
  146. package/dist/prisma/db.js +12 -0
  147. package/dist/prisma/db.js.map +1 -0
  148. package/dist/prisma/schema.json +411 -0
  149. package/dist/types/index.d.ts +436 -0
  150. package/dist/types/index.d.ts.map +1 -0
  151. package/dist/types/index.js +2 -0
  152. package/dist/types/index.js.map +1 -0
  153. package/package.json +117 -0
@@ -0,0 +1,436 @@
1
+ import type { Temporal } from "@js-temporal/polyfill";
2
+ import type { AppError } from "../core/services/error.service.js";
3
+ export type LogLevel = "log" | "info" | "warn" | "error" | "debug";
4
+ /** Strategy contract: defines the output using type-safe levels. */
5
+ export interface LogStrategy {
6
+ useOutput(level: LogLevel, message: string, data?: unknown): void;
7
+ }
8
+ /** Target can be either an HTMLElement reference or a CSS selector string. */
9
+ export type ObserverTarget = HTMLElement | string;
10
+ /** Callback invoked when an observed element enters the viewport. */
11
+ export type ObserverCallback = (entry: IntersectionObserverEntry) => void;
12
+ /** Configuration for a registered IntersectionObserver. */
13
+ export interface ObserverConfig {
14
+ callback: ObserverCallback;
15
+ options: IntersectionObserverInit;
16
+ autoUnobserve: boolean;
17
+ }
18
+ /** Internal registry entry storing an observer instance and its tracked targets. */
19
+ export interface ObserverEntry {
20
+ config: ObserverConfig;
21
+ observer: IntersectionObserver | null;
22
+ targets: Set<HTMLElement>;
23
+ }
24
+ /** Internal registry entry for lazy loading configurations. */
25
+ export interface LazyLoaderEntry {
26
+ selector: string;
27
+ observerKey: string;
28
+ }
29
+ /** Contract of the DOM facade. */
30
+ export interface IDomService {
31
+ useIsBrowser(): boolean;
32
+ useGetRoot(): HTMLElement | null;
33
+ useGetBody(): HTMLBodyElement | null;
34
+ useGetElementById<T extends HTMLElement = HTMLElement>(id: string): T | null;
35
+ useGetElementByClass<T extends HTMLElement = HTMLElement>(className: string): T | null;
36
+ useQuerySelector<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null;
37
+ useQuerySelector<E extends Element = HTMLElement>(selector: string): E | null;
38
+ useQuerySelectorAll<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K][];
39
+ useQuerySelectorAll<E extends Element = HTMLElement>(selector: string): E[];
40
+ useAddClass(target: Element | string, className: string): void;
41
+ useRemoveClass(target: Element | string, className: string | string[]): void;
42
+ useToggleClass(target: Element | string, className: string, force?: boolean): boolean | undefined;
43
+ useHasClass(target: Element | string, className: string): boolean;
44
+ useGetAttribute(target: Element | string, attr: string): string | null;
45
+ useSetAttribute(target: Element | string, attr: string, value: string): void;
46
+ useRemoveAttribute(target: Element | string, attr: string): void;
47
+ useGetDataAttribute(target: HTMLElement | string, key: string): string | undefined;
48
+ useSetDataAttribute(target: HTMLElement | string, key: string, value: string): void;
49
+ useOn<K extends keyof HTMLElementEventMap>(target: EventTarget | string, event: K, callback: (event: HTMLElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions): (() => void) | null;
50
+ useCreateElement<T extends keyof HTMLElementTagNameMap>(tagName: T, options?: ElementCreationOptions): HTMLElementTagNameMap[T];
51
+ useSetHtml(target: Element | string, html: string): void;
52
+ useSetText(target: Element | string, text: string): void;
53
+ useAppend(target: Element | string, child: Element | string): void;
54
+ useRemove(target: Element | string): void;
55
+ }
56
+ /** Represents a geographic position with latitude, longitude and accuracy. */
57
+ export interface GeoPosition {
58
+ lat: number;
59
+ lng: number;
60
+ accuracy: number;
61
+ }
62
+ /** Type for the experimental Battery API. */
63
+ export interface BatteryManager extends EventTarget {
64
+ charging: boolean;
65
+ chargingTime: number;
66
+ dischargingTime: number;
67
+ level: number;
68
+ }
69
+ export type WorkerFunc<TInput = unknown, TOutput = unknown> = (data: TInput) => TOutput | Promise<TOutput>;
70
+ export interface WorkerPoolEntry<TInput = unknown, TOutput = unknown> {
71
+ worker: Worker;
72
+ workerUrl: string;
73
+ func: WorkerFunc<TInput, TOutput>;
74
+ }
75
+ export type StorageTarget = "localStorage" | "sessionStorage";
76
+ /** Strategy contract: homogeneous storage without `any`. */
77
+ export interface StorageStrategy {
78
+ useGetItem<T = unknown>(key: string): T | null;
79
+ useSetItem(key: string, value: unknown): void;
80
+ useRemoveItem(key: string): void;
81
+ useClear(): void;
82
+ }
83
+ export type Locale = "en" | "es" | "fr" | "de" | "it" | "pt" | "ja" | "zh";
84
+ export type Currency = "EUR" | "USD" | "GBP" | "JPY" | "CAD" | "MXN" | "CHF" | "AUD" | "BRL" | "CNY" | "ARS" | "COP" | "CLP";
85
+ export interface CurrencyFormatOptions {
86
+ amount: number;
87
+ currency?: Currency;
88
+ taxes?: number;
89
+ locale?: Locale;
90
+ }
91
+ export interface NumberFormatOptions {
92
+ locale?: Locale;
93
+ digits?: number;
94
+ }
95
+ export type TemporalInput = string | number | Date | Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime | Temporal.Instant;
96
+ export interface AppDateFormatOptions {
97
+ year?: "numeric" | "2-digit";
98
+ month?: "numeric" | "2-digit" | "long" | "short" | "narrow";
99
+ day?: "numeric" | "2-digit";
100
+ }
101
+ /** Backwards-compatible alias for {@link AppDateFormatOptions}. */
102
+ export type DateFormatOptions = AppDateFormatOptions;
103
+ /** Contract of the dates facade. */
104
+ export interface DatesServiceTypes {
105
+ useDiff(start: string | Temporal.PlainDate, end: string | Temporal.PlainDate): string;
106
+ useFormat(dateInput: TemporalInput, locale?: Locale, options?: Intl.DateTimeFormatOptions): string;
107
+ useNow(): string;
108
+ useNowDateTime(): string;
109
+ useAddDays(date: string | Temporal.PlainDate, days: number): string;
110
+ useSubtractDays(date: string | Temporal.PlainDate, days: number): string;
111
+ useIsEqual(date1: string | Temporal.PlainDate, date2: string | Temporal.PlainDate): boolean;
112
+ useIsBefore(date1: string | Temporal.PlainDate, date2: string | Temporal.PlainDate): boolean;
113
+ useIsAfter(date1: string | Temporal.PlainDate, date2: string | Temporal.PlainDate): boolean;
114
+ useFirstDayOfMonth(date?: string | Temporal.PlainDate): string;
115
+ useLastDayOfMonth(date?: string | Temporal.PlainDate): string;
116
+ }
117
+ export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
118
+ export type QueryParams = Record<string, string | number | boolean | undefined | null>;
119
+ export type PathParams = Record<string, string | number>;
120
+ export interface UrlOptions {
121
+ params?: PathParams;
122
+ query?: QueryParams;
123
+ ignoreDefaultQuery?: boolean;
124
+ }
125
+ export interface ApiEntry {
126
+ baseUri: string | URL;
127
+ endpoints: Record<string, string>;
128
+ defaultQueryParams?: Record<string, QueryParams>;
129
+ }
130
+ export type ApisConfig = Record<string, ApiEntry>;
131
+ /** Options passed when executing a fetch request. */
132
+ export interface FetchOptions extends RequestInit {
133
+ urlOptions?: UrlOptions;
134
+ }
135
+ /** Structure of the safe error returned on non-2xx or network failures. */
136
+ export interface ApiError {
137
+ message: string;
138
+ status: number;
139
+ details?: unknown;
140
+ }
141
+ /**
142
+ * Safe result, discriminated union (Astro Actions style) without throwing.
143
+ * The `ok` flag narrows the union between the success and error branches.
144
+ */
145
+ export type FetchResult<T = unknown> = {
146
+ data: T;
147
+ error: null;
148
+ url: string;
149
+ status: number;
150
+ ok: true;
151
+ } | {
152
+ data: null;
153
+ error: ApiError;
154
+ url: string;
155
+ status: number;
156
+ ok: false;
157
+ };
158
+ /** Contract of the fetch facade. */
159
+ export interface IFetchApiManager {
160
+ useInit(apis: ApisConfig): void;
161
+ useGetApis(): ApisConfig;
162
+ useBuildUrl(apiName: string, endpointName: string, options?: UrlOptions): string;
163
+ useFetch<T = unknown>(apiName: string, endpointName: string, options?: FetchOptions): Promise<FetchResult<T>>;
164
+ useGet<T = unknown>(apiName: string, endpointName: string, urlOptions?: UrlOptions): Promise<FetchResult<T>>;
165
+ usePost<T = unknown>(apiName: string, endpointName: string, body?: unknown, urlOptions?: UrlOptions): Promise<FetchResult<T>>;
166
+ usePut<T = unknown>(apiName: string, endpointName: string, body?: unknown, urlOptions?: UrlOptions): Promise<FetchResult<T>>;
167
+ useDelete<T = unknown>(apiName: string, endpointName: string, urlOptions?: UrlOptions): Promise<FetchResult<T>>;
168
+ }
169
+ /** Serialized shape returned by {@link AppError.useToJson}. */
170
+ export interface ISerializedError {
171
+ name: string;
172
+ message: string;
173
+ code: number;
174
+ }
175
+ /** Contract of the error factory. */
176
+ export interface IErrorFactory {
177
+ useBadRequest(message?: string): AppError;
178
+ useUnauthorized(message?: string): AppError;
179
+ useForbidden(message?: string): AppError;
180
+ useNotFound(message?: string): AppError;
181
+ useInternal(message?: string): AppError;
182
+ useCustom(message: string, code: number): AppError;
183
+ }
184
+ /** Contract of the formatter facade. */
185
+ export interface IFormatterService {
186
+ useCapitalize(text: string, locale?: Locale): string;
187
+ useFormatCurrency(options: CurrencyFormatOptions): string;
188
+ useFormatNumber(value: number, locale?: Locale, digits?: number): string;
189
+ useJsonParse<T = unknown>(json: string): T;
190
+ useJsonStringify(data: unknown): string;
191
+ useLowerCase(text: string, locale?: Locale): string;
192
+ useUpperCase(text: string, locale?: Locale): string;
193
+ }
194
+ /** Contract of the unit converter facade. */
195
+ export interface IConverterService {
196
+ useToCelsius(fahrenheit: number, locale?: Locale, digits?: number): string;
197
+ useToFahrenheit(celsius: number, locale?: Locale, digits?: number): string;
198
+ useToKilometers(miles: number, locale?: Locale, digits?: number): string;
199
+ useToMiles(km: number, locale?: Locale, digits?: number): string;
200
+ useToInches(cm: number, locale?: Locale, digits?: number): string;
201
+ useToCm(inches: number, locale?: Locale, digits?: number): string;
202
+ useToKilos(pounds: number, locale?: Locale, digits?: number): string;
203
+ useToPounds(kilos: number, locale?: Locale, digits?: number): string;
204
+ }
205
+ /** Contract for a crypto strategy. */
206
+ export interface ICryptoStrategy {
207
+ useEncrypt(plainText: string, salt?: string): Promise<string>;
208
+ }
209
+ /** Contract for a UUID strategy. */
210
+ export interface IUuidStrategy {
211
+ useGenerate(): string;
212
+ }
213
+ /** Options for number formatting in geometry calculations. */
214
+ export interface GeometryFormatOptions {
215
+ locale?: string;
216
+ digits?: number;
217
+ unit?: string;
218
+ }
219
+ export type SignalListener<T> = (newValue: T, oldValue: T) => void;
220
+ export interface Subscribable<T> {
221
+ useSubscribe: (listener: SignalListener<T>) => () => void;
222
+ }
223
+ export interface SignalGetter<T> extends Subscribable<T> {
224
+ (): T;
225
+ }
226
+ export type SignalSetter<T> = (newValue: T | ((prev: T) => T)) => void;
227
+ export interface ToggleSignalSetter {
228
+ useSet: (value: boolean) => void;
229
+ useToggle: () => void;
230
+ }
231
+ /** Contract of the reactive facade. */
232
+ export interface IReactiveService {
233
+ useCreateSignal<T>(initialValue: T): [SignalGetter<T>, SignalSetter<T>];
234
+ useCreateEffect(callback: () => void | (() => void), signals: Subscribable<unknown>[]): () => void;
235
+ useCreateMemo<T>(computation: () => T, signals: Subscribable<unknown>[]): SignalGetter<T>;
236
+ useCreateToggle(initialValue?: boolean): [SignalGetter<boolean>, ToggleSignalSetter];
237
+ useCreateStorageSignal<T>(key: string, fallbackValue: T, target?: StorageTarget): [SignalGetter<T>, SignalSetter<T>];
238
+ useCreateDebouncedSignal<T>(initialValue: T, delayMs?: number): [SignalGetter<T>, SignalSetter<T>];
239
+ useCreateBatch(): (callback: () => void) => void;
240
+ }
241
+ /** Control object returned by timeout operations. */
242
+ export interface TimeoutControl<T> {
243
+ promise: Promise<T>;
244
+ cancel: () => void;
245
+ }
246
+ /** Control object returned by interval operations. */
247
+ export interface IntervalControl {
248
+ pause: () => void;
249
+ resume: () => void;
250
+ stop: () => void;
251
+ isRunning: () => boolean;
252
+ }
253
+ /** Contract of the data utilities. */
254
+ export interface IDataUtils {
255
+ useUnique<T>(array: T[]): T[];
256
+ useChunk<T>(array: T[], size: number): T[][];
257
+ useGroupBy<T>(array: T[], key: keyof T | ((item: T) => string)): Record<string, T[]>;
258
+ useIsObject(item: unknown): item is Record<string, unknown>;
259
+ useDeepClone<T>(value: T): T;
260
+ useDeepMerge<T extends Record<string, unknown>>(target: T, source: Record<string, unknown>): T;
261
+ usePick<T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
262
+ useOmit<T extends object, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
263
+ }
264
+ /** Contract of the system utilities. */
265
+ export interface ISystemUtils {
266
+ useSleep(ms: number): Promise<void>;
267
+ useRetry<T>(fn: () => Promise<T>, retries?: number, delayMs?: number): Promise<T>;
268
+ useCopyToClipboard(text: string): Promise<boolean>;
269
+ useGetUrlParams(urlString: string): Record<string, string>;
270
+ useRound(value: string | number, decimals?: number): number;
271
+ useAverage(numbers: number[]): number;
272
+ }
273
+ /** Contract of the app utilities facade. */
274
+ export interface IAppUtils {
275
+ readonly data: IDataUtils;
276
+ readonly system: ISystemUtils;
277
+ }
278
+ /** Represents viewport dimensions. */
279
+ export interface ViewportSize {
280
+ width: number;
281
+ height: number;
282
+ }
283
+ /** Represents scroll position. */
284
+ export interface ScrollPosition {
285
+ x: number;
286
+ y: number;
287
+ }
288
+ /** Options for scrolling operations. */
289
+ export interface ScrollOptions {
290
+ behavior?: ScrollBehavior;
291
+ block?: ScrollLogicalPosition;
292
+ inline?: ScrollLogicalPosition;
293
+ }
294
+ export type ThemeMode = "light" | "dark" | "system";
295
+ export interface ThemeOptions {
296
+ defaultMode?: ThemeMode;
297
+ storageKey?: string;
298
+ attribute?: string;
299
+ target?: HTMLElement;
300
+ onChange?: (mode: ThemeMode, resolved: "light" | "dark") => void;
301
+ }
302
+ /** Contract of the theme facade. */
303
+ export interface IThemeService {
304
+ useInitTheme(options?: ThemeOptions): void;
305
+ useSetThemeMode(mode: ThemeMode): void;
306
+ useGetThemeMode(): ThemeMode;
307
+ useGetResolved(): "light" | "dark";
308
+ usePrefersColorScheme(): boolean;
309
+ useToggleTheme(): void;
310
+ useResetTheme(): void;
311
+ useDestroyTheme(): void;
312
+ }
313
+ /** Minimal shape of an Astro content collection entry. */
314
+ export interface CollectionEntryLike<TData = unknown> {
315
+ id: string;
316
+ slug?: string;
317
+ data?: TData;
318
+ [key: string]: unknown;
319
+ }
320
+ export interface PathsOptions<T, TParam extends string = string, TProps = T> {
321
+ param?: TParam;
322
+ valueFrom?: (item: T) => string | number;
323
+ propsFrom?: (item: T) => TProps;
324
+ paramsFrom?: (item: T) => Record<string, string>;
325
+ }
326
+ export interface AstroPath<TParam extends string = string, TProps = unknown> {
327
+ params: Record<TParam, string | undefined>;
328
+ props: TProps;
329
+ }
330
+ export interface PaginationProps<T> {
331
+ items: T[];
332
+ currentPage: number;
333
+ totalPages: number;
334
+ }
335
+ export interface AstroServiceError {
336
+ message: string;
337
+ collectionName?: string;
338
+ details?: unknown;
339
+ }
340
+ /** Safe Result (discriminated union without throwing). */
341
+ export type AstroServiceResult<T> = {
342
+ data: T;
343
+ error: null;
344
+ ok: true;
345
+ } | {
346
+ data: null;
347
+ error: AstroServiceError;
348
+ ok: false;
349
+ };
350
+ /** Contract of the Astro facade. */
351
+ export interface IAstroService {
352
+ usePathsFrom<T, TParam extends string = "slug", TProps = T>(items: T[], options?: PathsOptions<T, TParam, TProps>): AstroPath<TParam, TProps>[];
353
+ useGetStaticPaths<TData = unknown, TParam extends string = "slug", TProps = CollectionEntryLike<TData>>(getCollectionFn: (collection: string) => Promise<CollectionEntryLike<TData>[]>, collectionName: string, options?: PathsOptions<CollectionEntryLike<TData>, TParam, TProps>): Promise<AstroServiceResult<AstroPath<TParam, TProps>[]>>;
354
+ useFindEntry<T>(items: T[], value: string, keyFrom?: (item: T) => string | number): T | null;
355
+ useGeneratePagination<T, TParam extends string = "page">(items: T[], pageSize?: number, param?: TParam): AstroPath<TParam, PaginationProps<T>>[];
356
+ usePathsFromValues<TParam extends string = "slug">(values: (string | number)[], param?: TParam): AstroPath<TParam, string | number>[];
357
+ useExtractUniqueValues<T, V>(items: T[], keyFrom: (item: T) => V | V[]): V[];
358
+ }
359
+ /** A single item in an RSS feed. */
360
+ export interface RssItem {
361
+ /** Title of the item. */
362
+ title: string;
363
+ /** Publication date (Date object or ISO string). */
364
+ pubDate: Date | string;
365
+ /** URL of the item (relative to site, e.g. "/blog/my-post/"). */
366
+ link: string;
367
+ /** Optional description or excerpt. */
368
+ description?: string;
369
+ /** Optional full content (HTML allowed). */
370
+ content?: string;
371
+ /** Optional categories/tags. */
372
+ categories?: string[];
373
+ /** Optional author name. */
374
+ author?: string;
375
+ /** Optional custom data (e.g. enclosure for podcasts). */
376
+ customData?: string;
377
+ }
378
+ /** Configuration for generating an RSS feed. */
379
+ export interface RssConfig {
380
+ /** Title of the feed (e.g. "My Blog"). */
381
+ title: string;
382
+ /** Description of the feed. */
383
+ description: string;
384
+ /** Base URL of the site (e.g. "https://example.com"). */
385
+ site: string;
386
+ /** Feed items. */
387
+ items: RssItem[];
388
+ /** Output path (default: "/rss.xml"). */
389
+ xmlPath?: string;
390
+ /** Language code (default: "en"). */
391
+ language?: string;
392
+ /** Custom XML to inject into the `<channel>` element. */
393
+ customData?: string;
394
+ /** XSL stylesheet URL for browser rendering (optional). */
395
+ xslUrl?: string;
396
+ /** Whether to include the `<lastBuildDate>` (default: true). */
397
+ lastBuildDate?: boolean;
398
+ /** Trailing slash behavior for item links (default: true). */
399
+ trailingSlash?: boolean;
400
+ }
401
+ /** Result of an RSS generation attempt. */
402
+ export type RssResult = {
403
+ data: string;
404
+ error: null;
405
+ ok: true;
406
+ } | {
407
+ data: null;
408
+ error: {
409
+ message: string;
410
+ details?: unknown;
411
+ };
412
+ ok: false;
413
+ };
414
+ /** Contract of the RSS facade. */
415
+ export interface IRssService {
416
+ /** Generates the RSS XML string from a config. */
417
+ useGenerateRss(config: RssConfig): RssResult;
418
+ /** Generates an HTML `<link>` tag for the RSS feed. */
419
+ useRssLinkTag(config: Pick<RssConfig, "title" | "xmlPath">): string;
420
+ /** Generates an Astro GET endpoint handler for the RSS feed. */
421
+ useCreateRssEndpoint(config: Omit<RssConfig, "items"> & {
422
+ items: RssItem[] | (() => RssItem[] | Promise<RssItem[]>);
423
+ }): (context: {
424
+ site?: URL | string;
425
+ }) => Promise<Response>;
426
+ /** Convenience: creates an RSS endpoint from a SiteConfig. */
427
+ useCreateRssEndpointFromConfig(siteConfig: import("../config/site.config.js").SiteConfig, items: RssItem[] | (() => RssItem[] | Promise<RssItem[]>)): (context: {
428
+ site?: URL | string;
429
+ }) => Promise<Response>;
430
+ }
431
+ export type ProductType = {
432
+ id: number;
433
+ name: string;
434
+ price: number;
435
+ };
436
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAMlE,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnE,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC3B,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAClE;AAMD,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;AAElD,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;AAE1E,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,wBAAwB,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;CAC1B;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC3B,YAAY,IAAI,OAAO,CAAC;IACxB,UAAU,IAAI,WAAW,GAAG,IAAI,CAAC;IACjC,UAAU,IAAI,eAAe,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7E,oBAAoB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IACvF,gBAAgB,CAAC,CAAC,SAAS,MAAM,qBAAqB,EACrD,QAAQ,EAAE,CAAC,GACT,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9E,mBAAmB,CAAC,CAAC,SAAS,MAAM,qBAAqB,EACxD,QAAQ,EAAE,CAAC,GACT,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,mBAAmB,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;IAC5E,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7E,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAClG,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAClE,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvE,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7E,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACnF,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpF,KAAK,CAAC,CAAC,SAAS,MAAM,mBAAmB,EACxC,MAAM,EAAE,WAAW,GAAG,MAAM,EAC5B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,EACjD,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GACzC,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IACvB,gBAAgB,CAAC,CAAC,SAAS,MAAM,qBAAqB,EACrD,OAAO,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,sBAAsB,GAC9B,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5B,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACnE,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;CAC1C;AAMD,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,6CAA6C;AAC7C,MAAM,WAAW,cAAe,SAAQ,WAAW;IAClD,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,MAAM,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,CAC7D,IAAI,EAAE,MAAM,KACR,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC,MAAM,WAAW,eAAe,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAMD,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE9D,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC/B,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAC/C,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9C,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,IAAI,IAAI,CAAC;CACjB;AAMD,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3E,MAAM,MAAM,QAAQ,GACjB,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAET,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,MAAM,aAAa,GACtB,MAAM,GACN,MAAM,GACN,IAAI,GACJ,QAAQ,CAAC,SAAS,GAClB,QAAQ,CAAC,aAAa,GACtB,QAAQ,CAAC,aAAa,GACtB,QAAQ,CAAC,OAAO,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACpC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5D,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC5B;AAED,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAErD,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IACjC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;IACtF,SAAS,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;IACnG,MAAM,IAAI,MAAM,CAAC;IACjB,cAAc,IAAI,MAAM,CAAC;IACzB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACpE,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACzE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC;IAC5F,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7F,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC;IAC5F,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;IAC/D,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;CAC9D;AAMD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAEvF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAEzD,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,QAAQ;IACxB,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAElD,qDAAqD;AACrD,MAAM,WAAW,YAAa,SAAQ,WAAW;IAChD,UAAU,CAAC,EAAE,UAAU,CAAC;CACxB;AAED,2EAA2E;AAC3E,MAAM,WAAW,QAAQ;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAChC;IACA,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,IAAI,CAAC;CACR,GACD;IACA,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,KAAK,CAAC;CACT,CAAC;AAEL,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAChC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,UAAU,IAAI,UAAU,CAAC;IACzB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACjF,QAAQ,CAAC,CAAC,GAAG,OAAO,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,CAAC,GAAG,OAAO,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC,GAAG,OAAO,EAClB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,OAAO,EACd,UAAU,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,CAAC,GAAG,OAAO,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,OAAO,EACd,UAAU,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,SAAS,CAAC,CAAC,GAAG,OAAO,EACpB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3B;AAMD,+DAA+D;AAC/D,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC7B,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1C,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5C,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;CACnD;AAMD,wCAAwC;AACxC,MAAM,WAAW,iBAAiB;IACjC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrD,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAAC;IAC1D,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzE,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;IAC3C,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACxC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpD;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IACjC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3E,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3E,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrE;AAMD,sCAAsC;AACtC,MAAM,WAAW,eAAe;IAC/B,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC7B,WAAW,IAAI,MAAM,CAAC;CACtB;AAMD,8DAA8D;AAC9D,MAAM,WAAW,qBAAqB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC;AAEnE,MAAM,WAAW,YAAY,CAAC,CAAC;IAC9B,YAAY,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC;CAC1D;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC;CACN;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAChC,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC;IACnG,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1F,eAAe,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACrF,sBAAsB,CAAC,CAAC,EACvB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,CAAC,EAChB,MAAM,CAAC,EAAE,aAAa,GACpB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,wBAAwB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,cAAc,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACjD;AAMD,qDAAqD;AACrD,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,EAAE,MAAM,OAAO,CAAC;CACzB;AAMD,sCAAsC;AACtC,MAAM,WAAW,UAAU;IAC1B,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC9B,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC;IAC7C,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACrF,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5D,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7B,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/F,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC5E;AAED,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAClF,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5D,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;CACtC;AAED,4CAA4C;AAC5C,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC9B;AAMD,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAC/B;AAMD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;CACjE;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC7B,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3C,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvC,eAAe,IAAI,SAAS,CAAC;IAC7B,cAAc,IAAI,OAAO,GAAG,MAAM,CAAC;IACnC,qBAAqB,IAAI,OAAO,CAAC;IACjC,cAAc,IAAI,IAAI,CAAC;IACvB,aAAa,IAAI,IAAI,CAAC;IACtB,eAAe,IAAI,IAAI,CAAC;CACxB;AAMD,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB,CAAC,KAAK,GAAG,OAAO;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,CAAC;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACzC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,OAAO;IAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,0DAA0D;AAC1D,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAC7B;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAC;IAAC,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAEvD,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC7B,YAAY,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,CAAC,EACzD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GACvC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC/B,iBAAiB,CAChB,KAAK,GAAG,OAAO,EACf,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAEnC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,EAC9E,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAChE,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7F,qBAAqB,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,GAAG,MAAM,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACZ,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,kBAAkB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,EAChD,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAC3B,KAAK,CAAC,EAAE,MAAM,GACZ,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxC,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;CAC7E;AAMD,oCAAoC;AACpC,MAAM,WAAW,OAAO;IACvB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;IACvB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gDAAgD;AAChD,MAAM,WAAW,SAAS;IACzB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,2CAA2C;AAC3C,MAAM,MAAM,SAAS,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAAC,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAE5E,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC3B,kDAAkD;IAClD,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7C,uDAAuD;IACvD,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC;IACpE,gEAAgE;IAChE,oBAAoB,CACnB,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;KAAE,GAC9F,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,GAAG,GAAG,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,8DAA8D;IAC9D,8BAA8B,CAC7B,UAAU,EAAE,OAAO,0BAA0B,EAAE,UAAU,EACzD,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GACvD,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,GAAG,GAAG,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3D;AAMD,MAAM,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,117 @@
1
+ {
2
+ "name": "katanakit-js",
3
+ "version": "2.1.5",
4
+ "description": "KatanaKit — a sharp, framework-agnostic TypeScript service toolkit organized with hexagonal architecture.",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ },
14
+ "./adapters/express": {
15
+ "types": "./dist/adapters/express/index.d.ts",
16
+ "import": "./dist/adapters/express/index.js"
17
+ },
18
+ "./adapters/nuxt": {
19
+ "types": "./dist/adapters/nuxt/index.d.ts",
20
+ "import": "./dist/adapters/nuxt/index.js"
21
+ }
22
+ },
23
+ "files": [
24
+ "dist"
25
+ ],
26
+ "sideEffects": false,
27
+ "engines": {
28
+ "node": ">=22.18.0"
29
+ },
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "scripts": {
34
+ "build": "tsc -p tsconfig.json",
35
+ "dev": "bun run src/adapters/express/main.ts",
36
+ "start": "bun run src/adapters/express/main.ts",
37
+ "typecheck": "tsc --noEmit",
38
+ "test": "vitest run",
39
+ "test:watch": "vitest",
40
+ "lint": "biome lint ./src",
41
+ "lint:fix": "biome lint --write ./src",
42
+ "format": "biome format ./src",
43
+ "format:fix": "biome format --write ./src",
44
+ "check": "biome check ./src",
45
+ "check:fix": "biome check --write ./src",
46
+ "prepublishOnly": "bun run check && bun run test && bun run build",
47
+ "publish:patch": "npm version patch --no-git-tag-version && npm publish",
48
+ "publish:minor": "npm version minor --no-git-tag-version && npm publish",
49
+ "publish:major": "npm version major --no-git-tag-version && npm publish",
50
+ "publish:beta": "npm version prerelease --no-git-tag-version && npm publish --tag beta"
51
+ },
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "git+https://github.com/senseikatana/katanakit.git"
55
+ },
56
+ "keywords": [
57
+ "api",
58
+ "fetch",
59
+ "http-client",
60
+ "url-builder",
61
+ "typescript",
62
+ "hexagonal-architecture",
63
+ "astro",
64
+ "express",
65
+ "nuxt",
66
+ "singleton",
67
+ "observer",
68
+ "factory"
69
+ ],
70
+ "author": "senseikatana - Sergio Jurado",
71
+ "license": "MIT",
72
+ "bugs": {
73
+ "url": "https://github.com/senseikatana/katanakit/issues"
74
+ },
75
+ "homepage": "https://github.com/senseikatana/katanakit#readme",
76
+ "dependencies": {
77
+ "@js-temporal/polyfill": "^0.5.1"
78
+ },
79
+ "peerDependencies": {
80
+ "@prisma/orm-postgres": ">=8.0.0-rc.0",
81
+ "cors": ">=2.8.0",
82
+ "dotenv": ">=16.0.0",
83
+ "express": ">=5.0.0"
84
+ },
85
+ "peerDependenciesMeta": {
86
+ "@prisma/orm-postgres": {
87
+ "optional": true
88
+ },
89
+ "cors": {
90
+ "optional": true
91
+ },
92
+ "dotenv": {
93
+ "optional": true
94
+ },
95
+ "express": {
96
+ "optional": true
97
+ }
98
+ },
99
+ "devDependencies": {
100
+ "@biomejs/biome": "^2.5.12",
101
+ "@prisma/cli-engine": "0.3.0",
102
+ "@prisma/client": "^7.10.0",
103
+ "@prisma/extension-accelerate": "^3.0.1",
104
+ "@prisma/orm-postgres": "8.0.0-rc.8",
105
+ "@types/bun": "latest",
106
+ "@types/cors": "^2.8.19",
107
+ "@types/express": "^5.0.6",
108
+ "@types/node": "^26.4.1",
109
+ "cors": "^2.8.6",
110
+ "dotenv": "^17.4.2",
111
+ "express": "^5.2.1",
112
+ "prisma": "8.0.0-rc.12",
113
+ "typescript": "^7.0.2",
114
+ "vite": "^8.2.2",
115
+ "vitest": "^5.0.0"
116
+ }
117
+ }