hunk.code_window: import { Implement as GuardInterface, Schema as GuardOptions } from './schema';
   export default function (options: GuardOptions): Rule {
     if (options.implements && options.implements.length > 0 && options.guardType) {
       throw new SchematicsException('Options "implements" and "guardType" cannot be used together.');
     }
  
hunk.labels: keep keep keep replace replace keep keep
hunk.after_edit:   if (!options.implements) {
       throw new SchematicsException('Option "implements" is required.');
     }
     if (options.implements.length > 1 && options.functional) {
       throw new SchematicsException(
         'Can only specify one value for implements when generating a functional guard.',
       );
  
hunk.file_path: packages/schematics/angular/guard/index.ts
hunk.type: replace
file: {
    "name": "extra-properties",
    "schematics": {
      "schematic1": {
        "description": "1",
        "factory": "./factory",
        "extra": "extra-schematic"
      }
    },
    "extra": "extra-collection"
  }
  