gemi 0.3.9 → 0.4.1

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/app/App.d.ts CHANGED
@@ -39,60 +39,7 @@ export declare class App {
39
39
  printName(): void;
40
40
  getComponentTree(): ComponentTree;
41
41
  private resolvePageData;
42
- handleRequest(req: Request): Promise<{
43
- kind: string;
44
- data: {};
45
- headers: {
46
- "Set-Cookie": string;
47
- };
48
- } | {
49
- kind: string;
50
- data?: undefined;
51
- meta?: undefined;
52
- headers?: undefined;
53
- head?: undefined;
54
- status?: undefined;
55
- } | {
56
- kind: string;
57
- data: {
58
- [x: string]: any;
59
- pageData?: undefined;
60
- auth?: undefined;
61
- routeManifest?: undefined;
62
- router?: undefined;
63
- componentTree?: undefined;
64
- };
65
- meta: any[];
66
- headers: {};
67
- head?: undefined;
68
- status?: undefined;
69
- } | {
70
- kind: string;
71
- data: {
72
- pageData: {
73
- [x: string]: any;
74
- };
75
- auth: {
76
- user: any;
77
- };
78
- routeManifest: Record<string, string[]>;
79
- router: {
80
- pathname: string;
81
- params: Record<string, any>;
82
- currentPath: string;
83
- is404: boolean;
84
- };
85
- componentTree: ([string, [string, [string, [string, [string, [string, [string, [string, [string, [string, [string, any[]][]][]][]][]][]][]][]][]][]][]] | (string | any[])[])[];
86
- };
87
- head: {};
88
- headers: {
89
- "Content-Type": string;
90
- "Cache-Control": string;
91
- ETag: string;
92
- };
93
- status: number;
94
- meta?: undefined;
95
- }>;
42
+ handleRequest(req: Request): Promise<any>;
96
43
  fetch(req: Request, renderParams: RenderParams): Promise<Response>;
97
44
  private handleWebSocketMessage;
98
45
  private handleWebSocketOpen;
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../app/App.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAGV,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAsB,MAAM,oBAAoB,CAAC;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAU3C,OAAO,EAAE,aAAa,EAA2B,MAAM,OAAO,CAAC;AAK/D,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAED,UAAU,SAAS;IACjB,UAAU,EAAE,UAAU,UAAU,CAAC;IACjC,SAAS,EAAE,UAAU,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAC;IACzD,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,cAAc,CAGf;IACP,OAAO,CAAC,aAAa,CASd;IACP,OAAO,CAAC,aAAa,CAAgC;IAC9C,IAAI,SAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAgB;IAC9B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAM;IAC7D,UAAU,SAAK;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,SAAS;IAU7B,OAAO,CAAC,OAAO;IAkCR,SAAS;IAIT,gBAAgB;YAIT,eAAe;IAsDvB,aAAa,CAAC,GAAG,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqL1B,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY;IA+GpD,OAAO,CAAC,sBAAsB,CAGtB;IACR,OAAO,CAAC,mBAAmB,CAEzB;IACF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,SAAS;sBAdH,eAAe,WACV,MAAM,GAAG,MAAM;mBAES,eAAe;oBAI5C,eAAe,QACb,MAAM,UACJ,MAAM;MASd;CACH"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../app/App.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAGV,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAsB,MAAM,oBAAoB,CAAC;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAU3C,OAAO,EAAE,aAAa,EAA2B,MAAM,OAAO,CAAC;AAK/D,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAED,UAAU,SAAS;IACjB,UAAU,EAAE,UAAU,UAAU,CAAC;IACjC,SAAS,EAAE,UAAU,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAC;IACzD,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,cAAc,CAGf;IACP,OAAO,CAAC,aAAa,CASd;IACP,OAAO,CAAC,aAAa,CAAgC;IAC9C,IAAI,SAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAgB;IAC9B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAM;IAC7D,UAAU,SAAK;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,SAAS;IAU7B,OAAO,CAAC,OAAO;IAkCR,SAAS;IAIT,gBAAgB;YAIT,eAAe;IAsDvB,aAAa,CAAC,GAAG,EAAE,OAAO;IAqL1B,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY;IA+GpD,OAAO,CAAC,sBAAsB,CAGtB;IACR,OAAO,CAAC,mBAAmB,CAEzB;IACF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,SAAS;sBAdH,eAAe,WACV,MAAM,GAAG,MAAM;mBAES,eAAe;oBAI5C,eAAe,QACb,MAAM,UACJ,MAAM;MASd;CACH"}
package/dist/app/index.js CHANGED
@@ -499,10 +499,13 @@ class Controller {
499
499
  }
