@easydocs/hono 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
@@ -25,10 +25,12 @@ __export(index_exports, {
25
25
  module.exports = __toCommonJS(index_exports);
26
26
  var import_core = require("@easydocs/core");
27
27
  function easydocs(config) {
28
+ const parsedConfig = (0, import_core.parseConfig)(config);
29
+ const capturer = (0, import_core.createCapturer)(parsedConfig);
28
30
  return async function easydocsMiddleware(c, next) {
29
31
  const startedAt = Date.now();
30
32
  await next();
31
- let responseBody;
33
+ let responseBody = null;
32
34
  try {
33
35
  responseBody = await c.res.clone().json();
34
36
  } catch {
@@ -41,21 +43,19 @@ function easydocs(config) {
41
43
  requestBody = null;
42
44
  }
43
45
  const url = new URL(c.req.url);
44
- const routePath = c.req.routePath ?? url.pathname;
45
- (0, import_core.capture)(
46
- {
46
+ capturer.capture(
47
+ (0, import_core.buildCaptureEvent)({
47
48
  method: c.req.method,
48
- path: routePath,
49
+ path: c.req.routePath ?? url.pathname,
49
50
  query: Object.fromEntries(url.searchParams.entries()),
50
51
  params: c.req.param(),
51
- body: requestBody,
52
- response: responseBody,
52
+ requestBody,
53
+ responseBody,
53
54
  status: c.res.status,
54
55
  requestHeaders: Object.fromEntries(c.req.raw.headers.entries()),
55
56
  responseHeaders: Object.fromEntries(c.res.headers.entries()),
56
57
  durationMs: Date.now() - startedAt
57
- },
58
- config
58
+ })
59
59
  );
60
60
  };
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { capture } from '@easydocs/core'\nimport type { EasyDocsConfig, HttpMethod } from '@easydocs/core'\nimport type { Context, Next } from 'hono'\n\nexport function easydocs(config?: EasyDocsConfig) {\n return async function easydocsMiddleware(c: Context, next: Next) {\n const startedAt = Date.now()\n await next()\n\n let responseBody: unknown\n try {\n responseBody = await c.res.clone().json()\n } catch {\n responseBody = null\n }\n\n let requestBody: unknown = null\n try {\n requestBody = await c.req.raw.clone().json()\n } catch {\n requestBody = null\n }\n\n const url = new URL(c.req.url)\n const routePath = c.req.routePath ?? url.pathname\n\n capture(\n {\n method: c.req.method as HttpMethod,\n path: routePath,\n query: Object.fromEntries(url.searchParams.entries()),\n params: c.req.param() as Record<string, string>,\n body: requestBody,\n response: responseBody,\n status: c.res.status,\n requestHeaders: Object.fromEntries(c.req.raw.headers.entries()),\n responseHeaders: Object.fromEntries(c.res.headers.entries()),\n durationMs: Date.now() - startedAt,\n },\n config\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwB;AAIjB,SAAS,SAAS,QAAyB;AAChD,SAAO,eAAe,mBAAmB,GAAY,MAAY;AAC/D,UAAM,YAAY,KAAK,IAAI;AAC3B,UAAM,KAAK;AAEX,QAAI;AACJ,QAAI;AACF,qBAAe,MAAM,EAAE,IAAI,MAAM,EAAE,KAAK;AAAA,IAC1C,QAAQ;AACN,qBAAe;AAAA,IACjB;AAEA,QAAI,cAAuB;AAC3B,QAAI;AACF,oBAAc,MAAM,EAAE,IAAI,IAAI,MAAM,EAAE,KAAK;AAAA,IAC7C,QAAQ;AACN,oBAAc;AAAA,IAChB;AAEA,UAAM,MAAM,IAAI,IAAI,EAAE,IAAI,GAAG;AAC7B,UAAM,YAAY,EAAE,IAAI,aAAa,IAAI;AAEzC;AAAA,MACE;AAAA,QACE,QAAQ,EAAE,IAAI;AAAA,QACd,MAAM;AAAA,QACN,OAAO,OAAO,YAAY,IAAI,aAAa,QAAQ,CAAC;AAAA,QACpD,QAAQ,EAAE,IAAI,MAAM;AAAA,QACpB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ,EAAE,IAAI;AAAA,QACd,gBAAgB,OAAO,YAAY,EAAE,IAAI,IAAI,QAAQ,QAAQ,CAAC;AAAA,QAC9D,iBAAiB,OAAO,YAAY,EAAE,IAAI,QAAQ,QAAQ,CAAC;AAAA,QAC3D,YAAY,KAAK,IAAI,IAAI;AAAA,MAC3B;AAAA,MACA;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 type { Context, Next } from 'hono'\n\nexport function easydocs(config?: EasyDocsConfig) {\n const parsedConfig = parseConfig(config)\n const capturer = createCapturer(parsedConfig)\n return async function easydocsMiddleware(c: Context, next: Next) {\n const startedAt = Date.now()\n await next()\n\n let responseBody: unknown = null\n try {\n responseBody = await c.res.clone().json()\n } catch {\n responseBody = null\n }\n\n let requestBody: unknown = null\n try {\n requestBody = await c.req.raw.clone().json()\n } catch {\n requestBody = null\n }\n\n const url = new URL(c.req.url)\n\n capturer.capture(\n buildCaptureEvent({\n method: c.req.method,\n path: c.req.routePath ?? url.pathname,\n query: Object.fromEntries(url.searchParams.entries()),\n params: c.req.param() as Record<string, unknown>,\n requestBody,\n responseBody,\n status: c.res.status,\n requestHeaders: Object.fromEntries(c.req.raw.headers.entries()),\n responseHeaders: Object.fromEntries(c.res.headers.entries()),\n durationMs: Date.now() - startedAt,\n })\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA+D;AAIxD,SAAS,SAAS,QAAyB;AAChD,QAAM,mBAAe,yBAAY,MAAM;AACvC,QAAM,eAAW,4BAAe,YAAY;AAC5C,SAAO,eAAe,mBAAmB,GAAY,MAAY;AAC/D,UAAM,YAAY,KAAK,IAAI;AAC3B,UAAM,KAAK;AAEX,QAAI,eAAwB;AAC5B,QAAI;AACF,qBAAe,MAAM,EAAE,IAAI,MAAM,EAAE,KAAK;AAAA,IAC1C,QAAQ;AACN,qBAAe;AAAA,IACjB;AAEA,QAAI,cAAuB;AAC3B,QAAI;AACF,oBAAc,MAAM,EAAE,IAAI,IAAI,MAAM,EAAE,KAAK;AAAA,IAC7C,QAAQ;AACN,oBAAc;AAAA,IAChB;AAEA,UAAM,MAAM,IAAI,IAAI,EAAE,IAAI,GAAG;AAE7B,aAAS;AAAA,UACP,+BAAkB;AAAA,QAChB,QAAQ,EAAE,IAAI;AAAA,QACd,MAAM,EAAE,IAAI,aAAa,IAAI;AAAA,QAC7B,OAAO,OAAO,YAAY,IAAI,aAAa,QAAQ,CAAC;AAAA,QACpD,QAAQ,EAAE,IAAI,MAAM;AAAA,QACpB;AAAA,QACA;AAAA,QACA,QAAQ,EAAE,IAAI;AAAA,QACd,gBAAgB,OAAO,YAAY,EAAE,IAAI,IAAI,QAAQ,QAAQ,CAAC;AAAA,QAC9D,iBAAiB,OAAO,YAAY,EAAE,IAAI,QAAQ,QAAQ,CAAC;AAAA,QAC3D,YAAY,KAAK,IAAI,IAAI;AAAA,MAC3B,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
package/dist/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  // src/index.ts
2
- import { capture } from "@easydocs/core";
2
+ import { createCapturer, parseConfig, buildCaptureEvent } from "@easydocs/core";
3
3
  function easydocs(config) {
4
+ const parsedConfig = parseConfig(config);
5
+ const capturer = createCapturer(parsedConfig);
4
6
  return async function easydocsMiddleware(c, next) {
5
7
  const startedAt = Date.now();
6
8
  await next();
7
- let responseBody;
9
+ let responseBody = null;
8
10
  try {
9
11
  responseBody = await c.res.clone().json();
10
12
  } catch {
@@ -17,21 +19,19 @@ function easydocs(config) {
17
19
  requestBody = null;
18
20
  }
19
21
  const url = new URL(c.req.url);
20
- const routePath = c.req.routePath ?? url.pathname;
21
- capture(
22
- {
22
+ capturer.capture(
23
+ buildCaptureEvent({
23
24
  method: c.req.method,
24
- path: routePath,
25
+ path: c.req.routePath ?? url.pathname,
25
26
  query: Object.fromEntries(url.searchParams.entries()),
26
27
  params: c.req.param(),
27
- body: requestBody,
28
- response: responseBody,
28
+ requestBody,
29
+ responseBody,
29
30
  status: c.res.status,
30
31
  requestHeaders: Object.fromEntries(c.req.raw.headers.entries()),
31
32
  responseHeaders: Object.fromEntries(c.res.headers.entries()),
32
33
  durationMs: Date.now() - startedAt
33
- },
34
- config
34
+ })
35
35
  );
36
36
  };
37
37
  }
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 type { Context, Next } from 'hono'\n\nexport function easydocs(config?: EasyDocsConfig) {\n return async function easydocsMiddleware(c: Context, next: Next) {\n const startedAt = Date.now()\n await next()\n\n let responseBody: unknown\n try {\n responseBody = await c.res.clone().json()\n } catch {\n responseBody = null\n }\n\n let requestBody: unknown = null\n try {\n requestBody = await c.req.raw.clone().json()\n } catch {\n requestBody = null\n }\n\n const url = new URL(c.req.url)\n const routePath = c.req.routePath ?? url.pathname\n\n capture(\n {\n method: c.req.method as HttpMethod,\n path: routePath,\n query: Object.fromEntries(url.searchParams.entries()),\n params: c.req.param() as Record<string, string>,\n body: requestBody,\n response: responseBody,\n status: c.res.status,\n requestHeaders: Object.fromEntries(c.req.raw.headers.entries()),\n responseHeaders: Object.fromEntries(c.res.headers.entries()),\n durationMs: Date.now() - startedAt,\n },\n config\n )\n }\n}\n"],"mappings":";AAAA,SAAS,eAAe;AAIjB,SAAS,SAAS,QAAyB;AAChD,SAAO,eAAe,mBAAmB,GAAY,MAAY;AAC/D,UAAM,YAAY,KAAK,IAAI;AAC3B,UAAM,KAAK;AAEX,QAAI;AACJ,QAAI;AACF,qBAAe,MAAM,EAAE,IAAI,MAAM,EAAE,KAAK;AAAA,IAC1C,QAAQ;AACN,qBAAe;AAAA,IACjB;AAEA,QAAI,cAAuB;AAC3B,QAAI;AACF,oBAAc,MAAM,EAAE,IAAI,IAAI,MAAM,EAAE,KAAK;AAAA,IAC7C,QAAQ;AACN,oBAAc;AAAA,IAChB;AAEA,UAAM,MAAM,IAAI,IAAI,EAAE,IAAI,GAAG;AAC7B,UAAM,YAAY,EAAE,IAAI,aAAa,IAAI;AAEzC;AAAA,MACE;AAAA,QACE,QAAQ,EAAE,IAAI;AAAA,QACd,MAAM;AAAA,QACN,OAAO,OAAO,YAAY,IAAI,aAAa,QAAQ,CAAC;AAAA,QACpD,QAAQ,EAAE,IAAI,MAAM;AAAA,QACpB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ,EAAE,IAAI;AAAA,QACd,gBAAgB,OAAO,YAAY,EAAE,IAAI,IAAI,QAAQ,QAAQ,CAAC;AAAA,QAC9D,iBAAiB,OAAO,YAAY,EAAE,IAAI,QAAQ,QAAQ,CAAC;AAAA,QAC3D,YAAY,KAAK,IAAI,IAAI;AAAA,MAC3B;AAAA,MACA;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 type { Context, Next } from 'hono'\n\nexport function easydocs(config?: EasyDocsConfig) {\n const parsedConfig = parseConfig(config)\n const capturer = createCapturer(parsedConfig)\n return async function easydocsMiddleware(c: Context, next: Next) {\n const startedAt = Date.now()\n await next()\n\n let responseBody: unknown = null\n try {\n responseBody = await c.res.clone().json()\n } catch {\n responseBody = null\n }\n\n let requestBody: unknown = null\n try {\n requestBody = await c.req.raw.clone().json()\n } catch {\n requestBody = null\n }\n\n const url = new URL(c.req.url)\n\n capturer.capture(\n buildCaptureEvent({\n method: c.req.method,\n path: c.req.routePath ?? url.pathname,\n query: Object.fromEntries(url.searchParams.entries()),\n params: c.req.param() as Record<string, unknown>,\n requestBody,\n responseBody,\n status: c.res.status,\n requestHeaders: Object.fromEntries(c.req.raw.headers.entries()),\n responseHeaders: Object.fromEntries(c.res.headers.entries()),\n durationMs: Date.now() - startedAt,\n })\n )\n }\n}\n"],"mappings":";AAAA,SAAS,gBAAgB,aAAa,yBAAyB;AAIxD,SAAS,SAAS,QAAyB;AAChD,QAAM,eAAe,YAAY,MAAM;AACvC,QAAM,WAAW,eAAe,YAAY;AAC5C,SAAO,eAAe,mBAAmB,GAAY,MAAY;AAC/D,UAAM,YAAY,KAAK,IAAI;AAC3B,UAAM,KAAK;AAEX,QAAI,eAAwB;AAC5B,QAAI;AACF,qBAAe,MAAM,EAAE,IAAI,MAAM,EAAE,KAAK;AAAA,IAC1C,QAAQ;AACN,qBAAe;AAAA,IACjB;AAEA,QAAI,cAAuB;AAC3B,QAAI;AACF,oBAAc,MAAM,EAAE,IAAI,IAAI,MAAM,EAAE,KAAK;AAAA,IAC7C,QAAQ;AACN,oBAAc;AAAA,IAChB;AAEA,UAAM,MAAM,IAAI,IAAI,EAAE,IAAI,GAAG;AAE7B,aAAS;AAAA,MACP,kBAAkB;AAAA,QAChB,QAAQ,EAAE,IAAI;AAAA,QACd,MAAM,EAAE,IAAI,aAAa,IAAI;AAAA,QAC7B,OAAO,OAAO,YAAY,IAAI,aAAa,QAAQ,CAAC;AAAA,QACpD,QAAQ,EAAE,IAAI,MAAM;AAAA,QACpB;AAAA,QACA;AAAA,QACA,QAAQ,EAAE,IAAI;AAAA,QACd,gBAAgB,OAAO,YAAY,EAAE,IAAI,IAAI,QAAQ,QAAQ,CAAC;AAAA,QAC9D,iBAAiB,OAAO,YAAY,EAAE,IAAI,QAAQ,QAAQ,CAAC;AAAA,QAC3D,YAAY,KAAK,IAAI,IAAI;AAAA,MAC3B,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easydocs/hono",
3
- "version": "0.4.2",
3
+ "version": "0.5.2",
4
4
  "files": [
5
5
  "dist",
6
6
  "README.md"
@@ -18,16 +18,22 @@
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
  "hono": ">=4.0.0"
25
25
  },
26
26
  "devDependencies": {
27
- "hono": "^4.7.0",
27
+ "hono": "^4.12.21",
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",