@basmilius/worker 2.23.0 → 2.24.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.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +1 -1
package/dist/index.js.map
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
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
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: HeadersInit = {}, 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
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
|
|
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
9
|
],
|
|
10
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,EAAuB,CAAC,EAAG,EAAiB,IAAe,CAC1F,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
11
|
"debugId": "5C9CF072E183DD3664756E2164756E21",
|
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": "2.
|
|
4
|
+
"version": "2.24.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"funding": "https://github.com/sponsors/basmilius",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"luxon": "^3.7.2"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@basmilius/tools": "2.
|
|
52
|
-
"@types/bun": "^1.3.
|
|
51
|
+
"@basmilius/tools": "2.24.0",
|
|
52
|
+
"@types/bun": "^1.3.8",
|
|
53
53
|
"@types/cloudflare": "^3.0.0",
|
|
54
54
|
"@types/luxon": "^3.7.1"
|
|
55
55
|
}
|
package/src/index.ts
CHANGED