UNPKG

@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.

323 lines (322 loc) • 9.24 kB
/*!----------------------------------------------------------------------------- * 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 conf = { comments: { lineComment: "#" }, brackets: [ ["{", "}"], ["[", "]"], ["(", ")"] ], autoClosingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: "\"", close: "\"" }, { open: "'", close: "'" }, { open: "`", close: "`" } ], surroundingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: "\"", close: "\"" }, { open: "'", close: "'" }, { open: "`", close: "`" } ] }, language = { defaultToken: "", tokenPostfix: ".perl", brackets: [ { token: "delimiter.bracket", open: "{", close: "}" }, { token: "delimiter.parenthesis", open: "(", close: ")" }, { token: "delimiter.square", open: "[", close: "]" } ], keywords: /* @__PURE__ */ "__DATA__.else.lock.__END__.elsif.lt.__FILE__.eq.__LINE__.exp.ne.sub.__PACKAGE__.for.no.and.foreach.or.unless.cmp.ge.package.until.continue.gt.while.CORE.if.xor.do.le.__DIE__.__WARN__".split("."), builtinFunctions: /* @__PURE__ */ "-A.END.length.setpgrp.-B.endgrent.link.setpriority.-b.endhostent.listen.setprotoent.-C.endnetent.local.setpwent.-c.endprotoent.localtime.setservent.-d.endpwent.log.setsockopt.-e.endservent.lstat.shift.-f.eof.map.shmctl.-g.eval.mkdir.shmget.-k.exec.msgctl.shmread.-l.exists.msgget.shmwrite.-M.exit.msgrcv.shutdown.-O.fcntl.msgsnd.sin.-o.fileno.my.sleep.-p.flock.next.socket.-r.fork.not.socketpair.-R.format.oct.sort.-S.formline.open.splice.-s.getc.opendir.split.-T.getgrent.ord.sprintf.-t.getgrgid.our.sqrt.-u.getgrnam.pack.srand.-w.gethostbyaddr.pipe.stat.-W.gethostbyname.pop.state.-X.gethostent.pos.study.-x.getlogin.print.substr.-z.getnetbyaddr.printf.symlink.abs.getnetbyname.prototype.syscall.accept.getnetent.push.sysopen.alarm.getpeername.quotemeta.sysread.atan2.getpgrp.rand.sysseek.AUTOLOAD.getppid.read.system.BEGIN.getpriority.readdir.syswrite.bind.getprotobyname.readline.tell.binmode.getprotobynumber.readlink.telldir.bless.getprotoent.readpipe.tie.break.getpwent.recv.tied.caller.getpwnam.redo.time.chdir.getpwuid.ref.times.CHECK.getservbyname.rename.truncate.chmod.getservbyport.require.uc.chomp.getservent.reset.ucfirst.chop.getsockname.return.umask.chown.getsockopt.reverse.undef.chr.glob.rewinddir.UNITCHECK.chroot.gmtime.rindex.unlink.close.goto.rmdir.unpack.closedir.grep.say.unshift.connect.hex.scalar.untie.cos.index.seek.use.crypt.INIT.seekdir.utime.dbmclose.int.select.values.dbmopen.ioctl.semctl.vec.defined.join.semget.wait.delete.keys.semop.waitpid.DESTROY.kill.send.wantarray.die.last.setgrent.warn.dump.lc.sethostent.write.each.lcfirst.setnetent".split("."), builtinFileHandlers: [ "ARGV", "STDERR", "STDOUT", "ARGVOUT", "STDIN", "ENV" ], builtinVariables: /* @__PURE__ */ "$! $^RE_TRIE_MAXBUF $LAST_REGEXP_CODE_RESULT $\" $^S $LIST_SEPARATOR $# $^T $MATCH $$ $^TAINT $MULTILINE_MATCHING $% $^UNICODE $NR $& $^UTF8LOCALE $OFMT $' $^V $OFS $( $^W $ORS $) $^WARNING_BITS $OS_ERROR $* $^WIDE_SYSTEM_CALLS $OSNAME $+ $^X $OUTPUT_AUTO_FLUSH $, $_ $OUTPUT_FIELD_SEPARATOR $- $` $OUTPUT_RECORD_SEPARATOR $. $a $PERL_VERSION $/ $ACCUMULATOR $PERLDB $0 $ARG $PID $: $ARGV $POSTMATCH $; $b $PREMATCH $< $BASETIME $PROCESS_ID $= $CHILD_ERROR $PROGRAM_NAME $> $COMPILING $REAL_GROUP_ID $? $DEBUGGING $REAL_USER_ID $@ $EFFECTIVE_GROUP_ID $RS $[ $EFFECTIVE_USER_ID $SUBSCRIPT_SEPARATOR $\\ $EGID $SUBSEP $] $ERRNO $SYSTEM_FD_MAX $^ $EUID $UID $^A $EVAL_ERROR $WARNING $^C $EXCEPTIONS_BEING_CAUGHT $| $^CHILD_ERROR_NATIVE $EXECUTABLE_NAME $~ $^D $EXTENDED_OS_ERROR %! $^E $FORMAT_FORMFEED %^H $^ENCODING $FORMAT_LINE_BREAK_CHARACTERS %ENV $^F $FORMAT_LINES_LEFT %INC $^H $FORMAT_LINES_PER_PAGE %OVERLOAD $^I $FORMAT_NAME %SIG $^L $FORMAT_PAGE_NUMBER @+ $^M $FORMAT_TOP_NAME @- $^N $GID @_ $^O $INPLACE_EDIT @ARGV $^OPEN $INPUT_LINE_NUMBER @INC $^P $INPUT_RECORD_SEPARATOR @LAST_MATCH_START $^R $LAST_MATCH_END $^RE_DEBUG_FLAGS $LAST_PAREN_MATCH".split(" "), symbols: /[:+\-\^*$&%@=<>!?|\/~\.]/, quoteLikeOps: [ "qr", "m", "s", "q", "qq", "qx", "qw", "tr", "y" ], escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, tokenizer: { root: [ { include: "@whitespace" }, [/[a-zA-Z\-_][\w\-_]*/, { cases: { "@keywords": "keyword", "@builtinFunctions": "type.identifier", "@builtinFileHandlers": "variable.predefined", "@quoteLikeOps": { token: "@rematch", next: "quotedConstructs" }, "@default": "" } }], [/[\$@%][*@#?\+\-\$!\w\\\^><~:;\.]+/, { cases: { "@builtinVariables": "variable.predefined", "@default": "variable" } }], { include: "@strings" }, { include: "@dblStrings" }, { include: "@perldoc" }, { include: "@heredoc" }, [/[{}\[\]()]/, "@brackets"], [/[\/](?:(?:\[(?:\\]|[^\]])+\])|(?:\\\/|[^\]\/]))*[\/]\w*\s*(?=[).,;]|$)/, "regexp"], [/@symbols/, "operators"], { include: "@numbers" }, [/[,;]/, "delimiter"] ], whitespace: [ [/\s+/, "white"], [/(^#!.*$)/, "metatag"], [/(^#.*$)/, "comment"] ], numbers: [ [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"], [/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"], [/\d+/, "number"] ], strings: [[ /'/, "string", "@stringBody" ]], stringBody: [ [ /'/, "string", "@popall" ], [/\\'/, "string.escape"], [/./, "string"] ], dblStrings: [[ /"/, "string", "@dblStringBody" ]], dblStringBody: [ [ /"/, "string", "@popall" ], [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], { include: "@variables" }, [/./, "string"] ], quotedConstructs: [ [/(q|qw|tr|y)\s*\(/, { token: "string.delim", switchTo: "@qstring.(.)" }], [/(q|qw|tr|y)\s*\[/, { token: "string.delim", switchTo: "@qstring.[.]" }], [/(q|qw|tr|y)\s*\{/, { token: "string.delim", switchTo: "@qstring.{.}" }], [/(q|qw|tr|y)\s*</, { token: "string.delim", switchTo: "@qstring.<.>" }], [/(q|qw|tr|y)#/, { token: "string.delim", switchTo: "@qstring.#.#" }], [/(q|qw|tr|y)\s*([^A-Za-z0-9#\s])/, { token: "string.delim", switchTo: "@qstring.$2.$2" }], [/(q|qw|tr|y)\s+(\w)/, { token: "string.delim", switchTo: "@qstring.$2.$2" }], [/(qr|m|s)\s*\(/, { token: "regexp.delim", switchTo: "@qregexp.(.)" }], [/(qr|m|s)\s*\[/, { token: "regexp.delim", switchTo: "@qregexp.[.]" }], [/(qr|m|s)\s*\{/, { token: "regexp.delim", switchTo: "@qregexp.{.}" }], [/(qr|m|s)\s*</, { token: "regexp.delim", switchTo: "@qregexp.<.>" }], [/(qr|m|s)#/, { token: "regexp.delim", switchTo: "@qregexp.#.#" }], [/(qr|m|s)\s*([^A-Za-z0-9_#\s])/, { token: "regexp.delim", switchTo: "@qregexp.$2.$2" }], [/(qr|m|s)\s+(\w)/, { token: "regexp.delim", switchTo: "@qregexp.$2.$2" }], [/(qq|qx)\s*\(/, { token: "string.delim", switchTo: "@qqstring.(.)" }], [/(qq|qx)\s*\[/, { token: "string.delim", switchTo: "@qqstring.[.]" }], [/(qq|qx)\s*\{/, { token: "string.delim", switchTo: "@qqstring.{.}" }], [/(qq|qx)\s*</, { token: "string.delim", switchTo: "@qqstring.<.>" }], [/(qq|qx)#/, { token: "string.delim", switchTo: "@qqstring.#.#" }], [/(qq|qx)\s*([^A-Za-z0-9#\s])/, { token: "string.delim", switchTo: "@qqstring.$2.$2" }], [/(qq|qx)\s+(\w)/, { token: "string.delim", switchTo: "@qqstring.$2.$2" }] ], qstring: [[/\\./, "string.escape"], [/./, { cases: { "$#==$S3": { token: "string.delim", next: "@pop" }, "$#==$S2": { token: "string.delim", next: "@push" }, "@default": "string" } }]], qregexp: [ { include: "@variables" }, [/\\./, "regexp.escape"], [/./, { cases: { "$#==$S3": { token: "regexp.delim", next: "@regexpModifiers" }, "$#==$S2": { token: "regexp.delim", next: "@push" }, "@default": "regexp" } }] ], regexpModifiers: [[/[msixpodualngcer]+/, { token: "regexp.modifier", next: "@popall" }]], qqstring: [{ include: "@variables" }, { include: "@qstring" }], heredoc: [[/<<\s*['"`]?([\w\-]+)['"`]?/, { token: "string.heredoc.delimiter", next: "@heredocBody.$1" }]], heredocBody: [[/^([\w\-]+)$/, { cases: { "$1==$S2": [{ token: "string.heredoc.delimiter", next: "@popall" }], "@default": "string.heredoc" } }], [/./, "string.heredoc"]], perldoc: [[ /^=\w/, "comment.doc", "@perldocBody" ]], perldocBody: [[ /^=cut\b/, "type.identifier", "@popall" ], [/./, "comment.doc"]], variables: [ [/\$\w+/, "variable"], [/@\w+/, "variable"], [/%\w+/, "variable"] ] } }; export { conf, language };