@emberkit/core 0.1.2 → 0.2.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/boundaries/error-boundary.d.ts +29 -0
- package/dist/boundaries/error-boundary.d.ts.map +1 -0
- package/dist/boundaries/errors.d.ts +39 -0
- package/dist/boundaries/errors.d.ts.map +1 -0
- package/dist/boundaries/index.d.ts +5 -0
- package/dist/boundaries/index.d.ts.map +1 -0
- package/dist/boundaries/loading-boundary.d.ts +42 -0
- package/dist/boundaries/loading-boundary.d.ts.map +1 -0
- package/dist/cache/index.d.ts +60 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/compiler/compiler.d.ts +6 -0
- package/dist/compiler/compiler.d.ts.map +1 -0
- package/dist/compiler/helpers/attributes.d.ts +4 -0
- package/dist/compiler/helpers/attributes.d.ts.map +1 -0
- package/dist/compiler/helpers/utils.d.ts +10 -0
- package/dist/compiler/helpers/utils.d.ts.map +1 -0
- package/dist/compiler/index.d.ts +5 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/types.d.ts +40 -0
- package/dist/compiler/types.d.ts.map +1 -0
- package/dist/context/index.d.ts +34 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/types.d.ts +10 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/dev-server/index.d.ts +30 -0
- package/dist/dev-server/index.d.ts.map +1 -0
- package/dist/forms/index.d.ts +58 -0
- package/dist/forms/index.d.ts.map +1 -0
- package/dist/forms/mutations.d.ts +48 -0
- package/dist/forms/mutations.d.ts.map +1 -0
- package/dist/hmr/client.d.ts +18 -0
- package/dist/hmr/client.d.ts.map +1 -0
- package/dist/hmr/index.d.ts +3 -0
- package/dist/hmr/index.d.ts.map +1 -0
- package/dist/hmr/types.d.ts +42 -0
- package/dist/hmr/types.d.ts.map +1 -0
- package/dist/hydration/helpers/analyzer.d.ts +9 -0
- package/dist/hydration/helpers/analyzer.d.ts.map +1 -0
- package/dist/hydration/helpers/hydration.d.ts +19 -0
- package/dist/hydration/helpers/hydration.d.ts.map +1 -0
- package/dist/hydration/index.d.ts +4 -0
- package/dist/hydration/index.d.ts.map +1 -0
- package/dist/hydration/types.d.ts +27 -0
- package/dist/hydration/types.d.ts.map +1 -0
- package/dist/image/index.d.ts +9 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/processor.d.ts +57 -0
- package/dist/image/processor.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/jsx-dev-runtime.d.ts +11 -0
- package/dist/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx-runtime.d.ts +11 -0
- package/dist/jsx-runtime.d.ts.map +1 -0
- package/dist/loader/helpers/loader.d.ts +6 -0
- package/dist/loader/helpers/loader.d.ts.map +1 -0
- package/dist/loader/index.d.ts +3 -0
- package/dist/loader/index.d.ts.map +1 -0
- package/dist/loader/types.d.ts +34 -0
- package/dist/loader/types.d.ts.map +1 -0
- package/dist/markdown/index.d.ts +77 -0
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/markdown/index.js +10 -8
- package/dist/mdx/index.d.ts +43 -0
- package/dist/mdx/index.d.ts.map +1 -0
- package/dist/mdx/loader.d.ts +3 -0
- package/dist/mdx/loader.d.ts.map +1 -0
- package/dist/meta/head-registry.d.ts +5 -0
- package/dist/meta/head-registry.d.ts.map +1 -0
- package/dist/meta/head.d.ts +29 -0
- package/dist/meta/head.d.ts.map +1 -0
- package/dist/meta/index.d.ts +91 -0
- package/dist/meta/index.d.ts.map +1 -0
- package/dist/navigation/helpers/navigation.d.ts +15 -0
- package/dist/navigation/helpers/navigation.d.ts.map +1 -0
- package/dist/navigation/helpers/useNavigate.d.ts +6 -0
- package/dist/navigation/helpers/useNavigate.d.ts.map +1 -0
- package/dist/navigation/index.d.ts +5 -0
- package/dist/navigation/index.d.ts.map +1 -0
- package/dist/navigation/types.d.ts +24 -0
- package/dist/navigation/types.d.ts.map +1 -0
- package/dist/plugin/index.d.ts +73 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/router/helpers/path.d.ts +15 -0
- package/dist/router/helpers/path.d.ts.map +1 -0
- package/dist/router/helpers/route.d.ts +6 -0
- package/dist/router/helpers/route.d.ts.map +1 -0
- package/dist/router/index.d.ts +35 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/types.d.ts +30 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/runtime/helpers/element.d.ts +7 -0
- package/dist/runtime/helpers/element.d.ts.map +1 -0
- package/dist/runtime/helpers/render.d.ts +8 -0
- package/dist/runtime/helpers/render.d.ts.map +1 -0
- package/dist/runtime/helpers/render.js +41 -12
- package/dist/runtime/index.d.ts +16 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +53 -0
- package/dist/runtime/types.d.ts +65 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/signals/helpers/core.d.ts +11 -0
- package/dist/signals/helpers/core.d.ts.map +1 -0
- package/dist/signals/helpers/core.js +32 -12
- package/dist/signals/helpers/utils.d.ts +7 -0
- package/dist/signals/helpers/utils.d.ts.map +1 -0
- package/dist/signals/index.d.ts +4 -0
- package/dist/signals/index.d.ts.map +1 -0
- package/dist/signals/types.d.ts +23 -0
- package/dist/signals/types.d.ts.map +1 -0
- package/dist/ssg/index.d.ts +38 -0
- package/dist/ssg/index.d.ts.map +1 -0
- package/dist/ssr/helpers/render-html.d.ts +16 -0
- package/dist/ssr/helpers/render-html.d.ts.map +1 -0
- package/dist/ssr/helpers/ssr.d.ts +14 -0
- package/dist/ssr/helpers/ssr.d.ts.map +1 -0
- package/dist/ssr/index.d.ts +4 -0
- package/dist/ssr/index.d.ts.map +1 -0
- package/dist/ssr/types.d.ts +29 -0
- package/dist/ssr/types.d.ts.map +1 -0
- package/dist/vite-plugin/index.d.ts +5 -0
- package/dist/vite-plugin/index.d.ts.map +1 -0
- package/dist/vite-plugin/index.js +147 -21
- package/dist/vite-plugin/types.d.ts +36 -0
- package/dist/vite-plugin/types.d.ts.map +1 -0
- package/package.json +6 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { JSXElement } from '../runtime/types.js';
|
|
2
|
+
export interface ErrorBoundaryProps {
|
|
3
|
+
fallback?: (error: ErrorInfo) => JSXElement | null;
|
|
4
|
+
onError?: (error: Error, errorInfo: string) => void;
|
|
5
|
+
children?: JSXElement | string | null;
|
|
6
|
+
}
|
|
7
|
+
export interface ErrorInfo {
|
|
8
|
+
message: string;
|
|
9
|
+
stack?: string;
|
|
10
|
+
code?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ErrorBoundaryState {
|
|
13
|
+
error: Error | null;
|
|
14
|
+
hasError: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class ErrorBoundary {
|
|
17
|
+
private fallbackElement;
|
|
18
|
+
private props;
|
|
19
|
+
private state;
|
|
20
|
+
constructor(props: ErrorBoundaryProps);
|
|
21
|
+
static getDerivedStateFromError(error: Error): ErrorBoundaryState;
|
|
22
|
+
componentDidCatch(error: Error, errorInfo: string): void;
|
|
23
|
+
render(): JSXElement | null;
|
|
24
|
+
reset(): void;
|
|
25
|
+
}
|
|
26
|
+
export declare function createErrorBoundary(props: ErrorBoundaryProps): ErrorBoundary;
|
|
27
|
+
export declare function formatErrorMessage(error: Error): string;
|
|
28
|
+
export declare function logError(error: Error, context?: string): void;
|
|
29
|
+
//# sourceMappingURL=error-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../src/boundaries/error-boundary.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,UAAU,GAAG,IAAI,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAOD,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,KAAK,CAA2C;gBAE5C,KAAK,EAAE,kBAAkB;IAIrC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAOjE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAMxD,MAAM,IAAI,UAAU,GAAG,IAAI;IAgC3B,KAAK,IAAI,IAAI;CAId;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAKvD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAM7D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare class NotFoundError extends Error {
|
|
2
|
+
readonly code = "NOT_FOUND";
|
|
3
|
+
readonly status = 404;
|
|
4
|
+
constructor(message?: string);
|
|
5
|
+
}
|
|
6
|
+
export declare class ValidationError extends Error {
|
|
7
|
+
readonly code = "VALIDATION_ERROR";
|
|
8
|
+
readonly fields: Record<string, string>;
|
|
9
|
+
readonly status = 422;
|
|
10
|
+
constructor(message?: string, fields?: Record<string, string>);
|
|
11
|
+
}
|
|
12
|
+
export declare class UnauthorizedError extends Error {
|
|
13
|
+
readonly code = "UNAUTHORIZED";
|
|
14
|
+
readonly status = 401;
|
|
15
|
+
constructor(message?: string);
|
|
16
|
+
}
|
|
17
|
+
export declare class ForbiddenError extends Error {
|
|
18
|
+
readonly code = "FORBIDDEN";
|
|
19
|
+
readonly status = 403;
|
|
20
|
+
constructor(message?: string);
|
|
21
|
+
}
|
|
22
|
+
export declare class InternalError extends Error {
|
|
23
|
+
readonly code = "INTERNAL_ERROR";
|
|
24
|
+
readonly status = 500;
|
|
25
|
+
constructor(message?: string);
|
|
26
|
+
}
|
|
27
|
+
export declare function isEmberKitError(error: unknown): error is EmberKitError;
|
|
28
|
+
export interface EmberKitError extends Error {
|
|
29
|
+
code: string;
|
|
30
|
+
status: number;
|
|
31
|
+
}
|
|
32
|
+
export declare function toLoaderError(error: unknown): {
|
|
33
|
+
error: {
|
|
34
|
+
code: string;
|
|
35
|
+
message: string;
|
|
36
|
+
status: number;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/boundaries/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,MAAM,OAAO;gBAEV,OAAO,SAAuB;CAI3C;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,OAAO;gBAEV,OAAO,SAAsB,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;CAK/E;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,MAAM,OAAO;gBAEV,OAAO,SAA4B;CAIhD;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,MAAM,OAAO;gBAEV,OAAO,SAAkB;CAItC;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,MAAM,OAAO;gBAEV,OAAO,SAA0B;CAI9C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG;IAC7C,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D,CA4BA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/boundaries/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { JSXElement } from '../runtime/types.js';
|
|
2
|
+
export interface LoadingBoundaryProps {
|
|
3
|
+
fallback?: JSXElement | string;
|
|
4
|
+
timeout?: number;
|
|
5
|
+
children?: JSXElement | string | null;
|
|
6
|
+
}
|
|
7
|
+
export interface LoadingBoundaryState {
|
|
8
|
+
isLoading: boolean;
|
|
9
|
+
startTime: number | null;
|
|
10
|
+
}
|
|
11
|
+
export declare class LoadingBoundary {
|
|
12
|
+
private props;
|
|
13
|
+
private state;
|
|
14
|
+
private timeoutId;
|
|
15
|
+
constructor(props: LoadingBoundaryProps);
|
|
16
|
+
getElapsedTime(): number;
|
|
17
|
+
isLoading(): boolean;
|
|
18
|
+
render(): JSXElement | null;
|
|
19
|
+
reset(): void;
|
|
20
|
+
start(): void;
|
|
21
|
+
stop(): void;
|
|
22
|
+
private handleTimeout;
|
|
23
|
+
}
|
|
24
|
+
export declare function createLoadingBoundary(props: LoadingBoundaryProps): LoadingBoundary;
|
|
25
|
+
export interface SkeletonProps {
|
|
26
|
+
width?: string;
|
|
27
|
+
height?: string;
|
|
28
|
+
variant?: 'text' | 'circular' | 'rectangular';
|
|
29
|
+
animation?: 'pulse' | 'wave' | 'none';
|
|
30
|
+
}
|
|
31
|
+
export declare function Skeleton({ width, height, variant, animation, }: SkeletonProps): JSXElement;
|
|
32
|
+
export interface createAsyncBoundaryOptions<T> {
|
|
33
|
+
fallback?: JSXElement | string;
|
|
34
|
+
onSuccess?: (data: T) => void;
|
|
35
|
+
onError?: (error: Error) => void;
|
|
36
|
+
}
|
|
37
|
+
export declare function createAsyncBoundary<T>(loader: () => Promise<T>, options?: createAsyncBoundaryOptions<T>): {
|
|
38
|
+
load: () => Promise<T>;
|
|
39
|
+
render: () => JSXElement | null;
|
|
40
|
+
reset: () => void;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=loading-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-boundary.d.ts","sourceRoot":"","sources":["../../src/boundaries/loading-boundary.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAID,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,KAAK,CAGX;IACF,OAAO,CAAC,SAAS,CAA8C;gBAEnD,KAAK,EAAE,oBAAoB;IAIvC,cAAc,IAAI,MAAM;IAKxB,SAAS,IAAI,OAAO;IAIpB,MAAM,IAAI,UAAU,GAAG,IAAI;IAmB3B,KAAK,IAAI,IAAI;IAKb,KAAK,IAAI,IAAI;IAUb,IAAI,IAAI,IAAI;IAQZ,OAAO,CAAC,aAAa;CAGtB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,eAAe,CAElF;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;IAC9C,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CACvC;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAc,EACd,MAAc,EACd,OAAgB,EAChB,SAAmB,GACpB,EAAE,aAAa,GAAG,UAAU,CAW5B;AAED,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,OAAO,GAAE,0BAA0B,CAAC,CAAC,CAAM,GAC1C;IACD,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CA8BA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export interface CacheConfig {
|
|
2
|
+
staleWhileRevalidate?: number;
|
|
3
|
+
maxAge?: number;
|
|
4
|
+
immutable?: boolean;
|
|
5
|
+
mustRevalidate?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface CacheEntry<T> {
|
|
8
|
+
data: T;
|
|
9
|
+
timestamp: number;
|
|
10
|
+
expiresAt: number;
|
|
11
|
+
headers: Record<string, string>;
|
|
12
|
+
}
|
|
13
|
+
export interface PrefetchOptions {
|
|
14
|
+
priority?: 'high' | 'low';
|
|
15
|
+
as?: 'fetch' | 'image' | 'script' | 'style';
|
|
16
|
+
crossOrigin?: 'anonymous' | 'use-credentials';
|
|
17
|
+
}
|
|
18
|
+
export interface CacheStrategy {
|
|
19
|
+
type: 'cache-first' | 'network-first' | 'stale-while-revalidate' | 'only-cache';
|
|
20
|
+
cacheConfig?: CacheConfig;
|
|
21
|
+
}
|
|
22
|
+
export declare class DataCache<T = unknown> {
|
|
23
|
+
private store;
|
|
24
|
+
private maxSize;
|
|
25
|
+
private defaultTTL;
|
|
26
|
+
constructor(maxSize?: number, defaultTTL?: number);
|
|
27
|
+
set(key: string, data: T, ttl?: number): void;
|
|
28
|
+
get(key: string): T | null;
|
|
29
|
+
has(key: string): boolean;
|
|
30
|
+
delete(key: string): void;
|
|
31
|
+
clear(): void;
|
|
32
|
+
size(): number;
|
|
33
|
+
private findOldest;
|
|
34
|
+
}
|
|
35
|
+
export declare const globalCache: DataCache<unknown>;
|
|
36
|
+
export declare function createCache<T>(ttl?: number): DataCache<T>;
|
|
37
|
+
export declare function getCached<T>(key: string): T | null;
|
|
38
|
+
export declare function setCache<T>(key: string, data: T, ttl?: number): void;
|
|
39
|
+
export declare function invalidateCache(key: string): void;
|
|
40
|
+
export declare function clearAllCache(): void;
|
|
41
|
+
export declare function fetchWithCache(url: string, options?: {
|
|
42
|
+
cache?: CacheConfig;
|
|
43
|
+
ttl?: number;
|
|
44
|
+
}): Promise<Response>;
|
|
45
|
+
export declare function buildCacheHeader(config: CacheConfig): string;
|
|
46
|
+
export declare function parseCacheHeader(header: string): CacheConfig;
|
|
47
|
+
export declare function prefetch(url: string, options?: PrefetchOptions): void;
|
|
48
|
+
export declare function prefetchRoutes(routes: string[], options?: PrefetchOptions): void;
|
|
49
|
+
export declare function prefetchOnHover(element: Element, url: string, options?: PrefetchOptions): void;
|
|
50
|
+
export declare function prefetchOnVisible(element: Element, url: string, options?: PrefetchOptions & {
|
|
51
|
+
rootMargin?: string;
|
|
52
|
+
}): void;
|
|
53
|
+
export declare function getCachedLoaderData<T>(route: string, loader: () => Promise<T>, ttl?: number): Promise<T>;
|
|
54
|
+
export declare function invalidateLoaderData(route: string): void;
|
|
55
|
+
export interface SWRCacheOptions {
|
|
56
|
+
ttl: number;
|
|
57
|
+
staleTime: number;
|
|
58
|
+
}
|
|
59
|
+
export declare function staleWhileRevalidate<T>(key: string, fetcher: () => Promise<T>, options: SWRCacheOptions): Promise<T>;
|
|
60
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TemplatePart, CompiledTemplate } from './types.js';
|
|
2
|
+
export declare function compileToTemplate(tag: string, props: Record<string, unknown>, children: unknown[]): CompiledTemplate;
|
|
3
|
+
export declare function compileSelfClosing(tag: string, props: Record<string, unknown>): CompiledTemplate;
|
|
4
|
+
export declare function compileTextContent(text: string): CompiledTemplate;
|
|
5
|
+
export declare function assembleTemplate(parts: TemplatePart[]): string;
|
|
6
|
+
//# sourceMappingURL=compiler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/compiler/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGjE,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,OAAO,EAAE,GAClB,gBAAgB,CAmBlB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,gBAAgB,CAclB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAKjE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAY9D"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { TemplatePart } from '../types.js';
|
|
2
|
+
export declare function compileAttributes(props: Record<string, unknown>): TemplatePart[];
|
|
3
|
+
export declare function compileChildren(children: (string | unknown)[]): TemplatePart[];
|
|
4
|
+
//# sourceMappingURL=attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/compiler/helpers/attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,EAAE,CAoBhF;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,YAAY,EAAE,CAY9E"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TemplatePart } from '../types.js';
|
|
2
|
+
export declare function escapeString(str: string): string;
|
|
3
|
+
export declare function generateTemplateParts(parts: TemplatePart[]): {
|
|
4
|
+
template: string;
|
|
5
|
+
expressions: string[];
|
|
6
|
+
};
|
|
7
|
+
export declare function toKebabCase(str: string): string;
|
|
8
|
+
export declare function isValidComponentName(name: string): boolean;
|
|
9
|
+
export declare function isHtmlElement(name: string): boolean;
|
|
10
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/compiler/helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EAAE,GACpB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAmB7C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface JSXElementNode {
|
|
2
|
+
type: string;
|
|
3
|
+
props: Record<string, unknown>;
|
|
4
|
+
children: (JSXElementNode | string)[];
|
|
5
|
+
key?: string | null;
|
|
6
|
+
}
|
|
7
|
+
export interface JSXFragmentNode {
|
|
8
|
+
type: 'Fragment';
|
|
9
|
+
props: Record<string, never>;
|
|
10
|
+
children: (JSXElementNode | string)[];
|
|
11
|
+
}
|
|
12
|
+
export type JSXNode = JSXElementNode | JSXFragmentNode | string;
|
|
13
|
+
export interface JSXAttribute {
|
|
14
|
+
type: 'attribute';
|
|
15
|
+
name: string;
|
|
16
|
+
value: unknown;
|
|
17
|
+
}
|
|
18
|
+
export interface JSXSpreadAttribute {
|
|
19
|
+
type: 'spread';
|
|
20
|
+
argument: unknown;
|
|
21
|
+
}
|
|
22
|
+
export type JSXAttr = JSXAttribute | JSXSpreadAttribute;
|
|
23
|
+
export interface TemplatePart {
|
|
24
|
+
type: 'string' | 'expression';
|
|
25
|
+
value: string;
|
|
26
|
+
}
|
|
27
|
+
export interface CompiledTemplate {
|
|
28
|
+
parts: TemplatePart[];
|
|
29
|
+
dependencies: string[];
|
|
30
|
+
}
|
|
31
|
+
export interface TransformContext {
|
|
32
|
+
mode: 'static' | 'ssr' | 'spa' | 'hybrid';
|
|
33
|
+
filePath: string;
|
|
34
|
+
imports: Set<string>;
|
|
35
|
+
variables: Map<string, number>;
|
|
36
|
+
}
|
|
37
|
+
export declare const FRAGMENT_TYPE = "Fragment";
|
|
38
|
+
export declare const KEY_PROPERTY = "__key";
|
|
39
|
+
export declare const CHILDREN_PROPERTY = "children";
|
|
40
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compiler/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7B,QAAQ,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,kBAAkB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,YAAY,UAAU,CAAC;AACpC,eAAO,MAAM,iBAAiB,aAAa,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ContextDefaultValue } from './types.js';
|
|
2
|
+
export interface Context<T> {
|
|
3
|
+
readonly id: symbol;
|
|
4
|
+
readonly defaultValue: ContextDefaultValue<T>;
|
|
5
|
+
}
|
|
6
|
+
export interface ContextProviderState {
|
|
7
|
+
value: unknown;
|
|
8
|
+
}
|
|
9
|
+
export interface ContextBridge<T> {
|
|
10
|
+
id: symbol;
|
|
11
|
+
defaultValue: T | undefined;
|
|
12
|
+
Provider: (props: {
|
|
13
|
+
value: T;
|
|
14
|
+
children?: unknown;
|
|
15
|
+
}) => {
|
|
16
|
+
type: string;
|
|
17
|
+
props: Record<string, unknown>;
|
|
18
|
+
};
|
|
19
|
+
use: () => T;
|
|
20
|
+
}
|
|
21
|
+
export declare function createContext<T>(defaultValue?: T): ContextBridge<T>;
|
|
22
|
+
export declare function setContextValue<T>(context: Context<T>, value: T): void;
|
|
23
|
+
export declare function getContextValue<T>(context: Context<T>): T | undefined;
|
|
24
|
+
export declare function hasContext<T>(context: Context<T>): boolean;
|
|
25
|
+
export declare function clearAllContexts(): void;
|
|
26
|
+
export declare function useContext<T>(context: Context<T>): T;
|
|
27
|
+
export declare function createContextProvider<T>(context: Context<T>): (props: {
|
|
28
|
+
value: T;
|
|
29
|
+
children?: unknown;
|
|
30
|
+
}) => {
|
|
31
|
+
type: string;
|
|
32
|
+
props: Record<string, unknown>;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;CAChB;AAKD,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACxG,GAAG,EAAE,MAAM,CAAC,CAAC;CACd;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAgBnE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAEtE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAIrE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAE1D;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CASpD;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IACjC,OAAO;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAOpH"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface Context<T> {
|
|
2
|
+
readonly id: symbol;
|
|
3
|
+
readonly defaultValue: T | undefined;
|
|
4
|
+
}
|
|
5
|
+
export interface ContextProvider {
|
|
6
|
+
value: unknown;
|
|
7
|
+
}
|
|
8
|
+
export type ContextDefaultValue<T> = T | undefined;
|
|
9
|
+
export declare const CONTEXT_MARKER: unique symbol;
|
|
10
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAEnD,eAAO,MAAM,cAAc,eAAiC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface DevServerOptions {
|
|
2
|
+
port?: number;
|
|
3
|
+
host?: string;
|
|
4
|
+
cors?: boolean;
|
|
5
|
+
hmr?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface ServerStats {
|
|
8
|
+
uptime: number;
|
|
9
|
+
requests: number;
|
|
10
|
+
errors: number;
|
|
11
|
+
memoryUsage: NodeJS.MemoryUsage;
|
|
12
|
+
}
|
|
13
|
+
export declare class DevServer {
|
|
14
|
+
private server;
|
|
15
|
+
private readonly options;
|
|
16
|
+
private startTime;
|
|
17
|
+
private requestCount;
|
|
18
|
+
private errorCount;
|
|
19
|
+
constructor(options?: DevServerOptions);
|
|
20
|
+
start(): Promise<void>;
|
|
21
|
+
stop(): Promise<void>;
|
|
22
|
+
getStats(): ServerStats;
|
|
23
|
+
private createRequestHandler;
|
|
24
|
+
private handleRequest;
|
|
25
|
+
private handleWebSocket;
|
|
26
|
+
private generateHTML;
|
|
27
|
+
private sendError;
|
|
28
|
+
}
|
|
29
|
+
export declare function createDevServer(options?: DevServerOptions): Promise<DevServer>;
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dev-server/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;CACjC;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAK;gBAEX,OAAO,GAAE,gBAAqB;IASpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB3B,QAAQ,IAAI,WAAW;IASvB,OAAO,CAAC,oBAAoB;YAcd,aAAa;IA+B3B,OAAO,CAAC,eAAe;YAQT,YAAY;IAe1B,OAAO,CAAC,SAAS;CAIlB;AAED,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAIpF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export interface FormConfig {
|
|
2
|
+
action?: string;
|
|
3
|
+
method?: 'get' | 'post' | 'put' | 'delete' | 'patch';
|
|
4
|
+
encType?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';
|
|
5
|
+
validation?: ValidationSchema;
|
|
6
|
+
onSubmit?: FormSubmitHandler;
|
|
7
|
+
onError?: FormErrorHandler;
|
|
8
|
+
}
|
|
9
|
+
export interface ValidationSchema {
|
|
10
|
+
fields: Record<string, FieldValidator>;
|
|
11
|
+
validateOnSubmit?: boolean;
|
|
12
|
+
validateOnBlur?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface FieldValidator {
|
|
15
|
+
required?: boolean;
|
|
16
|
+
minLength?: number;
|
|
17
|
+
maxLength?: number;
|
|
18
|
+
pattern?: RegExp;
|
|
19
|
+
custom?: (value: unknown) => string | null;
|
|
20
|
+
}
|
|
21
|
+
export type FormSubmitHandler = (data: FormData, event: SubmitEvent) => Promise<void> | void;
|
|
22
|
+
export type FormErrorHandler = (errors: FormErrors, event: SubmitEvent) => void;
|
|
23
|
+
export interface FormErrors {
|
|
24
|
+
[field: string]: string | undefined;
|
|
25
|
+
}
|
|
26
|
+
export interface FormState {
|
|
27
|
+
values: Record<string, unknown>;
|
|
28
|
+
errors: FormErrors;
|
|
29
|
+
touched: Set<string>;
|
|
30
|
+
dirty: boolean;
|
|
31
|
+
submitting: boolean;
|
|
32
|
+
submitted: boolean;
|
|
33
|
+
}
|
|
34
|
+
export declare class FormValidator {
|
|
35
|
+
private schema;
|
|
36
|
+
constructor(schema: ValidationSchema);
|
|
37
|
+
validate(data: Record<string, unknown>): FormErrors;
|
|
38
|
+
validateField(name: string, value: unknown, validator: FieldValidator): string | undefined;
|
|
39
|
+
validateFieldOnly(name: string, value: unknown): string | undefined;
|
|
40
|
+
}
|
|
41
|
+
export declare function createFormValidator(schema: ValidationSchema): FormValidator;
|
|
42
|
+
export declare function parseFormData(form: HTMLFormElement): Record<string, unknown>;
|
|
43
|
+
export declare function createFormState(initial?: Record<string, unknown>): FormState;
|
|
44
|
+
export declare function updateFormState(state: FormState, updates: Partial<FormState>): FormState;
|
|
45
|
+
export declare function getFieldValue(state: FormState, name: string): unknown;
|
|
46
|
+
export declare function setFieldValue(state: FormState, name: string, value: unknown): FormState;
|
|
47
|
+
export declare function setFieldError(state: FormState, name: string, error: string | undefined): FormState;
|
|
48
|
+
export declare function clearFormState(state: FormState): FormState;
|
|
49
|
+
export declare function handleFormSubmit(event: SubmitEvent, config: FormConfig): Promise<boolean>;
|
|
50
|
+
export declare const DEFAULT_VALIDATORS: Record<string, FieldValidator>;
|
|
51
|
+
export declare function applyDefaultValidator(field: string, validator: FieldValidator): FieldValidator;
|
|
52
|
+
export interface FormSubmitOptions {
|
|
53
|
+
method?: string;
|
|
54
|
+
action?: string;
|
|
55
|
+
target?: string;
|
|
56
|
+
}
|
|
57
|
+
export declare function buildFormAction(action: string, method: string, params?: Record<string, string>): string;
|
|
58
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface MutationOptions<TData, TVariables> {
|
|
2
|
+
onMutate?: (variables: TVariables) => TData | Promise<TData>;
|
|
3
|
+
onSuccess?: (data: TData, variables: TVariables) => void;
|
|
4
|
+
onError?: (error: Error, variables: TVariables) => void;
|
|
5
|
+
onSettled?: (data?: TData, error?: Error) => void;
|
|
6
|
+
}
|
|
7
|
+
export interface MutationResult<TData> {
|
|
8
|
+
data: TData | null;
|
|
9
|
+
error: Error | null;
|
|
10
|
+
status: 'idle' | 'pending' | 'success' | 'error';
|
|
11
|
+
isPending: boolean;
|
|
12
|
+
isSuccess: boolean;
|
|
13
|
+
isError: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface ActionContext {
|
|
16
|
+
request: Request;
|
|
17
|
+
params: Record<string, string>;
|
|
18
|
+
query: URLSearchParams;
|
|
19
|
+
}
|
|
20
|
+
export type ActionHandler<TData = unknown, TVariables = Record<string, unknown>> = (variables: TVariables, context: ActionContext) => TData | Promise<TData>;
|
|
21
|
+
export interface ActionResult<TData> {
|
|
22
|
+
data: TData | null;
|
|
23
|
+
error: string | null;
|
|
24
|
+
status: number;
|
|
25
|
+
headers?: Record<string, string>;
|
|
26
|
+
}
|
|
27
|
+
export declare function createAction<TData, TVariables>(handler: ActionHandler<TData, TVariables>, options?: MutationOptions<TData, TVariables>): (variables: TVariables, context?: Partial<ActionContext>) => Promise<ActionResult<TData>>;
|
|
28
|
+
export declare function createMutation<TData, TVariables>(handler: ActionHandler<TData, TVariables>, options?: MutationOptions<TData, TVariables>): {
|
|
29
|
+
mutate: (variables: TVariables) => Promise<ActionResult<TData>>;
|
|
30
|
+
subscribe: (listener: (state: MutationResult<TData>) => void) => () => boolean;
|
|
31
|
+
getState: () => MutationResult<TData>;
|
|
32
|
+
reset: () => void;
|
|
33
|
+
};
|
|
34
|
+
export declare function handleAction(handler: ActionHandler, request: Request): Promise<Response>;
|
|
35
|
+
export declare function createActionHandler(handler: ActionHandler): (request: Request) => Promise<Response>;
|
|
36
|
+
export type MutationKey = string;
|
|
37
|
+
export declare const mutationCache: Map<string, MutationResult<unknown>>;
|
|
38
|
+
export declare function getCachedMutation(key: MutationKey): MutationResult<unknown> | undefined;
|
|
39
|
+
export declare function setCachedMutation<T>(key: MutationKey, result: MutationResult<T>): void;
|
|
40
|
+
export declare function invalidateMutation(key: MutationKey): void;
|
|
41
|
+
export declare function clearMutationCache(): void;
|
|
42
|
+
export interface UseMutationReturn<TData, TVariables> {
|
|
43
|
+
mutate: (variables: TVariables) => Promise<ActionResult<TData>>;
|
|
44
|
+
state: MutationResult<TData>;
|
|
45
|
+
reset: () => void;
|
|
46
|
+
}
|
|
47
|
+
export declare function useMutation<TData, TVariables>(action: ActionHandler<TData, TVariables>, options?: MutationOptions<TData, TVariables>): UseMutationReturn<TData, TVariables>;
|
|
48
|
+
//# sourceMappingURL=mutations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/forms/mutations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { HMRContext } from './types.js';
|
|
2
|
+
declare global {
|
|
3
|
+
interface ImportMeta {
|
|
4
|
+
readonly hot?: HotModuleAPI;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export interface HotModuleAPI {
|
|
8
|
+
accept(deps?: string | string[], callback?: () => void): void;
|
|
9
|
+
decline(): void;
|
|
10
|
+
dispose(callback: () => void): void;
|
|
11
|
+
data: Record<string, unknown>;
|
|
12
|
+
on(event: string, callback: (data: unknown) => void): void;
|
|
13
|
+
send(event: string, data: unknown): void;
|
|
14
|
+
}
|
|
15
|
+
export declare function createHotAPI(context: HMRContext, moduleId: string, moduleUrl: string): HotModuleAPI;
|
|
16
|
+
export declare function setupHMRClient(context: HMRContext): void;
|
|
17
|
+
export declare function cleanupHMRClient(): void;
|
|
18
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/hmr/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAOxD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;KAC7B;CACF;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC9D,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1C;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,YAAY,CAsDd;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAkCxD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAOvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hmr/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface DevServerConfig {
|
|
2
|
+
port: number;
|
|
3
|
+
host: string;
|
|
4
|
+
hmr: boolean;
|
|
5
|
+
open: boolean;
|
|
6
|
+
cors: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface HotModule {
|
|
9
|
+
id: string;
|
|
10
|
+
url: string;
|
|
11
|
+
needsAccept: boolean;
|
|
12
|
+
acceptCallbacks: Array<() => void>;
|
|
13
|
+
disposeCallbacks: Array<() => void>;
|
|
14
|
+
}
|
|
15
|
+
export interface HMRContext {
|
|
16
|
+
connections: Map<string, WebSocket>;
|
|
17
|
+
modules: Map<string, HotModule>;
|
|
18
|
+
listeners: Array<(event: HMREvent) => void>;
|
|
19
|
+
}
|
|
20
|
+
export interface HMREvent {
|
|
21
|
+
type: 'connected' | 'disconnected' | 'update' | 'error';
|
|
22
|
+
moduleId?: string;
|
|
23
|
+
timestamp: number;
|
|
24
|
+
payload?: unknown;
|
|
25
|
+
}
|
|
26
|
+
export declare class HMRConnection {
|
|
27
|
+
private ws;
|
|
28
|
+
private readonly url;
|
|
29
|
+
constructor(url: string);
|
|
30
|
+
connect(onMessage: (data: unknown) => void): void;
|
|
31
|
+
private reconnect;
|
|
32
|
+
send(data: unknown): void;
|
|
33
|
+
close(): void;
|
|
34
|
+
}
|
|
35
|
+
export declare function createHMRContext(): HMRContext;
|
|
36
|
+
export declare function subscribeToHMR(context: HMRContext, callback: (event: HMREvent) => void): () => void;
|
|
37
|
+
export declare function emitHMREvent(context: HMRContext, event: HMREvent): void;
|
|
38
|
+
export declare function handleHMRMessage(context: HMRContext, data: Record<string, unknown>): Promise<void>;
|
|
39
|
+
export declare function getHotModule(context: HMRContext, id: string): HotModule | undefined;
|
|
40
|
+
export declare function registerHotModule(context: HMRContext, module: HotModule): void;
|
|
41
|
+
export declare function disposeHotModule(context: HMRContext, id: string): void;
|
|
42
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hmr/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACnC,gBAAgB,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,SAAS,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,GAAG,EAAE,MAAM;IAIvB,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IA+BjD,OAAO,CAAC,SAAS;IAKjB,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAMzB,KAAK,IAAI,IAAI;CAGd;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAM7C;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAClC,MAAM,IAAI,CASZ;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,QAAQ,GACd,IAAI,CAIN;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf;AA0CD,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEnF;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,SAAS,GAChB,IAAI,CAEN;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,UAAU,EACnB,EAAE,EAAE,MAAM,GACT,IAAI,CAYN"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DOMElement } from '../../runtime/types.js';
|
|
2
|
+
import { type InteractiveElement, type HydrationManifest, type HydrationStrategy } from '../types.js';
|
|
3
|
+
export declare function analyzeElement(element: DOMElement): InteractiveElement | null;
|
|
4
|
+
export declare function extractEventHandlers(props: Record<string, unknown>): Set<string>;
|
|
5
|
+
export declare function buildSelector(tagName: string, props: Record<string, unknown>): string;
|
|
6
|
+
export declare function determineHydrationStrategy(tagName: string, props: Record<string, unknown>): HydrationStrategy;
|
|
7
|
+
export declare function analyzeTree(element: DOMElement | null): HydrationManifest;
|
|
8
|
+
export declare function getHydrationCandidates(manifest: HydrationManifest, strategy: HydrationStrategy['type']): InteractiveElement[];
|
|
9
|
+
//# sourceMappingURL=analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/hydration/helpers/analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAkB7E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAUhF;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAaR;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,iBAAiB,CAwBnB;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,UAAU,GAAG,IAAI,GACzB,iBAAiB,CAoCnB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAClC,kBAAkB,EAAE,CAEtB"}
|