@graphql-hive/laboratory
Version:
[Hive](https://the-guild.dev/graphql/hive) is a fully open-source schema registry, analytics, metrics and gateway for [GraphQL federation](https://the-guild.dev/graphql/hive/federation) and other GraphQL APIs.
346 lines (345 loc) • 7.21 kB
JavaScript
import { m as editor_api_exports } from "./editor.api-DPgI1LYm.js";
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/
var __defProp = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __getOwnPropNames = Object.getOwnPropertyNames, __hasOwnProp = Object.prototype.hasOwnProperty, __copyProps = (e, s, c, l) => {
if (s && typeof s == "object" || typeof s == "function") for (let u of __getOwnPropNames(s)) !__hasOwnProp.call(e, u) && u !== c && __defProp(e, u, {
get: () => s[u],
enumerable: !(l = __getOwnPropDesc(s, u)) || l.enumerable
});
return e;
}, __reExport = (e, a, o) => (__copyProps(e, a, "default"), o && __copyProps(o, a, "default")), monaco_editor_core_exports = {};
__reExport(monaco_editor_core_exports, editor_api_exports);
var EMPTY_ELEMENTS = [
"area",
"base",
"br",
"col",
"embed",
"hr",
"img",
"input",
"keygen",
"link",
"menuitem",
"meta",
"param",
"source",
"track",
"wbr"
], conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
comments: { blockComment: ["<!--", "-->"] },
brackets: [
["<!--", "-->"],
["<", ">"],
["{", "}"],
["(", ")"]
],
autoClosingPairs: [
{
open: "{",
close: "}"
},
{
open: "[",
close: "]"
},
{
open: "(",
close: ")"
},
{
open: "\"",
close: "\""
},
{
open: "'",
close: "'"
}
],
surroundingPairs: [
{
open: "\"",
close: "\""
},
{
open: "'",
close: "'"
},
{
open: "{",
close: "}"
},
{
open: "[",
close: "]"
},
{
open: "(",
close: ")"
},
{
open: "<",
close: ">"
}
],
onEnterRules: [{
beforeText: RegExp(`<(?!(?:${EMPTY_ELEMENTS.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
action: { indentAction: monaco_editor_core_exports.languages.IndentAction.IndentOutdent }
}, {
beforeText: RegExp(`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
action: { indentAction: monaco_editor_core_exports.languages.IndentAction.Indent }
}],
folding: { markers: {
start: /* @__PURE__ */ RegExp("^\\s*<!--\\s*#region\\b.*-->"),
end: /* @__PURE__ */ RegExp("^\\s*<!--\\s*#endregion\\b.*-->")
} }
}, language = {
defaultToken: "",
tokenPostfix: ".html",
ignoreCase: !0,
tokenizer: {
root: [
[
/<!DOCTYPE/,
"metatag",
"@doctype"
],
[
/<!--/,
"comment",
"@comment"
],
[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/, [
"delimiter",
"tag",
"",
"delimiter"
]],
[/(<)(script)/, ["delimiter", {
token: "tag",
next: "@script"
}]],
[/(<)(style)/, ["delimiter", {
token: "tag",
next: "@style"
}]],
[/(<)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", {
token: "tag",
next: "@otherTag"
}]],
[/(<\/)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", {
token: "tag",
next: "@otherTag"
}]],
[/</, "delimiter"],
[/[^<]+/]
],
doctype: [[/[^>]+/, "metatag.content"], [
/>/,
"metatag",
"@pop"
]],
comment: [
[
/-->/,
"comment",
"@pop"
],
[/[^-]+/, "comment.content"],
[/./, "comment.content"]
],
otherTag: [
[
/\/?>/,
"delimiter",
"@pop"
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/]
],
script: [
[
/type/,
"attribute.name",
"@scriptAfterType"
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/>/, {
token: "delimiter",
next: "@scriptEmbedded",
nextEmbedded: "text/javascript"
}],
[/[ \t\r\n]+/],
[/(<\/)(script\s*)(>)/, [
"delimiter",
"tag",
{
token: "delimiter",
next: "@pop"
}
]]
],
scriptAfterType: [
[
/=/,
"delimiter",
"@scriptAfterTypeEquals"
],
[/>/, {
token: "delimiter",
next: "@scriptEmbedded",
nextEmbedded: "text/javascript"
}],
[/[ \t\r\n]+/],
[/<\/script\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
scriptAfterTypeEquals: [
[/"module"/, {
token: "attribute.value",
switchTo: "@scriptWithCustomType.text/javascript"
}],
[/'module'/, {
token: "attribute.value",
switchTo: "@scriptWithCustomType.text/javascript"
}],
[/"([^"]*)"/, {
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}],
[/'([^']*)'/, {
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}],
[/>/, {
token: "delimiter",
next: "@scriptEmbedded",
nextEmbedded: "text/javascript"
}],
[/[ \t\r\n]+/],
[/<\/script\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
scriptWithCustomType: [
[/>/, {
token: "delimiter",
next: "@scriptEmbedded.$S2",
nextEmbedded: "$S2"
}],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
[/<\/script\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
scriptEmbedded: [[/<\/script/, {
token: "@rematch",
next: "@pop",
nextEmbedded: "@pop"
}], [/[^<]+/, ""]],
style: [
[
/type/,
"attribute.name",
"@styleAfterType"
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/>/, {
token: "delimiter",
next: "@styleEmbedded",
nextEmbedded: "text/css"
}],
[/[ \t\r\n]+/],
[/(<\/)(style\s*)(>)/, [
"delimiter",
"tag",
{
token: "delimiter",
next: "@pop"
}
]]
],
styleAfterType: [
[
/=/,
"delimiter",
"@styleAfterTypeEquals"
],
[/>/, {
token: "delimiter",
next: "@styleEmbedded",
nextEmbedded: "text/css"
}],
[/[ \t\r\n]+/],
[/<\/style\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
styleAfterTypeEquals: [
[/"([^"]*)"/, {
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}],
[/'([^']*)'/, {
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}],
[/>/, {
token: "delimiter",
next: "@styleEmbedded",
nextEmbedded: "text/css"
}],
[/[ \t\r\n]+/],
[/<\/style\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
styleWithCustomType: [
[/>/, {
token: "delimiter",
next: "@styleEmbedded.$S2",
nextEmbedded: "$S2"
}],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
[/<\/style\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
styleEmbedded: [[/<\/style/, {
token: "@rematch",
next: "@pop",
nextEmbedded: "@pop"
}], [/[^<]+/, ""]]
}
};
export { conf, language };