500
500
  }
501
501
  // http/Error.ts
502
+ var GEMI_REQUEST_BREAKER_ERROR = Symbol("GEMI_REQUEST_BREAKER_ERROR");
503
+
502
504
  class RequestBreakerError extends Error {
503
505
  constructor() {
504
506
  super(...arguments);
505
507
  }
508
+ kind = GEMI_REQUEST_BREAKER_ERROR;
506
509
  payload = { api: {}, view: {} };
507
510
  }
508
511
 
@@ -770,9 +773,9 @@ class ViewRouter {
770
773
  middlewares = [];
771
774
  middleware(req) {
772
775
  }
773
- layout(viewPath, handler, children = {}) {
776
+ layout(viewPath, handler, children) {
774
777
  function prepare(middlewares = []) {
775
- let _children = children;
778
+ let _children = children ?? {};
776
779
  if (handler && handler.constructor === Object) {
777
780
  _children = handler;
778
781
  }
@@ -807,9 +810,9 @@ class ViewRouter {
807
810
  })
808
811
  };
809
812
  }
810
- view(viewPath, handler, children = {}) {
813
+ view(viewPath, handler, children) {
811
814
  function prepare(middlewares = []) {
812
- let _children = children;
815
+ let _children = children ?? {};
813
816
  if (handler && handler.constructor === Object) {
814
817
  _children = handler;
815
818
  }
@@ -1984,7 +1987,7 @@ class App {
1984
1987
  try {
1985
1988
  await reqWithMiddlewares(new HttpRequest(req), reqCtx);
1986
1989
  } catch (err) {
1987
- if (err instanceof RequestBreakerError) {
1990
+ if (err.kind === GEMI_REQUEST_BREAKER_ERROR) {
1988
1991
  return {
1989
1992
  kind: "apiError",
1990
1993
  ...err.payload.api
@@ -1998,7 +2001,7 @@ class App {
1998
2001
  try {
1999
2002
  data = await exec(req, params, this);
2000
2003
  } catch (err) {
2001
- if (err instanceof RequestBreakerError) {
2004
+ if (err.kind === GEMI_REQUEST_BREAKER_ERROR) {
2002
2005
  return {
2003
2006
  kind: "apiError",
2004
2007
  ...err.payload.api
@@ -32,10 +32,13 @@ class Auth {
32
32
  }
33
33
  }
34
34
  // http/Error.ts
35
+ var GEMI_REQUEST_BREAKER_ERROR = Symbol("GEMI_REQUEST_BREAKER_ERROR");
36
+
35
37
  class RequestBreakerError extends Error {
36
38
  constructor() {
37
39
  super(...arguments);
38
40
  }
41
+ kind = GEMI_REQUEST_BREAKER_ERROR;
39
42
  payload = { api: {}, view: {} };
40
43
  }
41
44
 
@@ -1,4 +1,6 @@
1
+ export declare const GEMI_REQUEST_BREAKER_ERROR: unique symbol;
1
2
  export declare class RequestBreakerError extends Error {
3
+ kind: symbol;
2
4
  payload: {
3
5
  api: Record<string, any>;
4
6
  view: Record<string, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../http/Error.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;IACrC,OAAO,EAAE;QACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC3B,CAAyB;CAC3B"}
1
+ {"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../http/Error.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAE/E,qBAAa,mBAAoB,SAAQ,KAAK;IACrC,IAAI,SAA8B;IAClC,OAAO,EAAE;QACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC3B,CAAyB;CAC3B"}
@@ -23,10 +23,10 @@ export declare class ViewRouter {
23
23
  middlewares: string[];
24
24
  middleware(req: Request): MiddlewareReturnType;
25
25
  protected layout<T extends new (app: App) => Controller>(viewPath: string): ViewConfig;
26
- protected layout<T extends new (app: App) => Controller>(viewPath: string, children?: ViewChildren): ViewConfig;
26
+ protected layout<T extends new (app: App) => Controller>(viewPath: string, children: ViewChildren): ViewConfig;
27
27
  protected layout<T extends new (app: App) => Controller>(viewPath: string, handler: ViewHandler<T>): ViewConfig;
28
28
  protected view<T extends new (app: App) => Controller>(viewPath: string): ViewConfig;
29
- protected view<T extends new (app: App) => Controller>(viewPath: string, children?: ViewChildren): ViewConfig;
29
+ protected view<T extends new (app: App) => Controller>(viewPath: string, children: ViewChildren): ViewConfig;
30
30
  protected view<T extends new (app: App) => Controller>(viewPath: string, handler: ViewHandler<T>): ViewConfig;
31
31
  }
32
32
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ViewRouter.d.ts","sourceRoot":"","sources":["../../http/ViewRouter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,KAAK,iBAAiB,CAAC,CAAC,SAAS,UAAU,UAAU,IAAI;KACtD,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK;CAC9E,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzB,KAAK,WAAW,CAAC,CAAC,SAAS,UAAU,UAAU,IAC3C,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAC7C,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAE3C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;CACzB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,KAAK,WAAW,CAAC;IAC/C,UAAU,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,GAAG,EAAE,GAAG,KACL,GAAG,CAAC;AAET,qBAAa,UAAU;IACd,MAAM,EAAE,YAAY,CAAM;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAM;IAE3B,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB;IAErD,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACrD,QAAQ,EAAE,MAAM,GACf,UAAU;IACb,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACrD,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,YAAiB,GAC1B,UAAU;IACb,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACrD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GACtB,UAAU;IAmDb,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACnD,QAAQ,EAAE,MAAM,GACf,UAAU;IACb,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACnD,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,YAAiB,GAC1B,UAAU;IACb,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACnD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GACtB,UAAU;CAkDd"}
1
+ {"version":3,"file":"ViewRouter.d.ts","sourceRoot":"","sources":["../../http/ViewRouter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,KAAK,iBAAiB,CAAC,CAAC,SAAS,UAAU,UAAU,IAAI;KACtD,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK;CAC9E,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzB,KAAK,WAAW,CAAC,CAAC,SAAS,UAAU,UAAU,IAC3C,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAC7C,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAE3C,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;CACzB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,KAAK,WAAW,CAAC;IAC/C,UAAU,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,GAAG,EAAE,GAAG,KACL,GAAG,CAAC;AAET,qBAAa,UAAU;IACd,MAAM,EAAE,YAAY,CAAM;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAM;IAE3B,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB;IAErD,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACrD,QAAQ,EAAE,MAAM,GACf,UAAU;IACb,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACrD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,YAAY,GACrB,UAAU;IACb,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACrD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GACtB,UAAU;IAmDb,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACnD,QAAQ,EAAE,MAAM,GACf,UAAU;IACb,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACnD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,YAAY,GACrB,UAAU;IACb,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACnD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GACtB,UAAU;CAkDd"}
@@ -28,10 +28,13 @@ class Controller {
28
28
  }
29
29
  }
30
30
  // http/Error.ts
31
+ var GEMI_REQUEST_BREAKER_ERROR = Symbol("GEMI_REQUEST_BREAKER_ERROR");
32
+
31
33
  class RequestBreakerError extends Error {
32
34
  constructor() {
33
35
  super(...arguments);
34
36
  }
37
+ kind = GEMI_REQUEST_BREAKER_ERROR;
35
38
  payload = { api: {}, view: {} };
36
39
  }
37
40
 
@@ -299,9 +302,9 @@ class ViewRouter {
299
302
  middlewares = [];
300
303
  middleware(req) {
301
304
  }
302
- layout(viewPath, handler, children = {}) {
305
+ layout(viewPath, handler, children) {
303
306
  function prepare(middlewares = []) {
304
- let _children = children;
307
+ let _children = children ?? {};
305
308
  if (handler && handler.constructor === Object) {
306
309
  _children = handler;
307
310
  }
@@ -336,9 +339,9 @@ class ViewRouter {
336
339
  })
337
340
  };
338
341
  }
339
- view(viewPath, handler, children = {}) {
342
+ view(viewPath, handler, children) {
340
343
  function prepare(middlewares = []) {
341
- let _children = children;
344
+ let _children = children ?? {};
342
345
  if (handler && handler.constructor === Object) {
343
346
  _children = handler;
344
347
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemi",
3
- "version": "0.3.9",
3
+ "version": "0.4.1",
4
4
  "devDependencies": {
5
5
  "@repo/eslint-config": "*",
6
6
  "@repo/typescript-config": "*",
@@ -38,7 +38,9 @@
38
38
  "build:client": "vite build",
39
39
  "build:types": "tsc",
40
40
  "build:client-types": "tsc -p tsconfig.browser.json",
41
- "test": "vitest"
41
+ "test": "vitest",
42
+ "prepublishOnly": "bun run build && bun scripts/setupExports.ts prod",
43
+ "postpublish": "bun scripts/setupExports.ts dev"
42
44
  },
43
45
  "dependencies": {
44
46
  "commander": "^12.1.0",
@@ -48,4 +50,4 @@
48
50
  "urlpattern-polyfill": "^10.0.0",
49
51
  "uuid": "^9.0.1"
50
52
  }
51
- }
53
+ }