dirent-router 1.0.0 → 1.0.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/bin/router.d.ts CHANGED
@@ -17,5 +17,7 @@ export type RouteDefinition = {
17
17
  children: RouteDefinition[];
18
18
  };
19
19
  export type FlatRouteDefinition = Omit<RouteDefinition, "children">;
20
+ export declare const getNestedRoutes: (rootPath: string, structure: RouteStructure) => Promise<RouteDefinition>;
21
+ export declare const flattenNestedRoutes: (defs: RouteDefinition) => Promise<FlatRouteDefinition[]>;
20
22
  export declare const getRoutes: (cfg: RouterConfig) => Promise<FlatRouteDefinition[]>;
21
23
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AAIzD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAsGpE,eAAO,MAAM,SAAS,GACpB,KAAK,YAAY,KAChB,OAAO,CAAC,mBAAmB,EAAE,CAK/B,CAAC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AAIzD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AA4CpE,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,WAAW,cAAc,KACxB,OAAO,CAAC,eAAe,CAoBzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,eAAe,KACpB,OAAO,CAAC,mBAAmB,EAAE,CA6B/B,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,KAAK,YAAY,KAChB,OAAO,CAAC,mBAAmB,EAAE,CAK/B,CAAC"}
package/bin/router.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getRoutes = void 0;
6
+ exports.getRoutes = exports.flattenNestedRoutes = exports.getNestedRoutes = void 0;
7
7
  const util_1 = require("./util");
8
8
  const promises_1 = __importDefault(require("fs/promises"));
9
9
  const path_1 = __importDefault(require("path"));
@@ -37,7 +37,7 @@ const findRouteStructure = async (path) => {
37
37
  children: children,
38
38
  };
39
39
  };
