@vesk/runtime 0.0.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.
Files changed (81) hide show
  1. package/README.md +23 -0
  2. package/dist/action.d.ts +43 -0
  3. package/dist/action.d.ts.map +1 -0
  4. package/dist/action.js +84 -0
  5. package/dist/bindings.d.ts +4 -0
  6. package/dist/bindings.d.ts.map +1 -0
  7. package/dist/bindings.js +137 -0
  8. package/dist/context.d.ts +15 -0
  9. package/dist/context.d.ts.map +1 -0
  10. package/dist/context.js +34 -0
  11. package/dist/experiment.d.ts +17 -0
  12. package/dist/experiment.d.ts.map +1 -0
  13. package/dist/experiment.js +71 -0
  14. package/dist/form.d.ts +36 -0
  15. package/dist/form.d.ts.map +1 -0
  16. package/dist/form.js +278 -0
  17. package/dist/hmr-client.d.ts +1 -0
  18. package/dist/hmr-client.d.ts.map +1 -0
  19. package/dist/hmr-client.js +273 -0
  20. package/dist/hydrate.d.ts +34 -0
  21. package/dist/hydrate.d.ts.map +1 -0
  22. package/dist/hydrate.js +248 -0
  23. package/dist/image.d.ts +19 -0
  24. package/dist/image.d.ts.map +1 -0
  25. package/dist/image.js +51 -0
  26. package/dist/index-client.d.ts +16 -0
  27. package/dist/index-client.d.ts.map +1 -0
  28. package/dist/index-client.js +15 -0
  29. package/dist/index-server.d.ts +15 -0
  30. package/dist/index-server.d.ts.map +1 -0
  31. package/dist/index-server.js +14 -0
  32. package/dist/isr.d.ts +27 -0
  33. package/dist/isr.d.ts.map +1 -0
  34. package/dist/isr.js +143 -0
  35. package/dist/md.d.ts +17 -0
  36. package/dist/md.d.ts.map +1 -0
  37. package/dist/md.js +507 -0
  38. package/dist/package.json +23 -0
  39. package/dist/portal.d.ts +8 -0
  40. package/dist/portal.d.ts.map +1 -0
  41. package/dist/portal.js +20 -0
  42. package/dist/reconcile.d.ts +3 -0
  43. package/dist/reconcile.d.ts.map +1 -0
  44. package/dist/reconcile.js +66 -0
  45. package/dist/request.d.ts +188 -0
  46. package/dist/request.d.ts.map +1 -0
  47. package/dist/request.js +624 -0
  48. package/dist/resource.d.ts +47 -0
  49. package/dist/resource.d.ts.map +1 -0
  50. package/dist/resource.js +502 -0
  51. package/dist/ripple-blocks.d.ts +18 -0
  52. package/dist/ripple-blocks.d.ts.map +1 -0
  53. package/dist/ripple-blocks.js +184 -0
  54. package/dist/ripple-constants.d.ts +42 -0
  55. package/dist/ripple-constants.d.ts.map +1 -0
  56. package/dist/ripple-constants.js +41 -0
  57. package/dist/ripple-runtime.d.ts +125 -0
  58. package/dist/ripple-runtime.d.ts.map +1 -0
  59. package/dist/ripple-runtime.js +891 -0
  60. package/dist/ripple-utils.d.ts +12 -0
  61. package/dist/ripple-utils.d.ts.map +1 -0
  62. package/dist/ripple-utils.js +10 -0
  63. package/dist/router-components.d.ts +83 -0
  64. package/dist/router-components.d.ts.map +1 -0
  65. package/dist/router-components.js +320 -0
  66. package/dist/router-match.d.ts +40 -0
  67. package/dist/router-match.d.ts.map +1 -0
  68. package/dist/router-match.js +158 -0
  69. package/dist/router.d.ts +56 -0
  70. package/dist/router.d.ts.map +1 -0
  71. package/dist/router.js +1330 -0
  72. package/dist/seo.d.ts +94 -0
  73. package/dist/seo.d.ts.map +1 -0
  74. package/dist/seo.js +138 -0
  75. package/dist/suspense.d.ts +1 -0
  76. package/dist/suspense.d.ts.map +1 -0
  77. package/dist/suspense.js +14 -0
  78. package/dist/track.d.ts +20 -0
  79. package/dist/track.d.ts.map +1 -0
  80. package/dist/track.js +124 -0
  81. package/package.json +55 -0
