@canmi/seam-adapter-hono 0.2.3 → 0.3.7

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.ts CHANGED
@@ -1,10 +1,11 @@
1
- import { DefinitionMap, HttpHandler, Router } from "@canmi/seam-server";
1
+ import { DefinitionMap, HttpHandler, Router, RpcHashMap } from "@canmi/seam-server";
2
2
  import { MiddlewareHandler } from "hono";
3
3
 
4
4
  //#region src/index.d.ts
5
5
  interface SeamHonoOptions {
6
6
  staticDir?: string;
7
7
  fallback?: HttpHandler;
8
+ rpcHashMap?: RpcHashMap;
8
9
  }
9
10
  /** Hono middleware that handles all /_seam/* routes via the seam router */
10
11
  declare function seam<T extends DefinitionMap>(router: Router<T>, opts?: SeamHonoOptions): MiddlewareHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"mappings":";;;;UAMiB,eAAA;EACf,SAAA;EACA,QAAA,GAAW,WAAA;AAAA;;iBAMG,IAAA,WAAe,aAAA,CAAA,CAC7B,MAAA,EAAQ,MAAA,CAAO,CAAA,GACf,IAAA,GAAO,eAAA,GACN,iBAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"mappings":";;;;UAYiB,eAAA;EACf,SAAA;EACA,QAAA,GAAW,WAAA;EACX,UAAA,GAAa,UAAA;AAAA;;iBAMC,IAAA,WAAe,aAAA,CAAA,CAC7B,MAAA,EAAQ,MAAA,CAAO,CAAA,GACf,IAAA,GAAO,eAAA,GACN,iBAAA"}
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ function seam(router, opts) {
7
7
  const handlerOpts = {};
8
8
  if (opts?.staticDir) handlerOpts.staticDir = opts.staticDir;
9
9
  if (opts?.fallback) handlerOpts.fallback = opts.fallback;
10
+ if (opts?.rpcHashMap) handlerOpts.rpcHashMap = opts.rpcHashMap;
10
11
  const handler = createHttpHandler(router, handlerOpts);
11
12
  return async (c, next) => {
12
13
  if (!new URL(c.req.url).pathname.startsWith(SEAM_PREFIX)) return next();
@@ -14,7 +15,8 @@ function seam(router, opts) {
14
15
  return toWebResponse(await handler({
15
16
  method: raw.method,
16
17
  url: raw.url,
17
- body: () => raw.json()
18
+ body: () => raw.json(),
19
+ header: (name) => raw.headers.get(name)
18
20
  }));
19
21
  };
20
22
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/* packages/server/adapter/hono/src/index.ts */\n\nimport { createHttpHandler, toWebResponse } from \"@canmi/seam-server\";\nimport type { DefinitionMap, Router, HttpHandler, HttpHandlerOptions } from \"@canmi/seam-server\";\nimport type { MiddlewareHandler } from \"hono\";\n\nexport interface SeamHonoOptions {\n staticDir?: string;\n fallback?: HttpHandler;\n}\n\nconst SEAM_PREFIX = \"/_seam/\";\n\n/** Hono middleware that handles all /_seam/* routes via the seam router */\nexport function seam<T extends DefinitionMap>(\n router: Router<T>,\n opts?: SeamHonoOptions,\n): MiddlewareHandler {\n const handlerOpts: HttpHandlerOptions = {};\n if (opts?.staticDir) handlerOpts.staticDir = opts.staticDir;\n if (opts?.fallback) handlerOpts.fallback = opts.fallback;\n\n const handler = createHttpHandler(router, handlerOpts);\n\n return async (c, next) => {\n const url = new URL(c.req.url);\n\n if (!url.pathname.startsWith(SEAM_PREFIX)) {\n return next();\n }\n\n const raw = c.req.raw;\n const result = await handler({\n method: raw.method,\n url: raw.url,\n body: () => raw.json(),\n });\n\n return toWebResponse(result);\n };\n}\n"],"mappings":";;;AAWA,MAAM,cAAc;;AAGpB,SAAgB,KACd,QACA,MACmB;CACnB,MAAM,cAAkC,EAAE;AAC1C,KAAI,MAAM,UAAW,aAAY,YAAY,KAAK;AAClD,KAAI,MAAM,SAAU,aAAY,WAAW,KAAK;CAEhD,MAAM,UAAU,kBAAkB,QAAQ,YAAY;AAEtD,QAAO,OAAO,GAAG,SAAS;AAGxB,MAAI,CAFQ,IAAI,IAAI,EAAE,IAAI,IAAI,CAErB,SAAS,WAAW,YAAY,CACvC,QAAO,MAAM;EAGf,MAAM,MAAM,EAAE,IAAI;AAOlB,SAAO,cANQ,MAAM,QAAQ;GAC3B,QAAQ,IAAI;GACZ,KAAK,IAAI;GACT,YAAY,IAAI,MAAM;GACvB,CAAC,CAE0B"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/* packages/server/adapter/hono/src/index.ts */\n\nimport { createHttpHandler, toWebResponse } from \"@canmi/seam-server\";\nimport type {\n DefinitionMap,\n Router,\n HttpHandler,\n HttpHandlerOptions,\n RpcHashMap,\n} from \"@canmi/seam-server\";\nimport type { MiddlewareHandler } from \"hono\";\n\nexport interface SeamHonoOptions {\n staticDir?: string;\n fallback?: HttpHandler;\n rpcHashMap?: RpcHashMap;\n}\n\nconst SEAM_PREFIX = \"/_seam/\";\n\n/** Hono middleware that handles all /_seam/* routes via the seam router */\nexport function seam<T extends DefinitionMap>(\n router: Router<T>,\n opts?: SeamHonoOptions,\n): MiddlewareHandler {\n const handlerOpts: HttpHandlerOptions = {};\n if (opts?.staticDir) handlerOpts.staticDir = opts.staticDir;\n if (opts?.fallback) handlerOpts.fallback = opts.fallback;\n if (opts?.rpcHashMap) handlerOpts.rpcHashMap = opts.rpcHashMap;\n\n const handler = createHttpHandler(router, handlerOpts);\n\n return async (c, next) => {\n const url = new URL(c.req.url);\n\n if (!url.pathname.startsWith(SEAM_PREFIX)) {\n return next();\n }\n\n const raw = c.req.raw;\n const result = await handler({\n method: raw.method,\n url: raw.url,\n body: () => raw.json(),\n header: (name) => raw.headers.get(name),\n });\n\n return toWebResponse(result);\n };\n}\n"],"mappings":";;;AAkBA,MAAM,cAAc;;AAGpB,SAAgB,KACd,QACA,MACmB;CACnB,MAAM,cAAkC,EAAE;AAC1C,KAAI,MAAM,UAAW,aAAY,YAAY,KAAK;AAClD,KAAI,MAAM,SAAU,aAAY,WAAW,KAAK;AAChD,KAAI,MAAM,WAAY,aAAY,aAAa,KAAK;CAEpD,MAAM,UAAU,kBAAkB,QAAQ,YAAY;AAEtD,QAAO,OAAO,GAAG,SAAS;AAGxB,MAAI,CAFQ,IAAI,IAAI,EAAE,IAAI,IAAI,CAErB,SAAS,WAAW,YAAY,CACvC,QAAO,MAAM;EAGf,MAAM,MAAM,EAAE,IAAI;AAQlB,SAAO,cAPQ,MAAM,QAAQ;GAC3B,QAAQ,IAAI;GACZ,KAAK,IAAI;GACT,YAAY,IAAI,MAAM;GACtB,SAAS,SAAS,IAAI,QAAQ,IAAI,KAAK;GACxC,CAAC,CAE0B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canmi/seam-adapter-hono",
3
- "version": "0.2.3",
3
+ "version": "0.3.7",
4
4
  "files": [
5
5
  "dist"
6
6
  ],