40
- const findRouteDefs = async (rootPath, structure) => {
40
+ const getNestedRoutes = async (rootPath, structure) => {
41
41
  const relativepath = path_1.default.relative(rootPath, structure.filepath);
42
42
  const endpoint = "/" +
43
43
  [relativepath]
@@ -50,11 +50,12 @@ const findRouteDefs = async (rootPath, structure) => {
50
50
  args: (0, endpoint_1.parseEndpoint)(endpoint),
51
51
  methods: {},
52
52
  children: await Promise.all(structure.children.map(async (child) => {
53
- return findRouteDefs(rootPath, child);
53
+ return (0, exports.getNestedRoutes)(rootPath, child);
54
54
  })),
55
55
  };
56
56
  };
57
- const flattenRoutes = async (defs) => {
57
+ exports.getNestedRoutes = getNestedRoutes;
58
+ const flattenNestedRoutes = async (defs) => {
58
59
  const items = [];
59
60
  const q = [defs];
60
61
  const seen = new Set();
@@ -80,11 +81,12 @@ const flattenRoutes = async (defs) => {
80
81
  }
81
82
  return (0, util_1.uniqueBy)(items, (x) => x.endpoint);
82
83
  };
84
+ exports.flattenNestedRoutes = flattenNestedRoutes;
83
85
  const getRoutes = async (cfg) => {
84
86
  const rootPath = path_1.default.resolve(cfg.routesDir);
85
87
  const structure = await findRouteStructure(rootPath);
86
- const defs = await findRouteDefs(rootPath, structure);
87
- return await flattenRoutes(defs);
88
+ const defs = await (0, exports.getNestedRoutes)(rootPath, structure);
89
+ return await (0, exports.flattenNestedRoutes)(defs);
88
90
  };
89
91
  exports.getRoutes = getRoutes;
90
92
  //# sourceMappingURL=router.js.map
package/bin/router.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
package/dist/router.d.ts CHANGED
@@ -17,5 +17,7 @@ export type RouteDefinition = {
17
17
  children: RouteDefinition[];
18
18
  };
19
19
  export type FlatRouteDefinition = Omit<RouteDefinition, "children">;
20
+ export declare const getNestedRoutes: (rootPath: string, structure: RouteStructure) => Promise<RouteDefinition>;
21
+ export declare const flattenNestedRoutes: (defs: RouteDefinition) => Promise<FlatRouteDefinition[]>;
20
22
  export declare const getRoutes: (cfg: RouterConfig) => Promise<FlatRouteDefinition[]>;
21
23
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AAIzD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAsGpE,eAAO,MAAM,SAAS,GACpB,KAAK,YAAY,KAChB,OAAO,CAAC,mBAAmB,EAAE,CAK/B,CAAC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AAIzD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AA4CpE,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,WAAW,cAAc,KACxB,OAAO,CAAC,eAAe,CAoBzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,eAAe,KACpB,OAAO,CAAC,mBAAmB,EAAE,CA6B/B,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,KAAK,YAAY,KAChB,OAAO,CAAC,mBAAmB,EAAE,CAK/B,CAAC"}
package/dist/router.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getRoutes = void 0;
6
+ exports.getRoutes = exports.flattenNestedRoutes = exports.getNestedRoutes = void 0;
7
7
  const util_1 = require("./util");
8
8
  const promises_1 = __importDefault(require("fs/promises"));
9
9
  const path_1 = __importDefault(require("path"));
@@ -37,7 +37,7 @@ const findRouteStructure = async (path) => {
37
37
  children: children,
38
38
  };
39
39
  };
40
- const findRouteDefs = async (rootPath, structure) => {
40
+ const getNestedRoutes = async (rootPath, structure) => {
41
41
  const relativepath = path_1.default.relative(rootPath, structure.filepath);
42
42
  const endpoint = "/" +
43
43
  [relativepath]
@@ -50,11 +50,12 @@ const findRouteDefs = async (rootPath, structure) => {
50
50
  args: (0, endpoint_1.parseEndpoint)(endpoint),
51
51
  methods: {},
52
52
  children: await Promise.all(structure.children.map(async (child) => {
53
- return findRouteDefs(rootPath, child);
53
+ return (0, exports.getNestedRoutes)(rootPath, child);
54
54
  })),
55
55
  };
56
56
  };
57
- const flattenRoutes = async (defs) => {
57
+ exports.getNestedRoutes = getNestedRoutes;
58
+ const flattenNestedRoutes = async (defs) => {
58
59
  const items = [];
59
60
  const q = [defs];
60
61
  const seen = new Set();
@@ -80,11 +81,12 @@ const flattenRoutes = async (defs) => {
80
81
  }
81
82
  return (0, util_1.uniqueBy)(items, (x) => x.endpoint);
82
83
  };
84
+ exports.flattenNestedRoutes = flattenNestedRoutes;
83
85
  const getRoutes = async (cfg) => {
84
86
  const rootPath = path_1.default.resolve(cfg.routesDir);
85
87
  const structure = await findRouteStructure(rootPath);
86
- const defs = await findRouteDefs(rootPath, structure);
87
- return await flattenRoutes(defs);
88
+ const defs = await (0, exports.getNestedRoutes)(rootPath, structure);
89
+ return await (0, exports.flattenNestedRoutes)(defs);
88
90
  };
89
91
  exports.getRoutes = getRoutes;
90
92
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dirent-router",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./dist/index.d.ts",
@@ -8,6 +8,22 @@
8
8
  "bin": {
9
9
  "dirent-router": "./bin/bin.js"
10
10
  },
11
+ "exports": {
12
+ ".": {
13
+ "import": {
14
+ "types": "./dist/index.d.ts",
15
+ "default": "./dist/index.js"
16
+ },
17
+ "require": {
18
+ "types": "./dist/index.d.ts",
19
+ "default": "./dist/index.js"
20
+ },
21
+ "default": {
22
+ "types": "./dist/index.d.ts",
23
+ "default": "./dist/index.js"
24
+ }
25
+ }
26
+ },
11
27
  "scripts": {
12
28
  "test": "vitest",
13
29
  "build:lib": "tsc -p ./tsconfig.lib.json",
package/src/router.ts CHANGED
@@ -71,7 +71,7 @@ const findRouteStructure = async (path: string): Promise<RouteStructure> => {
71
71
  };
72
72
  };
73
73
 
74
- const findRouteDefs = async (
74
+ export const getNestedRoutes = async (
75
75
  rootPath: string,
76
76
  structure: RouteStructure,
77
77
  ): Promise<RouteDefinition> => {
@@ -90,13 +90,13 @@ const findRouteDefs = async (
90
90
  methods: {},
91
91
  children: await Promise.all(
92
92
  structure.children.map(async (child) => {
93
- return findRouteDefs(rootPath, child);
93
+ return getNestedRoutes(rootPath, child);
94
94
  }),
95
95
  ),
96
96
  };
97
97
  };
98
98
 
99
- const flattenRoutes = async (
99
+ export const flattenNestedRoutes = async (
100
100
  defs: RouteDefinition,
101
101
  ): Promise<FlatRouteDefinition[]> => {
102
102
  const items: FlatRouteDefinition[] = [];
@@ -134,6 +134,6 @@ export const getRoutes = async (
134
134
  ): Promise<FlatRouteDefinition[]> => {
135
135
  const rootPath = pathlib.resolve(cfg.routesDir);
136
136
  const structure = await findRouteStructure(rootPath);
137
- const defs = await findRouteDefs(rootPath, structure);
138
- return await flattenRoutes(defs);
137
+ const defs = await getNestedRoutes(rootPath, structure);
138
+ return await flattenNestedRoutes(defs);
139
139
  };