@@ -0,0 +1,188 @@
1
+ interface RequestContext {
2
+ _request?: Request;
3
+ params?: Record<string, string>;
4
+ cookies?: Record<string, string>;
5
+ locals?: Record<string, unknown>;
6
+ _parsedBody?: unknown;
7
+ [k: string]: unknown;
8
+ }
9
+ export declare function defineHook(name: string, fn: Function): void;
10
+ export declare function removeHook(name: string, fn: Function): void;
11
+ export declare function runHooks(name: string, ...args: unknown[]): Promise<Response | undefined>;
12
+ export declare function useParams(): Record<string, string>;
13
+ export declare function useRequest(): RequestContext | null;
14
+ export declare function useBody(): Promise<unknown>;
15
+ interface CorsOptions {
16
+ origin?: string;
17
+ methods?: string;
18
+ allowedHeaders?: string;
19
+ credentials?: boolean;
20
+ maxAge?: number;
21
+ exposeHeaders?: string[];
22
+ }
23
+ interface CorsMiddleware {
24
+ (request: Request): Response | undefined;
25
+ applyCors(response: Response): Response;
26
+ _corsHeaders: Record<string, string>;
27
+ _pending?: Record<string, string>;
28
+ }
29
+ export declare function cors(options?: CorsOptions): CorsMiddleware;
30
+ interface WebhookOptions {
31
+ secret: string;
32
+ handler: (event: unknown, request: Request) => unknown;
33
+ headerName?: string;
34
+ signaturePrefix?: string;
35
+ }
36
+ export declare function webhook(options: WebhookOptions): (request: Request) => Promise<Response>;
37
+ interface CookieStore {
38
+ get(name: string): string | undefined;
39
+ getAll(): {
40
+ name: string;
41
+ value: string;
42
+ }[];
43
+ toString(): string;
44
+ [k: string]: string | undefined | Function;
45
+ }
46
+ export declare function cookies(): CookieStore;
47
+ export declare function locals(): Record<string, unknown>;
48
+ export declare function headers(): Record<string, string | Function | undefined>;
49
+ export declare class ServerRequest extends Request {
50
+ _cookies: Record<string, string>;
51
+ _params: Record<string, string>;
52
+ _locals: Record<string, unknown>;
53
+ constructor(input: string | URL, init?: RequestInit);
54
+ get cookies(): CookieStore;
55
+ set cookies(v: Record<string, string>);
56
+ get params(): Record<string, string>;
57
+ set params(v: Record<string, string>);
58
+ get locals(): Record<string, unknown>;
59
+ set locals(v: Record<string, unknown>);
60
+ }
61
+ interface VeskResponseInstance extends Response {
62
+ setStatus(code: number): VeskResponseInstance;
63
+ build(): VeskResponseInstance;
64
+ text(): Promise<string>;
65
+ json(): Promise<unknown>;
66
+ setCookie(name: string, value: string, opts?: {
67
+ maxAge?: number;
68
+ httpOnly?: boolean;
69
+ secure?: boolean;
70
+ sameSite?: 'Lax' | 'Strict' | 'None';
71
+ path?: string;
72
+ domain?: string;
73
+ }): VeskResponseInstance;
74
+ clearCookie(name: string, opts?: {
75
+ path?: string;
76
+ domain?: string;
77
+ }): VeskResponseInstance;
78
+ setCsp(policy: string | false): VeskResponseInstance;
79
+ setSecurityHeader(name: string, value: string | false): VeskResponseInstance;
80
+ cache(ttlSeconds: number): VeskResponseInstance;
81
+ noCache(): VeskResponseInstance;
82
+ cors(opts?: {
83
+ origin?: string;
84
+ methods?: string;
85
+ headers?: string;
86
+ credentials?: boolean;
87
+ }): VeskResponseInstance;
88
+ _flushSecurityHeaders(): void;
89
+ readonly status: number;
90
+ }
91
+ export declare class ServerResponse extends Response {
92
+ static json(body: unknown, init?: ResponseInit): ServerResponse;
93
+ static redirect(url: string, status?: number): ServerResponse;
94
+ static rewrite(url: string): ServerResponse;
95
+ static next(): ServerResponse;
96
+ }
97
+ export declare class VeskRequest extends ServerRequest {
98
+ _query: Record<string, string> | null;
99
+ _ip: string | null;
100
+ _protocol: string | null;
101
+ _hostname: string | null;
102
+ _body: unknown;
103
+ _bodyPromise: Promise<unknown> | null;
104
+ _parsedUrl: URL | null;
105
+ __security?: Record<string, unknown>;
106
+ constructor(input: string | URL, init?: RequestInit);
107
+ get parsedUrl(): URL;
108
+ get query(): Record<string, string>;
109
+ set query(v: Record<string, string>);
110
+ get ip(): string;
111
+ set ip(v: string);
112
+ get protocol(): string;
113
+ set protocol(v: string);
114
+ get hostname(): string;
115
+ set hostname(v: string);
116
+ _parseBody(): Promise<unknown>;
117
+ get _security(): Record<string, unknown>;
118
+ setCsp(policy: string | false): void;
119
+ setRateLimit(options: {
120
+ windowMs?: number;
121
+ max?: number;
122
+ } | false): void;
123
+ setCsrf(enable: boolean): void;
124
+ setSecurityHeader(name: string, value: string | false): void;
125
+ setTrustProxy(enable: boolean | string): void;
126
+ getSecurityOverrides(): Record<string, unknown>;
127
+ }
128
+ declare class _VeskResponse extends ServerResponse {
129
+ _cookieHeaders: string[];
130
+ _secHeaders: Record<string, string | null>;
131
+ _finalStatus: number | null;
132
+ constructor(body?: BodyInit | null, init?: ResponseInit);
133
+ setStatus(code: number): _VeskResponse;
134
+ get status(): number;
135
+ build(): _VeskResponse;
136
+ text(): Promise<string>;
137
+ json(): Promise<unknown>;
138
+ setCookie(name: string, value: string, opts?: {
139
+ maxAge?: number;
140
+ httpOnly?: boolean;
141
+ secure?: boolean;
142
+ sameSite?: 'Lax' | 'Strict' | 'None';
143
+ path?: string;
144
+ domain?: string;
145
+ }): _VeskResponse;
146
+ clearCookie(name: string, opts?: {
147
+ path?: string;
148
+ domain?: string;
149
+ }): _VeskResponse;
150
+ setCsp(policy: string | false): _VeskResponse;
151
+ setSecurityHeader(name: string, value: string | false): _VeskResponse;
152
+ cache(ttlSeconds: number): _VeskResponse;
153
+ noCache(): _VeskResponse;
154
+ cors(opts?: {
155
+ origin?: string;
156
+ methods?: string;
157
+ headers?: string;
158
+ credentials?: boolean;
159
+ }): _VeskResponse;
160
+ _flushSecurityHeaders(): void;
161
+ static json(body: unknown, init?: ResponseInit): _VeskResponse;
162
+ static redirect(url: string, status?: number): _VeskResponse;
163
+ static rewrite(url: string): _VeskResponse;
164
+ static next(): _VeskResponse;
165
+ static html(html: string, init?: ResponseInit): _VeskResponse;
166
+ }
167
+ export declare const VeskResponse: typeof _VeskResponse & ((body?: unknown, init?: ResponseInit) => VeskResponseInstance);
168
+ export declare function applyRequestSecurity(request: VeskRequest, response: VeskResponseInstance): void;
169
+ export declare function withValidation(request: Request, schema: {
170
+ safeParse: (data: unknown) => {
171
+ success: boolean;
172
+ error?: {
173
+ issues: {
174
+ path: (string | number)[];
175
+ message: string;
176
+ }[];
177
+ };
178
+ data?: unknown;
179
+ };
180
+ }, opts?: {
181
+ jsonOnly?: boolean;
182
+ }): Promise<unknown | Response>;
183
+ export declare function signCookie(name: string, value: string, host?: string): Promise<string>;
184
+ export declare function unsignCookie(name: string, signedValue: string, host?: string): Promise<string | null>;
185
+ export declare function setSignedCookie(name: string, value: string, options?: Record<string, unknown>, host?: string): Promise<string>;
186
+ export declare function readSignedCookie(name: string, cookieString: string, host?: string): Promise<string | null>;
187
+ export {};
188
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}