Socket
Socket
Sign inDemoInstall

codemirror-graphql

Package Overview
Dependencies
1
Maintainers
11
Versions
243
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.4 to 2.0.5

12

esm/results/mode.js
import CodeMirror from 'codemirror';
import { list, t, onlineParser, p, } from 'graphql-language-service';
import { list, t, onlineParser, p } from 'graphql-language-service';
import indent from '../utils/mode-indent';
CodeMirror.defineMode('graphql-results', config => {

@@ -23,11 +24,2 @@ const parser = onlineParser({

});
function indent(state, textAfter) {
var _a, _b;
const { levels, indentLevel } = state;
const level = !levels || levels.length === 0
? indentLevel
: levels[levels.length - 1] -
(((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);
}
const LexRules = {

@@ -34,0 +26,0 @@ Punctuation: /^\[|]|\{|\}|:|,/,

2

esm/utils/hintList.js

@@ -34,3 +34,3 @@ export default function hintList(cursor, token, list) {

function normalizeText(text) {
return text.toLowerCase().replace(/\W/g, '');
return text.toLowerCase().replaceAll(/\W/g, '');
}

@@ -37,0 +37,0 @@ function getProximity(suggestion, text) {

@@ -6,6 +6,5 @@ export default function indent(state, textAfter) {

? indentLevel
: levels[levels.length - 1] -
(((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
: levels.at(-1) - (((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);
}
//# sourceMappingURL=mode-indent.js.map

@@ -78,21 +78,27 @@ import CodeMirror from 'codemirror';

forEachState(tokenState, state => {
if (state.kind === 'Variable') {
info.type = variableToType[state.name];
switch (state.kind) {
case 'Variable': {
info.type = variableToType[state.name];
break;
}
case 'ListValue': {
const nullableType = info.type ? getNullableType(info.type) : undefined;
info.type =
nullableType instanceof GraphQLList ? nullableType.ofType : null;
break;
}
case 'ObjectValue': {
const objectType = info.type ? getNamedType(info.type) : undefined;
info.fields =
objectType instanceof GraphQLInputObjectType
? objectType.getFields()
: null;
break;
}
case 'ObjectField': {
const objectField = state.name && info.fields ? info.fields[state.name] : null;
info.type = objectField === null || objectField === void 0 ? void 0 : objectField.type;
break;
}
}
else if (state.kind === 'ListValue') {
const nullableType = info.type ? getNullableType(info.type) : undefined;
info.type =
nullableType instanceof GraphQLList ? nullableType.ofType : null;
}
else if (state.kind === 'ObjectValue') {
const objectType = info.type ? getNamedType(info.type) : undefined;
info.fields =
objectType instanceof GraphQLInputObjectType
? objectType.getFields()
: null;
}
else if (state.kind === 'ObjectField') {
const objectField = state.name && info.fields ? info.fields[state.name] : null;
info.type = objectField === null || objectField === void 0 ? void 0 : objectField.type;
}
});

@@ -99,0 +105,0 @@ return info;

import CodeMirror from 'codemirror';
import { list, t, onlineParser, opt, p, } from 'graphql-language-service';
import indent from '../utils/mode-indent';
CodeMirror.defineMode('graphql-variables', config => {

@@ -23,11 +24,2 @@ const parser = onlineParser({

});
function indent(state, textAfter) {
var _a, _b;
const { levels, indentLevel } = state;
const level = !levels || levels.length === 0
? indentLevel
: levels[levels.length - 1] -
(((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);
}
const LexRules = {

@@ -34,0 +26,0 @@ Punctuation: /^\[|]|\{|\}|:|,/,

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

@@ -54,3 +54,3 @@ "contributors": [

"dependencies": {
"graphql-language-service": "5.1.2"
"graphql-language-service": "5.1.3"
},

@@ -57,0 +57,0 @@ "devDependencies": {

import CodeMirror from 'codemirror';
import { list, t, onlineParser, p, } from 'graphql-language-service';
import { list, t, onlineParser, p } from 'graphql-language-service';
import indent from '../utils/mode-indent';
CodeMirror.defineMode('graphql-results', config => {

@@ -23,11 +24,2 @@ const parser = onlineParser({

});
function indent(state, textAfter) {
var _a, _b;
const { levels, indentLevel } = state;
const level = !levels || levels.length === 0
? indentLevel
: levels[levels.length - 1] -
(((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);
}
const LexRules = {

@@ -34,0 +26,0 @@ Punctuation: /^\[|]|\{|\}|:|,/,

@@ -8,2 +8,3 @@ "use strict";

var graphql_language_service_1 = require("graphql-language-service");
var mode_indent_1 = __importDefault(require("../utils/mode-indent"));
codemirror_1.default.defineMode('graphql-results', function (config) {

@@ -20,3 +21,3 @@ var parser = (0, graphql_language_service_1.onlineParser)({

token: parser.token,
indent: indent,
indent: mode_indent_1.default,
electricInput: /^\s*[}\]]/,

@@ -30,11 +31,2 @@ fold: 'brace',

});
function indent(state, textAfter) {
var _a, _b;
var levels = state.levels, indentLevel = state.indentLevel;
var level = !levels || levels.length === 0
? indentLevel
: levels[levels.length - 1] -
(((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);
}
var LexRules = {

@@ -41,0 +33,0 @@ Punctuation: /^\[|]|\{|\}|:|,/,

@@ -50,5 +50,6 @@ /**

const kitchenSink = readFileSync(join(__dirname, '/kitchen-sink.graphql'), {
encoding: 'utf8',
});
const kitchenSink = readFileSync(
join(__dirname, '/kitchen-sink.graphql'),
'utf8',
);

@@ -55,0 +56,0 @@ it('returns no syntactic/validation errors after parsing kitchen-sink query', async () => {

@@ -72,5 +72,6 @@ /**

it('parses kitchen-sink query without invalidchar', () => {
const kitchenSink = readFileSync(join(__dirname, '/kitchen-sink.graphql'), {
encoding: 'utf8',
});
const kitchenSink = readFileSync(
join(__dirname, '/kitchen-sink.graphql'),
'utf8',
);

@@ -85,3 +86,3 @@ CodeMirror.runMode(kitchenSink, 'graphql', (_token, style) => {

join(__dirname, '/schema-kitchen-sink.graphql'),
{ encoding: 'utf8' },
'utf8',
);

@@ -88,0 +89,0 @@

@@ -12,10 +12,4 @@ /**

import {
list,
t,
onlineParser,
p,
State,
Token,
} from 'graphql-language-service';
import { list, t, onlineParser, p, Token } from 'graphql-language-service';
import indent from '../utils/mode-indent';

@@ -48,21 +42,2 @@ /**

function indent(
this: CodeMirror.Mode<any> & {
electricInput?: RegExp;
config?: CodeMirror.EditorConfiguration;
},
state: State,
textAfter: string,
) {
const { levels, indentLevel } = state;
// If there is no stack of levels, use the current level.
// Otherwise, use the top level, preemptively dedenting for close braces.
const level =
!levels || levels.length === 0
? indentLevel
: levels[levels.length - 1] -
(this.electricInput?.test(textAfter) ? 1 : 0);
return (level || 0) * (this.config?.indentUnit || 0);
}
/**

@@ -69,0 +44,0 @@ * The lexer rules. These are exactly as described by the spec.

@@ -71,3 +71,3 @@ /**

function normalizeText(text: string) {
return text.toLowerCase().replace(/\W/g, '');
return text.toLowerCase().replaceAll(/\W/g, '');
}

@@ -74,0 +74,0 @@

@@ -28,5 +28,4 @@ /**

? indentLevel
: levels[levels.length - 1] -
(this.electricInput?.test(textAfter) ? 1 : 0);
: levels.at(-1)! - (this.electricInput?.test(textAfter) ? 1 : 0);
return (level || 0) * (this.config?.indentUnit || 0);
}

@@ -174,2 +174,3 @@ /**

}
interface VariableTypeInfo {

@@ -179,2 +180,3 @@ type?: Maybe<GraphQLInputType>;

}
// Utility for collecting rich type information given any token's state

@@ -192,18 +194,27 @@ // from the graphql-variables-mode parser.

forEachState(tokenState, state => {
if (state.kind === 'Variable') {
info.type = variableToType[state.name!];
} else if (state.kind === 'ListValue') {
const nullableType = info.type ? getNullableType(info.type) : undefined;
info.type =
nullableType instanceof GraphQLList ? nullableType.ofType : null;
} else if (state.kind === 'ObjectValue') {
const objectType = info.type ? getNamedType(info.type) : undefined;
info.fields =
objectType instanceof GraphQLInputObjectType
? objectType.getFields()
: null;
} else if (state.kind === 'ObjectField') {
const objectField =
state.name && info.fields ? info.fields[state.name] : null;
info.type = objectField?.type;
switch (state.kind) {
case 'Variable': {
info.type = variableToType[state.name!];
break;
}
case 'ListValue': {
const nullableType = info.type ? getNullableType(info.type) : undefined;
info.type =
nullableType instanceof GraphQLList ? nullableType.ofType : null;
break;
}
case 'ObjectValue': {
const objectType = info.type ? getNamedType(info.type) : undefined;
info.fields =
objectType instanceof GraphQLInputObjectType
? objectType.getFields()
: null;
break;
}
case 'ObjectField': {
const objectField =
state.name && info.fields ? info.fields[state.name] : null;
info.type = objectField?.type;
break;
}
}

@@ -210,0 +221,0 @@ });

@@ -21,2 +21,3 @@ /**

} from 'graphql-language-service';
import indent from '../utils/mode-indent';

@@ -49,21 +50,2 @@ /**

function indent(
this: CodeMirror.Mode<any> & {
electricInput?: RegExp;
config?: CodeMirror.EditorConfiguration;
},
state: State,
textAfter: string,
) {
const { levels, indentLevel } = state;
// If there is no stack of levels, use the current level.
// Otherwise, use the top level, preemptively dedenting for close braces.
const level =
!levels || levels.length === 0
? indentLevel
: levels[levels.length - 1] -
(this.electricInput?.test(textAfter) ? 1 : 0);
return (level || 0) * (this.config?.indentUnit || 0);
}
/**

@@ -70,0 +52,0 @@ * The lexer rules. These are exactly as described by the spec.

@@ -34,3 +34,3 @@ export default function hintList(cursor, token, list) {

function normalizeText(text) {
return text.toLowerCase().replace(/\W/g, '');
return text.toLowerCase().replaceAll(/\W/g, '');
}

@@ -37,0 +37,0 @@ function getProximity(suggestion, text) {

@@ -39,3 +39,3 @@ "use strict";

function normalizeText(text) {
return text.toLowerCase().replace(/\W/g, '');
return text.toLowerCase().replaceAll(/\W/g, '');
}

@@ -42,0 +42,0 @@ function getProximity(suggestion, text) {

@@ -6,6 +6,5 @@ export default function indent(state, textAfter) {

? indentLevel
: levels[levels.length - 1] -
(((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
: levels.at(-1) - (((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);
}
//# sourceMappingURL=mode-indent.js.map

@@ -8,4 +8,3 @@ "use strict";

? indentLevel
: levels[levels.length - 1] -
(((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
: levels.at(-1) - (((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);

@@ -12,0 +11,0 @@ }

@@ -78,21 +78,27 @@ import CodeMirror from 'codemirror';

forEachState(tokenState, state => {
if (state.kind === 'Variable') {
info.type = variableToType[state.name];
switch (state.kind) {
case 'Variable': {
info.type = variableToType[state.name];
break;
}
case 'ListValue': {
const nullableType = info.type ? getNullableType(info.type) : undefined;
info.type =
nullableType instanceof GraphQLList ? nullableType.ofType : null;
break;
}
case 'ObjectValue': {
const objectType = info.type ? getNamedType(info.type) : undefined;
info.fields =
objectType instanceof GraphQLInputObjectType
? objectType.getFields()
: null;
break;
}
case 'ObjectField': {
const objectField = state.name && info.fields ? info.fields[state.name] : null;
info.type = objectField === null || objectField === void 0 ? void 0 : objectField.type;
break;
}
}
else if (state.kind === 'ListValue') {
const nullableType = info.type ? getNullableType(info.type) : undefined;
info.type =
nullableType instanceof GraphQLList ? nullableType.ofType : null;
}
else if (state.kind === 'ObjectValue') {
const objectType = info.type ? getNamedType(info.type) : undefined;
info.fields =
objectType instanceof GraphQLInputObjectType
? objectType.getFields()
: null;
}
else if (state.kind === 'ObjectField') {
const objectField = state.name && info.fields ? info.fields[state.name] : null;
info.type = objectField === null || objectField === void 0 ? void 0 : objectField.type;
}
});

@@ -99,0 +105,0 @@ return info;

@@ -83,21 +83,27 @@ "use strict";

(0, forEachState_1.default)(tokenState, function (state) {
if (state.kind === 'Variable') {
info.type = variableToType[state.name];
switch (state.kind) {
case 'Variable': {
info.type = variableToType[state.name];
break;
}
case 'ListValue': {
var nullableType = info.type ? (0, graphql_1.getNullableType)(info.type) : undefined;
info.type =
nullableType instanceof graphql_1.GraphQLList ? nullableType.ofType : null;
break;
}
case 'ObjectValue': {
var objectType = info.type ? (0, graphql_1.getNamedType)(info.type) : undefined;
info.fields =
objectType instanceof graphql_1.GraphQLInputObjectType
? objectType.getFields()
: null;
break;
}
case 'ObjectField': {
var objectField = state.name && info.fields ? info.fields[state.name] : null;
info.type = objectField === null || objectField === void 0 ? void 0 : objectField.type;
break;
}
}
else if (state.kind === 'ListValue') {
var nullableType = info.type ? (0, graphql_1.getNullableType)(info.type) : undefined;
info.type =
nullableType instanceof graphql_1.GraphQLList ? nullableType.ofType : null;
}
else if (state.kind === 'ObjectValue') {
var objectType = info.type ? (0, graphql_1.getNamedType)(info.type) : undefined;
info.fields =
objectType instanceof graphql_1.GraphQLInputObjectType
? objectType.getFields()
: null;
}
else if (state.kind === 'ObjectField') {
var objectField = state.name && info.fields ? info.fields[state.name] : null;
info.type = objectField === null || objectField === void 0 ? void 0 : objectField.type;
}
});

@@ -104,0 +110,0 @@ return info;

import CodeMirror from 'codemirror';
import { list, t, onlineParser, opt, p, } from 'graphql-language-service';
import indent from '../utils/mode-indent';
CodeMirror.defineMode('graphql-variables', config => {

@@ -23,11 +24,2 @@ const parser = onlineParser({

});
function indent(state, textAfter) {
var _a, _b;
const { levels, indentLevel } = state;
const level = !levels || levels.length === 0
? indentLevel
: levels[levels.length - 1] -
(((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);
}
const LexRules = {

@@ -34,0 +26,0 @@ Punctuation: /^\[|]|\{|\}|:|,/,

@@ -8,2 +8,3 @@ "use strict";

var graphql_language_service_1 = require("graphql-language-service");
var mode_indent_1 = __importDefault(require("../utils/mode-indent"));
codemirror_1.default.defineMode('graphql-variables', function (config) {

@@ -20,3 +21,3 @@ var parser = (0, graphql_language_service_1.onlineParser)({

token: parser.token,
indent: indent,
indent: mode_indent_1.default,
electricInput: /^\s*[}\]]/,

@@ -30,11 +31,2 @@ fold: 'brace',

});
function indent(state, textAfter) {
var _a, _b;
var levels = state.levels, indentLevel = state.indentLevel;
var level = !levels || levels.length === 0
? indentLevel
: levels[levels.length - 1] -
(((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);
return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);
}
var LexRules = {

@@ -41,0 +33,0 @@ Punctuation: /^\[|]|\{|\}|:|,/,

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc