refactor: replace chainAndMerge with mergeAndAllowDelete

pull/5246/head
Arman Ozak 5 years ago
parent cb2ae7a728
commit 61ad5bee59

@ -3,13 +3,13 @@ import { chain, SchematicContext, Tree } from '@angular-devkit/schematics';
import { GenerateProxySchema } from '../../models';
import {
buildDefaultPath,
chainAndMerge,
createApiDefinitionGetter,
createApisGenerator,
createProxyClearer,
createProxyConfigReader,
createProxyConfigSaver,
createProxyWarningSaver,
mergeAndAllowDelete,
removeDefaultPlaceholders,
resolveProject,
} from '../../utils';
@ -45,7 +45,12 @@ export default function(schema: GenerateProxySchema) {
const generateApis = createApisGenerator(schema, generated);
return chainAndMerge([clearProxy, saveProxyConfig, saveProxyWarning, generateApis])(host);
return chain([
mergeAndAllowDelete(host, clearProxy),
saveProxyConfig,
saveProxyWarning,
generateApis,
]);
},
]);
}

@ -1,13 +1,13 @@
import { SchematicContext, Tree } from '@angular-devkit/schematics';
import { chain, SchematicContext, Tree } from '@angular-devkit/schematics';
import { GenerateProxySchema } from '../../models';
import {
buildDefaultPath,
chainAndMerge,
createApiDefinitionGetter,
createApisGenerator,
createProxyClearer,
createProxyConfigReader,
createProxyConfigSaver,
mergeAndAllowDelete,
removeDefaultPlaceholders,
resolveProject,
} from '../../utils';
@ -32,6 +32,6 @@ export default function(schema: GenerateProxySchema) {
const generateApis = createApisGenerator(schema, generated);
return chainAndMerge([clearProxy, saveProxyConfig, generateApis])(host);
return chain([mergeAndAllowDelete(host, clearProxy), saveProxyConfig, generateApis]);
};
}

@ -1,14 +1,14 @@
import { strings } from '@angular-devkit/core';
import { SchematicContext, Tree } from '@angular-devkit/schematics';
import { chain, SchematicContext, Tree } from '@angular-devkit/schematics';
import { GenerateProxySchema } from '../../models';
import {
buildDefaultPath,
chainAndMerge,
createApiDefinitionGetter,
createApisGenerator,
createProxyClearer,
createProxyConfigReader,
createProxyConfigSaver,
mergeAndAllowDelete,
removeDefaultPlaceholders,
resolveProject,
} from '../../utils';
@ -38,6 +38,6 @@ export default function(schema: GenerateProxySchema) {
const generateApis = createApisGenerator(schema, generated);
return chainAndMerge([clearProxy, saveProxyConfig, generateApis])(host);
return chain([mergeAndAllowDelete(host, clearProxy), saveProxyConfig, generateApis]);
};
}

@ -1,6 +1,6 @@
import {
apply,
chain,
callRule,
forEach,
MergeStrategy,
mergeWith,
@ -18,12 +18,11 @@ export function applyWithOverwrite(source: Source, rules: Rule[]): Rule {
};
}
export function chainAndMerge(rules: Rule[]) {
return (host: Tree) => async (tree: Tree, context: SchematicContext) =>
host.merge(
(await (chain(rules)(tree, context) as any).toPromise()) as Tree,
MergeStrategy.AllowDeleteConflict,
);
export function mergeAndAllowDelete(host: Tree, rule: Rule) {
return async (tree: Tree, context: SchematicContext) => {
const nextTree = await callRule(rule, tree, context).toPromise();
host.merge(nextTree, MergeStrategy.AllowDeleteConflict);
};
}
export function overwriteFileIfExists(tree: Tree): Rule {

Loading…
Cancel
Save