本文整理匯總了TypeScript中@angular-devkit/schematics.chain函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript chain函數的具體用法?TypeScript chain怎麽用?TypeScript chain使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了chain函數的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: return
return (host: Tree, context: SchematicContext) => {
if (options.module) {
options.module = findModuleFromOptions(host, options);
}
const templateSource = apply(url('./files'), [
options.spec ? noop() : filter(path => !path.endsWith('__spec.ts')),
template({
...stringUtils,
'if-flat': (s: string) =>
stringUtils.group(
options.flat ? '' : s,
options.group ? 'effects' : ''
),
...(options as object),
dot: () => '.',
}),
move(sourceDir),
]);
return chain([
branchAndMerge(
chain([
filter(
path =>
path.endsWith('.module.ts') &&
!path.endsWith('-routing.module.ts')
),
addImportToNgModule(options),
mergeWith(templateSource),
])
),
])(host, context);
};
示例2: return
return (host: Tree, context: SchematicContext) => {
const workspace = getWorkspace(host);
if (!options.project) {
throw new SchematicsException('Option (project) is required.');
}
const project = workspace.projects[options.project];
if (options.path === undefined) {
options.path = buildDefaultPath(project);
}
const parsedPath = parseName(options.path, options.name);
options.name = parsedPath.name;
options.path = parsedPath.path;
const templateSource = apply(url('./files'), [
template({
...strings,
...options,
}),
move(parsedPath.path),
]);
return chain([
branchAndMerge(chain([
mergeWith(templateSource),
])),
options.lintFix ? applyLintFix(options.path) : noop(),
]);
};
示例3: return
return (host: Tree) => {
if (!options.project) {
throw new SchematicsException('Option (project) is required.');
}
const project = getProject(host, options.project);
if (options.path === undefined) {
options.path = buildDefaultPath(project);
}
const parsedPath = parseName(options.path, options.name);
options.name = parsedPath.name;
options.path = parsedPath.path;
// todo remove these when we remove the deprecations
options.skipTests = options.skipTests || !options.spec;
const templateSource = apply(url('./files'), [
options.skipTests ? filter(path => !path.endsWith('.spec.ts')) : noop(),
template({
...strings,
...options,
}),
move(parsedPath.path),
]);
return chain([
branchAndMerge(chain([
mergeWith(templateSource),
])),
options.lintFix ? applyLintFix(options.path) : noop(),
]);
};
示例4: return
return (tree: Tree, context: SchematicContext) => {
options.path = '/src/framework/theme/components/';
options.prefix = 'nb';
options.selector = options.selector || buildSelector(options);
const parsedPath = parseName(options.path, options.name);
options.name = parsedPath.name;
options.path = parsedPath.path;
options.className = buildClassName(options);
const templateSource = apply(url('./files'), [
template({
...strings,
...options,
}),
]);
return chain([
branchAndMerge(chain([
mergeWith(templateSource),
])),
])(tree, context);
};
示例5: return
return (host: Tree, context: SchematicContext) => {
options.path = getProjectPath(host, options);
const parsedPath = parseName(options.path, options.name);
options.name = parsedPath.name;
options.path = parsedPath.path;
const templateSource = apply(url('./files'), [
options.spec ? noop() : filter(path => !path.endsWith('__spec.ts')),
template({
'if-flat': (s: string) =>
stringUtils.group(
options.flat ? '' : s,
options.group ? 'actions' : ''
),
...stringUtils,
...(options as object),
dot: () => '.',
} as any),
move(parsedPath.path),
]);
return chain([branchAndMerge(chain([mergeWith(templateSource)]))])(
host,
context
);
};
示例6: return
return (host: Tree, context: SchematicContext) => {
const workspace = getWorkspace(host);
if (!options.project) {
throw new SchematicsException('Option (project) is required.');
}
const project = workspace.projects[options.project];
if (options.path === undefined) {
const projectDirName = project.projectType === 'application' ? 'app' : 'lib';
options.path = `/${project.root}/src/${projectDirName}`;
}
const parsedPath = parseName(options.path, options.name);
options.name = parsedPath.name;
options.path = parsedPath.path;
options.prefix = options.prefix ? options.prefix : '';
options.type = !!options.type ? `.${options.type}` : '';
const templateSource = apply(url('./files'), [
template({
...strings,
...options,
}),
move(parsedPath.path),
]);
return chain([
branchAndMerge(chain([
mergeWith(templateSource),
])),
])(host, context);
};
示例7: return
return (host: Tree, context: SchematicContext) => {
const workspace = getWorkspace(host);
if (Object.keys(workspace.projects).length <= 0) {
throw new SchematicsException('Could not find any project.');
}
if (!schema.project) {
schema.project = Object.keys(workspace.projects)[0];
}
const project = workspace.projects[schema.project];
resolveSchema(host, project, schema);
schema.componentName = buildComponentName(schema, (project as any).prefix);
const templateSource = apply(url('./files'), [
schema.spec ? noop() : filter(path => !path.endsWith('.spec.ts')),
schema.inlineStyle
? filter(path => !path.endsWith('.__styleext__'))
: noop(),
schema.inlineTemplate ? filter(path => !path.endsWith('.html')) : noop(),
template({
...strings,
'if-flat': (s: string) => (schema.flat ? '' : s),
...schema,
}),
move(null, schema.path + '/'),
]);
return chain([
branchAndMerge(
chain([addDeclaration(schema), mergeWith(templateSource)]),
),
])(host, context);
};
示例8: return
return (host: Tree, context: SchematicContext) => {
const workspace = getWorkspace(host);
if (!options.project) {
throw new SchematicsException('Option "project" is required.');
}
const project = workspace.projects[options.project];
if (project.projectType !== 'application') {
throw new SchematicsException(`PWA requires a project type of "application".`);
}
const assetPath = join(project.root as Path, 'src', 'assets');
const sourcePath = join(project.root as Path, 'src');
options.title = options.title || options.project;
const templateSource = apply(url('./files/assets'), [
template({
...options,
}),
move(assetPath),
]);
return chain([
addServiceWorker(options),
branchAndMerge(chain([
mergeWith(templateSource),
])),
mergeWith(apply(url('./files/root'), [
template({...options}),
move(sourcePath),
])),
updateIndexFile(options),
addManifestToAssetsConfig(options),
])(host, context);
};