65 lines
1.9 KiB
JSON
65 lines
1.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"$id": "SchematicsAngularGuard",
|
|
"title": "Angular Guard Options Schema",
|
|
"type": "object",
|
|
"description": "Generates a new, generic route guard definition in the given project.",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the new route guard.",
|
|
"$default": {
|
|
"$source": "argv",
|
|
"index": 0
|
|
},
|
|
"x-prompt": "What name would you like to use for the guard?"
|
|
},
|
|
"skipTests": {
|
|
"type": "boolean",
|
|
"description": "Do not create \"spec.ts\" test files for the new guard.",
|
|
"default": false
|
|
},
|
|
"flat": {
|
|
"type": "boolean",
|
|
"description": "When true (the default), creates the new files at the top level of the current project.",
|
|
"default": true
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"format": "path",
|
|
"$default": {
|
|
"$source": "workingDirectory"
|
|
},
|
|
"description": "The path at which to create the interface that defines the guard, relative to the current workspace.",
|
|
"visible": false
|
|
},
|
|
"project": {
|
|
"type": "string",
|
|
"description": "The name of the project.",
|
|
"$default": {
|
|
"$source": "projectName"
|
|
}
|
|
},
|
|
"functional": {
|
|
"type": "boolean",
|
|
"description": "Specifies whether to generate a guard as a function.",
|
|
"default": true
|
|
},
|
|
"implements": {
|
|
"alias": "guardType",
|
|
"type": "array",
|
|
"description": "Specifies which type of guard to create.",
|
|
"uniqueItems": true,
|
|
"minItems": 1,
|
|
"items": {
|
|
"enum": ["CanActivate", "CanActivateChild", "CanDeactivate", "CanMatch"],
|
|
"type": "string"
|
|
},
|
|
"default": ["CanActivate"],
|
|
"x-prompt": "Which type of guard would you like to create?"
|
|
}
|
|
},
|
|
"required": ["name", "project"]
|
|
}
|