{"version":3,"sources":["jsdelivr-header.js","/npm/monaco-yaml@5.4.1/src/index.ts"],"names":[],"mappings":"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","file":"/npm/monaco-yaml@5.4.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/monaco-yaml@5.4.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import type { editor, IDisposable, MonacoEditor } from 'monaco-types'\nimport type { CompletionItemKind, Diagnostic } from 'vscode-languageserver-types'\n\nimport type { YAMLWorker } from './yaml.worker.js'\n\nimport {\n  fromCodeActionTriggerType,\n  fromFormattingOptions,\n  fromPosition,\n  fromRange,\n  toCodeAction,\n  toCompletionList,\n  toDocumentSymbol,\n  toFoldingRange,\n  toHover,\n  toLink,\n  toLocationLink,\n  toMarkerData,\n  toRange,\n  toSelectionRanges,\n  toTextEdit\n} from 'monaco-languageserver-types'\nimport { registerMarkerDataProvider } from 'monaco-marker-data-provider'\nimport { createWorkerManager } from 'monaco-worker-manager'\n\nexport interface JSONSchema {\n  id?: string\n  $id?: string\n  $schema?: string\n  url?: string\n  type?: string | string[]\n  title?: string\n  closestTitle?: string\n  versions?: Record<string, string>\n  default?: unknown\n  definitions?: Record<string, JSONSchema>\n  description?: string\n  properties?: Record<string, boolean | JSONSchema>\n  patternProperties?: Record<string, boolean | JSONSchema>\n  additionalProperties?: boolean | JSONSchema\n  minProperties?: number\n  maxProperties?: number\n  dependencies?: Record<string, boolean | JSONSchema | string[]>\n  items?: (boolean | JSONSchema)[] | boolean | JSONSchema\n  minItems?: number\n  maxItems?: number\n  uniqueItems?: boolean\n  additionalItems?: boolean | JSONSchema\n  pattern?: string\n  minLength?: number\n  maxLength?: number\n  minimum?: number\n  maximum?: number\n  exclusiveMinimum?: boolean | number\n  exclusiveMaximum?: boolean | number\n  multipleOf?: number\n  required?: string[]\n  $ref?: string\n  anyOf?: (boolean | JSONSchema)[]\n  allOf?: (boolean | JSONSchema)[]\n  oneOf?: (boolean | JSONSchema)[]\n  not?: boolean | JSONSchema\n  enum?: unknown[]\n  format?: string\n  const?: unknown\n  contains?: boolean | JSONSchema\n  propertyNames?: boolean | JSONSchema\n  examples?: unknown[]\n  $comment?: string\n  if?: boolean | JSONSchema\n  then?: boolean | JSONSchema\n  else?: boolean | JSONSchema\n  defaultSnippets?: {\n    label?: string\n    description?: string\n    markdownDescription?: string\n    type?: string\n    suggestionKind?: CompletionItemKind\n    sortText?: string\n    body?: unknown\n    bodyText?: string\n  }[]\n  errorMessage?: string\n  patternErrorMessage?: string\n  deprecationMessage?: string\n  enumDescriptions?: string[]\n  markdownEnumDescriptions?: string[]\n  markdownDescription?: string\n  doNotSuggest?: boolean\n  allowComments?: boolean\n  schemaSequence?: JSONSchema[]\n  filePatternAssociation?: string\n}\n\nexport interface SchemasSettings {\n  /**\n   * A `Uri` file match which will trigger the schema validation. This may be a glob or an exact\n   * path.\n   *\n   * @example '.gitlab-ci.yml'\n   * @example 'file://**\\/.github/actions/*.yaml'\n   */\n  fileMatch: string[]\n\n  /**\n   * The JSON schema which will be used for validation. If not specified, it will be downloaded from\n   * `uri`.\n   */\n  schema?: JSONSchema\n\n  /**\n   * The source URI of the JSON schema. The JSON schema will be downloaded from here if no schema\n   * was supplied. It will also be displayed as the source in hover tooltips.\n   */\n  uri: string\n}\n\nexport interface MonacoYamlOptions {\n  /**\n   * If set, enable schema based autocompletion.\n   *\n   * @default true\n   */\n  readonly completion?: boolean\n\n  /**\n   * A list of custom tags.\n   *\n   * @default []\n   */\n  readonly customTags?: string[]\n\n  /**\n   * If set, the schema service will load schema content on-demand.\n   *\n   * @default false\n   */\n  readonly enableSchemaRequest?: boolean\n\n  /**\n   * If true, formatting using Prettier is enabled. Setting this to `false` does **not** exclude\n   * Prettier from the bundle.\n   *\n   * @default true\n   */\n  readonly format?: boolean\n\n  /**\n   * If set, enable hover typs based the JSON schema.\n   *\n   * @default true\n   */\n  readonly hover?: boolean\n\n  /**\n   * If true, a different diffing algorithm is used to generate error messages.\n   *\n   * @default false\n   */\n  readonly isKubernetes?: boolean\n\n  /**\n   * A list of known schemas and/or associations of schemas to file names.\n   *\n   * @default []\n   */\n  readonly schemas?: SchemasSettings[]\n\n  /**\n   * If set, the validator will be enabled and perform syntax validation as well as schema\n   * based validation.\n   *\n   * @default true\n   */\n  readonly validate?: boolean\n\n  /**\n   * The YAML version to use for parsing.\n   *\n   * @default '1.2'\n   */\n  readonly yamlVersion?: '1.1' | '1.2'\n}\n\nexport interface MonacoYaml extends IDisposable {\n  /**\n   * Recondigure `monaco-yaml`.\n   */\n  update: (options: MonacoYamlOptions) => Promise<undefined>\n\n  /**\n   * Get the current configuration of `monaco-yaml`.\n   */\n  getOptions: () => MonacoYamlOptions\n}\n\n/**\n * Configure `monaco-yaml`.\n *\n * > **Note**: There may only be one configured instance of `monaco-yaml` at a time.\n *\n * @param monaco\n *   The Monaco editor module. Typically you get this by importing `monaco-editor`. Third party\n *   integrations often expose it as the global `monaco` variable instead.\n * @param options\n *   Options to configure `monaco-yaml`\n * @returns\n *   A disposable object that can be used to update `monaco-yaml`\n */\nexport function configureMonacoYaml(monaco: MonacoEditor, options?: MonacoYamlOptions): MonacoYaml {\n  const createData: MonacoYamlOptions = {\n    completion: true,\n    customTags: [],\n    enableSchemaRequest: false,\n    format: true,\n    isKubernetes: false,\n    hover: true,\n    schemas: [],\n    validate: true,\n    yamlVersion: '1.2',\n    ...options\n  }\n\n  monaco.languages.register({\n    id: 'yaml',\n    extensions: ['.yaml', '.yml'],\n    aliases: ['YAML', 'yaml', 'YML', 'yml'],\n    mimetypes: ['application/x-yaml']\n  })\n\n  const workerManager = createWorkerManager<YAMLWorker, MonacoYamlOptions>(monaco, {\n    label: 'yaml',\n    moduleId: 'monaco-yaml/yaml.worker',\n    createData\n  })\n\n  const diagnosticMap = new WeakMap<editor.ITextModel, Diagnostic[] | undefined>()\n\n  const markerDataProvider = registerMarkerDataProvider(monaco, 'yaml', {\n    owner: 'yaml',\n\n    async provideMarkerData(model) {\n      const worker = await workerManager.getWorker(model.uri)\n      const diagnostics = await worker.doValidation(String(model.uri))\n\n      diagnosticMap.set(model, diagnostics)\n\n      return diagnostics?.map(toMarkerData)\n    },\n\n    async doReset(model) {\n      const worker = await workerManager.getWorker(model.uri)\n      await worker.resetSchema(String(model.uri))\n    }\n  })\n\n  const disposables = [\n    workerManager,\n    markerDataProvider,\n\n    monaco.languages.registerCompletionItemProvider('yaml', {\n      triggerCharacters: [' ', ':'],\n\n      async provideCompletionItems(model, position) {\n        const wordInfo = model.getWordUntilPosition(position)\n        const worker = await workerManager.getWorker(model.uri)\n        const info = await worker.doComplete(String(model.uri), fromPosition(position))\n\n        if (info) {\n          return toCompletionList(info, {\n            range: {\n              startLineNumber: position.lineNumber,\n              startColumn: wordInfo.startColumn,\n              endLineNumber: position.lineNumber,\n              endColumn: wordInfo.endColumn\n            }\n          })\n        }\n      }\n    }),\n\n    monaco.languages.registerHoverProvider('yaml', {\n      async provideHover(model, position) {\n        const worker = await workerManager.getWorker(model.uri)\n        const info = await worker.doHover(String(model.uri), fromPosition(position))\n\n        if (info) {\n          return toHover(info)\n        }\n      }\n    }),\n\n    monaco.languages.registerDefinitionProvider('yaml', {\n      async provideDefinition(model, position) {\n        const worker = await workerManager.getWorker(model.uri)\n        const locationLinks = await worker.doDefinition(String(model.uri), fromPosition(position))\n\n        return locationLinks?.map(toLocationLink)\n      }\n    }),\n\n    monaco.languages.registerDocumentSymbolProvider('yaml', {\n      displayName: 'yaml',\n\n      async provideDocumentSymbols(model) {\n        const worker = await workerManager.getWorker(model.uri)\n        const items = await worker.findDocumentSymbols(String(model.uri))\n\n        return items?.map(toDocumentSymbol)\n      }\n    }),\n\n    monaco.languages.registerDocumentFormattingEditProvider('yaml', {\n      displayName: 'yaml',\n\n      async provideDocumentFormattingEdits(model) {\n        const worker = await workerManager.getWorker(model.uri)\n        const edits = await worker.format(String(model.uri))\n\n        return edits?.map(toTextEdit)\n      }\n    }),\n\n    monaco.languages.registerLinkProvider('yaml', {\n      async provideLinks(model) {\n        const worker = await workerManager.getWorker(model.uri)\n        const links = await worker.findLinks(String(model.uri))\n\n        if (links) {\n          return {\n            links: links.map(toLink)\n          }\n        }\n      }\n    }),\n\n    monaco.languages.registerCodeActionProvider('yaml', {\n      async provideCodeActions(model, range, context) {\n        const worker = await workerManager.getWorker(model.uri)\n        const codeActions = await worker.getCodeAction(String(model.uri), fromRange(range), {\n          diagnostics:\n            diagnosticMap\n              .get(model)\n              ?.filter((diagnostic) => range.intersectRanges(toRange(diagnostic.range))) || [],\n          only: context.only ? [context.only] : undefined,\n          triggerKind: fromCodeActionTriggerType(context.trigger)\n        })\n\n        if (codeActions) {\n          return {\n            actions: codeActions.map(toCodeAction),\n            dispose() {\n              // This is required by the TypeScript interface, but it’s not implemented.\n            }\n          }\n        }\n      }\n    }),\n\n    monaco.languages.registerFoldingRangeProvider('yaml', {\n      async provideFoldingRanges(model) {\n        const worker = await workerManager.getWorker(model.uri)\n        const foldingRanges = await worker.getFoldingRanges(String(model.uri))\n\n        return foldingRanges?.map(toFoldingRange)\n      }\n    }),\n\n    monaco.languages.setLanguageConfiguration('yaml', {\n      comments: {\n        lineComment: '#'\n      },\n      brackets: [\n        ['{', '}'],\n        ['[', ']'],\n        ['(', ')']\n      ],\n      autoClosingPairs: [\n        { open: '{', close: '}' },\n        { open: '[', close: ']' },\n        { open: '(', close: ')' },\n        { open: '\"', close: '\"' },\n        { open: \"'\", close: \"'\" }\n      ],\n      surroundingPairs: [\n        { open: '{', close: '}' },\n        { open: '[', close: ']' },\n        { open: '(', close: ')' },\n        { open: '\"', close: '\"' },\n        { open: \"'\", close: \"'\" }\n      ]\n    }),\n\n    monaco.languages.registerOnTypeFormattingEditProvider('yaml', {\n      autoFormatTriggerCharacters: ['\\n'],\n\n      async provideOnTypeFormattingEdits(model, position, ch, formattingOptions) {\n        const worker = await workerManager.getWorker(model.uri)\n        const edits = await worker.doDocumentOnTypeFormatting(\n          String(model.uri),\n          fromPosition(position),\n          ch,\n          fromFormattingOptions(formattingOptions)\n        )\n\n        return edits?.map(toTextEdit)\n      }\n    }),\n\n    monaco.languages.registerSelectionRangeProvider('yaml', {\n      async provideSelectionRanges(model, positions) {\n        const worker = await workerManager.getWorker(model.uri)\n        const selectionRanges = await worker.getSelectionRanges(\n          String(model.uri),\n          positions.map(fromPosition)\n        )\n\n        return selectionRanges?.map(toSelectionRanges)\n      }\n    })\n  ]\n\n  return {\n    dispose() {\n      for (const disposable of disposables) {\n        disposable.dispose()\n      }\n    },\n\n    async update(newOptions) {\n      workerManager.updateCreateData(Object.assign(createData, newOptions))\n      await markerDataProvider.revalidate()\n    },\n\n    getOptions() {\n      return createData\n    }\n  }\n}\n"]}