@heathenjs/taro-router-generator 1.0.7 → 1.0.9

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.

Potentially problematic release.


This version of @heathenjs/taro-router-generator might be problematic. Click here for more details.

package/dist/index.d.ts CHANGED
@@ -23,7 +23,7 @@ export declare class Generator {
23
23
  /** 生成路由方法 */
24
24
  private generateRouterNavigateMethod;
25
25
  /** 生成页面对象的集合 */
26
- private generateGetPagesMethod;
26
+ private generatePagesSet;
27
27
  private createRouterSourceFile;
28
28
  private overrideRouter;
29
29
  generateRouter(): void;
package/dist/index.js CHANGED
@@ -146,9 +146,35 @@ class Generator {
146
146
  return methodText;
147
147
  }
148
148
  /** 生成页面对象的集合 */
149
- generateGetPagesMethod() {
150
- return `private static _pages = ${JSON.stringify(this.pages)}
151
- static getPages = () => { return Router._pages };`;
149
+ generatePagesSet() {
150
+ const pathToPageObj = {};
151
+ const methodLikePathObj = {};
152
+ for (let A = 0; A < this.pages.length; ++A) {
153
+ const currentPage = this.pages[A];
154
+ pathToPageObj[currentPage.path] = currentPage;
155
+ const methodName = (0, utils_1.formatPageDir)(currentPage.dirName);
156
+ const pageName = methodName.replace(/^(\w)/g, (_, letter) => {
157
+ return letter.toLowerCase();
158
+ });
159
+ if (currentPage.packageName === this.mainPackageName) {
160
+ methodLikePathObj[pageName] = {
161
+ path: currentPage.path,
162
+ };
163
+ }
164
+ else {
165
+ if (!methodLikePathObj[currentPage.packageName]) {
166
+ methodLikePathObj[currentPage.packageName] = {};
167
+ }
168
+ methodLikePathObj[currentPage.packageName][pageName] = {
169
+ path: currentPage.path,
170
+ };
171
+ }
172
+ }
173
+ return [
174
+ `private static _methodLikePathObj = ${JSON.stringify(methodLikePathObj)}`,
175
+ `private static _pathToPageMap = ${JSON.stringify(pathToPageObj)}`,
176
+ `static getPages = () => { return Router._methodLikePathObj }`,
177
+ ].join('\n');
152
178
  }
153
179
  createRouterSourceFile() {
154
180
  return this.tsProject.createSourceFile('temp.ts', (writer) => {
@@ -158,7 +184,7 @@ class Generator {
158
184
  writer.writeLine('type Params<P> = RequiredKeys<P> extends never ? { params?: P } : { params: P }');
159
185
  writer.writeLine('class Router {');
160
186
  writer.write(this.generateRouterNavigateMethod());
161
- writer.write(this.generateGetPagesMethod());
187
+ writer.write(this.generatePagesSet());
162
188
  writer.writeLine('}');
163
189
  });
164
190
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heathenjs/taro-router-generator",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "devDependencies": {
19
19
  "@types/normalize-path": "^3.0.0",
20
- "@heathenjs/taro-router": "1.0.7"
20
+ "@heathenjs/taro-router": "1.0.9"
21
21
  },
22
22
  "scripts": {
23
23
  "prod": "tsc -p ./tsconfig.json",
package/src/index.ts CHANGED
@@ -182,9 +182,35 @@ export class Generator {
182
182
  }
183
183
 
184
184
  /** 生成页面对象的集合 */
185
- private generateGetPagesMethod() {
186
- return `private static _pages = ${JSON.stringify(this.pages)}
187
- static getPages = () => { return Router._pages };`;
185
+ private generatePagesSet() {
186
+ const pathToPageObj: Record<string, Page> = {};
187
+ const methodLikePathObj: Record<string, { path: string } | Record<string, { path: string }>> = {};
188
+ for (let A = 0; A < this.pages.length; ++A) {
189
+ const currentPage = this.pages[A];
190
+ pathToPageObj[currentPage.path] = currentPage;
191
+
192
+ const methodName = formatPageDir(currentPage.dirName);
193
+ const pageName = methodName.replace(/^(\w)/g, (_, letter: string) => {
194
+ return letter.toLowerCase();
195
+ });
196
+ if (currentPage.packageName === this.mainPackageName) {
197
+ methodLikePathObj[pageName] = {
198
+ path: currentPage.path,
199
+ };
200
+ } else {
201
+ if (!methodLikePathObj[currentPage.packageName]) {
202
+ methodLikePathObj[currentPage.packageName] = {};
203
+ }
204
+ methodLikePathObj[currentPage.packageName][pageName] = {
205
+ path: currentPage.path,
206
+ };
207
+ }
208
+ }
209
+ return [
210
+ `private static _methodLikePathObj = ${JSON.stringify(methodLikePathObj)}`,
211
+ `private static _pathToPageMap = ${JSON.stringify(pathToPageObj)}`,
212
+ `static getPages = () => { return Router._methodLikePathObj }`,
213
+ ].join('\n');
188
214
  }
189
215
 
190
216
  private createRouterSourceFile() {
@@ -196,7 +222,7 @@ export class Generator {
196
222
  writer.writeLine('class Router {');
197
223
 
198
224
  writer.write(this.generateRouterNavigateMethod());
199
- writer.write(this.generateGetPagesMethod());
225
+ writer.write(this.generatePagesSet());
200
226
 
201
227
  writer.writeLine('}');
202
228
  });