@fluixi/api 0.0.0-stage → 0.1.0-alpha.3
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/LICENSE +21 -0
- package/README.md +37 -2
- package/dist/client.cjs +103 -0
- package/dist/client.d.ts +95 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +87 -0
- package/dist/client.mjs +82 -0
- package/dist/errors.cjs +63 -0
- package/dist/errors.d.ts +47 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +55 -0
- package/dist/errors.mjs +42 -0
- package/dist/index.cjs +667 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.mjs +5442 -0
- package/dist/input.cjs +91 -0
- package/dist/input.d.ts +15 -0
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +73 -0
- package/dist/input.mjs +68 -0
- package/dist/middleware.cjs +41 -0
- package/dist/middleware.d.ts +9 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +19 -0
- package/dist/middleware.mjs +20 -0
- package/dist/openapi.cjs +282 -0
- package/dist/openapi.d.ts +60 -0
- package/dist/openapi.d.ts.map +1 -0
- package/dist/openapi.js +312 -0
- package/dist/openapi.mjs +259 -0
- package/dist/rate-limit.cjs +158 -0
- package/dist/rate-limit.d.ts +69 -0
- package/dist/rate-limit.d.ts.map +1 -0
- package/dist/rate-limit.js +121 -0
- package/dist/rate-limit.mjs +4935 -0
- package/dist/route.cjs +192 -0
- package/dist/route.d.ts +97 -0
- package/dist/route.d.ts.map +1 -0
- package/dist/route.js +98 -0
- package/dist/route.mjs +169 -0
- package/dist/security.cjs +222 -0
- package/dist/security.d.ts +64 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +135 -0
- package/dist/security.mjs +4997 -0
- package/dist/standard-schema.cjs +18 -0
- package/dist/standard-schema.d.ts +39 -0
- package/dist/standard-schema.d.ts.map +1 -0
- package/dist/standard-schema.js +6 -0
- package/dist/standard-schema.mjs +0 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/package.json +54 -3
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@fluixi/api`: schema-first API routes on top of `@fluixi/start`'s file-based API routes.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* // src/api/v1/projects/[id].ts
|
|
7
|
+
* import { route, notFound } from '@fluixi/api';
|
|
8
|
+
* import { z } from 'zod';
|
|
9
|
+
*
|
|
10
|
+
* export const GET = route({
|
|
11
|
+
* params: z.object({ id: z.string().uuid() }),
|
|
12
|
+
* response: z.object({ id: z.string(), name: z.string() }),
|
|
13
|
+
* async handler({ params }) {
|
|
14
|
+
* const project = await projects.find(params.id);
|
|
15
|
+
* if (!project) throw notFound();
|
|
16
|
+
* return project;
|
|
17
|
+
* },
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export { route, contractOf, setErrorReporter, CONTRACT, REVALIDATE_HEADER } from './route.js';
|
|
22
|
+
export type { Guard, RouteContract, RouteHandler, RouteInput } from './route.js';
|
|
23
|
+
export { ApiError, badRequest, unauthorized, forbidden, notFound, conflict, errorResponse, toApiError } from './errors.js';
|
|
24
|
+
export type { ApiErrorBody, ValidationIssue } from './errors.js';
|
|
25
|
+
export { readJson, readQuery, DEFAULT_BODY_LIMIT } from './input.js';
|
|
26
|
+
export { createOpenApiDocument, openApiRoute, describedBy, includeDocument, setJsonSchemaConverter } from './openapi.js';
|
|
27
|
+
export type { OpenApiInfo, DescribedRoute, JsonSchemaConverter } from './openapi.js';
|
|
28
|
+
export { apiSecurity, securityHeaders, cors, originCheck, DEFAULT_SECURITY_HEADERS } from './security.js';
|
|
29
|
+
export type { ApiSecurityOptions, CorsOptions, Origins, SecurityHeadersOptions } from './security.js';
|
|
30
|
+
export { rateLimit, memoryRateLimitStore, postgresRateLimitStore } from './rate-limit.js';
|
|
31
|
+
export type { RateLimitOptions, RateLimitStore, PostgresRateLimitOptions, SqlClient } from './rate-limit.js';
|
|
32
|
+
export type { Middleware } from './middleware.js';
|
|
33
|
+
export type { StandardSchemaV1 } from './standard-schema.js';
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9F,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3H,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACzH,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAErF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC1G,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7G,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@fluixi/api`: schema-first API routes on top of `@fluixi/start`'s file-based API routes.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* // src/api/v1/projects/[id].ts
|
|
7
|
+
* import { route, notFound } from '@fluixi/api';
|
|
8
|
+
* import { z } from 'zod';
|
|
9
|
+
*
|
|
10
|
+
* export const GET = route({
|
|
11
|
+
* params: z.object({ id: z.string().uuid() }),
|
|
12
|
+
* response: z.object({ id: z.string(), name: z.string() }),
|
|
13
|
+
* async handler({ params }) {
|
|
14
|
+
* const project = await projects.find(params.id);
|
|
15
|
+
* if (!project) throw notFound();
|
|
16
|
+
* return project;
|
|
17
|
+
* },
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export { route, contractOf, setErrorReporter, CONTRACT, REVALIDATE_HEADER } from './route.js';
|
|
22
|
+
export { ApiError, badRequest, unauthorized, forbidden, notFound, conflict, errorResponse, toApiError } from './errors.js';
|
|
23
|
+
export { readJson, readQuery, DEFAULT_BODY_LIMIT } from './input.js';
|
|
24
|
+
export { createOpenApiDocument, openApiRoute, describedBy, includeDocument, setJsonSchemaConverter } from './openapi.js';
|
|
25
|
+
export { apiSecurity, securityHeaders, cors, originCheck, DEFAULT_SECURITY_HEADERS } from './security.js';
|
|
26
|
+
export { rateLimit, memoryRateLimitStore, postgresRateLimitStore } from './rate-limit.js';
|