@easydocs/elysia 0.2.0 → 0.5.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.cjs CHANGED
@@ -26,6 +26,7 @@ module.exports = __toCommonJS(index_exports);
26
26
  var import_core = require("@easydocs/core");
27
27
  var import_elysia = require("elysia");
28
28
  function easydocs(config) {
29
+ const parsedConfig = (0, import_core.parseConfig)(config);
29
30
  return new import_elysia.Elysia({ name: "@easydocs/elysia" }).onAfterHandle(
30
31
  { as: "global" },
31
32
  async ({ request, response, set, path, params, query, body }) => {
@@ -40,19 +41,18 @@ function easydocs(config) {
40
41
  }
41
42
  const status = response instanceof Response ? response.status : set.status ?? 200;
42
43
  (0, import_core.capture)(
43
- {
44
+ (0, import_core.buildCaptureEvent)({
44
45
  method: request.method,
45
46
  path,
46
47
  query,
47
48
  params,
48
- body,
49
- response: responseBody,
49
+ requestBody: body,
50
+ responseBody,
50
51
  status,
51
52
  requestHeaders: Object.fromEntries(request.headers.entries()),
52
- responseHeaders: response instanceof Response ? Object.fromEntries(response.headers.entries()) : set.headers ?? {},
53
- durationMs: 0
54
- },
55
- config
53
+ responseHeaders: response instanceof Response ? Object.fromEntries(response.headers.entries()) : set.headers ?? {}
54
+ }),
55
+ parsedConfig
56
56
  );
57
57
  }
58
58
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { capture } from '@easydocs/core'\nimport type { EasyDocsConfig, HttpMethod } from '@easydocs/core'\nimport { Elysia } from 'elysia'\n\nexport function easydocs(config?: EasyDocsConfig) {\n return new Elysia({ name: '@easydocs/elysia' }).onAfterHandle(\n { as: 'global' },\n async ({ request, response, set, path, params, query, body }) => {\n let responseBody: unknown = null\n if (response instanceof Response) {\n try {\n responseBody = await response.clone().json()\n } catch {\n // non-JSON\n }\n } else {\n responseBody = response\n }\n\n const status =\n response instanceof Response ? response.status : (set.status as number | undefined) ?? 200\n\n capture(\n {\n method: request.method as HttpMethod,\n path,\n query: query as Record<string, string>,\n params: params as Record<string, string>,\n body,\n response: responseBody,\n status,\n requestHeaders: Object.fromEntries(request.headers.entries()),\n responseHeaders:\n response instanceof Response\n ? Object.fromEntries(response.headers.entries())\n : (set.headers as Record<string, string>) ?? {},\n durationMs: 0,\n },\n config\n )\n }\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;AAExB,oBAAuB;AAEhB,SAAS,SAAS,QAAyB;AAChD,SAAO,IAAI,qBAAO,EAAE,MAAM,mBAAmB,CAAC,EAAE;AAAA,IAC9C,EAAE,IAAI,SAAS;AAAA,IACf,OAAO,EAAE,SAAS,UAAU,KAAK,MAAM,QAAQ,OAAO,KAAK,MAAM;AAC/D,UAAI,eAAwB;AAC5B,UAAI,oBAAoB,UAAU;AAChC,YAAI;AACF,yBAAe,MAAM,SAAS,MAAM,EAAE,KAAK;AAAA,QAC7C,QAAQ;AAAA,QAER;AAAA,MACF,OAAO;AACL,uBAAe;AAAA,MACjB;AAEA,YAAM,SACJ,oBAAoB,WAAW,SAAS,SAAU,IAAI,UAAiC;AAEzF;AAAA,QACE;AAAA,UACE,QAAQ,QAAQ;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,OAAO,YAAY,QAAQ,QAAQ,QAAQ,CAAC;AAAA,UAC5D,iBACE,oBAAoB,WAChB,OAAO,YAAY,SAAS,QAAQ,QAAQ,CAAC,IAC5C,IAAI,WAAsC,CAAC;AAAA,UAClD,YAAY;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { capture, parseConfig, buildCaptureEvent } from '@easydocs/core'\nimport type { EasyDocsConfig } from '@easydocs/core'\nimport { Elysia } from 'elysia'\n\nexport function easydocs(config?: EasyDocsConfig) {\n const parsedConfig = parseConfig(config)\n return new Elysia({ name: '@easydocs/elysia' }).onAfterHandle(\n { as: 'global' },\n async ({ request, response, set, path, params, query, body }) => {\n let responseBody: unknown = null\n if (response instanceof Response) {\n try {\n responseBody = await response.clone().json()\n } catch {\n // non-JSON\n }\n } else {\n responseBody = response\n }\n\n const status =\n response instanceof Response ? response.status : (set.status as number | undefined) ?? 200\n\n capture(\n buildCaptureEvent({\n method: request.method,\n path,\n query: query as Record<string, unknown>,\n params: params as Record<string, unknown>,\n requestBody: body,\n responseBody,\n status,\n requestHeaders: Object.fromEntries(request.headers.entries()),\n responseHeaders:\n response instanceof Response\n ? Object.fromEntries(response.headers.entries())\n : (set.headers as Record<string, unknown>) ?? {},\n }),\n parsedConfig\n )\n }\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwD;AAExD,oBAAuB;AAEhB,SAAS,SAAS,QAAyB;AAChD,QAAM,mBAAe,yBAAY,MAAM;AACvC,SAAO,IAAI,qBAAO,EAAE,MAAM,mBAAmB,CAAC,EAAE;AAAA,IAC9C,EAAE,IAAI,SAAS;AAAA,IACf,OAAO,EAAE,SAAS,UAAU,KAAK,MAAM,QAAQ,OAAO,KAAK,MAAM;AAC/D,UAAI,eAAwB;AAC5B,UAAI,oBAAoB,UAAU;AAChC,YAAI;AACF,yBAAe,MAAM,SAAS,MAAM,EAAE,KAAK;AAAA,QAC7C,QAAQ;AAAA,QAER;AAAA,MACF,OAAO;AACL,uBAAe;AAAA,MACjB;AAEA,YAAM,SACJ,oBAAoB,WAAW,SAAS,SAAU,IAAI,UAAiC;AAEzF;AAAA,YACE,+BAAkB;AAAA,UAChB,QAAQ,QAAQ;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA,aAAa;AAAA,UACb;AAAA,UACA;AAAA,UACA,gBAAgB,OAAO,YAAY,QAAQ,QAAQ,QAAQ,CAAC;AAAA,UAC5D,iBACE,oBAAoB,WAChB,OAAO,YAAY,SAAS,QAAQ,QAAQ,CAAC,IAC5C,IAAI,WAAuC,CAAC;AAAA,QACrD,CAAC;AAAA,QACD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  // src/index.ts
2
- import { capture } from "@easydocs/core";
2
+ import { capture, parseConfig, buildCaptureEvent } from "@easydocs/core";
3
3
  import { Elysia } from "elysia";
4
4
  function easydocs(config) {
5
+ const parsedConfig = parseConfig(config);
5
6
  return new Elysia({ name: "@easydocs/elysia" }).onAfterHandle(
6
7
  { as: "global" },
7
8
  async ({ request, response, set, path, params, query, body }) => {
@@ -16,19 +17,18 @@ function easydocs(config) {
16
17
  }
17
18
  const status = response instanceof Response ? response.status : set.status ?? 200;
18
19
  capture(
19
- {
20
+ buildCaptureEvent({
20
21
  method: request.method,
21
22
  path,
22
23
  query,
23
24
  params,
24
- body,
25
- response: responseBody,
25
+ requestBody: body,
26
+ responseBody,
26
27
  status,
27
28
  requestHeaders: Object.fromEntries(request.headers.entries()),
28
- responseHeaders: response instanceof Response ? Object.fromEntries(response.headers.entries()) : set.headers ?? {},
29
- durationMs: 0
30
- },
31
- config
29
+ responseHeaders: response instanceof Response ? Object.fromEntries(response.headers.entries()) : set.headers ?? {}
30
+ }),
31
+ parsedConfig
32
32
  );
33
33
  }
34
34
  );
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { capture } from '@easydocs/core'\nimport type { EasyDocsConfig, HttpMethod } from '@easydocs/core'\nimport { Elysia } from 'elysia'\n\nexport function easydocs(config?: EasyDocsConfig) {\n return new Elysia({ name: '@easydocs/elysia' }).onAfterHandle(\n { as: 'global' },\n async ({ request, response, set, path, params, query, body }) => {\n let responseBody: unknown = null\n if (response instanceof Response) {\n try {\n responseBody = await response.clone().json()\n } catch {\n // non-JSON\n }\n } else {\n responseBody = response\n }\n\n const status =\n response instanceof Response ? response.status : (set.status as number | undefined) ?? 200\n\n capture(\n {\n method: request.method as HttpMethod,\n path,\n query: query as Record<string, string>,\n params: params as Record<string, string>,\n body,\n response: responseBody,\n status,\n requestHeaders: Object.fromEntries(request.headers.entries()),\n responseHeaders:\n response instanceof Response\n ? Object.fromEntries(response.headers.entries())\n : (set.headers as Record<string, string>) ?? {},\n durationMs: 0,\n },\n config\n )\n }\n )\n}\n"],"mappings":";AAAA,SAAS,eAAe;AAExB,SAAS,cAAc;AAEhB,SAAS,SAAS,QAAyB;AAChD,SAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC,EAAE;AAAA,IAC9C,EAAE,IAAI,SAAS;AAAA,IACf,OAAO,EAAE,SAAS,UAAU,KAAK,MAAM,QAAQ,OAAO,KAAK,MAAM;AAC/D,UAAI,eAAwB;AAC5B,UAAI,oBAAoB,UAAU;AAChC,YAAI;AACF,yBAAe,MAAM,SAAS,MAAM,EAAE,KAAK;AAAA,QAC7C,QAAQ;AAAA,QAER;AAAA,MACF,OAAO;AACL,uBAAe;AAAA,MACjB;AAEA,YAAM,SACJ,oBAAoB,WAAW,SAAS,SAAU,IAAI,UAAiC;AAEzF;AAAA,QACE;AAAA,UACE,QAAQ,QAAQ;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV;AAAA,UACA,gBAAgB,OAAO,YAAY,QAAQ,QAAQ,QAAQ,CAAC;AAAA,UAC5D,iBACE,oBAAoB,WAChB,OAAO,YAAY,SAAS,QAAQ,QAAQ,CAAC,IAC5C,IAAI,WAAsC,CAAC;AAAA,UAClD,YAAY;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { capture, parseConfig, buildCaptureEvent } from '@easydocs/core'\nimport type { EasyDocsConfig } from '@easydocs/core'\nimport { Elysia } from 'elysia'\n\nexport function easydocs(config?: EasyDocsConfig) {\n const parsedConfig = parseConfig(config)\n return new Elysia({ name: '@easydocs/elysia' }).onAfterHandle(\n { as: 'global' },\n async ({ request, response, set, path, params, query, body }) => {\n let responseBody: unknown = null\n if (response instanceof Response) {\n try {\n responseBody = await response.clone().json()\n } catch {\n // non-JSON\n }\n } else {\n responseBody = response\n }\n\n const status =\n response instanceof Response ? response.status : (set.status as number | undefined) ?? 200\n\n capture(\n buildCaptureEvent({\n method: request.method,\n path,\n query: query as Record<string, unknown>,\n params: params as Record<string, unknown>,\n requestBody: body,\n responseBody,\n status,\n requestHeaders: Object.fromEntries(request.headers.entries()),\n responseHeaders:\n response instanceof Response\n ? Object.fromEntries(response.headers.entries())\n : (set.headers as Record<string, unknown>) ?? {},\n }),\n parsedConfig\n )\n }\n )\n}\n"],"mappings":";AAAA,SAAS,SAAS,aAAa,yBAAyB;AAExD,SAAS,cAAc;AAEhB,SAAS,SAAS,QAAyB;AAChD,QAAM,eAAe,YAAY,MAAM;AACvC,SAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC,EAAE;AAAA,IAC9C,EAAE,IAAI,SAAS;AAAA,IACf,OAAO,EAAE,SAAS,UAAU,KAAK,MAAM,QAAQ,OAAO,KAAK,MAAM;AAC/D,UAAI,eAAwB;AAC5B,UAAI,oBAAoB,UAAU;AAChC,YAAI;AACF,yBAAe,MAAM,SAAS,MAAM,EAAE,KAAK;AAAA,QAC7C,QAAQ;AAAA,QAER;AAAA,MACF,OAAO;AACL,uBAAe;AAAA,MACjB;AAEA,YAAM,SACJ,oBAAoB,WAAW,SAAS,SAAU,IAAI,UAAiC;AAEzF;AAAA,QACE,kBAAkB;AAAA,UAChB,QAAQ,QAAQ;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA,aAAa;AAAA,UACb;AAAA,UACA;AAAA,UACA,gBAAgB,OAAO,YAAY,QAAQ,QAAQ,QAAQ,CAAC;AAAA,UAC5D,iBACE,oBAAoB,WAChB,OAAO,YAAY,SAAS,QAAQ,QAAQ,CAAC,IAC5C,IAAI,WAAuC,CAAC;AAAA,QACrD,CAAC;AAAA,QACD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easydocs/elysia",
3
- "version": "0.2.0",
3
+ "version": "0.5.0",
4
4
  "files": [
5
5
  "dist",
6
6
  "README.md"
@@ -18,7 +18,7 @@
18
18
  }
19
19
  },
20
20
  "dependencies": {
21
- "@easydocs/core": "0.2.0"
21
+ "@easydocs/core": "0.5.0"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "elysia": ">=1.0.0"
@@ -26,11 +26,14 @@
26
26
  "devDependencies": {
27
27
  "elysia": "^1.2.0",
28
28
  "tsup": "^8.3.0",
29
- "typescript": "^5"
29
+ "typescript": "^5",
30
+ "vitest": "^2.1.9"
30
31
  },
31
32
  "scripts": {
32
33
  "build": "tsup",
33
34
  "dev": "tsup --watch",
34
- "typecheck": "tsc --noEmit"
35
+ "typecheck": "tsc --noEmit",
36
+ "lint": "eslint src/",
37
+ "test": "vitest run"
35
38
  }
36
39
  }