@basmilius/worker 3.7.0 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +38 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +9 -9
- package/dist/error.d.ts +0 -9
- package/dist/index.d.ts +0 -5
- package/dist/index.js +0 -4
- package/dist/index.js.map +0 -13
- package/dist/request.d.ts +0 -5
- package/dist/response.d.ts +0 -2
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DateTime } from "luxon";
|
|
2
|
+
|
|
3
|
+
//#region src/types.d.ts
|
|
4
|
+
type Worker<TBindings = unknown> = {
|
|
5
|
+
fetch(req: Request, bindings: TBindings): Promise<Response>;
|
|
6
|
+
};
|
|
7
|
+
type Route<TBindings = unknown> = (req: Request, bindings?: TBindings) => Promise<Response>;
|
|
8
|
+
type Routes<TBindings = unknown> = Record<string, Route<TBindings>>;
|
|
9
|
+
type Coords = {
|
|
10
|
+
readonly latitude: number;
|
|
11
|
+
readonly longitude: number;
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/error.d.ts
|
|
15
|
+
declare class MissingParameterError extends Error {
|
|
16
|
+
constructor(param: string);
|
|
17
|
+
}
|
|
18
|
+
declare class InvalidValueError extends Error {
|
|
19
|
+
constructor(param: string);
|
|
20
|
+
}
|
|
21
|
+
declare class NotFoundError extends Error {
|
|
22
|
+
constructor(message: string);
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/request.d.ts
|
|
26
|
+
declare function queryDate(req: Request, name?: string): DateTime;
|
|
27
|
+
declare function queryInteger(req: Request, name: string): number;
|
|
28
|
+
declare function queryPosition(req: Request): Coords;
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/response.d.ts
|
|
31
|
+
declare function error(code: number, error: string, errorDescription: string, status: number): Response;
|
|
32
|
+
declare function json(json: object, headers?: Record<string, string>, status?: number): Response;
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/index.d.ts
|
|
35
|
+
declare const createWorker: <TBindings = unknown>(routes: Routes<TBindings>) => Worker<TBindings>;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { InvalidValueError, MissingParameterError, NotFoundError, createWorker, error, json, queryDate, queryInteger, queryPosition };
|
|
38
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/error.ts","../src/request.ts","../src/response.ts","../src/index.ts"],"mappings":";;;KAAY,MAAA;EACR,KAAA,CAAM,GAAA,EAAK,OAAA,EAAS,QAAA,EAAU,SAAA,GAAY,OAAA,CAAQ,QAAA;AAAA;AAAA,KAG1C,KAAA,yBAA8B,GAAA,EAAK,OAAA,EAAS,QAAA,GAAW,SAAA,KAAc,OAAA,CAAQ,QAAA;AAAA,KAC7E,MAAA,wBAA8B,MAAA,SAAe,KAAA,CAAM,SAAA;AAAA,KAEnD,MAAA;EAAA,SACC,QAAA;EAAA,SACA,SAAA;AAAA;;;cCTA,qBAAA,SAA8B,KAAA;EACvC,WAAA,CAAY,KAAA;AAAA;AAAA,cAKH,iBAAA,SAA0B,KAAA;EACnC,WAAA,CAAY,KAAA;AAAA;AAAA,cAKH,aAAA,SAAsB,KAAA;EAC/B,WAAA,CAAY,OAAA;AAAA;;;iBCTA,SAAA,CAAU,GAAA,EAAK,OAAA,EAAS,IAAA,YAAwB,QAAA;AAAA,iBAgBhD,YAAA,CAAa,GAAA,EAAK,OAAA,EAAS,IAAA;AAAA,iBAgB3B,aAAA,CAAc,GAAA,EAAK,OAAA,GAAU,MAAA;;;iBCpC7B,KAAA,CAAM,IAAA,UAAc,KAAA,UAAe,gBAAA,UAA0B,MAAA,WAAiB,QAAA;AAAA,iBAQ9E,IAAA,CAAK,IAAA,UAAc,OAAA,GAAS,MAAA,kBAA6B,MAAA,YAAuB,QAAA;;;cCanF,YAAA,wBAAqC,MAAA,EAAQ,MAAA,CAAO,SAAA,MAAa,MAAA,CAAO,SAAA"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{DateTime as e}from"luxon";var t=class extends Error{constructor(e){super(`Missing required parameter ${e}.`)}},n=class extends Error{constructor(e){super(`Invalid value for parameter ${e}.`)}},r=class extends Error{constructor(e){super(e)}};function i(e,t,n,r){return a({code:e,error:t,error_description:n},{},r)}function a(e,t={},n=200){let r=new Date,i=new Date(r.getFullYear(),r.getMonth()+1,r.getDate());return t||={},t[`Access-Control-Allow-Origin`]=`*`,t[`Content-Type`]=`application/json`,n===200&&(t[`Cache-Control`]=`public, max-age=2628000, immutable`,t.Date=r.toISOString(),t.Expires=i.toISOString()),new Response(JSON.stringify(e),{headers:t,status:n})}function o(r,i=`date`){let{searchParams:a}=new URL(r.url);if(!a.has(i))throw new t(i);let o=e.fromFormat(a.get(i),`yyyy-MM-dd`);if(!o.isValid)throw new n(i);return o}function s(e,r){let{searchParams:i}=new URL(e.url);if(!i.has(r))throw new t(r);let a=parseInt(i.get(r));if(isNaN(a))throw new n(r);return a}function c(e){let{searchParams:r}=new URL(e.url);if(!r.has(`latitude`)||!r.has(`longitude`))throw new t(`latitude or longitude`);let i=parseFloat(r.get(`latitude`)),a=parseFloat(r.get(`longitude`));if(isNaN(i)||isNaN(a))throw new n(`latitude or longitude`);return{latitude:i,longitude:a}}const l=e=>({async fetch(a,o){let{pathname:s}=new URL(a.url);if(!e[s])return i(404,`not_found`,`The requested endpoint could not be found.`,404);let c=e[s];return c(a,o).catch(e=>e instanceof n?i(406,`invalid_value`,e.message,406):e instanceof t?i(400,`missing_parameter`,e.message,400):e instanceof r?i(404,`not_found`,e.message,404):i(500,`internal_server_error`,`An unexpected error occurred.`,500))}});export{n as InvalidValueError,t as MissingParameterError,r as NotFoundError,l as createWorker,i as error,a as json,o as queryDate,s as queryInteger,c as queryPosition};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/error.ts","../src/response.ts","../src/request.ts","../src/index.ts"],"sourcesContent":["export class MissingParameterError extends Error {\n constructor(param: string) {\n super(`Missing required parameter ${param}.`);\n }\n}\n\nexport class InvalidValueError extends Error {\n constructor(param: string) {\n super(`Invalid value for parameter ${param}.`);\n }\n}\n\nexport class NotFoundError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n","export function error(code: number, error: string, errorDescription: string, status: number): Response {\n return json({\n code,\n error,\n error_description: errorDescription\n }, {}, status);\n}\n\nexport function json(json: object, headers: Record<string, string> = {}, status: number = 200): Response {\n const date = new Date();\n const expires = new Date(date.getFullYear(), date.getMonth() + 1, date.getDate());\n\n headers = headers || {};\n headers['Access-Control-Allow-Origin'] = '*';\n headers['Content-Type'] = 'application/json';\n\n if (status === 200) {\n headers['Cache-Control'] = 'public, max-age=2628000, immutable';\n headers['Date'] = date.toISOString();\n headers['Expires'] = expires.toISOString();\n }\n\n return new Response(JSON.stringify(json), {\n headers,\n status\n });\n}\n","import { DateTime } from 'luxon';\nimport { InvalidValueError, MissingParameterError } from './error';\nimport type { Coords } from './types';\n\nexport function queryDate(req: Request, name: string = 'date'): DateTime {\n const {searchParams} = new URL(req.url);\n\n if (!searchParams.has(name)) {\n throw new MissingParameterError(name);\n }\n\n const date = DateTime.fromFormat(searchParams.get(name)!, 'yyyy-MM-dd');\n\n if (!date.isValid) {\n throw new InvalidValueError(name);\n }\n\n return date;\n}\n\nexport function queryInteger(req: Request, name: string): number {\n const {searchParams} = new URL(req.url);\n\n if (!searchParams.has(name)) {\n throw new MissingParameterError(name);\n }\n\n const value = parseInt(searchParams.get(name)!);\n\n if (isNaN(value)) {\n throw new InvalidValueError(name);\n }\n\n return value;\n}\n\nexport function queryPosition(req: Request): Coords {\n const {searchParams} = new URL(req.url);\n\n if (!searchParams.has('latitude') || !searchParams.has('longitude')) {\n throw new MissingParameterError('latitude or longitude');\n }\n\n const latitude = parseFloat(searchParams.get('latitude')!);\n const longitude = parseFloat(searchParams.get('longitude')!);\n\n if (isNaN(latitude) || isNaN(longitude)) {\n throw new InvalidValueError('latitude or longitude');\n }\n\n return {\n latitude,\n longitude\n };\n}\n","import { InvalidValueError, MissingParameterError, NotFoundError } from './error';\nimport { error } from './response';\nimport type { Routes, Worker } from './types';\n\nexport {\n InvalidValueError,\n MissingParameterError,\n NotFoundError\n} from './error';\n\nexport {\n queryDate,\n queryInteger,\n queryPosition\n} from './request';\n\nexport {\n error,\n json\n} from './response';\n\nexport const createWorker = <TBindings = unknown>(routes: Routes<TBindings>): Worker<TBindings> => ({\n async fetch(req: Request, bindings: TBindings): Promise<Response> {\n const {pathname} = new URL(req.url);\n\n if (!routes[pathname]) {\n return error(404, 'not_found', 'The requested endpoint could not be found.', 404);\n }\n\n const route = routes[pathname];\n\n return route(req, bindings).catch(err => {\n if (err instanceof InvalidValueError) {\n return error(406, 'invalid_value', err.message, 406);\n }\n\n if (err instanceof MissingParameterError) {\n return error(400, 'missing_parameter', err.message, 400);\n }\n\n if (err instanceof NotFoundError) {\n return error(404, 'not_found', err.message, 404);\n }\n\n return error(500, 'internal_server_error', 'An unexpected error occurred.', 500);\n });\n }\n});\n"],"mappings":"iCAAA,IAAa,EAAb,cAA2C,KAAM,CAC7C,YAAY,EAAe,CACvB,MAAM,8BAA8B,EAAM,GAAG,GAIxC,EAAb,cAAuC,KAAM,CACzC,YAAY,EAAe,CACvB,MAAM,+BAA+B,EAAM,GAAG,GAIzC,EAAb,cAAmC,KAAM,CACrC,YAAY,EAAiB,CACzB,MAAM,EAAQ,GCdtB,SAAgB,EAAM,EAAc,EAAe,EAA0B,EAA0B,CACnG,OAAO,EAAK,CACR,OACA,QACA,kBAAmB,EACtB,CAAE,EAAE,CAAE,EAAO,CAGlB,SAAgB,EAAK,EAAc,EAAkC,EAAE,CAAE,EAAiB,IAAe,CACrG,IAAM,EAAO,IAAI,KACX,EAAU,IAAI,KAAK,EAAK,aAAa,CAAE,EAAK,UAAU,CAAG,EAAG,EAAK,SAAS,CAAC,CAYjF,MAVA,KAAqB,EAAE,CACvB,EAAQ,+BAAiC,IACzC,EAAQ,gBAAkB,mBAEtB,IAAW,MACX,EAAQ,iBAAmB,qCAC3B,EAAQ,KAAU,EAAK,aAAa,CACpC,EAAQ,QAAa,EAAQ,aAAa,EAGvC,IAAI,SAAS,KAAK,UAAU,EAAK,CAAE,CACtC,UACA,SACH,CAAC,CCrBN,SAAgB,EAAU,EAAc,EAAe,OAAkB,CACrE,GAAM,CAAC,gBAAgB,IAAI,IAAI,EAAI,IAAI,CAEvC,GAAI,CAAC,EAAa,IAAI,EAAK,CACvB,MAAM,IAAI,EAAsB,EAAK,CAGzC,IAAM,EAAO,EAAS,WAAW,EAAa,IAAI,EAAK,CAAG,aAAa,CAEvE,GAAI,CAAC,EAAK,QACN,MAAM,IAAI,EAAkB,EAAK,CAGrC,OAAO,EAGX,SAAgB,EAAa,EAAc,EAAsB,CAC7D,GAAM,CAAC,gBAAgB,IAAI,IAAI,EAAI,IAAI,CAEvC,GAAI,CAAC,EAAa,IAAI,EAAK,CACvB,MAAM,IAAI,EAAsB,EAAK,CAGzC,IAAM,EAAQ,SAAS,EAAa,IAAI,EAAK,CAAE,CAE/C,GAAI,MAAM,EAAM,CACZ,MAAM,IAAI,EAAkB,EAAK,CAGrC,OAAO,EAGX,SAAgB,EAAc,EAAsB,CAChD,GAAM,CAAC,gBAAgB,IAAI,IAAI,EAAI,IAAI,CAEvC,GAAI,CAAC,EAAa,IAAI,WAAW,EAAI,CAAC,EAAa,IAAI,YAAY,CAC/D,MAAM,IAAI,EAAsB,wBAAwB,CAG5D,IAAM,EAAW,WAAW,EAAa,IAAI,WAAW,CAAE,CACpD,EAAY,WAAW,EAAa,IAAI,YAAY,CAAE,CAE5D,GAAI,MAAM,EAAS,EAAI,MAAM,EAAU,CACnC,MAAM,IAAI,EAAkB,wBAAwB,CAGxD,MAAO,CACH,WACA,YACH,CChCL,MAAa,EAAqC,IAAkD,CAChG,MAAM,MAAM,EAAc,EAAwC,CAC9D,GAAM,CAAC,YAAY,IAAI,IAAI,EAAI,IAAI,CAEnC,GAAI,CAAC,EAAO,GACR,OAAO,EAAM,IAAK,YAAa,6CAA8C,IAAI,CAGrF,IAAM,EAAQ,EAAO,GAErB,OAAO,EAAM,EAAK,EAAS,CAAC,MAAM,GAC1B,aAAe,EACR,EAAM,IAAK,gBAAiB,EAAI,QAAS,IAAI,CAGpD,aAAe,EACR,EAAM,IAAK,oBAAqB,EAAI,QAAS,IAAI,CAGxD,aAAe,EACR,EAAM,IAAK,YAAa,EAAI,QAAS,IAAI,CAG7C,EAAM,IAAK,wBAAyB,gCAAiC,IAAI,CAClF,EAET"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@basmilius/worker",
|
|
3
3
|
"description": "Various utilities that are used in workers.",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.8.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"funding": "https://github.com/sponsors/basmilius",
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
"provenance": true
|
|
32
32
|
},
|
|
33
33
|
"scripts": {
|
|
34
|
-
"build": "tsgo --noEmit &&
|
|
34
|
+
"build": "tsgo --noEmit && tsdown"
|
|
35
35
|
},
|
|
36
|
-
"main": "./dist/index.
|
|
37
|
-
"types": "./dist/index.d.
|
|
38
|
-
"typings": "./dist/index.d.
|
|
36
|
+
"main": "./dist/index.mjs",
|
|
37
|
+
"types": "./dist/index.d.mts",
|
|
38
|
+
"typings": "./dist/index.d.mts",
|
|
39
39
|
"exports": {
|
|
40
40
|
".": {
|
|
41
|
-
"types": "./dist/index.d.
|
|
42
|
-
"default": "./dist/index.
|
|
41
|
+
"types": "./dist/index.d.mts",
|
|
42
|
+
"default": "./dist/index.mjs"
|
|
43
43
|
},
|
|
44
44
|
"./*": "./*"
|
|
45
45
|
},
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"luxon": "^3.7.2"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@basmilius/tools": "3.7.0",
|
|
51
50
|
"@types/bun": "^1.3.9",
|
|
52
51
|
"@types/cloudflare": "^3.0.0",
|
|
53
|
-
"@types/luxon": "^3.7.1"
|
|
52
|
+
"@types/luxon": "^3.7.1",
|
|
53
|
+
"tsdown": "^0.21.0-beta.2"
|
|
54
54
|
}
|
|
55
55
|
}
|
package/dist/error.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare class MissingParameterError extends Error {
|
|
2
|
-
constructor(param: string);
|
|
3
|
-
}
|
|
4
|
-
export declare class InvalidValueError extends Error {
|
|
5
|
-
constructor(param: string);
|
|
6
|
-
}
|
|
7
|
-
export declare class NotFoundError extends Error {
|
|
8
|
-
constructor(message: string);
|
|
9
|
-
}
|
package/dist/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Routes, Worker } from "./types";
|
|
2
|
-
export { InvalidValueError, MissingParameterError, NotFoundError } from "./error";
|
|
3
|
-
export { queryDate, queryInteger, queryPosition } from "./request";
|
|
4
|
-
export { error, json } from "./response";
|
|
5
|
-
export declare const createWorker: <TBindings = unknown>(routes: Routes<TBindings>) => Worker<TBindings>;
|
package/dist/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
class n extends Error{constructor(e){super(`Missing required parameter ${e}.`)}}class s extends Error{constructor(e){super(`Invalid value for parameter ${e}.`)}}class u extends Error{constructor(e){super(e)}}function i(e,r,o,t){return p({code:e,error:r,error_description:o},{},t)}function p(e,r={},o=200){let t=new Date,c=new Date(t.getFullYear(),t.getMonth()+1,t.getDate());if(r=r||{},r["Access-Control-Allow-Origin"]="*",r["Content-Type"]="application/json",o===200)r["Cache-Control"]="public, max-age=2628000, immutable",r.Date=t.toISOString(),r.Expires=c.toISOString();return new Response(JSON.stringify(e),{headers:r,status:o})}import{DateTime as l}from"luxon";function g(e,r="date"){let{searchParams:o}=new URL(e.url);if(!o.has(r))throw new n(r);let t=l.fromFormat(o.get(r),"yyyy-MM-dd");if(!t.isValid)throw new s(r);return t}function d(e,r){let{searchParams:o}=new URL(e.url);if(!o.has(r))throw new n(r);let t=parseInt(o.get(r));if(isNaN(t))throw new s(r);return t}function m(e){let{searchParams:r}=new URL(e.url);if(!r.has("latitude")||!r.has("longitude"))throw new n("latitude or longitude");let o=parseFloat(r.get("latitude")),t=parseFloat(r.get("longitude"));if(isNaN(o)||isNaN(t))throw new s("latitude or longitude");return{latitude:o,longitude:t}}var q=(e)=>({async fetch(r,o){let{pathname:t}=new URL(r.url);if(!e[t])return i(404,"not_found","The requested endpoint could not be found.",404);let c=e[t];return c(r,o).catch((a)=>{if(a instanceof s)return i(406,"invalid_value",a.message,406);if(a instanceof n)return i(400,"missing_parameter",a.message,400);if(a instanceof u)return i(404,"not_found",a.message,404);return i(500,"internal_server_error","An unexpected error occurred.",500)})}});export{m as queryPosition,d as queryInteger,g as queryDate,p as json,i as error,q as createWorker,u as NotFoundError,n as MissingParameterError,s as InvalidValueError};
|
|
2
|
-
|
|
3
|
-
//# debugId=5C9CF072E183DD3664756E2164756E21
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/error.ts", "../src/response.ts", "../src/request.ts", "../src/index.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"export class MissingParameterError extends Error {\n constructor(param: string) {\n super(`Missing required parameter ${param}.`);\n }\n}\n\nexport class InvalidValueError extends Error {\n constructor(param: string) {\n super(`Invalid value for parameter ${param}.`);\n }\n}\n\nexport class NotFoundError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n",
|
|
6
|
-
"export function error(code: number, error: string, errorDescription: string, status: number): Response {\n return json({\n code,\n error,\n error_description: errorDescription\n }, {}, status);\n}\n\nexport function json(json: object, headers: Record<string, string> = {}, status: number = 200): Response {\n const date = new Date();\n const expires = new Date(date.getFullYear(), date.getMonth() + 1, date.getDate());\n\n headers = headers || {};\n headers['Access-Control-Allow-Origin'] = '*';\n headers['Content-Type'] = 'application/json';\n\n if (status === 200) {\n headers['Cache-Control'] = 'public, max-age=2628000, immutable';\n headers['Date'] = date.toISOString();\n headers['Expires'] = expires.toISOString();\n }\n\n return new Response(JSON.stringify(json), {\n headers,\n status\n });\n}\n",
|
|
7
|
-
"import { DateTime } from 'luxon';\nimport { InvalidValueError, MissingParameterError } from './error';\nimport type { Coords } from './types';\n\nexport function queryDate(req: Request, name: string = 'date'): DateTime {\n const {searchParams} = new URL(req.url);\n\n if (!searchParams.has(name)) {\n throw new MissingParameterError(name);\n }\n\n const date = DateTime.fromFormat(searchParams.get(name)!, 'yyyy-MM-dd');\n\n if (!date.isValid) {\n throw new InvalidValueError(name);\n }\n\n return date;\n}\n\nexport function queryInteger(req: Request, name: string): number {\n const {searchParams} = new URL(req.url);\n\n if (!searchParams.has(name)) {\n throw new MissingParameterError(name);\n }\n\n const value = parseInt(searchParams.get(name)!);\n\n if (isNaN(value)) {\n throw new InvalidValueError(name);\n }\n\n return value;\n}\n\nexport function queryPosition(req: Request): Coords {\n const {searchParams} = new URL(req.url);\n\n if (!searchParams.has('latitude') || !searchParams.has('longitude')) {\n throw new MissingParameterError('latitude or longitude');\n }\n\n const latitude = parseFloat(searchParams.get('latitude')!);\n const longitude = parseFloat(searchParams.get('longitude')!);\n\n if (isNaN(latitude) || isNaN(longitude)) {\n throw new InvalidValueError('latitude or longitude');\n }\n\n return {\n latitude,\n longitude\n };\n}\n",
|
|
8
|
-
"import { InvalidValueError, MissingParameterError, NotFoundError } from './error';\nimport { error } from './response';\nimport type { Routes, Worker } from './types';\n\nexport {\n InvalidValueError,\n MissingParameterError,\n NotFoundError\n} from './error';\n\nexport {\n queryDate,\n queryInteger,\n queryPosition\n} from './request';\n\nexport {\n error,\n json\n} from './response';\n\nexport const createWorker = <TBindings = unknown>(routes: Routes<TBindings>): Worker<TBindings> => ({\n async fetch(req: Request, bindings: TBindings): Promise<Response> {\n const {pathname} = new URL(req.url);\n\n if (!routes[pathname]) {\n return error(404, 'not_found', 'The requested endpoint could not be found.', 404);\n }\n\n const route = routes[pathname];\n\n return route(req, bindings).catch(err => {\n if (err instanceof InvalidValueError) {\n return error(406, 'invalid_value', err.message, 406);\n }\n\n if (err instanceof MissingParameterError) {\n return error(400, 'missing_parameter', err.message, 400);\n }\n\n if (err instanceof NotFoundError) {\n return error(404, 'not_found', err.message, 404);\n }\n\n return error(500, 'internal_server_error', 'An unexpected error occurred.', 500);\n });\n }\n});\n"
|
|
9
|
-
],
|
|
10
|
-
"mappings": "AAAO,MAAM,UAA8B,KAAM,CAC7C,WAAW,CAAC,EAAe,CACvB,MAAM,8BAA8B,IAAQ,EAEpD,CAEO,MAAM,UAA0B,KAAM,CACzC,WAAW,CAAC,EAAe,CACvB,MAAM,+BAA+B,IAAQ,EAErD,CAEO,MAAM,UAAsB,KAAM,CACrC,WAAW,CAAC,EAAiB,CACzB,MAAM,CAAO,EAErB,CChBO,SAAS,CAAK,CAAC,EAAc,EAAe,EAA0B,EAA0B,CACnG,OAAO,EAAK,CACR,OACA,QACA,kBAAmB,CACvB,EAAG,CAAC,EAAG,CAAM,EAGV,SAAS,CAAI,CAAC,EAAc,EAAkC,CAAC,EAAG,EAAiB,IAAe,CACrG,IAAM,EAAO,IAAI,KACX,EAAU,IAAI,KAAK,EAAK,YAAY,EAAG,EAAK,SAAS,EAAI,EAAG,EAAK,QAAQ,CAAC,EAMhF,GAJA,EAAU,GAAW,CAAC,EACtB,EAAQ,+BAAiC,IACzC,EAAQ,gBAAkB,mBAEtB,IAAW,IACX,EAAQ,iBAAmB,qCAC3B,EAAQ,KAAU,EAAK,YAAY,EACnC,EAAQ,QAAa,EAAQ,YAAY,EAG7C,OAAO,IAAI,SAAS,KAAK,UAAU,CAAI,EAAG,CACtC,UACA,QACJ,CAAC,ECzBL,mBAAS,cAIF,SAAS,CAAS,CAAC,EAAc,EAAe,OAAkB,CACrE,IAAO,gBAAgB,IAAI,IAAI,EAAI,GAAG,EAEtC,GAAI,CAAC,EAAa,IAAI,CAAI,EACtB,MAAM,IAAI,EAAsB,CAAI,EAGxC,IAAM,EAAO,EAAS,WAAW,EAAa,IAAI,CAAI,EAAI,YAAY,EAEtE,GAAI,CAAC,EAAK,QACN,MAAM,IAAI,EAAkB,CAAI,EAGpC,OAAO,EAGJ,SAAS,CAAY,CAAC,EAAc,EAAsB,CAC7D,IAAO,gBAAgB,IAAI,IAAI,EAAI,GAAG,EAEtC,GAAI,CAAC,EAAa,IAAI,CAAI,EACtB,MAAM,IAAI,EAAsB,CAAI,EAGxC,IAAM,EAAQ,SAAS,EAAa,IAAI,CAAI,CAAE,EAE9C,GAAI,MAAM,CAAK,EACX,MAAM,IAAI,EAAkB,CAAI,EAGpC,OAAO,EAGJ,SAAS,CAAa,CAAC,EAAsB,CAChD,IAAO,gBAAgB,IAAI,IAAI,EAAI,GAAG,EAEtC,GAAI,CAAC,EAAa,IAAI,UAAU,GAAK,CAAC,EAAa,IAAI,WAAW,EAC9D,MAAM,IAAI,EAAsB,uBAAuB,EAG3D,IAAM,EAAW,WAAW,EAAa,IAAI,UAAU,CAAE,EACnD,EAAY,WAAW,EAAa,IAAI,WAAW,CAAE,EAE3D,GAAI,MAAM,CAAQ,GAAK,MAAM,CAAS,EAClC,MAAM,IAAI,EAAkB,uBAAuB,EAGvD,MAAO,CACH,WACA,WACJ,EChCG,IAAM,EAAe,CAAsB,KAAkD,MAC1F,MAAK,CAAC,EAAc,EAAwC,CAC9D,IAAO,YAAY,IAAI,IAAI,EAAI,GAAG,EAElC,GAAI,CAAC,EAAO,GACR,OAAO,EAAM,IAAK,YAAa,6CAA8C,GAAG,EAGpF,IAAM,EAAQ,EAAO,GAErB,OAAO,EAAM,EAAK,CAAQ,EAAE,MAAM,KAAO,CACrC,GAAI,aAAe,EACf,OAAO,EAAM,IAAK,gBAAiB,EAAI,QAAS,GAAG,EAGvD,GAAI,aAAe,EACf,OAAO,EAAM,IAAK,oBAAqB,EAAI,QAAS,GAAG,EAG3D,GAAI,aAAe,EACf,OAAO,EAAM,IAAK,YAAa,EAAI,QAAS,GAAG,EAGnD,OAAO,EAAM,IAAK,wBAAyB,gCAAiC,GAAG,EAClF,EAET",
|
|
11
|
-
"debugId": "5C9CF072E183DD3664756E2164756E21",
|
|
12
|
-
"names": []
|
|
13
|
-
}
|
package/dist/request.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { DateTime } from "luxon";
|
|
2
|
-
import type { Coords } from "./types";
|
|
3
|
-
export declare function queryDate(req: Request, name?: string): DateTime;
|
|
4
|
-
export declare function queryInteger(req: Request, name: string): number;
|
|
5
|
-
export declare function queryPosition(req: Request): Coords;
|
package/dist/response.d.ts
DELETED