spiceflow 1.0.7 → 1.1.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.
Files changed (76) hide show
  1. package/README.md +1 -1
  2. package/dist/client/index.d.ts +1 -1
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js.map +1 -1
  5. package/dist/client/types.d.ts +1 -2
  6. package/dist/client/types.d.ts.map +1 -1
  7. package/dist/client/ws.d.ts +1 -1
  8. package/dist/client/ws.d.ts.map +1 -1
  9. package/dist/client.test.js +1 -18
  10. package/dist/client.test.js.map +1 -1
  11. package/dist/{elysia-fork/context.d.ts → context.d.ts} +8 -7
  12. package/dist/context.d.ts.map +1 -0
  13. package/dist/{elysia-fork/context.js.map → context.js.map} +1 -1
  14. package/dist/error.d.ts.map +1 -0
  15. package/dist/error.js.map +1 -0
  16. package/dist/index.d.ts +1 -2
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/middleware.test.d.ts +2 -0
  21. package/dist/middleware.test.d.ts.map +1 -0
  22. package/dist/middleware.test.js +99 -0
  23. package/dist/middleware.test.js.map +1 -0
  24. package/dist/openapi.d.ts +23 -3
  25. package/dist/openapi.d.ts.map +1 -1
  26. package/dist/openapi.js +2 -2
  27. package/dist/openapi.js.map +1 -1
  28. package/dist/openapi.test.js +66 -1
  29. package/dist/openapi.test.js.map +1 -1
  30. package/dist/spiceflow.d.ts +44 -125
  31. package/dist/spiceflow.d.ts.map +1 -1
  32. package/dist/spiceflow.js +129 -166
  33. package/dist/spiceflow.js.map +1 -1
  34. package/dist/spiceflow.test.js +54 -16
  35. package/dist/spiceflow.test.js.map +1 -1
  36. package/dist/types.d.ts +406 -0
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/types.js +1 -1
  39. package/dist/types.js.map +1 -1
  40. package/dist/utils.d.ts +72 -0
  41. package/dist/utils.d.ts.map +1 -1
  42. package/dist/utils.js +69 -0
  43. package/dist/utils.js.map +1 -1
  44. package/package.json +1 -1
  45. package/src/client/index.ts +1 -3
  46. package/src/client/types.ts +6 -13
  47. package/src/client/ws.ts +1 -1
  48. package/src/client.test.ts +1 -19
  49. package/src/context.ts +128 -0
  50. package/src/index.ts +1 -2
  51. package/src/middleware.test.ts +107 -0
  52. package/src/openapi.test.ts +71 -1
  53. package/src/openapi.ts +1 -1
  54. package/src/spiceflow.test.ts +74 -16
  55. package/src/spiceflow.ts +213 -386
  56. package/src/types.test.ts +1 -1
  57. package/src/types.ts +926 -0
  58. package/src/utils.ts +84 -0
  59. package/dist/elysia-fork/context.d.ts.map +0 -1
  60. package/dist/elysia-fork/error.d.ts.map +0 -1
  61. package/dist/elysia-fork/error.js.map +0 -1
  62. package/dist/elysia-fork/types.d.ts +0 -562
  63. package/dist/elysia-fork/types.d.ts.map +0 -1
  64. package/dist/elysia-fork/types.js +0 -2
  65. package/dist/elysia-fork/types.js.map +0 -1
  66. package/dist/elysia-fork/utils.d.ts +0 -134
  67. package/dist/elysia-fork/utils.d.ts.map +0 -1
  68. package/dist/elysia-fork/utils.js +0 -70
  69. package/dist/elysia-fork/utils.js.map +0 -1
  70. package/src/elysia-fork/context.ts +0 -166
  71. package/src/elysia-fork/types.ts +0 -1281
  72. package/src/elysia-fork/utils.ts +0 -85
  73. /package/dist/{elysia-fork/context.js → context.js} +0 -0
  74. /package/dist/{elysia-fork/error.d.ts → error.d.ts} +0 -0
  75. /package/dist/{elysia-fork/error.js → error.js} +0 -0
  76. /package/src/{elysia-fork/error.ts → error.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAE1C,OAAO,KAAK,EACX,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,OAAO,EACP,OAAO,EACP,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAgB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAExD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;AACnC,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAE5C,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAEvD,KAAK,eAAe,CAAC,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,IAAI,MAAM,SAAS,EAAE,GAC3E,SAAS,GACT,IAAI,SAAS,GAAG,GAChB,GAAG,GACH,KAAK,CAAA;AAER,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,IAC/C,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,GACjC,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GACxC,eAAe,CAAC,IAAI,CAAC,CAAA;AAEzB,MAAM,MAAM,WAAW,CAAC,IAAI,SAAS,MAAM,IAAI,QAAQ,CACtD;KACE,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,GAAG,MAAM,GAAG,GAC3D,KAAK,GACL,KAAK,GAAG,MAAM;CACjB,GAAG;KACF,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,GAAG,MAAM,aAAa,GAAG,GACxE,aAAa,GACb,KAAK,CAAC,CAAC,EAAE,MAAM;CAClB,CACD,CAAA;AAGD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACpB,GAAG,EAAE,CAAA;AAEN,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9B,GAAG,EAAE,CAAA;AAEN,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAA;AAEN,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAC1E,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAClD,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,GACvB,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,GACvB,IAAI,GACJ,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,CAAA;AAER,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI,GAAG,KAAK,CAAA;AAG7E,MAAM,MAAM,SAAS,CACpB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,QAAQ,SAAS,OAAO,GAAG,KAAK,EAEhC,KAAK,SAAS,MAAM,EAAE,GAAG,EAAE,IACxB,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,GAC3B,CAAC,GACD,QAAQ,SAAS,IAAI,GACrB;KACC,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,SAAS,MAAM,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;CAC5D,SAAS,MAAM,SAAS,GACxB,EAAE,SAAS,SAAS,GACnB;KACC,GAAG,IAAI,MAAM,CAAC,GAAG,YAAY,CAE7B,CAAC,CAAC,GAAG,CAAC,EACN,CAAC,CAAC,GAAG,CAAC,CACN,SAAS,IAAI,GACX,SAAS,CAET,CAAC,CAAC,GAAG,CAAC,EACN,CAAC,CAAC,GAAG,CAAC,EACN,QAAQ,EACR;QAAC,CAAC;QAAE,GAAG,KAAK;KAAC,CACZ,GACD,CAAC,CAAC,GAAG,CAAC;CACR,GACD,QAAQ,CACR,SAAS,GAAG;KACV,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;CACxB,CACA,GACF,KAAK,GACN;KACC,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,SAAS,MAAM,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;CAC5D,SAAS,MAAM,SAAS,GACzB,EAAE,SAAS,SAAS,GACnB;KACC,GAAG,IAAI,MAAM,CAAC,GAAG,YAAY,CAC7B,CAAC,CAAC,GAAG,CAAC,EAEN,CAAC,CAAC,GAAG,CAAC,CACN,SAAS,IAAI,GACX,SAAS,CAET,CAAC,CAAC,GAAG,CAAC,EAEN,CAAC,CAAC,GAAG,CAAC,EACN,QAAQ,EACR;QAAC,CAAC;QAAE,GAAG,KAAK;KAAC,CACZ,GACD,CAAC,CAAC,GAAG,CAAC;CACR,GACD,QAAQ,CACR;KACE,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;CACxB,GAAG,SAAS,CACZ,GACF,KAAK,CAAA;AAER,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAC5B;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE/C,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,KAAK,aAAa,GAAG;IACpB,CAAC,YAAY,CAAC,EAAE,UAAU,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,CAAA;AAE7C,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAE3D,MAAM,MAAM,YAAY,CACvB,MAAM,SAAS,UAAU,GAAG,MAAM,GAAG,SAAS,EAC9C,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,IAC7C,SAAS,SAAS,MAAM,GACzB,OAAO,GACP,MAAM,SAAS,UAAU,GACzB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GACf,MAAM,SAAS,OAAO,GACtB,MAAM,SAAS,aAAa,GAC3B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GACjC,YAAY,CAAC,MAAM,CAAC,GACrB,MAAM,SAAS,MAAM,GACrB,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,WAAW,CAAC,GACpD,WAAW,GACX,WAAW,GACZ,OAAO,CAAA;AAEV,MAAM,WAAW,WAAW,CAC3B,EAAE,CAAC,GAAG,CAAC,MAAM,SAAS,WAAW,CAAC,GAAG,CAAC,EACtC,EAAE,CAAC,GAAG,CAAC,WAAW,SAAS,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE;IAEtD,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAA;IAC/C,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAA;IACjD,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAA;IACnD,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,UAAU,GAAG,MAAM,GACrD;QACA,GAAG,EAAE,OAAO,CACX,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,EAC7C,IAAI,EACJ,OAAO,CACP,CAAA;KACA,GACD,MAAM,CAAC,UAAU,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,GAC9D;SACC,CAAC,IAAI,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CACvC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAChD,IAAI,EACJ,OAAO,CACP;KACA,GACD,OAAO,GAAG,IAAI,CAAA;CACjB;AAED,MAAM,MAAM,cAAc,GACvB,OAAO,GACP,SAAS,GACT,OAAO,GACP,WAAW,GACX,cAAc,GACd,aAAa,GACb,UAAU,GACV,OAAO,GACP,MAAM,CAAA;AAET,MAAM,MAAM,WAAW,GAAG,UAAU,CACjC,CAAC,MAAM,GAAG,EAAE,CAAC,GACb,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,kBAAkB,GAClB,qBAAqB,GACrB,mCAAmC,CACrC,CAAA;AAED,MAAM,MAAM,UAAU,GACnB,CAAC,MAAM,GAAG,EAAE,CAAC,GACb,KAAK,GACL,MAAM,GACN,UAAU,GACV,SAAS,GACT,MAAM,GACN,QAAQ,GACR,KAAK,GACL,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,MAAM,GACN,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,UAAU,GACV,WAAW,GACX,OAAO,GACP,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,KAAK,CAAA;AAER,MAAM,WAAW,WAAW,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IACxD,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACzB,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EACN,UAAU,GACV,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAC1B,IAAI,GACJ,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,UAAU,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,WAAW,CAC3B,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,WAAW,EAC5B,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,WAAW;IAE5B,IAAI,EAAE,SAAS,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IACzD,KAAK,EAAE,SAAS,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAA;IAC7D,MAAM,EAAE,SAAS,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;IACjE,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,GAC/B,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,GACvB,EAAE,GACF,CAAC,CAAC,UAAU,CAAC,GACd,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,GACxB,CAAC,CAAC,UAAU,CAAC,GACb,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;CAC3D;AAED,MAAM,MAAM,OAAO,CAClB,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACxC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,EACD,IAAI,SAAS,MAAM,GAAG,EAAE,IACrB,CACH,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KACpC,YAAY,CAChB,EAAE,SAAS,KAAK,CAAC,UAAU,CAAC,GACzB,OAAO,GACP,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,CAC7C,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,GACrE,QAAQ,GACR,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC;KACC,CAAC,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,MAAM,GAC9C,IAAI,GACJ,QAAQ,CAAC,CAAC,CAAC;CACb,GACD,QAAQ,SAAS,MAAM,GACvB,IAAI,GACJ,QAAQ,CAAA;AAEX,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAErD,MAAM,MAAM,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,GACrE,QAAQ,GACR,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC;KACC,CAAC,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,MAAM,GAC9C,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAClB,QAAQ,CAAC,CAAC,CAAC;CACb,GACD,QAAQ,SAAS,MAAM,GACvB,QAAQ,GAAG,IAAI,GACf,QAAQ,CAAA;AAEX,MAAM,MAAM,aAAa,CACxB,KAAK,SAAS,WAAW,GAAG,EAAE,EAC9B,SAAS,SAAS,aAAa,GAAG;IACjC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,EACD,IAAI,SAAS,MAAM,GAAG,EAAE,EACxB,YAAY,GAAG,EAAE,IACd,CACH,OAAO,EAAE,YAAY,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GACpE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,GACxD,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAEhC,QAAQ,GACR,YAAY,CACZ,EAAE,SAAS,KAAK,CAAC,UAAU,CAAC,GACzB,OAAO,GAEL,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS;IAAE,GAAG,EAAE,GAAG,CAAA;CAAE,GACrC,KAAK,CAAC,UAAU,CAAC,GACjB,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,GACrC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,GAC1C;KACC,MAAM,IAAI,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG;QACpC,KAAK,EAAE,MAAM,CACZ,MAAM,EACN,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CACzB,CAAA;QACD,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB;CACA,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,CAC9B,CAAA;AAEJ,MAAM,MAAM,eAAe,CAC1B,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACxC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,EACD,IAAI,SAAS,MAAM,GAAG,EAAE,IACrB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAC3C,OAAO,EAAE,MAAM,OAAO,KAClB,MAAM,QAAQ,GAChB,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,GACnD,KAAK,CAAA;AAER,MAAM,MAAM,YAAY,CACvB,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACxC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,EACD,IAAI,SAAS,MAAM,GAAG,EAAE,IACrB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAC3C,OAAO,EAAE,MAAM,OAAO,KAClB,MAAM,QAAQ,GAChB,CACA,OAAO,EAAE,QAAQ,CAChB;IACC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;CAC3B,GAAG,OAAO,CACX,KACI,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,GAClC,KAAK,CAAA;AAER,MAAM,MAAM,WAAW,CACtB,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACxC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,EACD,IAAI,SAAS,MAAM,GAAG,EAAE,IACrB,OAAO,CACV,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG;IACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,CAAA;CACtD,EACD,SAAS,GAAG;IACX,MAAM,EAAE;QACP,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;KAC3B,CAAA;CACD,EACD,IAAI,CACJ,CAAA;AAED,MAAM,MAAM,WAAW,CACtB,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACxC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,IACE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,CAAA;AAE9D,MAAM,MAAM,gBAAgB,CAC3B,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACxC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,EACD,QAAQ,SAAS,MAAM,GAAG,EAAE,IACzB;IACH,CACC,OAAO,EAAE,QAAQ,CAChB,OAAO,CACN,KAAK,EACL,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;QAC5B,OAAO,EAAE,EAAE,CAAA;KACX,EACD,QAAQ,CACR,CACD,GACC,YAAY,CAAC,IAAI,CAAC,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,WAAW,CACtB,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACxC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,EACD,IAAI,SAAS,MAAM,GAAG,EAAE,IACrB,CACH,OAAO,EAAE,QAAQ,CAChB;IACC,WAAW,EAAE,MAAM,CAAA;CACnB,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CACnC;AACD;;;;;;;;;;;;;GAaG;AACH,WAAW,EAAE,MAAM,KACf,YAAY,CAAC,GAAG,CAAC,CAAA;AAEtB,MAAM,MAAM,iBAAiB,CAC5B,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACxC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,IACE,CACH,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,EACrC,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAChC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;AAE3C,MAAM,MAAM,oBAAoB,CAC/B,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACxC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,IACE,CACH,OAAO,EAAE,QAAQ,CAChB,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;CAC3B,CACD,KACG,YAAY,CAAC,IAAI,CAAC,CAAA;AAMvB,MAAM,MAAM,YAAY,CACvB,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,EAC3C,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACxC,KAAK,EAAE,EAAE,CAAA;CACT,IACE,CACH,OAAO,EAAE,YAAY,CACpB,KAAK,EACL;IACC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CACzB,CACD,GACA,CACG,QAAQ,CACR;IACC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;CACtB,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAC9B,GACD,QAAQ,CACR;IACC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;CAChC,GAAG,SAAS,CAAC,OAAO,CAAC,CACrB,GACD,QAAQ,CACR;IACC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;CAC9B,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAC/B,GACD,QAAQ,CACR;IACC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;CAC3B,GAAG,SAAS,CAAC,OAAO,CAAC,CACrB,GACD,QAAQ,CACR;IACC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,uBAAuB,CAAA;IAC7B,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;CACpC,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAC9B,GACD,QAAQ,CACR;KACE,CAAC,IAAI,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,OAAO,CAAA;QAChB,IAAI,EAAE,CAAC,CAAA;QACP,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KACrB;CACD,CAAC,MAAM,CAAC,CAAC,GACT,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAC3B,CACH,KACE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;AAEvB,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACpB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG;IACrE;;SAEK;IACL,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,SAAS,CACpB,WAAW,SAAS,WAAW,EAC/B,MAAM,SAAS,WAAW,EAC1B,SAAS,SAAS,aAAa,EAC/B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACpC,SAAS,SAAS,SAAS,EAC3B,IAAI,SAAS,MAAM,GAAG,EAAE,EACxB,UAAU,SAAS,WAAW,GAAG,MAAM,SAAS;IAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B,GACE,MAAM,GACN,MAAM,GAAG;IACT,MAAM,EAAE,SAAS,SAAS,MAAM,CAAC,QAAQ,CAAC,GACvC,WAAW,CAAC,IAAI,CAAC,GACjB,MAAM,CAAC,QAAQ,CAAC,CAAA;CAClB,IACD,CAAC,WAAW,SAAS,EAAE,GAAG,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,GAChE,SAAS,GAAG;IACX,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,WAAW,CAAA;CAClB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAA;AAE1E,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,eAAe,GAAG,QAAQ,GAAG,IAAI,CAAA;IAC3C,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CACnD;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAA;AAEnE,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,IAAI;KAChD,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,SAAS,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC5E,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,IAAI;KAC1D,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,IAAI;KAChD,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CAChD,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,IAAI;KAC1D,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAC7B,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CACrD,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,CAAA;AAEhE,KAAK,WAAW,CACf,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,IAC1C,IAAI,SAAS,GAAG,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GAC5C;KACC,CAAC,IAAI,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;CACxC,GACD;KACC,CAAC,IAAI,IAAI,GAAG,QAAQ;CACpB,CAAA;AAEJ,MAAM,MAAM,UAAU,CACrB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,IAC1C,IAAI,SAAS,IAAI,MAAM,IAAI,EAAE,GAC9B,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,GAC3B,IAAI,SAAS,EAAE,GACf,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC9B,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAE9B,MAAM,MAAM,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,MAAM,SAAS,CACvE,GAAG,CAAC,EAAE,GAAG,EAAE,KACP,MAAM,CAAC,GACT,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,GACvE,yBAAyB,CACzB,QAAQ,EACR,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CACtC,CAAA;AAEJ,KAAK,yBAAyB,CAAC,QAAQ,EAAE,MAAM,IAAI,QAAQ,CAC1D,EAAE,SAAS,QAAQ,GAChB;IACA,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE;QAAE,CAAC,eAAe,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAA;CAC/C,GAAG;KACH,aAAa,IAAI,OAAO,CACxB,MAAM,EACN;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,CACjB,IAAI,aAAa,SAAS;QAC1B,CAAC,eAAe,CAAC,EAAE,MAAM,MAAM,SAAS,MAAM,CAAA;KAC9C,GACE,MAAM,GACN,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC;CACnC,GACD,QAAQ,CACX,CAAA;AAED,MAAM,MAAM,uBAAuB,CAClC,SAAS,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAChE,MAAM,SAAS,MAAM,GAAG,EAAE,EAC1B,MAAM,SAAS,OAAO,GAAG,KAAK,EAC9B,SAAS,SAAS,aAAa,GAAG;IACjC,SAAS,EAAE,EAAE,CAAA;IACb,KAAK,EAAE,EAAE,CAAA;CACT,EACD,WAAW,SAAS,cAAc,GAAG;IACpC,IAAI,EAAE,EAAE,CAAA;IACR,KAAK,EAAE,EAAE,CAAA;CACT,EACD,QAAQ,SAAS,YAAY,GAAG;IAC/B,MAAM,EAAE,EAAE,CAAA;IACV,KAAK,EAAE,EAAE,CAAA;IACT,OAAO,EAAE,EAAE,CAAA;CACX,EACD,MAAM,SAAS,SAAS,GAAG,EAAE,IAC1B,SAAS,SAAS;IACrB,MAAM,OAAO,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC7D,GAAG,MAAM,IAAI,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;CAC/D,GACE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GACvC,uBAAuB,CACvB,IAAI,EACJ,MAAM,EACN,MAAM,EACN,SAAS,EACT,WAAW,EACX,QAAQ,EACR,MAAM,CACL,GACD,uBAAuB,CACvB,IAAI,EACJ,MAAM,EACN,MAAM,EACN,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAC1C,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAC9C,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EACxC,MAAM,GACL,CAAC,MAAM,SAAS,EAAE,GACf,OAAO,CAAC,SAAS,CAAC,GAClB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CACzC,GACF,SAAS,CACT,MAAM,EACN,MAAM,EACN;IACC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;CACnC,EACD;IACC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;IACnC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;CACrC,EACD;IACC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IACpC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IAClC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;CACtC,EACD,MAAM,CACL,CAAA;AAEJ,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEzD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CACjC,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CACzC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAC1B,CAAC,GACD,KAAK,CAAA;AAER,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,CAAA;AAErD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAElD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAG9B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IAGf,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IAGb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IAGrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAG1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAGhC,6BAA6B,CAAC,EAAE,MAAM,CAAA;IACtC,kCAAkC,CAAC,EAAE,MAAM,CAAA;IAC3C,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,+BAA+B,CAAC,EAAE,MAAM,CAAA;IACxC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,gCAAgC,CAAC,EAAE,MAAM,CAAA;IACzC,+BAA+B,CAAC,EAAE,MAAM,CAAA;IACxC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAG9B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAG9B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAG3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IAGZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAShB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IAGpC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IAGxB,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,qCAAqC,CAAC,EAAE,MAAM,CAAA;IAC9C,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAG3B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,GAC5E,QAAQ,GACR,CAAC,SAAS,EAAE,GACZ,CAAC,GACD,CAAC,SAAS,IAAI,MAAM,EAAE,GACtB,CAAC,GACD,CAAC,EAAE,CAAA"}
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
- export {};
1
+ import { ELYSIA_RESPONSE, } from './error.js';
2
2
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAkBA,OAAO,EACN,eAAe,GAKf,MAAM,YAAY,CAAA"}
package/dist/utils.d.ts CHANGED
@@ -2,4 +2,76 @@ export declare const deepFreeze: (value: any) => any;
2
2
  export declare const req: (path: string, options?: RequestInit) => Request;
3
3
  export declare function isAsyncIterable(obj: any): obj is AsyncGenerator<any>;
4
4
  export declare function sleep(ms: number): Promise<unknown>;
5
+ export declare const StatusMap: {
6
+ readonly Continue: 100;
7
+ readonly 'Switching Protocols': 101;
8
+ readonly Processing: 102;
9
+ readonly 'Early Hints': 103;
10
+ readonly OK: 200;
11
+ readonly Created: 201;
12
+ readonly Accepted: 202;
13
+ readonly 'Non-Authoritative Information': 203;
14
+ readonly 'No Content': 204;
15
+ readonly 'Reset Content': 205;
16
+ readonly 'Partial Content': 206;
17
+ readonly 'Multi-Status': 207;
18
+ readonly 'Already Reported': 208;
19
+ readonly 'Multiple Choices': 300;
20
+ readonly 'Moved Permanently': 301;
21
+ readonly Found: 302;
22
+ readonly 'See Other': 303;
23
+ readonly 'Not Modified': 304;
24
+ readonly 'Temporary Redirect': 307;
25
+ readonly 'Permanent Redirect': 308;
26
+ readonly 'Bad Request': 400;
27
+ readonly Unauthorized: 401;
28
+ readonly 'Payment Required': 402;
29
+ readonly Forbidden: 403;
30
+ readonly 'Not Found': 404;
31
+ readonly 'Method Not Allowed': 405;
32
+ readonly 'Not Acceptable': 406;
33
+ readonly 'Proxy Authentication Required': 407;
34
+ readonly 'Request Timeout': 408;
35
+ readonly Conflict: 409;
36
+ readonly Gone: 410;
37
+ readonly 'Length Required': 411;
38
+ readonly 'Precondition Failed': 412;
39
+ readonly 'Payload Too Large': 413;
40
+ readonly 'URI Too Long': 414;
41
+ readonly 'Unsupported Media Type': 415;
42
+ readonly 'Range Not Satisfiable': 416;
43
+ readonly 'Expectation Failed': 417;
44
+ readonly "I'm a teapot": 418;
45
+ readonly 'Misdirected Request': 421;
46
+ readonly 'Unprocessable Content': 422;
47
+ readonly Locked: 423;
48
+ readonly 'Failed Dependency': 424;
49
+ readonly 'Too Early': 425;
50
+ readonly 'Upgrade Required': 426;
51
+ readonly 'Precondition Required': 428;
52
+ readonly 'Too Many Requests': 429;
53
+ readonly 'Request Header Fields Too Large': 431;
54
+ readonly 'Unavailable For Legal Reasons': 451;
55
+ readonly 'Internal Server Error': 500;
56
+ readonly 'Not Implemented': 501;
57
+ readonly 'Bad Gateway': 502;
58
+ readonly 'Service Unavailable': 503;
59
+ readonly 'Gateway Timeout': 504;
60
+ readonly 'HTTP Version Not Supported': 505;
61
+ readonly 'Variant Also Negotiates': 506;
62
+ readonly 'Insufficient Storage': 507;
63
+ readonly 'Loop Detected': 508;
64
+ readonly 'Not Extended': 510;
65
+ readonly 'Network Authentication Required': 511;
66
+ };
67
+ export declare const InvertedStatusMap: { [K in keyof StatusMap as StatusMap[K]]: K; };
68
+ export type StatusMap = typeof StatusMap;
69
+ export type InvertedStatusMap = typeof InvertedStatusMap;
70
+ /**
71
+ *
72
+ * @param url URL to redirect to
73
+ * @param HTTP status code to send,
74
+ */
75
+ export declare const redirect: (url: string, status?: 301 | 302 | 303 | 307 | 308) => Response;
76
+ export type redirect = typeof redirect;
5
77
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,UAAW,GAAG,QAOpC,CAAA;AAED,eAAO,MAAM,GAAG,SAAU,MAAM,YAAY,WAAW,YACP,CAAA;AAEhD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,CAQpE;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,UAAW,GAAG,QAOpC,CAAA;AAED,eAAO,MAAM,GAAG,SAAU,MAAM,YAAY,WAAW,YACP,CAAA;AAEhD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,CAQpE;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DZ,CAAA;AAEV,eAAO,MAAM,iBAAiB,EAEzB,GACH,CAAoB,IAAf,MAAM,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GACzC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AACxC,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,QACf,MAAM,WACH,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,aACD,CAAA;AAEnC,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA"}
package/dist/utils.js CHANGED
@@ -18,4 +18,73 @@ export function isAsyncIterable(obj) {
18
18
  export function sleep(ms) {
19
19
  return new Promise((resolve) => setTimeout(resolve, ms));
20
20
  }
21
+ export const StatusMap = {
22
+ Continue: 100,
23
+ 'Switching Protocols': 101,
24
+ Processing: 102,
25
+ 'Early Hints': 103,
26
+ OK: 200,
27
+ Created: 201,
28
+ Accepted: 202,
29
+ 'Non-Authoritative Information': 203,
30
+ 'No Content': 204,
31
+ 'Reset Content': 205,
32
+ 'Partial Content': 206,
33
+ 'Multi-Status': 207,
34
+ 'Already Reported': 208,
35
+ 'Multiple Choices': 300,
36
+ 'Moved Permanently': 301,
37
+ Found: 302,
38
+ 'See Other': 303,
39
+ 'Not Modified': 304,
40
+ 'Temporary Redirect': 307,
41
+ 'Permanent Redirect': 308,
42
+ 'Bad Request': 400,
43
+ Unauthorized: 401,
44
+ 'Payment Required': 402,
45
+ Forbidden: 403,
46
+ 'Not Found': 404,
47
+ 'Method Not Allowed': 405,
48
+ 'Not Acceptable': 406,
49
+ 'Proxy Authentication Required': 407,
50
+ 'Request Timeout': 408,
51
+ Conflict: 409,
52
+ Gone: 410,
53
+ 'Length Required': 411,
54
+ 'Precondition Failed': 412,
55
+ 'Payload Too Large': 413,
56
+ 'URI Too Long': 414,
57
+ 'Unsupported Media Type': 415,
58
+ 'Range Not Satisfiable': 416,
59
+ 'Expectation Failed': 417,
60
+ "I'm a teapot": 418,
61
+ 'Misdirected Request': 421,
62
+ 'Unprocessable Content': 422,
63
+ Locked: 423,
64
+ 'Failed Dependency': 424,
65
+ 'Too Early': 425,
66
+ 'Upgrade Required': 426,
67
+ 'Precondition Required': 428,
68
+ 'Too Many Requests': 429,
69
+ 'Request Header Fields Too Large': 431,
70
+ 'Unavailable For Legal Reasons': 451,
71
+ 'Internal Server Error': 500,
72
+ 'Not Implemented': 501,
73
+ 'Bad Gateway': 502,
74
+ 'Service Unavailable': 503,
75
+ 'Gateway Timeout': 504,
76
+ 'HTTP Version Not Supported': 505,
77
+ 'Variant Also Negotiates': 506,
78
+ 'Insufficient Storage': 507,
79
+ 'Loop Detected': 508,
80
+ 'Not Extended': 510,
81
+ 'Network Authentication Required': 511,
82
+ };
83
+ export const InvertedStatusMap = Object.fromEntries(Object.entries(StatusMap).map(([k, v]) => [v, k]));
84
+ /**
85
+ *
86
+ * @param url URL to redirect to
87
+ * @param HTTP status code to send,
88
+ */
89
+ export const redirect = (url, status = 302) => Response.redirect(url, status);
21
90
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE;IACxC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QACvB,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAE,EAAE,CAC1D,IAAI,OAAO,CAAC,mBAAmB,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;AAEhD,MAAM,UAAU,eAAe,CAAC,GAAQ;IACvC,OAAO,CACN,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;QAC9B,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU;QAChC,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU;QAC/B,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,CAChC,CAAA;AACF,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACzD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spiceflow",
3
- "version": "1.0.7",
3
+ "version": "1.1.0",
4
4
  "description": "Simple API framework with RPC and type safety",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,8 +24,6 @@ const method = [
24
24
  'subscribe',
25
25
  ] as const
26
26
 
27
-
28
-
29
27
  const isServer = typeof FileList === 'undefined'
30
28
 
31
29
  const isFile = (v: any) => {
@@ -510,7 +508,7 @@ const createProxy = (
510
508
  }) as any
511
509
 
512
510
  export const createSpiceflowClient = <
513
- const App extends Spiceflow<any, any, any, any, any, any, any, any>,
511
+ const App extends Spiceflow<any, any, any, any, any, any>,
514
512
  >(
515
513
  domain: string | App,
516
514
  config: SpiceflowClient.Config = {},
@@ -13,12 +13,6 @@ export type IsNever<T> = [T] extends [never] ? true : false
13
13
 
14
14
  type Files = File | FileList
15
15
 
16
- // type Replace<RecordType, TargetType, GenericType> = {
17
- // [K in keyof RecordType]: RecordType[K] extends TargetType
18
- // ? GenericType
19
- // : RecordType[K]
20
- // }
21
-
22
16
  type ReplaceBlobWithFiles<in out RecordType extends Record<string, unknown>> = {
23
17
  [K in keyof RecordType]: RecordType[K] extends Blob | Blob[]
24
18
  ? Files
@@ -61,13 +55,12 @@ export namespace SpiceflowClient {
61
55
  fetch?: RequestInit
62
56
  }
63
57
 
64
- export type Create<
65
- App extends Spiceflow<any, any, any, any, any, any, any, any>,
66
- > = App extends {
67
- _routes: infer Schema extends Record<string, any>
68
- }
69
- ? Prettify<Sign<Schema>>
70
- : 'Please install Spiceflow before using Eden'
58
+ export type Create<App extends Spiceflow<any, any, any, any, any, any>> =
59
+ App extends {
60
+ _routes: infer Schema extends Record<string, any>
61
+ }
62
+ ? Prettify<Sign<Schema>>
63
+ : 'Please install Spiceflow before using Eden'
71
64
 
72
65
  export type Sign<in out Route extends Record<string, any>> = {
73
66
  [K in keyof Route as K extends `:${string}`
package/src/client/ws.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { InputSchema } from '../elysia-fork/types.js'
1
+ import type { InputSchema } from '../types.js'
2
2
  import type { SpiceflowClient } from './types.js'
3
3
  import { parseStringifiedValue } from './utils.js'
4
4
 
@@ -3,24 +3,6 @@ import { Spiceflow, t } from './spiceflow.js'
3
3
 
4
4
  import { describe, expect, it } from 'vitest'
5
5
 
6
- const randomObject = {
7
- a: 'a',
8
- b: 2,
9
- c: true,
10
- d: false,
11
- e: null,
12
- f: new Date(0),
13
- }
14
- const randomArray = [
15
- 'a',
16
- 2,
17
- true,
18
- false,
19
- null,
20
- new Date(0),
21
- { a: 'a', b: 2, c: true, d: false, e: null, f: new Date(0) },
22
- ]
23
-
24
6
  const app = new Spiceflow()
25
7
  .get('/', () => 'a')
26
8
  .post('/', () => 'a')
@@ -217,7 +199,7 @@ describe('client', () => {
217
199
  expect(data).toEqual('a')
218
200
  })
219
201
  it('stream return async', async () => {
220
- const { data } = await client['stream-return-async'].get()
202
+ const { data } = await client['stream-return-async'].get({})
221
203
  // console.log(data)
222
204
  expect(data).toEqual('a')
223
205
  })
package/src/context.ts ADDED
@@ -0,0 +1,128 @@
1
+ import type {
2
+ StatusMap,
3
+ InvertedStatusMap,
4
+ redirect as Redirect,
5
+ } from './utils.js'
6
+
7
+ import type {
8
+ RouteSchema,
9
+ Prettify,
10
+ ResolvePath,
11
+ SingletonBase,
12
+ HTTPHeaders,
13
+ } from './types.js'
14
+
15
+ import { TypedRequest } from './spiceflow.js'
16
+
17
+ export type ErrorContext<
18
+ in out Route extends RouteSchema = {},
19
+ in out Singleton extends SingletonBase = {
20
+ decorator: {}
21
+ store: {}
22
+ derive: {}
23
+ resolve: {}
24
+ },
25
+ Path extends string = '',
26
+ > = Prettify<{
27
+ // body: Route['body']
28
+ query: undefined extends Route['query']
29
+ ? Record<string, string | undefined>
30
+ : Route['query']
31
+ params: undefined extends Route['params']
32
+ ? Path extends `${string}/${':' | '*'}${string}`
33
+ ? ResolvePath<Path>
34
+ : { [key in string]: string }
35
+ : Route['params']
36
+
37
+ // server: Server | null
38
+ redirect: Redirect
39
+
40
+ /**
41
+ * Path extracted from incoming URL
42
+ *
43
+ * Represent a value extracted from URL
44
+ *
45
+ * @example '/id/9'
46
+ */
47
+ path: string
48
+ /**
49
+ * Path as registered to router
50
+ *
51
+ * Represent a path registered to a router, not a URL
52
+ *
53
+ * @example '/id/:id'
54
+ */
55
+ // route: string
56
+ request: TypedRequest<Route['body']>
57
+ store: Singleton['store']
58
+ // response: Route['response']
59
+ }>
60
+
61
+ export type Context<
62
+ in out Route extends RouteSchema = {},
63
+ in out Singleton extends SingletonBase = {
64
+ decorator: {}
65
+ store: {}
66
+ derive: {}
67
+ resolve: {}
68
+ },
69
+ Path extends string = '',
70
+ > = Prettify<{
71
+ // body: Route['body']
72
+ query: undefined extends Route['query']
73
+ ? Record<string, string | undefined>
74
+ : Route['query']
75
+ params: undefined extends Route['params']
76
+ ? Path extends `${string}/${':' | '*'}${string}`
77
+ ? ResolvePath<Path>
78
+ : never
79
+ : Route['params']
80
+
81
+ // server: Server | null
82
+ redirect: Redirect
83
+
84
+ /**
85
+ * Path extracted from incoming URL
86
+ *
87
+ * Represent a value extracted from URL
88
+ *
89
+ * @example '/id/9'
90
+ */
91
+ path: string
92
+ /**
93
+ * Path as registered to router
94
+ *
95
+ * Represent a path registered to a router, not a URL
96
+ *
97
+ * @example '/id/:id'
98
+ */
99
+ // route: string
100
+ request: TypedRequest<Route['body']>
101
+ store: Singleton['store']
102
+ response?: Route['response']
103
+ }>
104
+
105
+ // Use to mimic request before mapping route
106
+ export type MiddlewareContext<
107
+ in out Singleton extends SingletonBase = {
108
+ decorator: {}
109
+ store: {}
110
+ },
111
+ > = Prettify<{
112
+ store: Singleton['store']
113
+ request: Request
114
+ path: string
115
+ query?: Record<string, string | undefined>
116
+ params?: Record<string, string | undefined>
117
+
118
+ redirect: Redirect
119
+ // server: Server | null
120
+
121
+ // set: {
122
+ // headers: HTTPHeaders
123
+ // status?: number
124
+ // redirect?: string
125
+ // }
126
+
127
+ // error: typeof error
128
+ }>
package/src/index.ts CHANGED
@@ -1,2 +1 @@
1
- export * from './spiceflow.js'
2
- export { Static } from '@sinclair/typebox'
1
+ export { Spiceflow, AnySpiceflow } from './spiceflow.js'
@@ -0,0 +1,107 @@
1
+ import { test, describe, expect } from 'vitest'
2
+ import { Type } from '@sinclair/typebox'
3
+ import { bfs, Spiceflow } from './spiceflow.js'
4
+ import { z } from 'zod'
5
+
6
+ test('middleware with next changes the response', async () => {
7
+ const res = await new Spiceflow()
8
+ .use(async ({ request }, next) => {
9
+ expect(request.method).toBe('GET')
10
+ const res = await next()
11
+ expect(res).toBeInstanceOf(Response)
12
+ if (res) {
13
+ res.headers.set('x-test', 'ok')
14
+ }
15
+ return res
16
+ })
17
+ .get('/ids/:id', () => 'hi')
18
+ .post('/ids/:id', ({ params: { id } }) => id, {
19
+ params: z.object({ id: z.string() }),
20
+ })
21
+ .handle(new Request('http://localhost/ids/xxx', { method: 'GET' }))
22
+ expect(res.status).toBe(200)
23
+ expect(await res.json()).toEqual('hi')
24
+ expect(res.headers.get('x-test')).toBe('ok')
25
+ })
26
+
27
+ test('middleware without next runs the next middleware and handler', async () => {
28
+ let middlewaresCalled = [] as string[]
29
+ const res = await new Spiceflow()
30
+ .use(async ({ request }) => {
31
+ middlewaresCalled.push('first')
32
+ })
33
+ .use(async ({ request }, next) => {
34
+ middlewaresCalled.push('second')
35
+ const res = await next()
36
+ if (res instanceof Response) {
37
+ res.headers.set('x-test', 'ok')
38
+ }
39
+ return res
40
+ })
41
+ .get('/ids/:id', () => 'hi')
42
+
43
+ .handle(new Request('http://localhost/ids/xxx', { method: 'GET' }))
44
+ expect(res.status).toBe(200)
45
+ expect(middlewaresCalled).toEqual(['first', 'second'])
46
+ expect(await res.json()).toEqual('hi')
47
+ expect(res.headers.get('x-test')).toBe('ok')
48
+ })
49
+ test('middleware throws response', async () => {
50
+ let middlewaresCalled = [] as string[]
51
+ const res = await new Spiceflow()
52
+ .use(async ({ request }) => {
53
+ middlewaresCalled.push('first')
54
+ })
55
+ .use(async ({ request }, next) => {
56
+ middlewaresCalled.push('second')
57
+ throw new Response('ok')
58
+ })
59
+ .get('/ids/:id', () => 'hi')
60
+
61
+ .handle(new Request('http://localhost/ids/xxx', { method: 'GET' }))
62
+ expect(res.status).toBe(200)
63
+ expect(middlewaresCalled).toEqual(['first', 'second'])
64
+ expect(await res.text()).toEqual('ok')
65
+ })
66
+
67
+ test('middleware stops other middlewares', async () => {
68
+ let middlewaresCalled = [] as string[]
69
+ const res = await new Spiceflow()
70
+ .use(async ({ request }) => {
71
+ middlewaresCalled.push('first')
72
+ return new Response('ok')
73
+ })
74
+ .use(async ({ request }) => {
75
+ middlewaresCalled.push('second')
76
+ })
77
+ .get('/ids/:id', () => 'hi')
78
+
79
+ .handle(new Request('http://localhost/ids/xxx', { method: 'GET' }))
80
+ expect(res.status).toBe(200)
81
+ expect(middlewaresCalled).toEqual(['first'])
82
+ expect(await res.text()).toEqual('ok')
83
+ })
84
+
85
+ test('middleware changes handler response body', async () => {
86
+ let middlewaresCalled = [] as string[]
87
+ const res = await new Spiceflow()
88
+ .use(async (ctx, next) => {
89
+ middlewaresCalled.push('first')
90
+ const response = await next()
91
+ if (response) {
92
+ const body = await response.text()
93
+ return new Response(body.toUpperCase(), response)
94
+ }
95
+ return response
96
+ })
97
+ .use(async (ctx, next) => {
98
+ middlewaresCalled.push('second')
99
+ return next()
100
+ })
101
+ .get('/test', () => 'hello world')
102
+ .handle(new Request('http://localhost/test'))
103
+
104
+ expect(res.status).toBe(200)
105
+ expect(middlewaresCalled).toEqual(['first', 'second'])
106
+ expect(await res.json()).toEqual('HELLO WORLD')
107
+ })
@@ -18,7 +18,16 @@ test('openapi response', async () => {
18
18
  .use(
19
19
  new Spiceflow({ basePath: '/one' }).get(
20
20
  '/ids/:id',
21
- ({ params }) => params.id,
21
+ ({ params }) => {
22
+ if (Math.random() < 0.5) {
23
+ // TODO add a way to set status
24
+
25
+ return {
26
+ message: 'sdf',
27
+ }
28
+ }
29
+ return params.id
30
+ },
22
31
  {
23
32
  response: {
24
33
  200: z.string(),
@@ -59,6 +68,25 @@ test('openapi response', async () => {
59
68
  }),
60
69
  },
61
70
  )
71
+ .post(
72
+ '/queryParams',
73
+ async (c) => {
74
+ const query = c.query
75
+ return query
76
+ },
77
+ {
78
+ detail: {
79
+ description: 'This is a post',
80
+ operationId: 'postQueryParamsXXX',
81
+ },
82
+ body: z.object({
83
+ name: z.string(),
84
+ }),
85
+ response: z.object({
86
+ name: z.string().optional(),
87
+ }),
88
+ },
89
+ )
62
90
  .use(
63
91
  new Spiceflow({ basePath: '/two' }).get(
64
92
  '/ids/:id',
@@ -201,6 +229,48 @@ test('openapi response', async () => {
201
229
  },
202
230
  },
203
231
  },
232
+ "post": {
233
+ "description": "This is a post",
234
+ "operationId": "postQueryParamsXXX",
235
+ "parameters": [],
236
+ "requestBody": {
237
+ "content": {
238
+ "application/json": {
239
+ "schema": {
240
+ "$schema": "http://json-schema.org/draft-07/schema#",
241
+ "additionalProperties": false,
242
+ "properties": {
243
+ "name": {
244
+ "type": "string",
245
+ },
246
+ },
247
+ "required": [
248
+ "name",
249
+ ],
250
+ "type": "object",
251
+ },
252
+ },
253
+ },
254
+ "required": true,
255
+ },
256
+ "responses": {
257
+ "200": {
258
+ "$schema": "http://json-schema.org/draft-07/schema#",
259
+ "content": {
260
+ "application/json": {
261
+ "schema": {
262
+ "properties": {
263
+ "name": {
264
+ "type": "string",
265
+ },
266
+ },
267
+ "type": "object",
268
+ },
269
+ },
270
+ },
271
+ },
272
+ },
273
+ },
204
274
  },
205
275
  "/two/ids/{id}": {
206
276
  "get": {
package/src/openapi.ts CHANGED
@@ -6,7 +6,7 @@ import type { OpenAPIV3 } from 'openapi-types'
6
6
 
7
7
  let excludeMethods = ['OPTIONS']
8
8
 
9
- import type { HTTPMethod, LocalHook, TypeSchema } from './elysia-fork/types.js'
9
+ import type { HTTPMethod, LocalHook, TypeSchema } from './types.js'
10
10
 
11
11
  import deepClone from 'lodash.clonedeep'
12
12
  import { z } from 'zod'