description.d.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * @license
  3. * Copyright Google Inc. All Rights Reserved.
  4. *
  5. * Use of this source code is governed by an MIT-style license that can be
  6. * found in the LICENSE file at https://angular.io/license
  7. */
  8. import { JsonObject } from '@angular-devkit/core';
  9. import { Collection, CollectionDescription, Engine, EngineHost, RuleFactory, Schematic, SchematicDescription, TypedSchematicContext } from '../src';
  10. export interface FileSystemCollectionDescription {
  11. readonly name: string;
  12. readonly path: string;
  13. readonly version?: string;
  14. readonly schematics: {
  15. [name: string]: FileSystemSchematicDesc;
  16. };
  17. }
  18. export interface FileSystemSchematicJsonDescription {
  19. readonly aliases?: string[];
  20. readonly factory: string;
  21. readonly name: string;
  22. readonly collection: FileSystemCollectionDescription;
  23. readonly description: string;
  24. readonly schema?: string;
  25. readonly extends?: string;
  26. }
  27. export interface FileSystemSchematicDescription extends FileSystemSchematicJsonDescription {
  28. readonly path: string;
  29. readonly schemaJson?: JsonObject;
  30. readonly factoryFn: RuleFactory<{}>;
  31. }
  32. /**
  33. * Used to simplify typings.
  34. */
  35. export declare type FileSystemEngine = Engine<FileSystemCollectionDescription, FileSystemSchematicDescription>;
  36. export declare type FileSystemEngineHost = EngineHost<FileSystemCollectionDescription, FileSystemSchematicDescription>;
  37. export declare type FileSystemCollection = Collection<FileSystemCollectionDescription, FileSystemSchematicDescription>;
  38. export declare type FileSystemSchematic = Schematic<FileSystemCollectionDescription, FileSystemSchematicDescription>;
  39. export declare type FileSystemCollectionDesc = CollectionDescription<FileSystemCollectionDescription>;
  40. export declare type FileSystemSchematicDesc = SchematicDescription<FileSystemCollectionDescription, FileSystemSchematicDescription>;
  41. export declare type FileSystemSchematicContext = TypedSchematicContext<FileSystemCollectionDescription, FileSystemSchematicDescription>;