Skip to content

Commit df85980

Browse files
committed
refactor(@schematics/angular): use generateFromFiles helper in even more cases
The enum, interceptor, and resolver schematics now more fully use the `generateFromFiles` helper. This reduces repeat code within each schematic. In some cases the schematic has been reduced to a single call to the helper.
1 parent c8c46ab commit df85980

File tree

8 files changed

+12
-27
lines changed

8 files changed

+12
-27
lines changed

packages/schematics/angular/enum/index.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,10 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import { Rule } from '@angular-devkit/schematics';
9+
import type { Rule } from '@angular-devkit/schematics';
1010
import { generateFromFiles } from '../utility/generate-from-files';
11-
import { Schema as EnumOptions } from './schema';
11+
import type { Schema as EnumOptions } from './schema';
1212

1313
export default function (options: EnumOptions): Rule {
14-
options.type = options.type ? `.${options.type}` : '';
15-
1614
return generateFromFiles(options);
1715
}

packages/schematics/angular/interceptor/index.ts

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,12 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import { Rule } from '@angular-devkit/schematics';
9+
import type { Rule } from '@angular-devkit/schematics';
1010
import { generateFromFiles } from '../utility/generate-from-files';
11-
import { Schema as InterceptorOptions } from './schema';
11+
import type { Schema as InterceptorOptions } from './schema';
1212

1313
export default function (options: InterceptorOptions): Rule {
14-
// This schematic uses an older method to implement the flat option
15-
const flat = options.flat;
16-
options.flat = true;
17-
const extraTemplateValues = {
18-
'if-flat': (s: string) => (flat ? '' : s),
19-
};
14+
const templateFilesDirectory = options.functional ? './functional-files' : './class-files';
2015

21-
return options.functional
22-
? generateFromFiles(
23-
{ ...options, templateFilesDirectory: './functional-files' },
24-
extraTemplateValues,
25-
)
26-
: generateFromFiles(
27-
{ ...options, templateFilesDirectory: './class-files' },
28-
extraTemplateValues,
29-
);
16+
return generateFromFiles({ ...options, templateFilesDirectory });
3017
}

packages/schematics/angular/resolver/index.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import { Rule } from '@angular-devkit/schematics';
9+
import type { Rule } from '@angular-devkit/schematics';
1010
import { generateFromFiles } from '../utility/generate-from-files';
11-
import { Schema } from './schema';
11+
import type { Schema as ResolverOptions } from './schema';
1212

13-
export default function (options: Schema): Rule {
14-
return options.functional
15-
? generateFromFiles({ ...options, templateFilesDirectory: './functional-files' })
16-
: generateFromFiles({ ...options, templateFilesDirectory: './class-files' });
13+
export default function (options: ResolverOptions): Rule {
14+
const templateFilesDirectory = options.functional ? './functional-files' : './class-files';
15+
16+
return generateFromFiles({ ...options, templateFilesDirectory });
1717
}

0 commit comments

Comments
 (0)