Socket
Socket
Sign inDemoInstall

codemirror-graphql

Package Overview
Dependencies
Maintainers
5
Versions
248
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

codemirror-graphql - npm Package Compare versions

Comparing version 0.11.4 to 0.11.5

11

CHANGELOG.md

@@ -6,2 +6,13 @@ # Change Log

## [0.11.5](https://github.com/graphql/graphiql/compare/codemirror-graphql@0.11.4...codemirror-graphql@0.11.5) (2019-12-09)
### Bug Fixes
* a few more tweaks to babel ignore ([e0ad2c6](https://github.com/graphql/graphiql/commit/e0ad2c6))
## [0.11.4](https://github.com/graphql/graphiql/compare/codemirror-graphql@0.11.3...codemirror-graphql@0.11.4) (2019-12-03)

@@ -8,0 +19,0 @@

23

hint.esm.js

@@ -1,9 +0,1 @@

"use strict";
var _codemirror = _interopRequireDefault(require("codemirror"));
var _graphqlLanguageServiceInterface = require("graphql-language-service-interface");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -17,3 +9,4 @@ * Copyright (c) 2019 GraphQL Contributors

*/
import CodeMirror from 'codemirror';
import { getAutocompleteSuggestions } from 'graphql-language-service-interface';
/**

@@ -36,3 +29,4 @@ * Registers a "hint" helper for CodeMirror.

*/
_codemirror.default.registerHelper('hint', 'graphql', (editor, options) => {
CodeMirror.registerHelper('hint', 'graphql', (editor, options) => {
const schema = options.schema;

@@ -46,3 +40,3 @@

const token = editor.getTokenAt(cur);
const rawResults = (0, _graphqlLanguageServiceInterface.getAutocompleteSuggestions)(schema, editor.getValue(), cur, token);
const rawResults = getAutocompleteSuggestions(schema, editor.getValue(), cur, token);
/**

@@ -84,6 +78,5 @@ * GraphQL language service responds to the autocompletion request with

if (results && results.list && results.list.length > 0) {
results.from = _codemirror.default.Pos(results.from.line, results.from.column);
results.to = _codemirror.default.Pos(results.to.line, results.to.column);
_codemirror.default.signal(editor, 'hasCompletion', editor, results, token);
results.from = CodeMirror.Pos(results.from.line, results.from.column);
results.to = CodeMirror.Pos(results.to.line, results.to.column);
CodeMirror.signal(editor, 'hasCompletion', editor, results, token);
}

@@ -90,0 +83,0 @@

@@ -1,15 +0,1 @@

"use strict";
var _graphql = require("graphql");
var _codemirror = _interopRequireDefault(require("codemirror"));
var _getTypeInfo = _interopRequireDefault(require("./utils/getTypeInfo"));
var _SchemaReference = require("./utils/SchemaReference");
require("./utils/info-addon");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -23,3 +9,7 @@ * Copyright (c) 2019 GraphQL Contributors

*/
import { GraphQLList, GraphQLNonNull } from 'graphql';
import CodeMirror from 'codemirror';
import getTypeInfo from './utils/getTypeInfo';
import { getArgumentReference, getDirectiveReference, getEnumValueReference, getFieldReference, getTypeReference } from './utils/SchemaReference';
import './utils/info-addon';
/**

@@ -39,3 +29,4 @@ * Registers GraphQL "info" tooltips for CodeMirror.

*/
_codemirror.default.registerHelper('info', 'graphql', (token, options) => {
CodeMirror.registerHelper('info', 'graphql', (token, options) => {
if (!options.schema || !token.state) {

@@ -48,3 +39,3 @@ return;

const step = state.step;
const typeInfo = (0, _getTypeInfo.default)(options.schema, token.state); // Given a Schema and a Token, produce the contents of an info tooltip.
const typeInfo = getTypeInfo(options.schema, token.state); // Given a Schema and a Token, produce the contents of an info tooltip.
// To do this, create a div element that we will render "into" and then pass

@@ -94,3 +85,3 @@ // it to various rendering functions.

text(into, fieldName, 'field-name', options, (0, _SchemaReference.getFieldReference)(typeInfo));
text(into, fieldName, 'field-name', options, getFieldReference(typeInfo));
}

@@ -100,3 +91,3 @@

const name = '@' + typeInfo.directiveDef.name;
text(into, name, 'directive-name', options, (0, _SchemaReference.getDirectiveReference)(typeInfo));
text(into, name, 'directive-name', options, getDirectiveReference(typeInfo));
}

@@ -113,3 +104,3 @@

text(into, '(');
text(into, name, 'arg-name', options, (0, _SchemaReference.getArgumentReference)(typeInfo));
text(into, name, 'arg-name', options, getArgumentReference(typeInfo));
renderTypeAnnotation(into, typeInfo, options, typeInfo.inputType);

@@ -128,10 +119,10 @@ text(into, ')');

text(into, '.');
text(into, name, 'enum-value', options, (0, _SchemaReference.getEnumValueReference)(typeInfo));
text(into, name, 'enum-value', options, getEnumValueReference(typeInfo));
}
function renderType(into, typeInfo, options, t) {
if (t instanceof _graphql.GraphQLNonNull) {
if (t instanceof GraphQLNonNull) {
renderType(into, typeInfo, options, t.ofType);
text(into, '!');
} else if (t instanceof _graphql.GraphQLList) {
} else if (t instanceof GraphQLList) {
text(into, '[');

@@ -141,3 +132,3 @@ renderType(into, typeInfo, options, t.ofType);

} else {
text(into, t.name, 'type-name', options, (0, _SchemaReference.getTypeReference)(typeInfo, t));
text(into, t.name, 'type-name', options, getTypeReference(typeInfo, t));
}

@@ -144,0 +135,0 @@ }

@@ -1,13 +0,1 @@

"use strict";
var _codemirror = _interopRequireDefault(require("codemirror"));
var _getTypeInfo = _interopRequireDefault(require("./utils/getTypeInfo"));
var _SchemaReference = require("./utils/SchemaReference");
require("./utils/jump-addon");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -24,3 +12,6 @@ * Copyright (c) 2019 GraphQL Contributors

*/
import CodeMirror from 'codemirror';
import getTypeInfo from './utils/getTypeInfo';
import { getArgumentReference, getDirectiveReference, getEnumValueReference, getFieldReference, getTypeReference } from './utils/SchemaReference';
import './utils/jump-addon';
/**

@@ -38,3 +29,4 @@ * Registers GraphQL "jump" links for CodeMirror.

*/
_codemirror.default.registerHelper('jump', 'graphql', (token, options) => {
CodeMirror.registerHelper('jump', 'graphql', (token, options) => {
if (!options.schema || !options.onClick || !token.state) {

@@ -50,15 +42,15 @@ return;

const step = state.step;
const typeInfo = (0, _getTypeInfo.default)(options.schema, state);
const typeInfo = getTypeInfo(options.schema, state);
if (kind === 'Field' && step === 0 && typeInfo.fieldDef || kind === 'AliasedField' && step === 2 && typeInfo.fieldDef) {
return (0, _SchemaReference.getFieldReference)(typeInfo);
return getFieldReference(typeInfo);
} else if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {
return (0, _SchemaReference.getDirectiveReference)(typeInfo);
return getDirectiveReference(typeInfo);
} else if (kind === 'Argument' && step === 0 && typeInfo.argDef) {
return (0, _SchemaReference.getArgumentReference)(typeInfo);
return getArgumentReference(typeInfo);
} else if (kind === 'EnumValue' && typeInfo.enumValue) {
return (0, _SchemaReference.getEnumValueReference)(typeInfo);
return getEnumValueReference(typeInfo);
} else if (kind === 'NamedType' && typeInfo.type) {
return (0, _SchemaReference.getTypeReference)(typeInfo);
return getTypeReference(typeInfo);
}
});

@@ -1,9 +0,1 @@

"use strict";
var _codemirror = _interopRequireDefault(require("codemirror"));
var _graphqlLanguageServiceInterface = require("graphql-language-service-interface");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -17,2 +9,4 @@ * Copyright (c) 2019 GraphQL Contributors

*/
import CodeMirror from 'codemirror';
import { getDiagnostics } from 'graphql-language-service-interface';
const SEVERITY = ['error', 'warning', 'information', 'hint'];

@@ -39,5 +33,5 @@ const TYPE = {

_codemirror.default.registerHelper('lint', 'graphql', (text, options) => {
CodeMirror.registerHelper('lint', 'graphql', (text, options) => {
const schema = options.schema;
const rawResults = (0, _graphqlLanguageServiceInterface.getDiagnostics)(text, schema);
const rawResults = getDiagnostics(text, schema);
const results = rawResults.map(error => ({

@@ -47,6 +41,6 @@ message: error.message,

type: TYPE[error.source],
from: _codemirror.default.Pos(error.range.start.line, error.range.start.character),
to: _codemirror.default.Pos(error.range.end.line, error.range.end.character)
from: CodeMirror.Pos(error.range.start.line, error.range.start.character),
to: CodeMirror.Pos(error.range.end.line, error.range.end.character)
}));
return results;
});

@@ -1,9 +0,1 @@

"use strict";
var _codemirror = _interopRequireDefault(require("codemirror"));
var _graphqlLanguageServiceParser = require("graphql-language-service-parser");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -17,3 +9,4 @@ * Copyright (c) 2019 GraphQL Contributors

*/
import CodeMirror from 'codemirror';
import { LexRules, ParseRules, isIgnored, onlineParser } from 'graphql-language-service-parser';
/**

@@ -39,7 +32,8 @@ * The GraphQL mode is defined as a tokenizer along with a list of rules, each

*/
_codemirror.default.defineMode('graphql', config => {
const parser = (0, _graphqlLanguageServiceParser.onlineParser)({
eatWhitespace: stream => stream.eatWhile(_graphqlLanguageServiceParser.isIgnored),
lexRules: _graphqlLanguageServiceParser.LexRules,
parseRules: _graphqlLanguageServiceParser.ParseRules,
CodeMirror.defineMode('graphql', config => {
const parser = onlineParser({
eatWhitespace: stream => stream.eatWhile(isIgnored),
lexRules: LexRules,
parseRules: ParseRules,
editorConfig: {

@@ -46,0 +40,0 @@ tabSize: config.tabSize

{
"name": "codemirror-graphql",
"version": "0.11.4",
"version": "0.11.5",
"description": "GraphQL mode and helpers for CodeMirror.",

@@ -33,4 +33,3 @@ "contributors": [

"utils",
"variables",
"results"
"variables"
],

@@ -45,4 +44,4 @@ "options": {

"build": "yarn build-clean && yarn build-js && yarn build-esm && yarn build-flow .",
"build-js": "babel src --root-mode upward --ignore src/__tests__ --out-dir . && babel src --root-mode upward --ignore src/__tests__ --out-dir esm && node ../../resources/renameFileExtensions.js './esm/**/*.js' . .esm.js",
"build-esm": "cross-env ESM=true babel src --root-mode upward --ignore src/__tests__ --out-dir esm",
"build-js": "babel src --root-mode upward --ignore **/__tests__/**,**/__mocks__/** --out-dir .",
"build-esm": "cross-env ESM=true babel src --root-mode upward --ignore **/__tests__/**,**/__mocks__/** --out-dir esm && node ../../resources/renameFileExtensions.js './esm/{**,!**/__tests__/}/*.js' . .esm.js",
"build-clean": "rimraf {mode,hint,info,jump,lint}.{js,esm.js,js.flow} && rimraf esm results utils variables coverage __tests__",

@@ -58,4 +57,4 @@ "build-flow": "node ../../resources/buildFlow.js",

"dependencies": {
"graphql-language-service-interface": "^2.3.2",
"graphql-language-service-parser": "^1.5.1"
"graphql-language-service-interface": "^2.3.3",
"graphql-language-service-parser": "^1.5.2"
},

@@ -73,3 +72,3 @@ "devDependencies": {

},
"gitHead": "ed12bf7719e73c4c339779988a0e10b65be1d34e"
"gitHead": "6b091a7fd9793d1492023af1d3e1a8cb5a0509fb"
}

@@ -1,10 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = collectVariables;
var _graphql = require("graphql");
/**

@@ -18,7 +9,8 @@ * Copyright (c) 2019 GraphQL Contributors

*/
import { typeFromAST } from 'graphql';
/**
* Provided a schema and a document, produces a `variableToType` Object.
*/
function collectVariables(schema, documentAST) {
export default function collectVariables(schema, documentAST) {
const variableToType = Object.create(null);

@@ -34,3 +26,3 @@ documentAST.definitions.forEach(definition => {

}) => {
const inputType = (0, _graphql.typeFromAST)(schema, type);
const inputType = typeFromAST(schema, type);

@@ -37,0 +29,0 @@ if (inputType) {

@@ -1,8 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = forEachState;
/**

@@ -17,3 +10,3 @@ * Copyright (c) 2019 GraphQL Contributors

// Utility for iterating through a CodeMirror parse state stack bottom-up.
function forEachState(stack, fn) {
export default function forEachState(stack, fn) {
const reverseStateStack = [];

@@ -20,0 +13,0 @@ let state = stack;

@@ -1,16 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = getTypeInfo;
var _graphql = require("graphql");
var _introspection = require("graphql/type/introspection");
var _forEachState = _interopRequireDefault(require("./forEachState"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -24,3 +9,5 @@ * Copyright (c) 2019 GraphQL Contributors

*/
import { isCompositeType, getNullableType, getNamedType, GraphQLEnumType, GraphQLInputObjectType, GraphQLList } from 'graphql';
import { SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef } from 'graphql/type/introspection';
import forEachState from './forEachState';
/**

@@ -30,3 +17,4 @@ * Utility for collecting rich type information given any token's state

*/
function getTypeInfo(schema, tokenState) {
export default function getTypeInfo(schema, tokenState) {
const info = {

@@ -43,3 +31,3 @@ schema,

};
(0, _forEachState.default)(tokenState, state => {
forEachState(tokenState, state => {
switch (state.kind) {

@@ -74,3 +62,3 @@ case 'Query':

case 'SelectionSet':
info.parentType = (0, _graphql.getNamedType)(info.type);
info.parentType = getNamedType(info.type);
break;

@@ -103,14 +91,14 @@

case 'EnumValue':
const enumType = (0, _graphql.getNamedType)(info.inputType);
info.enumValue = enumType instanceof _graphql.GraphQLEnumType ? find(enumType.getValues(), val => val.value === state.name) : null;
const enumType = getNamedType(info.inputType);
info.enumValue = enumType instanceof GraphQLEnumType ? find(enumType.getValues(), val => val.value === state.name) : null;
break;
case 'ListValue':
const nullableType = (0, _graphql.getNullableType)(info.inputType);
info.inputType = nullableType instanceof _graphql.GraphQLList ? nullableType.ofType : null;
const nullableType = getNullableType(info.inputType);
info.inputType = nullableType instanceof GraphQLList ? nullableType.ofType : null;
break;
case 'ObjectValue':
const objectType = (0, _graphql.getNamedType)(info.inputType);
info.objectFieldDefs = objectType instanceof _graphql.GraphQLInputObjectType ? objectType.getFields() : null;
const objectType = getNamedType(info.inputType);
info.objectFieldDefs = objectType instanceof GraphQLInputObjectType ? objectType.getFields() : null;
break;

@@ -131,14 +119,13 @@

function getFieldDef(schema, type, fieldName) {
if (fieldName === _introspection.SchemaMetaFieldDef.name && schema.getQueryType() === type) {
return _introspection.SchemaMetaFieldDef;
if (fieldName === SchemaMetaFieldDef.name && schema.getQueryType() === type) {
return SchemaMetaFieldDef;
}
if (fieldName === _introspection.TypeMetaFieldDef.name && schema.getQueryType() === type) {
return _introspection.TypeMetaFieldDef;
if (fieldName === TypeMetaFieldDef.name && schema.getQueryType() === type) {
return TypeMetaFieldDef;
}
if (fieldName === _introspection.TypeNameMetaFieldDef.name && (0, _graphql.isCompositeType)(type)) {
return _introspection.TypeNameMetaFieldDef;
if (fieldName === TypeNameMetaFieldDef.name && isCompositeType(type)) {
return TypeNameMetaFieldDef;
}

@@ -145,0 +132,0 @@

@@ -1,8 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = hintList;
/**

@@ -17,3 +10,3 @@ * Copyright (c) 2019 GraphQL Contributors

// Create the expected hint response given a possible list and a token
function hintList(cursor, token, list) {
export default function hintList(cursor, token, list) {
const hints = filterAndSortList(list, normalizeText(token.string));

@@ -40,3 +33,2 @@

function filterAndSortList(list, text) {

@@ -43,0 +35,0 @@ if (!text) {

@@ -1,7 +0,1 @@

"use strict";
var _codemirror = _interopRequireDefault(require("codemirror"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -15,8 +9,7 @@ * Copyright (c) 2019 GraphQL Contributors

*/
_codemirror.default.defineOption('info', false, (cm, options, old) => {
if (old && old !== _codemirror.default.Init) {
import CodeMirror from 'codemirror';
CodeMirror.defineOption('info', false, (cm, options, old) => {
if (old && old !== CodeMirror.Init) {
const oldOnMouseOver = cm.state.info.onMouseOver;
_codemirror.default.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);
CodeMirror.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);
clearTimeout(cm.state.info.hoverTimeout);

@@ -29,4 +22,3 @@ delete cm.state.info;

state.onMouseOver = onMouseOver.bind(null, cm);
_codemirror.default.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);
CodeMirror.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);
}

@@ -64,6 +56,4 @@ });

const onMouseOut = function () {
_codemirror.default.off(document, 'mousemove', onMouseMove);
_codemirror.default.off(cm.getWrapperElement(), 'mouseout', onMouseOut);
CodeMirror.off(document, 'mousemove', onMouseMove);
CodeMirror.off(cm.getWrapperElement(), 'mouseout', onMouseOut);
clearTimeout(state.hoverTimeout);

@@ -74,6 +64,4 @@ state.hoverTimeout = undefined;

const onHover = function () {
_codemirror.default.off(document, 'mousemove', onMouseMove);
_codemirror.default.off(cm.getWrapperElement(), 'mouseout', onMouseOut);
CodeMirror.off(document, 'mousemove', onMouseMove);
CodeMirror.off(cm.getWrapperElement(), 'mouseout', onMouseOut);
state.hoverTimeout = undefined;

@@ -85,6 +73,4 @@ onMouseHover(cm, box);

state.hoverTimeout = setTimeout(onHover, hoverTime);
_codemirror.default.on(document, 'mousemove', onMouseMove);
_codemirror.default.on(cm.getWrapperElement(), 'mouseout', onMouseOut);
CodeMirror.on(document, 'mousemove', onMouseMove);
CodeMirror.on(cm.getWrapperElement(), 'mouseout', onMouseOut);
}

@@ -154,8 +140,6 @@

const hidePopup = function () {
_codemirror.default.off(popup, 'mouseover', onMouseOverPopup);
CodeMirror.off(popup, 'mouseover', onMouseOverPopup);
CodeMirror.off(popup, 'mouseout', onMouseOut);
CodeMirror.off(cm.getWrapperElement(), 'mouseout', onMouseOut);
_codemirror.default.off(popup, 'mouseout', onMouseOut);
_codemirror.default.off(cm.getWrapperElement(), 'mouseout', onMouseOut);
if (popup.style.opacity) {

@@ -173,7 +157,5 @@ popup.style.opacity = 0;

_codemirror.default.on(popup, 'mouseover', onMouseOverPopup);
_codemirror.default.on(popup, 'mouseout', onMouseOut);
_codemirror.default.on(cm.getWrapperElement(), 'mouseout', onMouseOut);
CodeMirror.on(popup, 'mouseover', onMouseOverPopup);
CodeMirror.on(popup, 'mouseout', onMouseOut);
CodeMirror.on(cm.getWrapperElement(), 'mouseout', onMouseOut);
}

@@ -1,8 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = jsonParse;
/**

@@ -29,3 +22,3 @@ * Copyright (c) 2019 GraphQL Contributors

*/
function jsonParse(str) {
export default function jsonParse(str) {
string = str;

@@ -40,3 +33,2 @@ strLen = str.length;

}
let string;

@@ -43,0 +35,0 @@ let strLen;

@@ -1,7 +0,1 @@

"use strict";
var _codemirror = _interopRequireDefault(require("codemirror"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -15,14 +9,10 @@ * Copyright (c) 2019 GraphQL Contributors

*/
_codemirror.default.defineOption('jump', false, (cm, options, old) => {
if (old && old !== _codemirror.default.Init) {
import CodeMirror from 'codemirror';
CodeMirror.defineOption('jump', false, (cm, options, old) => {
if (old && old !== CodeMirror.Init) {
const oldOnMouseOver = cm.state.jump.onMouseOver;
_codemirror.default.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);
CodeMirror.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);
const oldOnMouseOut = cm.state.jump.onMouseOut;
_codemirror.default.off(cm.getWrapperElement(), 'mouseout', oldOnMouseOut);
_codemirror.default.off(document, 'keydown', cm.state.jump.onKeyDown);
CodeMirror.off(cm.getWrapperElement(), 'mouseout', oldOnMouseOut);
CodeMirror.off(document, 'keydown', cm.state.jump.onKeyDown);
delete cm.state.jump;

@@ -38,8 +28,5 @@ }

};
_codemirror.default.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);
_codemirror.default.on(cm.getWrapperElement(), 'mouseout', state.onMouseOut);
_codemirror.default.on(document, 'keydown', state.onKeyDown);
CodeMirror.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);
CodeMirror.on(cm.getWrapperElement(), 'mouseout', state.onMouseOut);
CodeMirror.on(document, 'keydown', state.onKeyDown);
}

@@ -100,6 +87,4 @@ });

_codemirror.default.off(document, 'keyup', onKeyUp);
_codemirror.default.off(document, 'click', onClick);
CodeMirror.off(document, 'keyup', onKeyUp);
CodeMirror.off(document, 'click', onClick);
cm.off('mousedown', onMouseDown);

@@ -122,6 +107,4 @@ };

_codemirror.default.on(document, 'keyup', onKeyUp);
_codemirror.default.on(document, 'click', onClick);
CodeMirror.on(document, 'keyup', onKeyUp);
CodeMirror.on(document, 'click', onClick);
cm.on('mousedown', onMouseDown);

@@ -128,0 +111,0 @@ }

@@ -1,10 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = runParser;
var _graphqlLanguageServiceParser = require("graphql-language-service-parser");
/**

@@ -18,8 +9,9 @@ * Copyright (c) 2019 GraphQL Contributors

*/
function runParser(sourceText, parserOptions, callbackFn) {
const parser = (0, _graphqlLanguageServiceParser.onlineParser)(parserOptions);
import { CharacterStream, onlineParser } from 'graphql-language-service-parser';
export default function runParser(sourceText, parserOptions, callbackFn) {
const parser = onlineParser(parserOptions);
const state = parser.startState();
const lines = sourceText.split('\n');
lines.forEach(line => {
const stream = new _graphqlLanguageServiceParser.CharacterStream(line);
const stream = new CharacterStream(line);

@@ -26,0 +18,0 @@ while (!stream.eol()) {

@@ -1,14 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getFieldReference = getFieldReference;
exports.getDirectiveReference = getDirectiveReference;
exports.getArgumentReference = getArgumentReference;
exports.getEnumValueReference = getEnumValueReference;
exports.getTypeReference = getTypeReference;
var _graphql = require("graphql");
/**

@@ -22,3 +9,4 @@ * Copyright (c) 2019 GraphQL Contributors

*/
function getFieldReference(typeInfo) {
import { getNamedType } from 'graphql';
export function getFieldReference(typeInfo) {
return {

@@ -31,4 +19,3 @@ kind: 'Field',

}
function getDirectiveReference(typeInfo) {
export function getDirectiveReference(typeInfo) {
return {

@@ -40,4 +27,3 @@ kind: 'Directive',

}
function getArgumentReference(typeInfo) {
export function getArgumentReference(typeInfo) {
return typeInfo.directiveDef ? {

@@ -56,4 +42,3 @@ kind: 'Argument',

}
function getEnumValueReference(typeInfo) {
export function getEnumValueReference(typeInfo) {
return {

@@ -63,3 +48,3 @@ kind: 'EnumValue',

// $FlowFixMe
type: (0, _graphql.getNamedType)(typeInfo.inputType)
type: getNamedType(typeInfo.inputType)
};

@@ -69,4 +54,3 @@ } // Note: for reusability, getTypeReference can produce a reference to any type,

function getTypeReference(typeInfo, type) {
export function getTypeReference(typeInfo, type) {
return {

@@ -73,0 +57,0 @@ kind: 'Type',

@@ -1,13 +0,1 @@

"use strict";
var _codemirror = _interopRequireDefault(require("codemirror"));
var _graphql = require("graphql");
var _forEachState = _interopRequireDefault(require("../utils/forEachState"));
var _hintList = _interopRequireDefault(require("../utils/hintList"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -21,3 +9,6 @@ * Copyright (c) 2019 GraphQL Contributors

*/
import CodeMirror from 'codemirror';
import { getNullableType, getNamedType, GraphQLEnumType, GraphQLInputObjectType, GraphQLList, GraphQLBoolean } from 'graphql';
import forEachState from '../utils/forEachState';
import hintList from '../utils/hintList';
/**

@@ -40,3 +31,4 @@ * Registers a "hint" helper for CodeMirror.

*/
_codemirror.default.registerHelper('hint', 'graphql-variables', (editor, options) => {
CodeMirror.registerHelper('hint', 'graphql-variables', (editor, options) => {
const cur = editor.getCursor();

@@ -47,6 +39,5 @@ const token = editor.getTokenAt(cur);

if (results && results.list && results.list.length > 0) {
results.from = _codemirror.default.Pos(results.from.line, results.from.column);
results.to = _codemirror.default.Pos(results.to.line, results.to.column);
_codemirror.default.signal(editor, 'hasCompletion', editor, results, token);
results.from = CodeMirror.Pos(results.from.line, results.from.column);
results.to = CodeMirror.Pos(results.to.line, results.to.column);
CodeMirror.signal(editor, 'hasCompletion', editor, results, token);
}

@@ -64,3 +55,3 @@

if (kind === 'Document' && step === 0) {
return (0, _hintList.default)(cur, token, [{
return hintList(cur, token, [{
text: '{'

@@ -80,3 +71,3 @@ }]);

const variableNames = Object.keys(variableToType);
return (0, _hintList.default)(cur, token, variableNames.map(name => ({
return hintList(cur, token, variableNames.map(name => ({
text: `"${name}": `,

@@ -91,3 +82,3 @@ type: variableToType[name]

const inputFields = Object.keys(typeInfo.fields).map(fieldName => typeInfo.fields[fieldName]);
return (0, _hintList.default)(cur, token, inputFields.map(field => ({
return hintList(cur, token, inputFields.map(field => ({
text: `"${field.name}": `,

@@ -102,12 +93,12 @@ type: field.type,

if (kind === 'StringValue' || kind === 'NumberValue' || kind === 'BooleanValue' || kind === 'NullValue' || kind === 'ListValue' && step === 1 || kind === 'ObjectField' && step === 2 || kind === 'Variable' && step === 2) {
const namedInputType = (0, _graphql.getNamedType)(typeInfo.type);
const namedInputType = getNamedType(typeInfo.type);
if (namedInputType instanceof _graphql.GraphQLInputObjectType) {
return (0, _hintList.default)(cur, token, [{
if (namedInputType instanceof GraphQLInputObjectType) {
return hintList(cur, token, [{
text: '{'
}]);
} else if (namedInputType instanceof _graphql.GraphQLEnumType) {
} else if (namedInputType instanceof GraphQLEnumType) {
const valueMap = namedInputType.getValues();
const values = Object.keys(valueMap).map(name => valueMap[name]);
return (0, _hintList.default)(cur, token, values.map(value => ({
return hintList(cur, token, values.map(value => ({
text: `"${value.name}"`,

@@ -117,10 +108,10 @@ type: namedInputType,

})));
} else if (namedInputType === _graphql.GraphQLBoolean) {
return (0, _hintList.default)(cur, token, [{
} else if (namedInputType === GraphQLBoolean) {
return hintList(cur, token, [{
text: 'true',
type: _graphql.GraphQLBoolean,
type: GraphQLBoolean,
description: 'Not false.'
}, {
text: 'false',
type: _graphql.GraphQLBoolean,
type: GraphQLBoolean,
description: 'Not true.'

@@ -139,11 +130,11 @@ }]);

};
(0, _forEachState.default)(tokenState, state => {
forEachState(tokenState, state => {
if (state.kind === 'Variable') {
info.type = variableToType[state.name];
} else if (state.kind === 'ListValue') {
const nullableType = (0, _graphql.getNullableType)(info.type);
info.type = nullableType instanceof _graphql.GraphQLList ? nullableType.ofType : null;
const nullableType = getNullableType(info.type);
info.type = nullableType instanceof GraphQLList ? nullableType.ofType : null;
} else if (state.kind === 'ObjectValue') {
const objectType = (0, _graphql.getNamedType)(info.type);
info.fields = objectType instanceof _graphql.GraphQLInputObjectType ? objectType.getFields() : null;
const objectType = getNamedType(info.type);
info.fields = objectType instanceof GraphQLInputObjectType ? objectType.getFields() : null;
} else if (state.kind === 'ObjectField') {

@@ -150,0 +141,0 @@ const objectField = state.name && info.fields ? info.fields[state.name] : null;

@@ -1,11 +0,1 @@

"use strict";
var _codemirror = _interopRequireDefault(require("codemirror"));
var _graphql = require("graphql");
var _jsonParse = _interopRequireDefault(require("../utils/jsonParse"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -19,3 +9,5 @@ * Copyright (c) 2019 GraphQL Contributors

*/
import CodeMirror from 'codemirror';
import { GraphQLEnumType, GraphQLInputObjectType, GraphQLList, GraphQLNonNull, GraphQLScalarType } from 'graphql';
import jsonParse from '../utils/jsonParse';
/**

@@ -33,3 +25,4 @@ * Registers a "lint" helper for CodeMirror.

*/
_codemirror.default.registerHelper('lint', 'graphql-variables', (text, options, editor) => {
CodeMirror.registerHelper('lint', 'graphql-variables', (text, options, editor) => {
// If there's no text, do nothing.

@@ -44,3 +37,3 @@ if (!text) {

try {
ast = (0, _jsonParse.default)(text);
ast = jsonParse(text);
} catch (syntaxError) {

@@ -66,3 +59,2 @@ if (syntaxError.stack) {

function validateVariables(editor, variableToType, variablesAST) {

@@ -88,3 +80,3 @@ const errors = [];

// Validate non-nullable values.
if (type instanceof _graphql.GraphQLNonNull) {
if (type instanceof GraphQLNonNull) {
if (valueAST.kind === 'Null') {

@@ -102,3 +94,3 @@ return [[valueAST, `Type "${type}" is non-nullable and cannot be null.`]];

if (type instanceof _graphql.GraphQLList) {
if (type instanceof GraphQLList) {
const itemType = type.ofType;

@@ -114,3 +106,3 @@

if (type instanceof _graphql.GraphQLInputObjectType) {
if (type instanceof GraphQLInputObjectType) {
if (valueAST.kind !== 'Object') {

@@ -139,3 +131,3 @@ return [[valueAST, `Type "${type}" must be an Object.`]];

if (fieldType instanceof _graphql.GraphQLNonNull) {
if (fieldType instanceof GraphQLNonNull) {
fieldErrors.push([valueAST, `Object of type "${type}" is missing required field "${fieldName}".`]);

@@ -155,3 +147,3 @@ }

if (type instanceof _graphql.GraphQLEnumType || type instanceof _graphql.GraphQLScalarType) {
if (type instanceof GraphQLEnumType || type instanceof GraphQLScalarType) {
if (valueAST.kind !== 'String' && valueAST.kind !== 'Number' && valueAST.kind !== 'Boolean' && valueAST.kind !== 'Null' || isNullish(type.parseValue(valueAST.value))) {

@@ -158,0 +150,0 @@ return [[valueAST, `Expected value of type "${type}".`]];

@@ -1,9 +0,1 @@

"use strict";
var _codemirror = _interopRequireDefault(require("codemirror"));
var _graphqlLanguageServiceParser = require("graphql-language-service-parser");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**

@@ -17,3 +9,4 @@ * Copyright (c) 2019 GraphQL Contributors

*/
import CodeMirror from 'codemirror';
import { list, t, onlineParser, opt, p } from 'graphql-language-service-parser';
/**

@@ -23,4 +16,5 @@ * This mode defines JSON, but provides a data-laden parser state to enable

*/
_codemirror.default.defineMode('graphql-variables', config => {
const parser = (0, _graphqlLanguageServiceParser.onlineParser)({
CodeMirror.defineMode('graphql-variables', config => {
const parser = onlineParser({
eatWhitespace: stream => stream.eatSpace(),

@@ -74,4 +68,4 @@ lexRules: LexRules,

const ParseRules = {
Document: [(0, _graphqlLanguageServiceParser.p)('{'), (0, _graphqlLanguageServiceParser.list)('Variable', (0, _graphqlLanguageServiceParser.opt)((0, _graphqlLanguageServiceParser.p)(','))), (0, _graphqlLanguageServiceParser.p)('}')],
Variable: [namedKey('variable'), (0, _graphqlLanguageServiceParser.p)(':'), 'Value'],
Document: [p('{'), list('Variable', opt(p(','))), p('}')],
Variable: [namedKey('variable'), p(':'), 'Value'],

@@ -111,9 +105,9 @@ Value(token) {

NumberValue: [(0, _graphqlLanguageServiceParser.t)('Number', 'number')],
StringValue: [(0, _graphqlLanguageServiceParser.t)('String', 'string')],
BooleanValue: [(0, _graphqlLanguageServiceParser.t)('Keyword', 'builtin')],
NullValue: [(0, _graphqlLanguageServiceParser.t)('Keyword', 'keyword')],
ListValue: [(0, _graphqlLanguageServiceParser.p)('['), (0, _graphqlLanguageServiceParser.list)('Value', (0, _graphqlLanguageServiceParser.opt)((0, _graphqlLanguageServiceParser.p)(','))), (0, _graphqlLanguageServiceParser.p)(']')],
ObjectValue: [(0, _graphqlLanguageServiceParser.p)('{'), (0, _graphqlLanguageServiceParser.list)('ObjectField', (0, _graphqlLanguageServiceParser.opt)((0, _graphqlLanguageServiceParser.p)(','))), (0, _graphqlLanguageServiceParser.p)('}')],
ObjectField: [namedKey('attribute'), (0, _graphqlLanguageServiceParser.p)(':'), 'Value']
NumberValue: [t('Number', 'number')],
StringValue: [t('String', 'string')],
BooleanValue: [t('Keyword', 'builtin')],
NullValue: [t('Keyword', 'keyword')],
ListValue: [p('['), list('Value', opt(p(','))), p(']')],
ObjectValue: [p('{'), list('ObjectField', opt(p(','))), p('}')],
ObjectField: [namedKey('attribute'), p(':'), 'Value']
}; // A namedKey Token which will decorate the state with a `name`

@@ -120,0 +114,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc