@stepzen/graphiql-proxy 0.20.1 → 0.21.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/src/server/api/details.js +2 -2
- package/src/server/api/proxy.js +14 -7
- package/src/server/index.js +39 -20
- package/src/ui/build/asset-manifest.json +6 -6
- package/src/ui/build/index.html +1 -1
- package/src/ui/build/static/css/main.4fb42d49.css +2 -0
- package/src/ui/build/static/css/main.4fb42d49.css.map +1 -0
- package/src/ui/build/static/js/0.a1da3266.chunk.js.map +1 -1
- package/src/ui/build/static/js/136.7849911c.chunk.js.map +1 -1
- package/src/ui/build/static/js/170.27296619.chunk.js.map +1 -1
- package/src/ui/build/static/js/190.e088a175.chunk.js.map +1 -1
- package/src/ui/build/static/js/267.962ef6a4.chunk.js.map +1 -1
- package/src/ui/build/static/js/306.cb66dc99.chunk.js.map +1 -1
- package/src/ui/build/static/js/316.7c2be1f0.chunk.js.map +1 -1
- package/src/ui/build/static/js/322.5ada89eb.chunk.js.map +1 -1
- package/src/ui/build/static/js/344.e6b10333.chunk.js.map +1 -1
- package/src/ui/build/static/js/39.dd9b3202.chunk.js.map +1 -1
- package/src/ui/build/static/js/430.de05cf2b.chunk.js.map +1 -1
- package/src/ui/build/static/js/503.a3ba392a.chunk.js.map +1 -1
- package/src/ui/build/static/js/580.b48b02d9.chunk.js.map +1 -1
- package/src/ui/build/static/js/587.f2cbe2fb.chunk.js.map +1 -1
- package/src/ui/build/static/js/619.cd709ae5.chunk.js.map +1 -1
- package/src/ui/build/static/js/658.916c9abf.chunk.js.map +1 -1
- package/src/ui/build/static/js/756.a915a97e.chunk.js.map +1 -1
- package/src/ui/build/static/js/76.0a014434.chunk.js.map +1 -1
- package/src/ui/build/static/js/804.118a9243.chunk.js.map +1 -1
- package/src/ui/build/static/js/849.f850f73b.chunk.js.map +1 -1
- package/src/ui/build/static/js/88.b5b4cd91.chunk.js.map +1 -1
- package/src/ui/build/static/js/983.df163755.chunk.js.map +1 -1
- package/src/ui/build/static/js/{main.20771770.js → main.6e3668a7.js} +3 -3
- package/src/ui/build/static/js/{main.20771770.js.LICENSE.txt → main.6e3668a7.js.LICENSE.txt} +0 -0
- package/src/ui/build/static/js/{main.20771770.js.map → main.6e3668a7.js.map} +1 -1
- package/src/ui/build/static/css/main.f9030c32.css +0 -2
- package/src/ui/build/static/css/main.f9030c32.css.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/587.f2cbe2fb.chunk.js","mappings":"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","sources":["../node_modules/codemirror-graphql/src/jump.ts","../node_modules/codemirror-graphql/src/utils/SchemaReference.ts","../node_modules/codemirror-graphql/src/utils/forEachState.ts","../node_modules/codemirror-graphql/src/utils/getTypeInfo.ts","../node_modules/codemirror-graphql/src/utils/jump-addon.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @flow\n *\n */\n\nimport CodeMirror from 'codemirror';\n\nimport getTypeInfo from './utils/getTypeInfo';\nimport {\n getArgumentReference,\n getDirectiveReference,\n getEnumValueReference,\n getFieldReference,\n getTypeReference,\n} from './utils/SchemaReference';\nimport './utils/jump-addon';\nimport { GraphQLSchema } from 'graphql';\nimport type { State } from 'graphql-language-service';\n\nexport interface GraphQLJumpOptions {\n schema?: GraphQLSchema;\n onClick?: () => void;\n state?: State;\n}\n\n/**\n * Registers GraphQL \"jump\" links for CodeMirror.\n *\n * When command-hovering over a token, this converts it to a link, which when\n * pressed will call the provided onClick handler.\n *\n * Options:\n *\n * - schema: GraphQLSchema provides positionally relevant info.\n * - onClick: A function called when a named thing is clicked.\n *\n */\nCodeMirror.registerHelper(\n 'jump',\n 'graphql',\n (token: CodeMirror.Token, options: GraphQLJumpOptions) => {\n if (!options.schema || !options.onClick || !token.state) {\n return;\n }\n\n // Given a Schema and a Token, produce a \"SchemaReference\" which refers to\n // the particular artifact from the schema (such as a type, field, argument,\n // or directive) that token references.\n const state = token.state;\n const kind = state.kind;\n const step = state.step;\n const typeInfo = getTypeInfo(options.schema, state);\n\n if (\n (kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef)\n ) {\n return getFieldReference(typeInfo);\n } else if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\n return getDirectiveReference(typeInfo);\n } else if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\n return getArgumentReference(typeInfo);\n } else if (kind === 'EnumValue' && typeInfo.enumValue) {\n return getEnumValueReference(typeInfo);\n } else if (kind === 'NamedType' && typeInfo.type) {\n return getTypeReference(typeInfo);\n }\n },\n);\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport { getNamedType, GraphQLSchema } from 'graphql';\n\nimport type {\n GraphQLArgument,\n GraphQLDirective,\n GraphQLEnumValue,\n GraphQLEnumType,\n GraphQLField,\n GraphQLNamedType,\n} from 'graphql';\nimport { Maybe } from 'graphql/jsutils/Maybe';\nimport { TypeInfo } from './getTypeInfo';\n\nexport type SchemaReference =\n | FieldReference\n | DirectiveReference\n | ArgumentReference\n | EnumValueReference\n | TypeReference;\n\nexport type FieldReference = {\n kind: 'Field';\n field: GraphQLField<any, any>;\n type: Maybe<GraphQLNamedType>;\n schema?: GraphQLSchema;\n};\n\nexport type DirectiveReference = {\n kind: 'Directive';\n directive: GraphQLDirective;\n schema?: GraphQLSchema;\n};\n\nexport type ArgumentReference = {\n kind: 'Argument';\n argument: GraphQLArgument;\n field?: GraphQLField<any, any>;\n type?: GraphQLNamedType;\n directive?: GraphQLDirective;\n schema?: GraphQLSchema;\n};\n\nexport type EnumValueReference = {\n kind: 'EnumValue';\n value?: GraphQLEnumValue;\n type?: GraphQLEnumType;\n schema?: GraphQLSchema;\n};\n\nexport type TypeReference = {\n kind: 'Type';\n type: GraphQLNamedType;\n schema?: GraphQLSchema;\n};\n\nexport function getFieldReference(typeInfo: any): FieldReference {\n return {\n kind: 'Field',\n schema: typeInfo.schema,\n field: typeInfo.fieldDef,\n type: isMetaField(typeInfo.fieldDef) ? null : typeInfo.parentType,\n };\n}\n\nexport function getDirectiveReference(typeInfo: any): DirectiveReference {\n return {\n kind: 'Directive',\n schema: typeInfo.schema,\n directive: typeInfo.directiveDef,\n };\n}\n\nexport function getArgumentReference(typeInfo: any): ArgumentReference {\n return typeInfo.directiveDef\n ? {\n kind: 'Argument',\n schema: typeInfo.schema,\n argument: typeInfo.argDef,\n directive: typeInfo.directiveDef,\n }\n : {\n kind: 'Argument',\n schema: typeInfo.schema,\n argument: typeInfo.argDef,\n field: typeInfo.fieldDef,\n type: isMetaField(typeInfo.fieldDef) ? null : typeInfo.parentType,\n };\n}\n\nexport function getEnumValueReference(typeInfo: TypeInfo): EnumValueReference {\n return {\n kind: 'EnumValue',\n value: typeInfo.enumValue || undefined,\n // $FlowFixMe\n type: typeInfo.inputType\n ? (getNamedType(typeInfo.inputType) as GraphQLEnumType)\n : undefined,\n };\n}\n\n// Note: for reusability, getTypeReference can produce a reference to any type,\n// though it defaults to the current type.\nexport function getTypeReference(\n typeInfo: any,\n type?: Maybe<GraphQLNamedType>,\n): TypeReference {\n return {\n kind: 'Type',\n schema: typeInfo.schema,\n type: type || typeInfo.type,\n };\n}\n\nfunction isMetaField(fieldDef: GraphQLField<any, any>) {\n return fieldDef.name.slice(0, 2) === '__';\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport type { State, Maybe } from 'graphql-language-service';\n\n// Utility for iterating through a CodeMirror parse state stack bottom-up.\nexport default function forEachState(stack: State, fn: (state: State) => void) {\n const reverseStateStack = [];\n let state: Maybe<State> = stack;\n while (state && state.kind) {\n reverseStateStack.push(state);\n state = state.prevState;\n }\n for (let i = reverseStateStack.length - 1; i >= 0; i--) {\n fn(reverseStateStack[i]);\n }\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport {\n isCompositeType,\n getNullableType,\n getNamedType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLList,\n GraphQLSchema,\n GraphQLType,\n GraphQLObjectType,\n GraphQLField,\n GraphQLDirective,\n GraphQLArgument,\n GraphQLInputType,\n GraphQLEnumValue,\n GraphQLInputFieldMap,\n} from 'graphql';\nimport type { State, Maybe } from 'graphql-language-service';\n\nimport {\n SchemaMetaFieldDef,\n TypeMetaFieldDef,\n TypeNameMetaFieldDef,\n} from 'graphql/type/introspection';\n\nimport forEachState from './forEachState';\n\nexport interface TypeInfo {\n schema: GraphQLSchema;\n type?: Maybe<GraphQLType>;\n parentType?: Maybe<GraphQLType>;\n inputType?: Maybe<GraphQLInputType>;\n directiveDef?: Maybe<GraphQLDirective>;\n fieldDef?: Maybe<GraphQLField<any, any>>;\n argDef?: Maybe<GraphQLArgument>;\n argDefs?: Maybe<GraphQLArgument[]>;\n enumValue?: Maybe<GraphQLEnumValue>;\n objectFieldDefs?: Maybe<GraphQLInputFieldMap>;\n}\n\n/**\n * Utility for collecting rich type information given any token's state\n * from the graphql-mode parser.\n */\nexport default function getTypeInfo(schema: GraphQLSchema, tokenState: State) {\n const info: TypeInfo = {\n schema,\n type: null,\n parentType: null,\n inputType: null,\n directiveDef: null,\n fieldDef: null,\n argDef: null,\n argDefs: null,\n objectFieldDefs: null,\n };\n\n forEachState(tokenState, (state: State) => {\n switch (state.kind) {\n case 'Query':\n case 'ShortQuery':\n info.type = schema.getQueryType();\n break;\n case 'Mutation':\n info.type = schema.getMutationType();\n break;\n case 'Subscription':\n info.type = schema.getSubscriptionType();\n break;\n case 'InlineFragment':\n case 'FragmentDefinition':\n if (state.type) {\n info.type = schema.getType(state.type);\n }\n break;\n case 'Field':\n case 'AliasedField':\n info.fieldDef =\n info.type && state.name\n ? getFieldDef(schema, info.parentType, state.name)\n : null;\n info.type = info.fieldDef && info.fieldDef.type;\n break;\n case 'SelectionSet':\n info.parentType = info.type ? getNamedType(info.type) : null;\n break;\n case 'Directive':\n info.directiveDef = state.name ? schema.getDirective(state.name) : null;\n break;\n case 'Arguments':\n const parentDef = state.prevState\n ? state.prevState.kind === 'Field'\n ? info.fieldDef\n : state.prevState.kind === 'Directive'\n ? info.directiveDef\n : state.prevState.kind === 'AliasedField'\n ? state.prevState.name &&\n getFieldDef(schema, info.parentType, state.prevState.name)\n : null\n : null;\n info.argDefs = parentDef ? (parentDef.args as GraphQLArgument[]) : null;\n break;\n case 'Argument':\n info.argDef = null;\n if (info.argDefs) {\n for (let i = 0; i < info.argDefs.length; i++) {\n if (info.argDefs[i].name === state.name) {\n info.argDef = info.argDefs[i];\n break;\n }\n }\n }\n info.inputType = info.argDef && info.argDef.type;\n break;\n case 'EnumValue':\n const enumType = info.inputType ? getNamedType(info.inputType) : null;\n info.enumValue =\n enumType instanceof GraphQLEnumType\n ? find(\n enumType.getValues() as GraphQLEnumValue[],\n val => val.value === state.name,\n )\n : null;\n break;\n case 'ListValue':\n const nullableType = info.inputType\n ? getNullableType(info.inputType)\n : null;\n info.inputType =\n nullableType instanceof GraphQLList ? nullableType.ofType : null;\n break;\n case 'ObjectValue':\n const objectType = info.inputType ? getNamedType(info.inputType) : null;\n info.objectFieldDefs =\n objectType instanceof GraphQLInputObjectType\n ? objectType.getFields()\n : null;\n break;\n case 'ObjectField':\n const objectField =\n state.name && info.objectFieldDefs\n ? info.objectFieldDefs[state.name]\n : null;\n info.inputType = objectField && objectField.type;\n break;\n case 'NamedType':\n info.type = state.name ? schema.getType(state.name) : null;\n break;\n }\n });\n\n return info;\n}\n\n// Gets the field definition given a type and field name\nfunction getFieldDef(\n schema: GraphQLSchema,\n type: Maybe<GraphQLType>,\n fieldName: string,\n) {\n if (fieldName === SchemaMetaFieldDef.name && schema.getQueryType() === type) {\n return SchemaMetaFieldDef;\n }\n if (fieldName === TypeMetaFieldDef.name && schema.getQueryType() === type) {\n return TypeMetaFieldDef;\n }\n if (fieldName === TypeNameMetaFieldDef.name && isCompositeType(type)) {\n return TypeNameMetaFieldDef;\n }\n if (type && (type as GraphQLObjectType).getFields) {\n return (type as GraphQLObjectType).getFields()[fieldName];\n }\n}\n\n// Returns the first item in the array which causes predicate to return truthy.\nfunction find<T>(array: T[], predicate: (item: T) => boolean) {\n for (let i = 0; i < array.length; i++) {\n if (predicate(array[i])) {\n return array[i];\n }\n }\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport { GraphQLJumpOptions } from '../jump';\n\nCodeMirror.defineOption(\n 'jump',\n false,\n (\n cm: CodeMirror.Editor,\n options: GraphQLJumpOptions,\n old?: GraphQLJumpOptions,\n ) => {\n if (old && old !== CodeMirror.Init) {\n const oldOnMouseOver = cm.state.jump.onMouseOver;\n CodeMirror.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);\n const oldOnMouseOut = cm.state.jump.onMouseOut;\n CodeMirror.off(cm.getWrapperElement(), 'mouseout', oldOnMouseOut);\n CodeMirror.off(document, 'keydown', cm.state.jump.onKeyDown);\n delete cm.state.jump;\n }\n\n if (options) {\n const state = (cm.state.jump = {\n options,\n onMouseOver: onMouseOver.bind(null, cm),\n onMouseOut: onMouseOut.bind(null, cm),\n onKeyDown: onKeyDown.bind(null, cm),\n });\n\n CodeMirror.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);\n CodeMirror.on(cm.getWrapperElement(), 'mouseout', state.onMouseOut);\n CodeMirror.on(document, 'keydown', state.onKeyDown);\n }\n },\n);\n\nfunction onMouseOver(cm: CodeMirror.Editor, event: MouseEvent) {\n const target = event.target || event.srcElement;\n if (!(target instanceof HTMLElement)) {\n return;\n }\n if (target?.nodeName !== 'SPAN') {\n return;\n }\n\n const box = target.getBoundingClientRect();\n const cursor = {\n left: (box.left + box.right) / 2,\n top: (box.top + box.bottom) / 2,\n };\n\n cm.state.jump.cursor = cursor;\n\n if (cm.state.jump.isHoldingModifier) {\n enableJumpMode(cm);\n }\n}\n\nfunction onMouseOut(cm: CodeMirror.Editor) {\n if (!cm.state.jump.isHoldingModifier && cm.state.jump.cursor) {\n cm.state.jump.cursor = null;\n return;\n }\n\n if (cm.state.jump.isHoldingModifier && cm.state.jump.marker) {\n disableJumpMode(cm);\n }\n}\n\nfunction onKeyDown(cm: CodeMirror.Editor, event: KeyboardEvent) {\n if (cm.state.jump.isHoldingModifier || !isJumpModifier(event.key)) {\n return;\n }\n\n cm.state.jump.isHoldingModifier = true;\n\n if (cm.state.jump.cursor) {\n enableJumpMode(cm);\n }\n\n const onKeyUp = (upEvent: KeyboardEvent) => {\n if (upEvent.code !== event.code) {\n return;\n }\n\n cm.state.jump.isHoldingModifier = false;\n\n if (cm.state.jump.marker) {\n disableJumpMode(cm);\n }\n\n CodeMirror.off(document, 'keyup', onKeyUp);\n CodeMirror.off(document, 'click', onClick);\n cm.off('mousedown', onMouseDown);\n };\n\n const onClick = (clickEvent: MouseEvent) => {\n const destination = cm.state.jump.destination;\n if (destination) {\n cm.state.jump.options.onClick(destination, clickEvent);\n }\n };\n\n const onMouseDown = (_: any, downEvent: MouseEvent) => {\n if (cm.state.jump.destination) {\n (downEvent as any).codemirrorIgnore = true;\n }\n };\n\n CodeMirror.on(document, 'keyup', onKeyUp);\n CodeMirror.on(document, 'click', onClick);\n cm.on('mousedown', onMouseDown);\n}\n\nconst isMac =\n typeof navigator !== 'undefined' &&\n navigator &&\n navigator.appVersion.indexOf('Mac') !== -1;\n\nfunction isJumpModifier(key: string) {\n return key === (isMac ? 'Meta' : 'Control');\n}\n\nfunction enableJumpMode(cm: CodeMirror.Editor) {\n if (cm.state.jump.marker) {\n return;\n }\n\n const cursor = cm.state.jump.cursor;\n const pos = cm.coordsChar(cursor);\n const token = cm.getTokenAt(pos, true);\n\n const options = cm.state.jump.options;\n const getDestination = options.getDestination || cm.getHelper(pos, 'jump');\n if (getDestination) {\n const destination = getDestination(token, options, cm);\n if (destination) {\n const marker = cm.markText(\n { line: pos.line, ch: token.start },\n { line: pos.line, ch: token.end },\n { className: 'CodeMirror-jump-token' },\n );\n\n cm.state.jump.marker = marker;\n cm.state.jump.destination = destination;\n }\n }\n}\n\nfunction disableJumpMode(cm: CodeMirror.Editor) {\n const marker = cm.state.jump.marker;\n cm.state.jump.marker = null;\n cm.state.jump.destination = null;\n\n marker.clear();\n}\n"],"names":["require","codemirror_1","registerHelper","token","options","schema","onClick","state","kind","step","typeInfo","getTypeInfo_1","fieldDef","SchemaReference_1","directiveDef","argDef","enumValue","type","isMetaField","name","slice","exports","field","parentType","directive","argument","value","undefined","inputType","graphql_1","stack","fn","reverseStateStack","push","prevState","i","length","getFieldDef","fieldName","introspection_1","getQueryType","getFields","tokenState","info","argDefs","objectFieldDefs","forEachState_1","getMutationType","getSubscriptionType","getType","getDirective","parentDef","args","enumType","array","predicate","find","getValues","val","nullableType","ofType","objectType","objectField","onMouseOver","cm","event","target","srcElement","HTMLElement","nodeName","box","getBoundingClientRect","cursor","left","right","top","bottom","jump","isHoldingModifier","enableJumpMode","onMouseOut","marker","disableJumpMode","onKeyDown","key","isMac","clickEvent","destination","onMouseDown","_","downEvent","codemirrorIgnore","on","document","onKeyUp","upEvent","code","off","defineOption","old","Init","oldOnMouseOver","getWrapperElement","oldOnMouseOut","bind","navigator","appVersion","indexOf","pos","coordsChar","getTokenAt","getDestination","getHelper","markText","line","ch","start","end","className","clear"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/587.f2cbe2fb.chunk.js","mappings":"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","sources":["../node_modules/codemirror-graphql/src/jump.ts","../node_modules/codemirror-graphql/src/utils/SchemaReference.ts","../node_modules/codemirror-graphql/src/utils/forEachState.ts","../node_modules/codemirror-graphql/src/utils/getTypeInfo.ts","../node_modules/codemirror-graphql/src/utils/jump-addon.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @flow\n *\n */\n\nimport CodeMirror from 'codemirror';\n\nimport getTypeInfo from './utils/getTypeInfo';\nimport {\n getArgumentReference,\n getDirectiveReference,\n getEnumValueReference,\n getFieldReference,\n getTypeReference,\n} from './utils/SchemaReference';\nimport './utils/jump-addon';\nimport { GraphQLSchema } from 'graphql';\nimport type { State } from 'graphql-language-service';\n\nexport interface GraphQLJumpOptions {\n schema?: GraphQLSchema;\n onClick?: () => void;\n state?: State;\n}\n\n/**\n * Registers GraphQL \"jump\" links for CodeMirror.\n *\n * When command-hovering over a token, this converts it to a link, which when\n * pressed will call the provided onClick handler.\n *\n * Options:\n *\n * - schema: GraphQLSchema provides positionally relevant info.\n * - onClick: A function called when a named thing is clicked.\n *\n */\nCodeMirror.registerHelper(\n 'jump',\n 'graphql',\n (token: CodeMirror.Token, options: GraphQLJumpOptions) => {\n if (!options.schema || !options.onClick || !token.state) {\n return;\n }\n\n // Given a Schema and a Token, produce a \"SchemaReference\" which refers to\n // the particular artifact from the schema (such as a type, field, argument,\n // or directive) that token references.\n const state = token.state;\n const kind = state.kind;\n const step = state.step;\n const typeInfo = getTypeInfo(options.schema, state);\n\n if (\n (kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef)\n ) {\n return getFieldReference(typeInfo);\n } else if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\n return getDirectiveReference(typeInfo);\n } else if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\n return getArgumentReference(typeInfo);\n } else if (kind === 'EnumValue' && typeInfo.enumValue) {\n return getEnumValueReference(typeInfo);\n } else if (kind === 'NamedType' && typeInfo.type) {\n return getTypeReference(typeInfo);\n }\n },\n);\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport { getNamedType, GraphQLSchema } from 'graphql';\n\nimport type {\n GraphQLArgument,\n GraphQLDirective,\n GraphQLEnumValue,\n GraphQLEnumType,\n GraphQLField,\n GraphQLNamedType,\n} from 'graphql';\nimport { Maybe } from 'graphql/jsutils/Maybe';\nimport { TypeInfo } from './getTypeInfo';\n\nexport type SchemaReference =\n | FieldReference\n | DirectiveReference\n | ArgumentReference\n | EnumValueReference\n | TypeReference;\n\nexport type FieldReference = {\n kind: 'Field';\n field: GraphQLField<any, any>;\n type: Maybe<GraphQLNamedType>;\n schema?: GraphQLSchema;\n};\n\nexport type DirectiveReference = {\n kind: 'Directive';\n directive: GraphQLDirective;\n schema?: GraphQLSchema;\n};\n\nexport type ArgumentReference = {\n kind: 'Argument';\n argument: GraphQLArgument;\n field?: GraphQLField<any, any>;\n type?: GraphQLNamedType;\n directive?: GraphQLDirective;\n schema?: GraphQLSchema;\n};\n\nexport type EnumValueReference = {\n kind: 'EnumValue';\n value?: GraphQLEnumValue;\n type?: GraphQLEnumType;\n schema?: GraphQLSchema;\n};\n\nexport type TypeReference = {\n kind: 'Type';\n type: GraphQLNamedType;\n schema?: GraphQLSchema;\n};\n\nexport function getFieldReference(typeInfo: any): FieldReference {\n return {\n kind: 'Field',\n schema: typeInfo.schema,\n field: typeInfo.fieldDef,\n type: isMetaField(typeInfo.fieldDef) ? null : typeInfo.parentType,\n };\n}\n\nexport function getDirectiveReference(typeInfo: any): DirectiveReference {\n return {\n kind: 'Directive',\n schema: typeInfo.schema,\n directive: typeInfo.directiveDef,\n };\n}\n\nexport function getArgumentReference(typeInfo: any): ArgumentReference {\n return typeInfo.directiveDef\n ? {\n kind: 'Argument',\n schema: typeInfo.schema,\n argument: typeInfo.argDef,\n directive: typeInfo.directiveDef,\n }\n : {\n kind: 'Argument',\n schema: typeInfo.schema,\n argument: typeInfo.argDef,\n field: typeInfo.fieldDef,\n type: isMetaField(typeInfo.fieldDef) ? null : typeInfo.parentType,\n };\n}\n\nexport function getEnumValueReference(typeInfo: TypeInfo): EnumValueReference {\n return {\n kind: 'EnumValue',\n value: typeInfo.enumValue || undefined,\n // $FlowFixMe\n type: typeInfo.inputType\n ? (getNamedType(typeInfo.inputType) as GraphQLEnumType)\n : undefined,\n };\n}\n\n// Note: for reusability, getTypeReference can produce a reference to any type,\n// though it defaults to the current type.\nexport function getTypeReference(\n typeInfo: any,\n type?: Maybe<GraphQLNamedType>,\n): TypeReference {\n return {\n kind: 'Type',\n schema: typeInfo.schema,\n type: type || typeInfo.type,\n };\n}\n\nfunction isMetaField(fieldDef: GraphQLField<any, any>) {\n return fieldDef.name.slice(0, 2) === '__';\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport type { State, Maybe } from 'graphql-language-service';\n\n// Utility for iterating through a CodeMirror parse state stack bottom-up.\nexport default function forEachState(stack: State, fn: (state: State) => void) {\n const reverseStateStack = [];\n let state: Maybe<State> = stack;\n while (state && state.kind) {\n reverseStateStack.push(state);\n state = state.prevState;\n }\n for (let i = reverseStateStack.length - 1; i >= 0; i--) {\n fn(reverseStateStack[i]);\n }\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport {\n isCompositeType,\n getNullableType,\n getNamedType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLList,\n GraphQLSchema,\n GraphQLType,\n GraphQLObjectType,\n GraphQLField,\n GraphQLDirective,\n GraphQLArgument,\n GraphQLInputType,\n GraphQLEnumValue,\n GraphQLInputFieldMap,\n} from 'graphql';\nimport type { State, Maybe } from 'graphql-language-service';\n\nimport {\n SchemaMetaFieldDef,\n TypeMetaFieldDef,\n TypeNameMetaFieldDef,\n} from 'graphql/type/introspection';\n\nimport forEachState from './forEachState';\n\nexport interface TypeInfo {\n schema: GraphQLSchema;\n type?: Maybe<GraphQLType>;\n parentType?: Maybe<GraphQLType>;\n inputType?: Maybe<GraphQLInputType>;\n directiveDef?: Maybe<GraphQLDirective>;\n fieldDef?: Maybe<GraphQLField<any, any>>;\n argDef?: Maybe<GraphQLArgument>;\n argDefs?: Maybe<GraphQLArgument[]>;\n enumValue?: Maybe<GraphQLEnumValue>;\n objectFieldDefs?: Maybe<GraphQLInputFieldMap>;\n}\n\n/**\n * Utility for collecting rich type information given any token's state\n * from the graphql-mode parser.\n */\nexport default function getTypeInfo(schema: GraphQLSchema, tokenState: State) {\n const info: TypeInfo = {\n schema,\n type: null,\n parentType: null,\n inputType: null,\n directiveDef: null,\n fieldDef: null,\n argDef: null,\n argDefs: null,\n objectFieldDefs: null,\n };\n\n forEachState(tokenState, (state: State) => {\n switch (state.kind) {\n case 'Query':\n case 'ShortQuery':\n info.type = schema.getQueryType();\n break;\n case 'Mutation':\n info.type = schema.getMutationType();\n break;\n case 'Subscription':\n info.type = schema.getSubscriptionType();\n break;\n case 'InlineFragment':\n case 'FragmentDefinition':\n if (state.type) {\n info.type = schema.getType(state.type);\n }\n break;\n case 'Field':\n case 'AliasedField':\n info.fieldDef =\n info.type && state.name\n ? getFieldDef(schema, info.parentType, state.name)\n : null;\n info.type = info.fieldDef && info.fieldDef.type;\n break;\n case 'SelectionSet':\n info.parentType = info.type ? getNamedType(info.type) : null;\n break;\n case 'Directive':\n info.directiveDef = state.name ? schema.getDirective(state.name) : null;\n break;\n case 'Arguments':\n const parentDef = state.prevState\n ? state.prevState.kind === 'Field'\n ? info.fieldDef\n : state.prevState.kind === 'Directive'\n ? info.directiveDef\n : state.prevState.kind === 'AliasedField'\n ? state.prevState.name &&\n getFieldDef(schema, info.parentType, state.prevState.name)\n : null\n : null;\n info.argDefs = parentDef ? (parentDef.args as GraphQLArgument[]) : null;\n break;\n case 'Argument':\n info.argDef = null;\n if (info.argDefs) {\n for (let i = 0; i < info.argDefs.length; i++) {\n if (info.argDefs[i].name === state.name) {\n info.argDef = info.argDefs[i];\n break;\n }\n }\n }\n info.inputType = info.argDef && info.argDef.type;\n break;\n case 'EnumValue':\n const enumType = info.inputType ? getNamedType(info.inputType) : null;\n info.enumValue =\n enumType instanceof GraphQLEnumType\n ? find(\n enumType.getValues() as GraphQLEnumValue[],\n val => val.value === state.name,\n )\n : null;\n break;\n case 'ListValue':\n const nullableType = info.inputType\n ? getNullableType(info.inputType)\n : null;\n info.inputType =\n nullableType instanceof GraphQLList ? nullableType.ofType : null;\n break;\n case 'ObjectValue':\n const objectType = info.inputType ? getNamedType(info.inputType) : null;\n info.objectFieldDefs =\n objectType instanceof GraphQLInputObjectType\n ? objectType.getFields()\n : null;\n break;\n case 'ObjectField':\n const objectField =\n state.name && info.objectFieldDefs\n ? info.objectFieldDefs[state.name]\n : null;\n info.inputType = objectField && objectField.type;\n break;\n case 'NamedType':\n info.type = state.name ? schema.getType(state.name) : null;\n break;\n }\n });\n\n return info;\n}\n\n// Gets the field definition given a type and field name\nfunction getFieldDef(\n schema: GraphQLSchema,\n type: Maybe<GraphQLType>,\n fieldName: string,\n) {\n if (fieldName === SchemaMetaFieldDef.name && schema.getQueryType() === type) {\n return SchemaMetaFieldDef;\n }\n if (fieldName === TypeMetaFieldDef.name && schema.getQueryType() === type) {\n return TypeMetaFieldDef;\n }\n if (fieldName === TypeNameMetaFieldDef.name && isCompositeType(type)) {\n return TypeNameMetaFieldDef;\n }\n if (type && (type as GraphQLObjectType).getFields) {\n return (type as GraphQLObjectType).getFields()[fieldName];\n }\n}\n\n// Returns the first item in the array which causes predicate to return truthy.\nfunction find<T>(array: T[], predicate: (item: T) => boolean) {\n for (let i = 0; i < array.length; i++) {\n if (predicate(array[i])) {\n return array[i];\n }\n }\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport { GraphQLJumpOptions } from '../jump';\n\nCodeMirror.defineOption(\n 'jump',\n false,\n (\n cm: CodeMirror.Editor,\n options: GraphQLJumpOptions,\n old?: GraphQLJumpOptions,\n ) => {\n if (old && old !== CodeMirror.Init) {\n const oldOnMouseOver = cm.state.jump.onMouseOver;\n CodeMirror.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);\n const oldOnMouseOut = cm.state.jump.onMouseOut;\n CodeMirror.off(cm.getWrapperElement(), 'mouseout', oldOnMouseOut);\n CodeMirror.off(document, 'keydown', cm.state.jump.onKeyDown);\n delete cm.state.jump;\n }\n\n if (options) {\n const state = (cm.state.jump = {\n options,\n onMouseOver: onMouseOver.bind(null, cm),\n onMouseOut: onMouseOut.bind(null, cm),\n onKeyDown: onKeyDown.bind(null, cm),\n });\n\n CodeMirror.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);\n CodeMirror.on(cm.getWrapperElement(), 'mouseout', state.onMouseOut);\n CodeMirror.on(document, 'keydown', state.onKeyDown);\n }\n },\n);\n\nfunction onMouseOver(cm: CodeMirror.Editor, event: MouseEvent) {\n const target = event.target || event.srcElement;\n if (!(target instanceof HTMLElement)) {\n return;\n }\n if (target?.nodeName !== 'SPAN') {\n return;\n }\n\n const box = target.getBoundingClientRect();\n const cursor = {\n left: (box.left + box.right) / 2,\n top: (box.top + box.bottom) / 2,\n };\n\n cm.state.jump.cursor = cursor;\n\n if (cm.state.jump.isHoldingModifier) {\n enableJumpMode(cm);\n }\n}\n\nfunction onMouseOut(cm: CodeMirror.Editor) {\n if (!cm.state.jump.isHoldingModifier && cm.state.jump.cursor) {\n cm.state.jump.cursor = null;\n return;\n }\n\n if (cm.state.jump.isHoldingModifier && cm.state.jump.marker) {\n disableJumpMode(cm);\n }\n}\n\nfunction onKeyDown(cm: CodeMirror.Editor, event: KeyboardEvent) {\n if (cm.state.jump.isHoldingModifier || !isJumpModifier(event.key)) {\n return;\n }\n\n cm.state.jump.isHoldingModifier = true;\n\n if (cm.state.jump.cursor) {\n enableJumpMode(cm);\n }\n\n const onKeyUp = (upEvent: KeyboardEvent) => {\n if (upEvent.code !== event.code) {\n return;\n }\n\n cm.state.jump.isHoldingModifier = false;\n\n if (cm.state.jump.marker) {\n disableJumpMode(cm);\n }\n\n CodeMirror.off(document, 'keyup', onKeyUp);\n CodeMirror.off(document, 'click', onClick);\n cm.off('mousedown', onMouseDown);\n };\n\n const onClick = (clickEvent: MouseEvent) => {\n const destination = cm.state.jump.destination;\n if (destination) {\n cm.state.jump.options.onClick(destination, clickEvent);\n }\n };\n\n const onMouseDown = (_: any, downEvent: MouseEvent) => {\n if (cm.state.jump.destination) {\n (downEvent as any).codemirrorIgnore = true;\n }\n };\n\n CodeMirror.on(document, 'keyup', onKeyUp);\n CodeMirror.on(document, 'click', onClick);\n cm.on('mousedown', onMouseDown);\n}\n\nconst isMac =\n typeof navigator !== 'undefined' &&\n navigator &&\n navigator.appVersion.indexOf('Mac') !== -1;\n\nfunction isJumpModifier(key: string) {\n return key === (isMac ? 'Meta' : 'Control');\n}\n\nfunction enableJumpMode(cm: CodeMirror.Editor) {\n if (cm.state.jump.marker) {\n return;\n }\n\n const cursor = cm.state.jump.cursor;\n const pos = cm.coordsChar(cursor);\n const token = cm.getTokenAt(pos, true);\n\n const options = cm.state.jump.options;\n const getDestination = options.getDestination || cm.getHelper(pos, 'jump');\n if (getDestination) {\n const destination = getDestination(token, options, cm);\n if (destination) {\n const marker = cm.markText(\n { line: pos.line, ch: token.start },\n { line: pos.line, ch: token.end },\n { className: 'CodeMirror-jump-token' },\n );\n\n cm.state.jump.marker = marker;\n cm.state.jump.destination = destination;\n }\n }\n}\n\nfunction disableJumpMode(cm: CodeMirror.Editor) {\n const marker = cm.state.jump.marker;\n cm.state.jump.marker = null;\n cm.state.jump.destination = null;\n\n marker.clear();\n}\n"],"names":["require","codemirror_1","registerHelper","token","options","schema","onClick","state","kind","step","typeInfo","getTypeInfo_1","fieldDef","SchemaReference_1","directiveDef","argDef","enumValue","type","isMetaField","name","slice","exports","field","parentType","directive","argument","value","undefined","inputType","graphql_1","stack","fn","reverseStateStack","push","prevState","i","length","getFieldDef","fieldName","introspection_1","getQueryType","getFields","tokenState","info","argDefs","objectFieldDefs","forEachState_1","getMutationType","getSubscriptionType","getType","getDirective","parentDef","args","enumType","array","predicate","find","getValues","val","nullableType","ofType","objectType","objectField","onMouseOver","cm","event","target","srcElement","HTMLElement","nodeName","box","getBoundingClientRect","cursor","left","right","top","bottom","jump","isHoldingModifier","enableJumpMode","onMouseOut","marker","disableJumpMode","onKeyDown","key","isMac","clickEvent","destination","onMouseDown","_","downEvent","codemirrorIgnore","on","document","onKeyUp","upEvent","code","off","defineOption","old","Init","oldOnMouseOver","getWrapperElement","oldOnMouseOut","bind","navigator","appVersion","indexOf","pos","coordsChar","getTokenAt","getDestination","getHelper","markText","line","ch","start","end","className","clear"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/619.cd709ae5.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/dialog/dialog.js","../node_modules/codemirror/addon/search/jump-to-line.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Open simple dialogs on top of an editor. Relies on dialog.css.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n function dialogDiv(cm, template, bottom) {\n var wrap = cm.getWrapperElement();\n var dialog;\n dialog = wrap.appendChild(document.createElement(\"div\"));\n if (bottom)\n dialog.className = \"CodeMirror-dialog CodeMirror-dialog-bottom\";\n else\n dialog.className = \"CodeMirror-dialog CodeMirror-dialog-top\";\n\n if (typeof template == \"string\") {\n dialog.innerHTML = template;\n } else { // Assuming it's a detached DOM element.\n dialog.appendChild(template);\n }\n CodeMirror.addClass(wrap, 'dialog-opened');\n return dialog;\n }\n\n function closeNotification(cm, newVal) {\n if (cm.state.currentNotificationClose)\n cm.state.currentNotificationClose();\n cm.state.currentNotificationClose = newVal;\n }\n\n CodeMirror.defineExtension(\"openDialog\", function(template, callback, options) {\n if (!options) options = {};\n\n closeNotification(this, null);\n\n var dialog = dialogDiv(this, template, options.bottom);\n var closed = false, me = this;\n function close(newVal) {\n if (typeof newVal == 'string') {\n inp.value = newVal;\n } else {\n if (closed) return;\n closed = true;\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\n dialog.parentNode.removeChild(dialog);\n me.focus();\n\n if (options.onClose) options.onClose(dialog);\n }\n }\n\n var inp = dialog.getElementsByTagName(\"input\")[0], button;\n if (inp) {\n inp.focus();\n\n if (options.value) {\n inp.value = options.value;\n if (options.selectValueOnOpen !== false) {\n inp.select();\n }\n }\n\n if (options.onInput)\n CodeMirror.on(inp, \"input\", function(e) { options.onInput(e, inp.value, close);});\n if (options.onKeyUp)\n CodeMirror.on(inp, \"keyup\", function(e) {options.onKeyUp(e, inp.value, close);});\n\n CodeMirror.on(inp, \"keydown\", function(e) {\n if (options && options.onKeyDown && options.onKeyDown(e, inp.value, close)) { return; }\n if (e.keyCode == 27 || (options.closeOnEnter !== false && e.keyCode == 13)) {\n inp.blur();\n CodeMirror.e_stop(e);\n close();\n }\n if (e.keyCode == 13) callback(inp.value, e);\n });\n\n if (options.closeOnBlur !== false) CodeMirror.on(dialog, \"focusout\", function (evt) {\n if (evt.relatedTarget !== null) close();\n });\n } else if (button = dialog.getElementsByTagName(\"button\")[0]) {\n CodeMirror.on(button, \"click\", function() {\n close();\n me.focus();\n });\n\n if (options.closeOnBlur !== false) CodeMirror.on(button, \"blur\", close);\n\n button.focus();\n }\n return close;\n });\n\n CodeMirror.defineExtension(\"openConfirm\", function(template, callbacks, options) {\n closeNotification(this, null);\n var dialog = dialogDiv(this, template, options && options.bottom);\n var buttons = dialog.getElementsByTagName(\"button\");\n var closed = false, me = this, blurring = 1;\n function close() {\n if (closed) return;\n closed = true;\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\n dialog.parentNode.removeChild(dialog);\n me.focus();\n }\n buttons[0].focus();\n for (var i = 0; i < buttons.length; ++i) {\n var b = buttons[i];\n (function(callback) {\n CodeMirror.on(b, \"click\", function(e) {\n CodeMirror.e_preventDefault(e);\n close();\n if (callback) callback(me);\n });\n })(callbacks[i]);\n CodeMirror.on(b, \"blur\", function() {\n --blurring;\n setTimeout(function() { if (blurring <= 0) close(); }, 200);\n });\n CodeMirror.on(b, \"focus\", function() { ++blurring; });\n }\n });\n\n /*\n * openNotification\n * Opens a notification, that can be closed with an optional timer\n * (default 5000ms timer) and always closes on click.\n *\n * If a notification is opened while another is opened, it will close the\n * currently opened one and open the new one immediately.\n */\n CodeMirror.defineExtension(\"openNotification\", function(template, options) {\n closeNotification(this, close);\n var dialog = dialogDiv(this, template, options && options.bottom);\n var closed = false, doneTimer;\n var duration = options && typeof options.duration !== \"undefined\" ? options.duration : 5000;\n\n function close() {\n if (closed) return;\n closed = true;\n clearTimeout(doneTimer);\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\n dialog.parentNode.removeChild(dialog);\n }\n\n CodeMirror.on(dialog, 'click', function(e) {\n CodeMirror.e_preventDefault(e);\n close();\n });\n\n if (duration)\n doneTimer = setTimeout(close, duration);\n\n return close;\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Defines jumpToLine command. Uses dialog.js if present.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../dialog/dialog\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../dialog/dialog\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n // default search panel location\n CodeMirror.defineOption(\"search\", {bottom: false});\n\n function dialog(cm, text, shortText, deflt, f) {\n if (cm.openDialog) cm.openDialog(text, f, {value: deflt, selectValueOnOpen: true, bottom: cm.options.search.bottom});\n else f(prompt(shortText, deflt));\n }\n\n function getJumpDialog(cm) {\n return cm.phrase(\"Jump to line:\") + ' <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">' + cm.phrase(\"(Use line:column or scroll% syntax)\") + '</span>';\n }\n\n function interpretLine(cm, string) {\n var num = Number(string)\n if (/^[-+]/.test(string)) return cm.getCursor().line + num\n else return num - 1\n }\n\n CodeMirror.commands.jumpToLine = function(cm) {\n var cur = cm.getCursor();\n dialog(cm, getJumpDialog(cm), cm.phrase(\"Jump to line:\"), (cur.line + 1) + \":\" + cur.ch, function(posStr) {\n if (!posStr) return;\n\n var match;\n if (match = /^\\s*([\\+\\-]?\\d+)\\s*\\:\\s*(\\d+)\\s*$/.exec(posStr)) {\n cm.setCursor(interpretLine(cm, match[1]), Number(match[2]))\n } else if (match = /^\\s*([\\+\\-]?\\d+(\\.\\d+)?)\\%\\s*/.exec(posStr)) {\n var line = Math.round(cm.lineCount() * Number(match[1]) / 100);\n if (/^[-+]/.test(match[1])) line = cur.line + line + 1;\n cm.setCursor(line - 1, cur.ch);\n } else if (match = /^\\s*\\:?\\s*([\\+\\-]?\\d+)\\s*/.exec(posStr)) {\n cm.setCursor(interpretLine(cm, match[1]), cur.ch);\n }\n });\n };\n\n CodeMirror.keyMap[\"default\"][\"Alt-G\"] = \"jumpToLine\";\n});\n"],"names":["CodeMirror","dialogDiv","cm","template","bottom","dialog","wrap","getWrapperElement","appendChild","document","createElement","className","innerHTML","addClass","closeNotification","newVal","state","currentNotificationClose","defineExtension","callback","options","this","closed","me","close","inp","value","rmClass","parentNode","removeChild","focus","onClose","button","getElementsByTagName","selectValueOnOpen","select","onInput","on","e","onKeyUp","onKeyDown","keyCode","closeOnEnter","blur","e_stop","closeOnBlur","evt","relatedTarget","callbacks","buttons","blurring","i","length","b","e_preventDefault","setTimeout","doneTimer","duration","clearTimeout","mod","require","text","shortText","deflt","f","openDialog","search","prompt","getJumpDialog","phrase","interpretLine","string","num","Number","test","getCursor","line","defineOption","commands","jumpToLine","cur","ch","posStr","match","exec","setCursor","Math","round","lineCount","keyMap"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/619.cd709ae5.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/dialog/dialog.js","../node_modules/codemirror/addon/search/jump-to-line.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Open simple dialogs on top of an editor. Relies on dialog.css.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n function dialogDiv(cm, template, bottom) {\n var wrap = cm.getWrapperElement();\n var dialog;\n dialog = wrap.appendChild(document.createElement(\"div\"));\n if (bottom)\n dialog.className = \"CodeMirror-dialog CodeMirror-dialog-bottom\";\n else\n dialog.className = \"CodeMirror-dialog CodeMirror-dialog-top\";\n\n if (typeof template == \"string\") {\n dialog.innerHTML = template;\n } else { // Assuming it's a detached DOM element.\n dialog.appendChild(template);\n }\n CodeMirror.addClass(wrap, 'dialog-opened');\n return dialog;\n }\n\n function closeNotification(cm, newVal) {\n if (cm.state.currentNotificationClose)\n cm.state.currentNotificationClose();\n cm.state.currentNotificationClose = newVal;\n }\n\n CodeMirror.defineExtension(\"openDialog\", function(template, callback, options) {\n if (!options) options = {};\n\n closeNotification(this, null);\n\n var dialog = dialogDiv(this, template, options.bottom);\n var closed = false, me = this;\n function close(newVal) {\n if (typeof newVal == 'string') {\n inp.value = newVal;\n } else {\n if (closed) return;\n closed = true;\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\n dialog.parentNode.removeChild(dialog);\n me.focus();\n\n if (options.onClose) options.onClose(dialog);\n }\n }\n\n var inp = dialog.getElementsByTagName(\"input\")[0], button;\n if (inp) {\n inp.focus();\n\n if (options.value) {\n inp.value = options.value;\n if (options.selectValueOnOpen !== false) {\n inp.select();\n }\n }\n\n if (options.onInput)\n CodeMirror.on(inp, \"input\", function(e) { options.onInput(e, inp.value, close);});\n if (options.onKeyUp)\n CodeMirror.on(inp, \"keyup\", function(e) {options.onKeyUp(e, inp.value, close);});\n\n CodeMirror.on(inp, \"keydown\", function(e) {\n if (options && options.onKeyDown && options.onKeyDown(e, inp.value, close)) { return; }\n if (e.keyCode == 27 || (options.closeOnEnter !== false && e.keyCode == 13)) {\n inp.blur();\n CodeMirror.e_stop(e);\n close();\n }\n if (e.keyCode == 13) callback(inp.value, e);\n });\n\n if (options.closeOnBlur !== false) CodeMirror.on(dialog, \"focusout\", function (evt) {\n if (evt.relatedTarget !== null) close();\n });\n } else if (button = dialog.getElementsByTagName(\"button\")[0]) {\n CodeMirror.on(button, \"click\", function() {\n close();\n me.focus();\n });\n\n if (options.closeOnBlur !== false) CodeMirror.on(button, \"blur\", close);\n\n button.focus();\n }\n return close;\n });\n\n CodeMirror.defineExtension(\"openConfirm\", function(template, callbacks, options) {\n closeNotification(this, null);\n var dialog = dialogDiv(this, template, options && options.bottom);\n var buttons = dialog.getElementsByTagName(\"button\");\n var closed = false, me = this, blurring = 1;\n function close() {\n if (closed) return;\n closed = true;\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\n dialog.parentNode.removeChild(dialog);\n me.focus();\n }\n buttons[0].focus();\n for (var i = 0; i < buttons.length; ++i) {\n var b = buttons[i];\n (function(callback) {\n CodeMirror.on(b, \"click\", function(e) {\n CodeMirror.e_preventDefault(e);\n close();\n if (callback) callback(me);\n });\n })(callbacks[i]);\n CodeMirror.on(b, \"blur\", function() {\n --blurring;\n setTimeout(function() { if (blurring <= 0) close(); }, 200);\n });\n CodeMirror.on(b, \"focus\", function() { ++blurring; });\n }\n });\n\n /*\n * openNotification\n * Opens a notification, that can be closed with an optional timer\n * (default 5000ms timer) and always closes on click.\n *\n * If a notification is opened while another is opened, it will close the\n * currently opened one and open the new one immediately.\n */\n CodeMirror.defineExtension(\"openNotification\", function(template, options) {\n closeNotification(this, close);\n var dialog = dialogDiv(this, template, options && options.bottom);\n var closed = false, doneTimer;\n var duration = options && typeof options.duration !== \"undefined\" ? options.duration : 5000;\n\n function close() {\n if (closed) return;\n closed = true;\n clearTimeout(doneTimer);\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\n dialog.parentNode.removeChild(dialog);\n }\n\n CodeMirror.on(dialog, 'click', function(e) {\n CodeMirror.e_preventDefault(e);\n close();\n });\n\n if (duration)\n doneTimer = setTimeout(close, duration);\n\n return close;\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Defines jumpToLine command. Uses dialog.js if present.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../dialog/dialog\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../dialog/dialog\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n // default search panel location\n CodeMirror.defineOption(\"search\", {bottom: false});\n\n function dialog(cm, text, shortText, deflt, f) {\n if (cm.openDialog) cm.openDialog(text, f, {value: deflt, selectValueOnOpen: true, bottom: cm.options.search.bottom});\n else f(prompt(shortText, deflt));\n }\n\n function getJumpDialog(cm) {\n return cm.phrase(\"Jump to line:\") + ' <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">' + cm.phrase(\"(Use line:column or scroll% syntax)\") + '</span>';\n }\n\n function interpretLine(cm, string) {\n var num = Number(string)\n if (/^[-+]/.test(string)) return cm.getCursor().line + num\n else return num - 1\n }\n\n CodeMirror.commands.jumpToLine = function(cm) {\n var cur = cm.getCursor();\n dialog(cm, getJumpDialog(cm), cm.phrase(\"Jump to line:\"), (cur.line + 1) + \":\" + cur.ch, function(posStr) {\n if (!posStr) return;\n\n var match;\n if (match = /^\\s*([\\+\\-]?\\d+)\\s*\\:\\s*(\\d+)\\s*$/.exec(posStr)) {\n cm.setCursor(interpretLine(cm, match[1]), Number(match[2]))\n } else if (match = /^\\s*([\\+\\-]?\\d+(\\.\\d+)?)\\%\\s*/.exec(posStr)) {\n var line = Math.round(cm.lineCount() * Number(match[1]) / 100);\n if (/^[-+]/.test(match[1])) line = cur.line + line + 1;\n cm.setCursor(line - 1, cur.ch);\n } else if (match = /^\\s*\\:?\\s*([\\+\\-]?\\d+)\\s*/.exec(posStr)) {\n cm.setCursor(interpretLine(cm, match[1]), cur.ch);\n }\n });\n };\n\n CodeMirror.keyMap[\"default\"][\"Alt-G\"] = \"jumpToLine\";\n});\n"],"names":["CodeMirror","dialogDiv","cm","template","bottom","dialog","wrap","getWrapperElement","appendChild","document","createElement","className","innerHTML","addClass","closeNotification","newVal","state","currentNotificationClose","defineExtension","callback","options","this","closed","me","close","inp","value","rmClass","parentNode","removeChild","focus","onClose","button","getElementsByTagName","selectValueOnOpen","select","onInput","on","e","onKeyUp","onKeyDown","keyCode","closeOnEnter","blur","e_stop","closeOnBlur","evt","relatedTarget","callbacks","buttons","blurring","i","length","b","e_preventDefault","setTimeout","doneTimer","duration","clearTimeout","mod","require","text","shortText","deflt","f","openDialog","search","prompt","getJumpDialog","phrase","interpretLine","string","num","Number","test","getCursor","line","defineOption","commands","jumpToLine","cur","ch","posStr","match","exec","setCursor","Math","round","lineCount","keyMap"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/658.916c9abf.chunk.js","mappings":"gPASA,iBAEA,UAEMA,EAAW,CAAC,QAAS,UAAW,cAAe,QAC/CC,EAA+B,CACnC,sBAAuB,aACvB,uBAAwB,cACxB,kBAAmB,UAuBrBC,EAAAA,QAAWC,eACT,OACA,WACA,SAACC,EAAcC,GACb,IAAMC,EAASD,EAAQC,OAiBvB,OAhBmBC,EAAAA,eACjBH,EACAE,EACAD,EAAQG,qBACRC,EACAJ,EAAQK,mBAGiBC,KAAI,SAAAC,GAAS,MAAC,CACvCC,QAASD,EAAMC,QACfC,SAAUF,EAAME,SAAWd,EAASY,EAAME,SAAW,GAAKd,EAAS,GACnEe,KAAMH,EAAMI,OAASf,EAAKW,EAAMI,aAAUP,EAC1CQ,KAAMf,EAAAA,QAAWgB,IAAIN,EAAMO,MAAMC,MAAMC,KAAMT,EAAMO,MAAMC,MAAME,WAC/DC,GAAIrB,EAAAA,QAAWgB,IAAIN,EAAMO,MAAMK,IAAIH,KAAMT,EAAMO,MAAMK,IAAIF","sources":["../node_modules/codemirror-graphql/src/lint.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport { FragmentDefinitionNode, GraphQLSchema, ValidationRule } from 'graphql';\nimport { getDiagnostics } from 'graphql-language-service';\n\nconst SEVERITY = ['error', 'warning', 'information', 'hint'];\nconst TYPE: Record<string, string> = {\n 'GraphQL: Validation': 'validation',\n 'GraphQL: Deprecation': 'deprecation',\n 'GraphQL: Syntax': 'syntax',\n};\n\ninterface GraphQLLintOptions {\n schema?: GraphQLSchema;\n validationRules: ValidationRule[];\n externalFragments?: string | FragmentDefinitionNode[];\n}\n\n/**\n * Registers a \"lint\" helper for CodeMirror.\n *\n * Using CodeMirror's \"lint\" addon: https://codemirror.net/demo/lint.html\n * Given the text within an editor, this helper will take that text and return\n * a list of linter issues, derived from GraphQL's parse and validate steps.\n * Also, this uses `graphql-language-service-parser` to power the diagnostics\n * service.\n *\n * Options:\n *\n * - schema: GraphQLSchema provides the linter with positionally relevant info\n *\n */\nCodeMirror.registerHelper(\n 'lint',\n 'graphql',\n (text: string, options: GraphQLLintOptions): CodeMirror.Annotation[] => {\n const schema = options.schema;\n const rawResults = getDiagnostics(\n text,\n schema,\n options.validationRules,\n undefined,\n options.externalFragments,\n );\n\n const results = rawResults.map(error => ({\n message: error.message,\n severity: error.severity ? SEVERITY[error.severity - 1] : SEVERITY[0],\n type: error.source ? TYPE[error.source] : undefined,\n from: CodeMirror.Pos(error.range.start.line, error.range.start.character),\n to: CodeMirror.Pos(error.range.end.line, error.range.end.character),\n }));\n\n return results;\n },\n);\n"],"names":["SEVERITY","TYPE","codemirror_1","registerHelper","text","options","schema","graphql_language_service_1","validationRules","undefined","externalFragments","map","error","message","severity","type","source","from","Pos","range","start","line","character","to","end"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/658.916c9abf.chunk.js","mappings":"gPASA,iBAEA,UAEMA,EAAW,CAAC,QAAS,UAAW,cAAe,QAC/CC,EAA+B,CACnC,sBAAuB,aACvB,uBAAwB,cACxB,kBAAmB,UAuBrBC,EAAAA,QAAWC,eACT,OACA,WACA,SAACC,EAAcC,GACb,IAAMC,EAASD,EAAQC,OAiBvB,OAhBmBC,EAAAA,eACjBH,EACAE,EACAD,EAAQG,qBACRC,EACAJ,EAAQK,mBAGiBC,KAAI,SAAAC,GAAS,MAAC,CACvCC,QAASD,EAAMC,QACfC,SAAUF,EAAME,SAAWd,EAASY,EAAME,SAAW,GAAKd,EAAS,GACnEe,KAAMH,EAAMI,OAASf,EAAKW,EAAMI,aAAUP,EAC1CQ,KAAMf,EAAAA,QAAWgB,IAAIN,EAAMO,MAAMC,MAAMC,KAAMT,EAAMO,MAAMC,MAAME,WAC/DC,GAAIrB,EAAAA,QAAWgB,IAAIN,EAAMO,MAAMK,IAAIH,KAAMT,EAAMO,MAAMK,IAAIF,WACzD,GAGH,G","sources":["../node_modules/codemirror-graphql/src/lint.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport { FragmentDefinitionNode, GraphQLSchema, ValidationRule } from 'graphql';\nimport { getDiagnostics } from 'graphql-language-service';\n\nconst SEVERITY = ['error', 'warning', 'information', 'hint'];\nconst TYPE: Record<string, string> = {\n 'GraphQL: Validation': 'validation',\n 'GraphQL: Deprecation': 'deprecation',\n 'GraphQL: Syntax': 'syntax',\n};\n\ninterface GraphQLLintOptions {\n schema?: GraphQLSchema;\n validationRules: ValidationRule[];\n externalFragments?: string | FragmentDefinitionNode[];\n}\n\n/**\n * Registers a \"lint\" helper for CodeMirror.\n *\n * Using CodeMirror's \"lint\" addon: https://codemirror.net/demo/lint.html\n * Given the text within an editor, this helper will take that text and return\n * a list of linter issues, derived from GraphQL's parse and validate steps.\n * Also, this uses `graphql-language-service-parser` to power the diagnostics\n * service.\n *\n * Options:\n *\n * - schema: GraphQLSchema provides the linter with positionally relevant info\n *\n */\nCodeMirror.registerHelper(\n 'lint',\n 'graphql',\n (text: string, options: GraphQLLintOptions): CodeMirror.Annotation[] => {\n const schema = options.schema;\n const rawResults = getDiagnostics(\n text,\n schema,\n options.validationRules,\n undefined,\n options.externalFragments,\n );\n\n const results = rawResults.map(error => ({\n message: error.message,\n severity: error.severity ? SEVERITY[error.severity - 1] : SEVERITY[0],\n type: error.source ? TYPE[error.source] : undefined,\n from: CodeMirror.Pos(error.range.start.line, error.range.start.character),\n to: CodeMirror.Pos(error.range.end.line, error.range.end.character),\n }));\n\n return results;\n },\n);\n"],"names":["SEVERITY","TYPE","codemirror_1","registerHelper","text","options","schema","graphql_language_service_1","validationRules","undefined","externalFragments","map","error","message","severity","type","source","from","Pos","range","start","line","character","to","end"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/756.a915a97e.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/edit/matchbrackets.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n (document.documentMode == null || document.documentMode < 8);\n\n var Pos = CodeMirror.Pos;\n\n var matching = {\"(\": \")>\", \")\": \"(<\", \"[\": \"]>\", \"]\": \"[<\", \"{\": \"}>\", \"}\": \"{<\", \"<\": \">>\", \">\": \"<<\"};\n\n function bracketRegex(config) {\n return config && config.bracketRegex || /[(){}[\\]]/\n }\n\n function findMatchingBracket(cm, where, config) {\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n var afterCursor = config && config.afterCursor\n if (afterCursor == null)\n afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\n var re = bracketRegex(config)\n\n // A cursor is defined as between two characters, but in in vim command mode\n // (i.e. not insert mode), the cursor is visually represented as a\n // highlighted box on top of the 2nd character. Otherwise, we allow matches\n // from before or after the cursor.\n var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\n re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\n if (!match) return null;\n var dir = match.charAt(1) == \">\" ? 1 : -1;\n if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config);\n if (found == null) return null;\n return {from: Pos(where.line, pos), to: found && found.pos,\n match: found && found.ch == match.charAt(0), forward: dir > 0};\n }\n\n // bracketRegex is used to specify which type of bracket to scan\n // should be a regexp, e.g. /[[\\]]/\n //\n // Note: If \"where\" is on an open bracket, then this bracket is ignored.\n //\n // Returns false when no bracket was found, null when it reached\n // maxScanLines and gave up\n function scanForBracket(cm, where, dir, style, config) {\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\n var maxScanLines = (config && config.maxScanLines) || 1000;\n\n var stack = [];\n var re = bracketRegex(config)\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n var line = cm.getLine(lineNo);\n if (!line) continue;\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n if (line.length > maxScanLen) continue;\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n for (; pos != end; pos += dir) {\n var ch = line.charAt(pos);\n if (re.test(ch) && (style === undefined ||\n (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || \"\") == (style || \"\"))) {\n var match = matching[ch];\n if (match && (match.charAt(1) == \">\") == (dir > 0)) stack.push(ch);\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n else stack.pop();\n }\n }\n }\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n }\n\n function matchBrackets(cm, autoclear, config) {\n // Disable brace matching in long lines, since it'll cause hugely slow updates\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000,\n highlightNonMatching = config && config.highlightNonMatching;\n var marks = [], ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config);\n if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) {\n var style = match.match ? \"CodeMirror-matchingbracket\" : \"CodeMirror-nonmatchingbracket\";\n marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\n if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\n marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\n }\n }\n\n if (marks.length) {\n // Kludge to work around the IE bug from issue #1193, where text\n // input stops going to the textarea whenever this fires.\n if (ie_lt8 && cm.state.focused) cm.focus();\n\n var clear = function() {\n cm.operation(function() {\n for (var i = 0; i < marks.length; i++) marks[i].clear();\n });\n };\n if (autoclear) setTimeout(clear, 800);\n else return clear;\n }\n }\n\n function doMatchBrackets(cm) {\n cm.operation(function() {\n if (cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\n });\n }\n\n function clearHighlighted(cm) {\n if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n }\n\n CodeMirror.defineOption(\"matchBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.off(\"cursorActivity\", doMatchBrackets);\n cm.off(\"focus\", doMatchBrackets)\n cm.off(\"blur\", clearHighlighted)\n clearHighlighted(cm);\n }\n if (val) {\n cm.state.matchBrackets = typeof val == \"object\" ? val : {};\n cm.on(\"cursorActivity\", doMatchBrackets);\n cm.on(\"focus\", doMatchBrackets)\n cm.on(\"blur\", clearHighlighted)\n }\n });\n\n CodeMirror.defineExtension(\"matchBrackets\", function() {matchBrackets(this, true);});\n CodeMirror.defineExtension(\"findMatchingBracket\", function(pos, config, oldConfig){\n // Backwards-compatibility kludge\n if (oldConfig || typeof config == \"boolean\") {\n if (!oldConfig) {\n config = config ? {strict: true} : null\n } else {\n oldConfig.strict = config\n config = oldConfig\n }\n }\n return findMatchingBracket(this, pos, config)\n });\n CodeMirror.defineExtension(\"scanForBracket\", function(pos, dir, style, config){\n return scanForBracket(this, pos, dir, style, config);\n });\n});\n"],"names":["CodeMirror","ie_lt8","test","navigator","userAgent","document","documentMode","Pos","matching","bracketRegex","config","findMatchingBracket","cm","where","line","getLineHandle","pos","ch","afterCursor","getWrapperElement","className","re","match","text","charAt","dir","strict","style","getTokenTypeAt","found","scanForBracket","from","to","forward","maxScanLen","maxScanLineLength","maxScanLines","stack","lineEnd","Math","min","lastLine","max","firstLine","lineNo","getLine","length","end","undefined","push","pop","matchBrackets","autoclear","maxHighlightLen","state","maxHighlightLineLength","highlightNonMatching","marks","ranges","listSelections","i","empty","head","markText","focused","focus","clear","operation","setTimeout","doMatchBrackets","currentlyHighlighted","clearHighlighted","defineOption","val","old","Init","off","on","defineExtension","this","oldConfig","mod","require"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/756.a915a97e.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/edit/matchbrackets.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n (document.documentMode == null || document.documentMode < 8);\n\n var Pos = CodeMirror.Pos;\n\n var matching = {\"(\": \")>\", \")\": \"(<\", \"[\": \"]>\", \"]\": \"[<\", \"{\": \"}>\", \"}\": \"{<\", \"<\": \">>\", \">\": \"<<\"};\n\n function bracketRegex(config) {\n return config && config.bracketRegex || /[(){}[\\]]/\n }\n\n function findMatchingBracket(cm, where, config) {\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n var afterCursor = config && config.afterCursor\n if (afterCursor == null)\n afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\n var re = bracketRegex(config)\n\n // A cursor is defined as between two characters, but in in vim command mode\n // (i.e. not insert mode), the cursor is visually represented as a\n // highlighted box on top of the 2nd character. Otherwise, we allow matches\n // from before or after the cursor.\n var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\n re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\n if (!match) return null;\n var dir = match.charAt(1) == \">\" ? 1 : -1;\n if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config);\n if (found == null) return null;\n return {from: Pos(where.line, pos), to: found && found.pos,\n match: found && found.ch == match.charAt(0), forward: dir > 0};\n }\n\n // bracketRegex is used to specify which type of bracket to scan\n // should be a regexp, e.g. /[[\\]]/\n //\n // Note: If \"where\" is on an open bracket, then this bracket is ignored.\n //\n // Returns false when no bracket was found, null when it reached\n // maxScanLines and gave up\n function scanForBracket(cm, where, dir, style, config) {\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\n var maxScanLines = (config && config.maxScanLines) || 1000;\n\n var stack = [];\n var re = bracketRegex(config)\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n var line = cm.getLine(lineNo);\n if (!line) continue;\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n if (line.length > maxScanLen) continue;\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n for (; pos != end; pos += dir) {\n var ch = line.charAt(pos);\n if (re.test(ch) && (style === undefined ||\n (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || \"\") == (style || \"\"))) {\n var match = matching[ch];\n if (match && (match.charAt(1) == \">\") == (dir > 0)) stack.push(ch);\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n else stack.pop();\n }\n }\n }\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n }\n\n function matchBrackets(cm, autoclear, config) {\n // Disable brace matching in long lines, since it'll cause hugely slow updates\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000,\n highlightNonMatching = config && config.highlightNonMatching;\n var marks = [], ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config);\n if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) {\n var style = match.match ? \"CodeMirror-matchingbracket\" : \"CodeMirror-nonmatchingbracket\";\n marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\n if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\n marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\n }\n }\n\n if (marks.length) {\n // Kludge to work around the IE bug from issue #1193, where text\n // input stops going to the textarea whenever this fires.\n if (ie_lt8 && cm.state.focused) cm.focus();\n\n var clear = function() {\n cm.operation(function() {\n for (var i = 0; i < marks.length; i++) marks[i].clear();\n });\n };\n if (autoclear) setTimeout(clear, 800);\n else return clear;\n }\n }\n\n function doMatchBrackets(cm) {\n cm.operation(function() {\n if (cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\n });\n }\n\n function clearHighlighted(cm) {\n if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n }\n\n CodeMirror.defineOption(\"matchBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.off(\"cursorActivity\", doMatchBrackets);\n cm.off(\"focus\", doMatchBrackets)\n cm.off(\"blur\", clearHighlighted)\n clearHighlighted(cm);\n }\n if (val) {\n cm.state.matchBrackets = typeof val == \"object\" ? val : {};\n cm.on(\"cursorActivity\", doMatchBrackets);\n cm.on(\"focus\", doMatchBrackets)\n cm.on(\"blur\", clearHighlighted)\n }\n });\n\n CodeMirror.defineExtension(\"matchBrackets\", function() {matchBrackets(this, true);});\n CodeMirror.defineExtension(\"findMatchingBracket\", function(pos, config, oldConfig){\n // Backwards-compatibility kludge\n if (oldConfig || typeof config == \"boolean\") {\n if (!oldConfig) {\n config = config ? {strict: true} : null\n } else {\n oldConfig.strict = config\n config = oldConfig\n }\n }\n return findMatchingBracket(this, pos, config)\n });\n CodeMirror.defineExtension(\"scanForBracket\", function(pos, dir, style, config){\n return scanForBracket(this, pos, dir, style, config);\n });\n});\n"],"names":["CodeMirror","ie_lt8","test","navigator","userAgent","document","documentMode","Pos","matching","bracketRegex","config","findMatchingBracket","cm","where","line","getLineHandle","pos","ch","afterCursor","getWrapperElement","className","re","match","text","charAt","dir","strict","style","getTokenTypeAt","found","scanForBracket","from","to","forward","maxScanLen","maxScanLineLength","maxScanLines","stack","lineEnd","Math","min","lastLine","max","firstLine","lineNo","getLine","length","end","undefined","push","pop","matchBrackets","autoclear","maxHighlightLen","state","maxHighlightLineLength","highlightNonMatching","marks","ranges","listSelections","i","empty","head","markText","focused","focus","clear","operation","setTimeout","doMatchBrackets","currentlyHighlighted","clearHighlighted","defineOption","val","old","Init","off","on","defineExtension","this","oldConfig","mod","require"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/76.0a014434.chunk.js","mappings":"+OASA,iBAEA,UAoCA,SAASA,EAKPC,EACAC,G,QAEMC,EAASF,EAAME,OAQrB,QAJGA,GAA4B,IAAlBA,EAAOC,OAEdD,EAAOA,EAAOC,OAAS,KACJ,QAAlB,EAAAC,KAAKC,qBAAaC,IAAAA,OAAA,EAAAA,EAAEC,KAAKN,IAAa,EAAI,GAF3CD,EAAMQ,cAGK,KAAiB,QAAX,EAAAJ,KAAKK,cAAMC,IAAAA,OAAA,EAAAA,EAAEC,aAAc,
|
|
1
|
+
{"version":3,"file":"static/js/76.0a014434.chunk.js","mappings":"+OASA,iBAEA,UAoCA,SAASA,EAKPC,EACAC,G,QAEMC,EAASF,EAAME,OAQrB,QAJGA,GAA4B,IAAlBA,EAAOC,OAEdD,EAAOA,EAAOC,OAAS,KACJ,QAAlB,EAAAC,KAAKC,qBAAaC,IAAAA,OAAA,EAAAA,EAAEC,KAAKN,IAAa,EAAI,GAF3CD,EAAMQ,cAGK,KAAiB,QAAX,EAAAJ,KAAKK,cAAMC,IAAAA,OAAA,EAAAA,EAAEC,aAAc,EACnD,CAvCDC,EAAAA,QAAWC,WAAW,qBAAqB,SAAAJ,GACzC,IAAMK,EAASC,EAAAA,aAAa,CAC1BC,cAAe,SAAAC,GAAU,OAAAA,EAAOC,UAAU,EAC1CC,SAAUC,EACVC,WAAYC,EACZC,aAAc,CAAEC,QAASf,EAAOe,WAGlC,MAAO,CACLf,OAAM,EACNgB,WAAYX,EAAOW,WACnBC,MAAQZ,EAAOY,MACf3B,OAAM,EACNM,cAAe,YACfsB,KAAM,QACNC,cAAe,CACbC,MAAO,SACPC,QAAS,QAGd,IAwBD,IAAMV,EAAW,CAEfW,YAAa,kBAGbC,OAAQ,4DAGRC,OAAQ,0DAGRC,QAAS,oBAMLZ,EAAa,CACjBa,SAAU,CAACpB,EAAAA,EAAE,KAAMA,EAAAA,KAAK,WAAYA,EAAAA,IAAIA,EAAAA,EAAE,OAAQA,EAAAA,EAAE,MACpDqB,SAAU,CAACC,EAAS,YAAatB,EAAAA,EAAE,KAAM,SACzCuB,MAAA,SAAMZ,GACJ,OAAQA,EAAMa,MACZ,IAAK,SACH,MAAO,cACT,IAAK,SACH,MAAO,cACT,IAAK,cACH,OAAQb,EAAMc,OACZ,IAAK,IACH,MAAO,YACT,IAAK,IACH,MAAO,cAEX,OAAO,KACT,IAAK,UACH,OAAQd,EAAMc,OACZ,IAAK,OACL,IAAK,QACH,MAAO,eACT,IAAK,OACH,MAAO,YAEX,OAAO,KAEZ,EACDC,YAAa,CAAC1B,EAAAA,EAAE,SAAU,WAC1B2B,YAAa,CAAC3B,EAAAA,EAAE,SAAU,WAC1B4B,aAAc,CAAC5B,EAAAA,EAAE,UAAW,YAC5B6B,UAAW,CAAC7B,EAAAA,EAAE,UAAW,YACzB8B,UAAW,CAAC9B,EAAAA,EAAE,KAAMA,EAAAA,KAAK,QAASA,EAAAA,IAAIA,EAAAA,EAAE,OAAQA,EAAAA,EAAE,MAClD+B,YAAa,CAAC/B,EAAAA,EAAE,KAAMA,EAAAA,KAAK,cAAeA,EAAAA,IAAIA,EAAAA,EAAE,OAAQA,EAAAA,EAAE,MAC1DgC,YAAa,CAACV,EAAS,aAActB,EAAAA,EAAE,KAAM,UAI/C,SAASsB,EAASW,GAChB,MAAO,CACLA,MAAK,EACLC,MAAO,SAACvB,GAAiB,MAAe,WAAfA,EAAMa,IAAiB,EAChDW,OAAA,SAAOlD,EAAc0B,GACnB1B,EAAMmD,KAAOzB,EAAMc,MAAMY,MAAM,GAAI,EACpC,EAEJ,C","sources":["../node_modules/codemirror-graphql/src/variables/mode.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\n\nimport {\n list,\n t,\n onlineParser,\n opt,\n p,\n State,\n Token,\n} from 'graphql-language-service';\n\n/**\n * This mode defines JSON, but provides a data-laden parser state to enable\n * better code intelligence.\n */\nCodeMirror.defineMode('graphql-variables', config => {\n const parser = onlineParser({\n eatWhitespace: stream => stream.eatSpace(),\n lexRules: LexRules,\n parseRules: ParseRules,\n editorConfig: { tabSize: config.tabSize },\n });\n\n return {\n config,\n startState: parser.startState,\n token: (parser.token as unknown) as CodeMirror.Mode<any>['token'], // TODO: Check if the types are indeed compatible\n indent,\n electricInput: /^\\s*[}\\]]/,\n fold: 'brace',\n closeBrackets: {\n pairs: '[]{}\"\"',\n explode: '[]{}',\n },\n };\n});\n\nfunction indent(\n this: CodeMirror.Mode<any> & {\n electricInput?: RegExp;\n config?: CodeMirror.EditorConfiguration;\n },\n state: State,\n textAfter: string,\n) {\n const levels = state.levels;\n // If there is no stack of levels, use the current level.\n // Otherwise, use the top level, pre-emptively dedenting for close braces.\n const level =\n !levels || levels.length === 0\n ? state.indentLevel\n : levels[levels.length - 1] -\n (this.electricInput?.test(textAfter) ? 1 : 0);\n return (level || 0) * (this.config?.indentUnit || 0);\n}\n\n/**\n * The lexer rules. These are exactly as described by the spec.\n */\nconst LexRules = {\n // All Punctuation used in JSON.\n Punctuation: /^\\[|]|\\{|\\}|:|,/,\n\n // JSON Number.\n Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,\n\n // JSON String.\n String: /^\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?/,\n\n // JSON literal keywords.\n Keyword: /^true|false|null/,\n};\n\n/**\n * The parser rules for JSON.\n */\nconst ParseRules = {\n Document: [p('{'), list('Variable', opt(p(','))), p('}')],\n Variable: [namedKey('variable'), p(':'), 'Value'],\n Value(token: Token) {\n switch (token.kind) {\n case 'Number':\n return 'NumberValue';\n case 'String':\n return 'StringValue';\n case 'Punctuation':\n switch (token.value) {\n case '[':\n return 'ListValue';\n case '{':\n return 'ObjectValue';\n }\n return null;\n case 'Keyword':\n switch (token.value) {\n case 'true':\n case 'false':\n return 'BooleanValue';\n case 'null':\n return 'NullValue';\n }\n return null;\n }\n },\n NumberValue: [t('Number', 'number')],\n StringValue: [t('String', 'string')],\n BooleanValue: [t('Keyword', 'builtin')],\n NullValue: [t('Keyword', 'keyword')],\n ListValue: [p('['), list('Value', opt(p(','))), p(']')],\n ObjectValue: [p('{'), list('ObjectField', opt(p(','))), p('}')],\n ObjectField: [namedKey('attribute'), p(':'), 'Value'],\n};\n\n// A namedKey Token which will decorate the state with a `name`\nfunction namedKey(style: string) {\n return {\n style,\n match: (token: Token) => token.kind === 'String',\n update(state: State, token: Token) {\n state.name = token.value.slice(1, -1); // Remove quotes.\n },\n };\n}\n"],"names":["indent","state","textAfter","levels","length","this","electricInput","_a","test","indentLevel","config","_b","indentUnit","codemirror_1","defineMode","parser","graphql_language_service_1","eatWhitespace","stream","eatSpace","lexRules","LexRules","parseRules","ParseRules","editorConfig","tabSize","startState","token","fold","closeBrackets","pairs","explode","Punctuation","Number","String","Keyword","Document","Variable","namedKey","Value","kind","value","NumberValue","StringValue","BooleanValue","NullValue","ListValue","ObjectValue","ObjectField","style","match","update","name","slice"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/804.118a9243.chunk.js","mappings":"+FAUG,SAASA,GACZ,aAEA,SAASC,EAAeC,GACtB,OAAO,SAASC,EAAIC,GAClB,IAAIC,EAAOD,EAAMC,KAAMC,EAAWH,EAAGI,QAAQF,GAE7C,SAASG,EAAYC,GAEnB,IADA,IAAIC,EACKC,EAAKP,EAAMQ,GAAIC,EAAO,IAAK,CAClC,IAAIC,EAAQH,GAAM,GAAK,EAAIL,EAASS,YAAYN,EAAK,GAAIE,EAAK,GAC9D,IAAc,GAAVG,EAAJ,CAMA,GAAY,GAARD,GAAaC,EAAQV,EAAMQ,GAAI,MAEnC,GADAF,EAAYP,EAAGa,eAAehB,EAAWiB,IAAIZ,EAAMS,EAAQ,KACtD,oBAAoBI,KAAKR,GAAY,MAAO,CAACE,GAAIE,EAAQ,EAAGJ,UAAWA,EAAWD,KAAMA,GAC7FE,EAAKG,EAAQ,
|
|
1
|
+
{"version":3,"file":"static/js/804.118a9243.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/fold/brace-fold.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nfunction bracketFolding(pairs) {\n return function(cm, start) {\n var line = start.line, lineText = cm.getLine(line);\n\n function findOpening(pair) {\n var tokenType;\n for (var at = start.ch, pass = 0;;) {\n var found = at <= 0 ? -1 : lineText.lastIndexOf(pair[0], at - 1);\n if (found == -1) {\n if (pass == 1) break;\n pass = 1;\n at = lineText.length;\n continue;\n }\n if (pass == 1 && found < start.ch) break;\n tokenType = cm.getTokenTypeAt(CodeMirror.Pos(line, found + 1));\n if (!/^(comment|string)/.test(tokenType)) return {ch: found + 1, tokenType: tokenType, pair: pair};\n at = found - 1;\n }\n }\n\n function findRange(found) {\n var count = 1, lastLine = cm.lastLine(), end, startCh = found.ch, endCh\n outer: for (var i = line; i <= lastLine; ++i) {\n var text = cm.getLine(i), pos = i == line ? startCh : 0;\n for (;;) {\n var nextOpen = text.indexOf(found.pair[0], pos), nextClose = text.indexOf(found.pair[1], pos);\n if (nextOpen < 0) nextOpen = text.length;\n if (nextClose < 0) nextClose = text.length;\n pos = Math.min(nextOpen, nextClose);\n if (pos == text.length) break;\n if (cm.getTokenTypeAt(CodeMirror.Pos(i, pos + 1)) == found.tokenType) {\n if (pos == nextOpen) ++count;\n else if (!--count) { end = i; endCh = pos; break outer; }\n }\n ++pos;\n }\n }\n\n if (end == null || line == end) return null\n return {from: CodeMirror.Pos(line, startCh),\n to: CodeMirror.Pos(end, endCh)};\n }\n\n var found = []\n for (var i = 0; i < pairs.length; i++) {\n var open = findOpening(pairs[i])\n if (open) found.push(open)\n }\n found.sort(function(a, b) { return a.ch - b.ch })\n for (var i = 0; i < found.length; i++) {\n var range = findRange(found[i])\n if (range) return range\n }\n return null\n }\n}\n\nCodeMirror.registerHelper(\"fold\", \"brace\", bracketFolding([[\"{\", \"}\"], [\"[\", \"]\"]]));\n\nCodeMirror.registerHelper(\"fold\", \"brace-paren\", bracketFolding([[\"{\", \"}\"], [\"[\", \"]\"], [\"(\", \")\"]]));\n\nCodeMirror.registerHelper(\"fold\", \"import\", function(cm, start) {\n function hasImport(line) {\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\n if (!/\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\n if (start.type != \"keyword\" || start.string != \"import\") return null;\n // Now find closing semicolon, return its position\n for (var i = line, e = Math.min(cm.lastLine(), line + 10); i <= e; ++i) {\n var text = cm.getLine(i), semi = text.indexOf(\";\");\n if (semi != -1) return {startCh: start.end, end: CodeMirror.Pos(i, semi)};\n }\n }\n\n var startLine = start.line, has = hasImport(startLine), prev;\n if (!has || hasImport(startLine - 1) || ((prev = hasImport(startLine - 2)) && prev.end.line == startLine - 1))\n return null;\n for (var end = has.end;;) {\n var next = hasImport(end.line + 1);\n if (next == null) break;\n end = next.end;\n }\n return {from: cm.clipPos(CodeMirror.Pos(startLine, has.startCh + 1)), to: end};\n});\n\nCodeMirror.registerHelper(\"fold\", \"include\", function(cm, start) {\n function hasInclude(line) {\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\n if (!/\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\n if (start.type == \"meta\" && start.string.slice(0, 8) == \"#include\") return start.start + 8;\n }\n\n var startLine = start.line, has = hasInclude(startLine);\n if (has == null || hasInclude(startLine - 1) != null) return null;\n for (var end = startLine;;) {\n var next = hasInclude(end + 1);\n if (next == null) break;\n ++end;\n }\n return {from: CodeMirror.Pos(startLine, has + 1),\n to: cm.clipPos(CodeMirror.Pos(end))};\n});\n\n});\n"],"names":["CodeMirror","bracketFolding","pairs","cm","start","line","lineText","getLine","findOpening","pair","tokenType","at","ch","pass","found","lastIndexOf","getTokenTypeAt","Pos","test","length","findRange","end","endCh","count","lastLine","startCh","outer","i","text","pos","nextOpen","indexOf","nextClose","Math","min","from","to","open","push","sort","a","b","range","registerHelper","hasImport","firstLine","getTokenAt","string","type","e","semi","prev","startLine","has","next","clipPos","hasInclude","slice","mod","require"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/849.f850f73b.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/search/searchcursor.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"))\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod)\n else // Plain browser env\n mod(CodeMirror)\n})(function(CodeMirror) {\n \"use strict\"\n var Pos = CodeMirror.Pos\n\n function regexpFlags(regexp) {\n var flags = regexp.flags\n return flags != null ? flags : (regexp.ignoreCase ? \"i\" : \"\")\n + (regexp.global ? \"g\" : \"\")\n + (regexp.multiline ? \"m\" : \"\")\n }\n\n function ensureFlags(regexp, flags) {\n var current = regexpFlags(regexp), target = current\n for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\n target += flags.charAt(i)\n return current == target ? regexp : new RegExp(regexp.source, target)\n }\n\n function maybeMultiline(regexp) {\n return /\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(regexp.source)\n }\n\n function searchRegexpForward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\n regexp.lastIndex = ch\n var string = doc.getLine(line), match = regexp.exec(string)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpForwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\n\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunk = 1\n for (var line = start.line, last = doc.lastLine(); line <= last;) {\n // This grows the search buffer in exponentially-sized chunks\n // between matches, so that nearby matches are fast and don't\n // require concatenating the whole document (in case we're\n // searching for something that has tons of matches), but at the\n // same time, the amount of retries is limited.\n for (var i = 0; i < chunk; i++) {\n if (line > last) break\n var curLine = doc.getLine(line++)\n string = string == null ? curLine : string + \"\\n\" + curLine\n }\n chunk = chunk * 2\n regexp.lastIndex = start.ch\n var match = regexp.exec(string)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n function lastMatchIn(string, regexp, endMargin) {\n var match, from = 0\n while (from <= string.length) {\n regexp.lastIndex = from\n var newMatch = regexp.exec(string)\n if (!newMatch) break\n var end = newMatch.index + newMatch[0].length\n if (end > string.length - endMargin) break\n if (!match || end > match.index + match[0].length)\n match = newMatch\n from = newMatch.index + 1\n }\n return match\n }\n\n function searchRegexpBackward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\n var string = doc.getLine(line)\n var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpBackwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start)\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunkSize = 1, endMargin = doc.getLine(start.line).length - start.ch\n for (var line = start.line, first = doc.firstLine(); line >= first;) {\n for (var i = 0; i < chunkSize && line >= first; i++) {\n var curLine = doc.getLine(line--)\n string = string == null ? curLine : curLine + \"\\n\" + string\n }\n chunkSize *= 2\n\n var match = lastMatchIn(string, regexp, endMargin)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = line + before.length, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n var doFold, noFold\n if (String.prototype.normalize) {\n doFold = function(str) { return str.normalize(\"NFD\").toLowerCase() }\n noFold = function(str) { return str.normalize(\"NFD\") }\n } else {\n doFold = function(str) { return str.toLowerCase() }\n noFold = function(str) { return str }\n }\n\n // Maps a position in a case-folded line back to a position in the original line\n // (compensating for codepoints increasing in number during folding)\n function adjustPos(orig, folded, pos, foldFunc) {\n if (orig.length == folded.length) return pos\n for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) {\n if (min == max) return min\n var mid = (min + max) >> 1\n var len = foldFunc(orig.slice(0, mid)).length\n if (len == pos) return mid\n else if (len > pos) max = mid\n else min = mid + 1\n }\n }\n\n function searchStringForward(doc, query, start, caseFold) {\n // Empty string would match anything and never progress, so we\n // define it to match nothing instead.\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) {\n var orig = doc.getLine(line).slice(ch), string = fold(orig)\n if (lines.length == 1) {\n var found = string.indexOf(lines[0])\n if (found == -1) continue search\n var start = adjustPos(orig, string, found, fold) + ch\n return {from: Pos(line, adjustPos(orig, string, found, fold) + ch),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)}\n } else {\n var cutFrom = string.length - lines[0].length\n if (string.slice(cutFrom) != lines[0]) continue search\n for (var i = 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(line + i)) != lines[i]) continue search\n var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1]\n if (endString.slice(0, lastLine.length) != lastLine) continue search\n return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch),\n to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))}\n }\n }\n }\n\n function searchStringBackward(doc, query, start, caseFold) {\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) {\n var orig = doc.getLine(line)\n if (ch > -1) orig = orig.slice(0, ch)\n var string = fold(orig)\n if (lines.length == 1) {\n var found = string.lastIndexOf(lines[0])\n if (found == -1) continue search\n return {from: Pos(line, adjustPos(orig, string, found, fold)),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))}\n } else {\n var lastLine = lines[lines.length - 1]\n if (string.slice(0, lastLine.length) != lastLine) continue search\n for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(start + i)) != lines[i]) continue search\n var top = doc.getLine(line + 1 - lines.length), topString = fold(top)\n if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search\n return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)),\n to: Pos(line, adjustPos(orig, string, lastLine.length, fold))}\n }\n }\n }\n\n function SearchCursor(doc, query, pos, options) {\n this.atOccurrence = false\n this.afterEmptyMatch = false\n this.doc = doc\n pos = pos ? doc.clipPos(pos) : Pos(0, 0)\n this.pos = {from: pos, to: pos}\n\n var caseFold\n if (typeof options == \"object\") {\n caseFold = options.caseFold\n } else { // Backwards compat for when caseFold was the 4th argument\n caseFold = options\n options = null\n }\n\n if (typeof query == \"string\") {\n if (caseFold == null) caseFold = false\n this.matches = function(reverse, pos) {\n return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold)\n }\n } else {\n query = ensureFlags(query, \"gm\")\n if (!options || options.multiline !== false)\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos)\n }\n else\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos)\n }\n }\n }\n\n SearchCursor.prototype = {\n findNext: function() {return this.find(false)},\n findPrevious: function() {return this.find(true)},\n\n find: function(reverse) {\n var head = this.doc.clipPos(reverse ? this.pos.from : this.pos.to);\n if (this.afterEmptyMatch && this.atOccurrence) {\n // do not return the same 0 width match twice\n head = Pos(head.line, head.ch)\n if (reverse) {\n head.ch--;\n if (head.ch < 0) {\n head.line--;\n head.ch = (this.doc.getLine(head.line) || \"\").length;\n }\n } else {\n head.ch++;\n if (head.ch > (this.doc.getLine(head.line) || \"\").length) {\n head.ch = 0;\n head.line++;\n }\n }\n if (CodeMirror.cmpPos(head, this.doc.clipPos(head)) != 0) {\n return this.atOccurrence = false\n }\n }\n var result = this.matches(reverse, head)\n this.afterEmptyMatch = result && CodeMirror.cmpPos(result.from, result.to) == 0\n\n if (result) {\n this.pos = result\n this.atOccurrence = true\n return this.pos.match || true\n } else {\n var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0)\n this.pos = {from: end, to: end}\n return this.atOccurrence = false\n }\n },\n\n from: function() {if (this.atOccurrence) return this.pos.from},\n to: function() {if (this.atOccurrence) return this.pos.to},\n\n replace: function(newText, origin) {\n if (!this.atOccurrence) return\n var lines = CodeMirror.splitLines(newText)\n this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin)\n this.pos.to = Pos(this.pos.from.line + lines.length - 1,\n lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0))\n }\n }\n\n CodeMirror.defineExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this.doc, query, pos, caseFold)\n })\n CodeMirror.defineDocExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this, query, pos, caseFold)\n })\n\n CodeMirror.defineExtension(\"selectMatches\", function(query, caseFold) {\n var ranges = []\n var cur = this.getSearchCursor(query, this.getCursor(\"from\"), caseFold)\n while (cur.findNext()) {\n if (CodeMirror.cmpPos(cur.to(), this.getCursor(\"to\")) > 0) break\n ranges.push({anchor: cur.from(), head: cur.to()})\n }\n if (ranges.length)\n this.setSelections(ranges, 0)\n })\n});\n"],"names":["CodeMirror","doFold","noFold","Pos","regexpFlags","regexp","flags","ignoreCase","global","multiline","ensureFlags","current","target","i","length","indexOf","charAt","RegExp","source","maybeMultiline","test","searchRegexpForward","doc","start","line","ch","last","lastLine","lastIndex","string","getLine","match","exec","from","index","to","searchRegexpForwardMultiline","chunk","curLine","before","slice","split","inside","startLine","startCh","lastMatchIn","endMargin","newMatch","end","searchRegexpBackward","first","firstLine","searchRegexpBackwardMultiline","chunkSize","adjustPos","orig","folded","pos","foldFunc","min","max","Math","mid","len","searchStringForward","query","caseFold","fold","lines","search","found","cutFrom","endString","searchStringBackward","lastIndexOf","top","topString","SearchCursor","options","this","atOccurrence","afterEmptyMatch","clipPos","matches","reverse","String","prototype","normalize","str","toLowerCase","findNext","find","findPrevious","head","cmpPos","result","replace","newText","origin","splitLines","replaceRange","defineExtension","defineDocExtension","ranges","cur","getSearchCursor","getCursor","push","anchor","setSelections","mod","require"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/849.f850f73b.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/search/searchcursor.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"))\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod)\n else // Plain browser env\n mod(CodeMirror)\n})(function(CodeMirror) {\n \"use strict\"\n var Pos = CodeMirror.Pos\n\n function regexpFlags(regexp) {\n var flags = regexp.flags\n return flags != null ? flags : (regexp.ignoreCase ? \"i\" : \"\")\n + (regexp.global ? \"g\" : \"\")\n + (regexp.multiline ? \"m\" : \"\")\n }\n\n function ensureFlags(regexp, flags) {\n var current = regexpFlags(regexp), target = current\n for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\n target += flags.charAt(i)\n return current == target ? regexp : new RegExp(regexp.source, target)\n }\n\n function maybeMultiline(regexp) {\n return /\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(regexp.source)\n }\n\n function searchRegexpForward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\n regexp.lastIndex = ch\n var string = doc.getLine(line), match = regexp.exec(string)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpForwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\n\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunk = 1\n for (var line = start.line, last = doc.lastLine(); line <= last;) {\n // This grows the search buffer in exponentially-sized chunks\n // between matches, so that nearby matches are fast and don't\n // require concatenating the whole document (in case we're\n // searching for something that has tons of matches), but at the\n // same time, the amount of retries is limited.\n for (var i = 0; i < chunk; i++) {\n if (line > last) break\n var curLine = doc.getLine(line++)\n string = string == null ? curLine : string + \"\\n\" + curLine\n }\n chunk = chunk * 2\n regexp.lastIndex = start.ch\n var match = regexp.exec(string)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n function lastMatchIn(string, regexp, endMargin) {\n var match, from = 0\n while (from <= string.length) {\n regexp.lastIndex = from\n var newMatch = regexp.exec(string)\n if (!newMatch) break\n var end = newMatch.index + newMatch[0].length\n if (end > string.length - endMargin) break\n if (!match || end > match.index + match[0].length)\n match = newMatch\n from = newMatch.index + 1\n }\n return match\n }\n\n function searchRegexpBackward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\n var string = doc.getLine(line)\n var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpBackwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start)\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunkSize = 1, endMargin = doc.getLine(start.line).length - start.ch\n for (var line = start.line, first = doc.firstLine(); line >= first;) {\n for (var i = 0; i < chunkSize && line >= first; i++) {\n var curLine = doc.getLine(line--)\n string = string == null ? curLine : curLine + \"\\n\" + string\n }\n chunkSize *= 2\n\n var match = lastMatchIn(string, regexp, endMargin)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = line + before.length, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n var doFold, noFold\n if (String.prototype.normalize) {\n doFold = function(str) { return str.normalize(\"NFD\").toLowerCase() }\n noFold = function(str) { return str.normalize(\"NFD\") }\n } else {\n doFold = function(str) { return str.toLowerCase() }\n noFold = function(str) { return str }\n }\n\n // Maps a position in a case-folded line back to a position in the original line\n // (compensating for codepoints increasing in number during folding)\n function adjustPos(orig, folded, pos, foldFunc) {\n if (orig.length == folded.length) return pos\n for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) {\n if (min == max) return min\n var mid = (min + max) >> 1\n var len = foldFunc(orig.slice(0, mid)).length\n if (len == pos) return mid\n else if (len > pos) max = mid\n else min = mid + 1\n }\n }\n\n function searchStringForward(doc, query, start, caseFold) {\n // Empty string would match anything and never progress, so we\n // define it to match nothing instead.\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) {\n var orig = doc.getLine(line).slice(ch), string = fold(orig)\n if (lines.length == 1) {\n var found = string.indexOf(lines[0])\n if (found == -1) continue search\n var start = adjustPos(orig, string, found, fold) + ch\n return {from: Pos(line, adjustPos(orig, string, found, fold) + ch),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)}\n } else {\n var cutFrom = string.length - lines[0].length\n if (string.slice(cutFrom) != lines[0]) continue search\n for (var i = 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(line + i)) != lines[i]) continue search\n var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1]\n if (endString.slice(0, lastLine.length) != lastLine) continue search\n return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch),\n to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))}\n }\n }\n }\n\n function searchStringBackward(doc, query, start, caseFold) {\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) {\n var orig = doc.getLine(line)\n if (ch > -1) orig = orig.slice(0, ch)\n var string = fold(orig)\n if (lines.length == 1) {\n var found = string.lastIndexOf(lines[0])\n if (found == -1) continue search\n return {from: Pos(line, adjustPos(orig, string, found, fold)),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))}\n } else {\n var lastLine = lines[lines.length - 1]\n if (string.slice(0, lastLine.length) != lastLine) continue search\n for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(start + i)) != lines[i]) continue search\n var top = doc.getLine(line + 1 - lines.length), topString = fold(top)\n if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search\n return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)),\n to: Pos(line, adjustPos(orig, string, lastLine.length, fold))}\n }\n }\n }\n\n function SearchCursor(doc, query, pos, options) {\n this.atOccurrence = false\n this.afterEmptyMatch = false\n this.doc = doc\n pos = pos ? doc.clipPos(pos) : Pos(0, 0)\n this.pos = {from: pos, to: pos}\n\n var caseFold\n if (typeof options == \"object\") {\n caseFold = options.caseFold\n } else { // Backwards compat for when caseFold was the 4th argument\n caseFold = options\n options = null\n }\n\n if (typeof query == \"string\") {\n if (caseFold == null) caseFold = false\n this.matches = function(reverse, pos) {\n return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold)\n }\n } else {\n query = ensureFlags(query, \"gm\")\n if (!options || options.multiline !== false)\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos)\n }\n else\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos)\n }\n }\n }\n\n SearchCursor.prototype = {\n findNext: function() {return this.find(false)},\n findPrevious: function() {return this.find(true)},\n\n find: function(reverse) {\n var head = this.doc.clipPos(reverse ? this.pos.from : this.pos.to);\n if (this.afterEmptyMatch && this.atOccurrence) {\n // do not return the same 0 width match twice\n head = Pos(head.line, head.ch)\n if (reverse) {\n head.ch--;\n if (head.ch < 0) {\n head.line--;\n head.ch = (this.doc.getLine(head.line) || \"\").length;\n }\n } else {\n head.ch++;\n if (head.ch > (this.doc.getLine(head.line) || \"\").length) {\n head.ch = 0;\n head.line++;\n }\n }\n if (CodeMirror.cmpPos(head, this.doc.clipPos(head)) != 0) {\n return this.atOccurrence = false\n }\n }\n var result = this.matches(reverse, head)\n this.afterEmptyMatch = result && CodeMirror.cmpPos(result.from, result.to) == 0\n\n if (result) {\n this.pos = result\n this.atOccurrence = true\n return this.pos.match || true\n } else {\n var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0)\n this.pos = {from: end, to: end}\n return this.atOccurrence = false\n }\n },\n\n from: function() {if (this.atOccurrence) return this.pos.from},\n to: function() {if (this.atOccurrence) return this.pos.to},\n\n replace: function(newText, origin) {\n if (!this.atOccurrence) return\n var lines = CodeMirror.splitLines(newText)\n this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin)\n this.pos.to = Pos(this.pos.from.line + lines.length - 1,\n lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0))\n }\n }\n\n CodeMirror.defineExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this.doc, query, pos, caseFold)\n })\n CodeMirror.defineDocExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this, query, pos, caseFold)\n })\n\n CodeMirror.defineExtension(\"selectMatches\", function(query, caseFold) {\n var ranges = []\n var cur = this.getSearchCursor(query, this.getCursor(\"from\"), caseFold)\n while (cur.findNext()) {\n if (CodeMirror.cmpPos(cur.to(), this.getCursor(\"to\")) > 0) break\n ranges.push({anchor: cur.from(), head: cur.to()})\n }\n if (ranges.length)\n this.setSelections(ranges, 0)\n })\n});\n"],"names":["CodeMirror","doFold","noFold","Pos","regexpFlags","regexp","flags","ignoreCase","global","multiline","ensureFlags","current","target","i","length","indexOf","charAt","RegExp","source","maybeMultiline","test","searchRegexpForward","doc","start","line","ch","last","lastLine","lastIndex","string","getLine","match","exec","from","index","to","searchRegexpForwardMultiline","chunk","curLine","before","slice","split","inside","startLine","startCh","lastMatchIn","endMargin","newMatch","end","searchRegexpBackward","first","firstLine","searchRegexpBackwardMultiline","chunkSize","adjustPos","orig","folded","pos","foldFunc","min","max","Math","mid","len","searchStringForward","query","caseFold","fold","lines","search","found","cutFrom","endString","searchStringBackward","lastIndexOf","top","topString","SearchCursor","options","this","atOccurrence","afterEmptyMatch","clipPos","matches","reverse","String","prototype","normalize","str","toLowerCase","findNext","find","findPrevious","head","cmpPos","result","replace","newText","origin","splitLines","replaceRange","defineExtension","defineDocExtension","ranges","cur","getSearchCursor","getCursor","push","anchor","setSelections","mod","require"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/88.b5b4cd91.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/edit/closebrackets.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var defaults = {\n pairs: \"()[]{}''\\\"\\\"\",\n closeBefore: \")]}'\\\":;>\",\n triples: \"\",\n explode: \"[]{}\"\n };\n\n var Pos = CodeMirror.Pos;\n\n CodeMirror.defineOption(\"autoCloseBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.removeKeyMap(keyMap);\n cm.state.closeBrackets = null;\n }\n if (val) {\n ensureBound(getOption(val, \"pairs\"))\n cm.state.closeBrackets = val;\n cm.addKeyMap(keyMap);\n }\n });\n\n function getOption(conf, name) {\n if (name == \"pairs\" && typeof conf == \"string\") return conf;\n if (typeof conf == \"object\" && conf[name] != null) return conf[name];\n return defaults[name];\n }\n\n var keyMap = {Backspace: handleBackspace, Enter: handleEnter};\n function ensureBound(chars) {\n for (var i = 0; i < chars.length; i++) {\n var ch = chars.charAt(i), key = \"'\" + ch + \"'\"\n if (!keyMap[key]) keyMap[key] = handler(ch)\n }\n }\n ensureBound(defaults.pairs + \"`\")\n\n function handler(ch) {\n return function(cm) { return handleChar(cm, ch); };\n }\n\n function getConfig(cm) {\n var deflt = cm.state.closeBrackets;\n if (!deflt || deflt.override) return deflt;\n var mode = cm.getModeAt(cm.getCursor());\n return mode.closeBrackets || deflt;\n }\n\n function handleBackspace(cm) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n for (var i = ranges.length - 1; i >= 0; i--) {\n var cur = ranges[i].head;\n cm.replaceRange(\"\", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), \"+delete\");\n }\n }\n\n function handleEnter(cm) {\n var conf = getConfig(cm);\n var explode = conf && getOption(conf, \"explode\");\n if (!explode || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n cm.operation(function() {\n var linesep = cm.lineSeparator() || \"\\n\";\n cm.replaceSelection(linesep + linesep, null);\n moveSel(cm, -1)\n ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var line = ranges[i].head.line;\n cm.indentLine(line, null, true);\n cm.indentLine(line + 1, null, true);\n }\n });\n }\n\n function moveSel(cm, dir) {\n var newRanges = [], ranges = cm.listSelections(), primary = 0\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i]\n if (range.head == cm.getCursor()) primary = i\n var pos = range.head.ch || dir > 0 ? {line: range.head.line, ch: range.head.ch + dir} : {line: range.head.line - 1}\n newRanges.push({anchor: pos, head: pos})\n }\n cm.setSelections(newRanges, primary)\n }\n\n function contractSelection(sel) {\n var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;\n return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),\n head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))};\n }\n\n function handleChar(cm, ch) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var pos = pairs.indexOf(ch);\n if (pos == -1) return CodeMirror.Pass;\n\n var closeBefore = getOption(conf,\"closeBefore\");\n\n var triples = getOption(conf, \"triples\");\n\n var identical = pairs.charAt(pos + 1) == ch;\n var ranges = cm.listSelections();\n var opening = pos % 2 == 0;\n\n var type;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], cur = range.head, curType;\n var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));\n if (opening && !range.empty()) {\n curType = \"surround\";\n } else if ((identical || !opening) && next == ch) {\n if (identical && stringStartsAfter(cm, cur))\n curType = \"both\";\n else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)\n curType = \"skipThree\";\n else\n curType = \"skip\";\n } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 &&\n cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) {\n if (cur.ch > 2 && /\\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass;\n curType = \"addFour\";\n } else if (identical) {\n var prev = cur.ch == 0 ? \" \" : cm.getRange(Pos(cur.line, cur.ch - 1), cur)\n if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = \"both\";\n else return CodeMirror.Pass;\n } else if (opening && (next.length === 0 || /\\s/.test(next) || closeBefore.indexOf(next) > -1)) {\n curType = \"both\";\n } else {\n return CodeMirror.Pass;\n }\n if (!type) type = curType;\n else if (type != curType) return CodeMirror.Pass;\n }\n\n var left = pos % 2 ? pairs.charAt(pos - 1) : ch;\n var right = pos % 2 ? ch : pairs.charAt(pos + 1);\n cm.operation(function() {\n if (type == \"skip\") {\n moveSel(cm, 1)\n } else if (type == \"skipThree\") {\n moveSel(cm, 3)\n } else if (type == \"surround\") {\n var sels = cm.getSelections();\n for (var i = 0; i < sels.length; i++)\n sels[i] = left + sels[i] + right;\n cm.replaceSelections(sels, \"around\");\n sels = cm.listSelections().slice();\n for (var i = 0; i < sels.length; i++)\n sels[i] = contractSelection(sels[i]);\n cm.setSelections(sels);\n } else if (type == \"both\") {\n cm.replaceSelection(left + right, null);\n cm.triggerElectric(left + right);\n moveSel(cm, -1)\n } else if (type == \"addFour\") {\n cm.replaceSelection(left + left + left + left, \"before\");\n moveSel(cm, 1)\n }\n });\n }\n\n function charsAround(cm, pos) {\n var str = cm.getRange(Pos(pos.line, pos.ch - 1),\n Pos(pos.line, pos.ch + 1));\n return str.length == 2 ? str : null;\n }\n\n function stringStartsAfter(cm, pos) {\n var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))\n return /\\bstring/.test(token.type) && token.start == pos.ch &&\n (pos.ch == 0 || !/\\bstring/.test(cm.getTokenTypeAt(pos)))\n }\n});\n"],"names":["CodeMirror","defaults","pairs","closeBefore","triples","explode","Pos","getOption","conf","name","defineOption","cm","val","old","Init","removeKeyMap","keyMap","state","closeBrackets","ensureBound","addKeyMap","Backspace","handleBackspace","Enter","handleEnter","chars","i","length","ch","charAt","key","handler","handleChar","getConfig","deflt","override","getModeAt","getCursor","Pass","ranges","listSelections","empty","around","charsAround","head","indexOf","cur","replaceRange","line","operation","linesep","lineSeparator","replaceSelection","moveSel","indentLine","dir","newRanges","primary","range","pos","push","anchor","setSelections","contractSelection","sel","inverted","cmpPos","type","identical","opening","curType","next","getRange","test","getTokenTypeAt","prev","isWordChar","stringStartsAfter","left","right","sels","getSelections","replaceSelections","slice","triggerElectric","str","token","getTokenAt","start","mod","require"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/88.b5b4cd91.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/edit/closebrackets.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var defaults = {\n pairs: \"()[]{}''\\\"\\\"\",\n closeBefore: \")]}'\\\":;>\",\n triples: \"\",\n explode: \"[]{}\"\n };\n\n var Pos = CodeMirror.Pos;\n\n CodeMirror.defineOption(\"autoCloseBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.removeKeyMap(keyMap);\n cm.state.closeBrackets = null;\n }\n if (val) {\n ensureBound(getOption(val, \"pairs\"))\n cm.state.closeBrackets = val;\n cm.addKeyMap(keyMap);\n }\n });\n\n function getOption(conf, name) {\n if (name == \"pairs\" && typeof conf == \"string\") return conf;\n if (typeof conf == \"object\" && conf[name] != null) return conf[name];\n return defaults[name];\n }\n\n var keyMap = {Backspace: handleBackspace, Enter: handleEnter};\n function ensureBound(chars) {\n for (var i = 0; i < chars.length; i++) {\n var ch = chars.charAt(i), key = \"'\" + ch + \"'\"\n if (!keyMap[key]) keyMap[key] = handler(ch)\n }\n }\n ensureBound(defaults.pairs + \"`\")\n\n function handler(ch) {\n return function(cm) { return handleChar(cm, ch); };\n }\n\n function getConfig(cm) {\n var deflt = cm.state.closeBrackets;\n if (!deflt || deflt.override) return deflt;\n var mode = cm.getModeAt(cm.getCursor());\n return mode.closeBrackets || deflt;\n }\n\n function handleBackspace(cm) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n for (var i = ranges.length - 1; i >= 0; i--) {\n var cur = ranges[i].head;\n cm.replaceRange(\"\", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), \"+delete\");\n }\n }\n\n function handleEnter(cm) {\n var conf = getConfig(cm);\n var explode = conf && getOption(conf, \"explode\");\n if (!explode || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n cm.operation(function() {\n var linesep = cm.lineSeparator() || \"\\n\";\n cm.replaceSelection(linesep + linesep, null);\n moveSel(cm, -1)\n ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var line = ranges[i].head.line;\n cm.indentLine(line, null, true);\n cm.indentLine(line + 1, null, true);\n }\n });\n }\n\n function moveSel(cm, dir) {\n var newRanges = [], ranges = cm.listSelections(), primary = 0\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i]\n if (range.head == cm.getCursor()) primary = i\n var pos = range.head.ch || dir > 0 ? {line: range.head.line, ch: range.head.ch + dir} : {line: range.head.line - 1}\n newRanges.push({anchor: pos, head: pos})\n }\n cm.setSelections(newRanges, primary)\n }\n\n function contractSelection(sel) {\n var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;\n return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),\n head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))};\n }\n\n function handleChar(cm, ch) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var pos = pairs.indexOf(ch);\n if (pos == -1) return CodeMirror.Pass;\n\n var closeBefore = getOption(conf,\"closeBefore\");\n\n var triples = getOption(conf, \"triples\");\n\n var identical = pairs.charAt(pos + 1) == ch;\n var ranges = cm.listSelections();\n var opening = pos % 2 == 0;\n\n var type;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], cur = range.head, curType;\n var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));\n if (opening && !range.empty()) {\n curType = \"surround\";\n } else if ((identical || !opening) && next == ch) {\n if (identical && stringStartsAfter(cm, cur))\n curType = \"both\";\n else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)\n curType = \"skipThree\";\n else\n curType = \"skip\";\n } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 &&\n cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) {\n if (cur.ch > 2 && /\\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass;\n curType = \"addFour\";\n } else if (identical) {\n var prev = cur.ch == 0 ? \" \" : cm.getRange(Pos(cur.line, cur.ch - 1), cur)\n if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = \"both\";\n else return CodeMirror.Pass;\n } else if (opening && (next.length === 0 || /\\s/.test(next) || closeBefore.indexOf(next) > -1)) {\n curType = \"both\";\n } else {\n return CodeMirror.Pass;\n }\n if (!type) type = curType;\n else if (type != curType) return CodeMirror.Pass;\n }\n\n var left = pos % 2 ? pairs.charAt(pos - 1) : ch;\n var right = pos % 2 ? ch : pairs.charAt(pos + 1);\n cm.operation(function() {\n if (type == \"skip\") {\n moveSel(cm, 1)\n } else if (type == \"skipThree\") {\n moveSel(cm, 3)\n } else if (type == \"surround\") {\n var sels = cm.getSelections();\n for (var i = 0; i < sels.length; i++)\n sels[i] = left + sels[i] + right;\n cm.replaceSelections(sels, \"around\");\n sels = cm.listSelections().slice();\n for (var i = 0; i < sels.length; i++)\n sels[i] = contractSelection(sels[i]);\n cm.setSelections(sels);\n } else if (type == \"both\") {\n cm.replaceSelection(left + right, null);\n cm.triggerElectric(left + right);\n moveSel(cm, -1)\n } else if (type == \"addFour\") {\n cm.replaceSelection(left + left + left + left, \"before\");\n moveSel(cm, 1)\n }\n });\n }\n\n function charsAround(cm, pos) {\n var str = cm.getRange(Pos(pos.line, pos.ch - 1),\n Pos(pos.line, pos.ch + 1));\n return str.length == 2 ? str : null;\n }\n\n function stringStartsAfter(cm, pos) {\n var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))\n return /\\bstring/.test(token.type) && token.start == pos.ch &&\n (pos.ch == 0 || !/\\bstring/.test(cm.getTokenTypeAt(pos)))\n }\n});\n"],"names":["CodeMirror","defaults","pairs","closeBefore","triples","explode","Pos","getOption","conf","name","defineOption","cm","val","old","Init","removeKeyMap","keyMap","state","closeBrackets","ensureBound","addKeyMap","Backspace","handleBackspace","Enter","handleEnter","chars","i","length","ch","charAt","key","handler","handleChar","getConfig","deflt","override","getModeAt","getCursor","Pass","ranges","listSelections","empty","around","charsAround","head","indexOf","cur","replaceRange","line","operation","linesep","lineSeparator","replaceSelection","moveSel","indentLine","dir","newRanges","primary","range","pos","push","anchor","setSelections","contractSelection","sel","inverted","cmpPos","type","identical","opening","curType","next","getRange","test","getTokenTypeAt","prev","isWordChar","stringStartsAfter","left","right","sels","getSelections","replaceSelections","slice","triggerElectric","str","token","getTokenAt","start","mod","require"],"sourceRoot":""}
|