orpc-file-based-router 0.0.3 → 0.0.4

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
@@ -74,23 +74,27 @@ function buildRouter(routes, mapper) {
74
74
  return simplifyRouter(router);
75
75
  }
76
76
  function simplifyRouter(router) {
77
- const simplifiedRouter = {};
77
+ let simplifiedRouter = {};
78
78
  for (const key in router) {
79
- if (typeof router[key] === "string" || isORPCProcedure(router, key)) {
79
+ if (isLeaf(router[key])) {
80
80
  simplifiedRouter[key] = router[key];
81
- } else if (typeof router[key] === "object" && isSingleLeaf(router[key])) {
82
- const childKey = Object.keys(router[key])[0];
83
- simplifiedRouter[key] = router[key][childKey];
84
81
  } else {
85
82
  simplifiedRouter[key] = simplifyRouter(router[key]);
83
+ if (isSingleChild(simplifiedRouter[key])) {
84
+ const childKey = Object.keys(simplifiedRouter[key])[0];
85
+ simplifiedRouter[key] = simplifiedRouter[key][childKey];
86
+ }
86
87
  }
87
88
  }
88
89
  return simplifiedRouter;
89
90
  }
90
- function isORPCProcedure(obj, key) {
91
- return "~orpc" in obj[key];
91
+ function isORPCProcedure(obj) {
92
+ return "~orpc" in obj;
93
+ }
94
+ function isLeaf(obj) {
95
+ return typeof obj === "string" || isORPCProcedure(obj);
92
96
  }
93
- function isSingleLeaf(obj) {
97
+ function isSingleChild(obj) {
94
98
  const keys = Object.keys(obj);
95
99
  return keys.length === 1;
96
100
  }
package/dist/index.mjs CHANGED
@@ -68,23 +68,27 @@ function buildRouter(routes, mapper) {
68
68
  return simplifyRouter(router);
69
69
  }
70
70
  function simplifyRouter(router) {
71
- const simplifiedRouter = {};
71
+ let simplifiedRouter = {};
72
72
  for (const key in router) {
73
- if (typeof router[key] === "string" || isORPCProcedure(router, key)) {
73
+ if (isLeaf(router[key])) {
74
74
  simplifiedRouter[key] = router[key];
75
- } else if (typeof router[key] === "object" && isSingleLeaf(router[key])) {
76
- const childKey = Object.keys(router[key])[0];
77
- simplifiedRouter[key] = router[key][childKey];
78
75
  } else {
79
76
  simplifiedRouter[key] = simplifyRouter(router[key]);
77
+ if (isSingleChild(simplifiedRouter[key])) {
78
+ const childKey = Object.keys(simplifiedRouter[key])[0];
79
+ simplifiedRouter[key] = simplifiedRouter[key][childKey];
80
+ }
80
81
  }
81
82
  }
82
83
  return simplifiedRouter;
83
84
  }
84
- function isORPCProcedure(obj, key) {
85
- return "~orpc" in obj[key];
85
+ function isORPCProcedure(obj) {
86
+ return "~orpc" in obj;
87
+ }
88
+ function isLeaf(obj) {
89
+ return typeof obj === "string" || isORPCProcedure(obj);
86
90
  }
87
- function isSingleLeaf(obj) {
91
+ function isSingleChild(obj) {
88
92
  const keys = Object.keys(obj);
89
93
  return keys.length === 1;
90
94
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orpc-file-based-router",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "File-based router plugin for oRPC - automatically generate oRPC router from your file structure",
5
5
  "author": "zeeeeby",
6
6
  "license": "MIT",