{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "SchematicsAngularWebWorker",
  "title": "Angular Web Worker Options Schema",
  "type": "object",
  "additionalProperties": false,
  "description": "Creates a new web worker in your project. Web workers allow you to run JavaScript code in the background, improving the performance and responsiveness of your application by offloading computationally intensive tasks. This schematic generates the necessary files for a new web worker and provides an optional code snippet to demonstrate its usage.",
  "properties": {
    "path": {
      "type": "string",
      "format": "path",
      "$default": {
        "$source": "workingDirectory"
      },
      "description": "The path where the web worker file should be created, relative to the current workspace. If not specified, the worker will be created in the current directory.",
      "visible": false
    },
    "project": {
      "type": "string",
      "description": "The name of the project where the web worker should be created. If not specified, the CLI will determine the project from the current directory.",
      "$default": {
        "$source": "projectName"
      }
    },
    "name": {
      "type": "string",
      "description": "The name for the new web worker. This will be used to create the worker file (e.g., `my-worker.worker.ts`).",
      "$default": {
        "$source": "argv",
        "index": 0
      },
      "x-prompt": "What name would you like to use for the worker?"
    },
    "snippet": {
      "type": "boolean",
      "default": true,
      "description": "Generate a code snippet that demonstrates how to create and use the new web worker."
    }
  },
  "required": ["name", "project"]
}
