@easydocs/elysia 0.4.2 → 0.5.2

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,8 @@ 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);
30
+ const capturer = (0, import_core.createCapturer)(parsedConfig);
29
31
  return new import_elysia.Elysia({ name: "@easydocs/elysia" }).onAfterHandle(
30
32
  { as: "global" },
31
33
  async ({ request, response, set, path, params, query, body }) => {
@@ -39,20 +41,18 @@ function easydocs(config) {
39
41
  responseBody = response;
40
42
  }
41
43
  const status = response instanceof Response ? response.status : set.status ?? 200;
42
- (0, import_core.capture)(
43
- {
44
+ capturer.capture(
45
+ (0, import_core.buildCaptureEvent)({
44
46
  method: request.method,
45
47
  path,
46
48
  query,
47
49
  params,
48
- body,
49
- response: responseBody,
50
+ requestBody: body,
51
+ responseBody,
50
52
  status,
51
53
  requestHeaders: Object.fromEntries(request.headers.entries()),
52
- responseHeaders: response instanceof Response ? Object.fromEntries(response.headers.entries()) : set.headers ?? {},
53
- durationMs: 0
54
- },
55
- config
54
+ responseHeaders: response instanceof Response ? Object.fromEntries(response.headers.entries()) : set.headers ?? {}
55
+ })
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 { createCapturer, 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 const capturer = createCapturer(parsedConfig)\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 capturer.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 )\n }\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA+D;AAE/D,oBAAuB;AAEhB,SAAS,SAAS,QAAyB;AAChD,QAAM,mBAAe,yBAAY,MAAM;AACvC,QAAM,eAAW,4BAAe,YAAY;AAC5C,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,eAAS;AAAA,YACP,+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,MACH;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
package/dist/index.js CHANGED
@@ -1,7 +1,9 @@
1
1
  // src/index.ts
2
- import { capture } from "@easydocs/core";
2
+ import { createCapturer, parseConfig, buildCaptureEvent } from "@easydocs/core";
3
3
  import { Elysia } from "elysia";
4
4
  function easydocs(config) {
5
+ const parsedConfig = parseConfig(config);
6
+ const capturer = createCapturer(parsedConfig);
5
7
  return new Elysia({ name: "@easydocs/elysia" }).onAfterHandle(
6
8
  { as: "global" },
7
9
  async ({ request, response, set, path, params, query, body }) => {
@@ -15,20 +17,18 @@ function easydocs(config) {
15
17
  responseBody = response;
16
18
  }
17
19
  const status = response instanceof Response ? response.status : set.status ?? 200;
18
- capture(
19
- {
20
+ capturer.capture(
21
+ buildCaptureEvent({
20
22
  method: request.method,
21
23
  path,
22
24
  query,
23
25
  params,
24
- body,
25
- response: responseBody,
26
+ requestBody: body,
27
+ responseBody,
26
28
  status,
27
29
  requestHeaders: Object.fromEntries(request.headers.entries()),
28
- responseHeaders: response instanceof Response ? Object.fromEntries(response.headers.entries()) : set.headers ?? {},
29
- durationMs: 0
30
- },
31
- config
30
+ responseHeaders: response instanceof Response ? Object.fromEntries(response.headers.entries()) : set.headers ?? {}
31
+ })
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 { createCapturer, 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 const capturer = createCapturer(parsedConfig)\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 capturer.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 )\n }\n )\n}\n"],"mappings":";AAAA,SAAS,gBAAgB,aAAa,yBAAyB;AAE/D,SAAS,cAAc;AAEhB,SAAS,SAAS,QAAyB;AAChD,QAAM,eAAe,YAAY,MAAM;AACvC,QAAM,WAAW,eAAe,YAAY;AAC5C,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,eAAS;AAAA,QACP,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,MACH;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easydocs/elysia",
3
- "version": "0.4.2",
3
+ "version": "0.5.2",
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.4.2"
21
+ "@easydocs/core": "0.5.2"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "elysia": ">=1.0.0"
@@ -27,7 +27,13 @@
27
27
  "elysia": "^1.2.0",
28
28
  "tsup": "^8.3.0",
29
29
  "typescript": "^5",
30
- "vitest": "^2.1.9"
30
+ "vite": "8.0.13",
31
+ "vitest": "^4.1.6"
32
+ },
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "https://github.com/RubenGlez/easydocs",
36
+ "directory": ""
31
37
  },
32
38
  "scripts": {
33
39
  "build": "tsup",