Socket
Socket
Sign inDemoInstall

graphql-js-tree

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

graphql-js-tree - npm Package Compare versions

Comparing version 0.2.4 to 0.2.5

4

lib/Models/Spec.d.ts

@@ -30,3 +30,5 @@ export declare enum ScalarTypes {

ListValue = "ListValue",
ObjectValue = "ObjectValue"
ObjectValue = "ObjectValue",
IDValue = "IDValue",
ScalarValue = "ScalarValue"
}

@@ -33,0 +35,0 @@ export declare enum Type {

@@ -37,2 +37,4 @@ "use strict";

Value["ObjectValue"] = "ObjectValue";
Value["IDValue"] = "IDValue";
Value["ScalarValue"] = "ScalarValue";
})(Value = exports.Value || (exports.Value = {}));

@@ -39,0 +41,0 @@ var Type;

@@ -18,1 +18,3 @@ import { AllTypes, FieldType, Options, ParserField } from "../Models";

}) => void;
export declare const isScalarArgument: (field: ParserField, scalarTypes: string[]) => boolean;
export declare const isArrayType: (f: FieldType) => boolean;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChangeAllRelatedNodes = exports.ChangeRelatedNode = exports.regenerateId = exports.isExtensionNode = exports.resolveValueFieldType = exports.changeNodeOptions = exports.changeTypeName = exports.filterNotNull = void 0;
exports.isArrayType = exports.isScalarArgument = exports.ChangeAllRelatedNodes = exports.ChangeRelatedNode = exports.regenerateId = exports.isExtensionNode = exports.resolveValueFieldType = exports.changeNodeOptions = exports.changeTypeName = exports.filterNotNull = void 0;
const Models_1 = require("../Models");

@@ -83,1 +83,23 @@ const shared_1 = require("../shared");

exports.ChangeAllRelatedNodes = ChangeAllRelatedNodes;
const isScalarArgument = (field, scalarTypes) => {
const typeName = (0, shared_1.getTypeName)(field.type.fieldType);
if (typeName === Models_1.ScalarTypes.Boolean) {
return true;
}
if (typeName === Models_1.ScalarTypes.Float) {
return true;
}
if (typeName === Models_1.ScalarTypes.ID) {
return true;
}
if (typeName === Models_1.ScalarTypes.Int) {
return true;
}
if (typeName === Models_1.ScalarTypes.String) {
return true;
}
return scalarTypes.includes(typeName);
};
exports.isScalarArgument = isScalarArgument;
const isArrayType = (f) => f.type === Models_1.Options.required ? f.nest.type === Models_1.Options.array : f.type === Models_1.Options.array;
exports.isArrayType = isArrayType;

@@ -10,2 +10,3 @@ import { ParserField, ParserTree } from "../Models";

deImplementInterface: (node: ParserField, interfaceName: string) => void;
setValueNode: (node: ParserField, value: string) => void;
};

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

};
const setValueNode = (node, value) => {
node.value = {
value,
type: checkValueType(node, allNodes),
};
};
return {

@@ -151,4 +157,40 @@ deleteFieldFromNode,

deImplementInterface,
setValueNode,
};
};
exports.mutate = mutate;
const checkValueType = (node, nodes) => {
const isArray = (0, shared_2.isArrayType)(node.type.fieldType);
if (isArray)
return Models_1.Value.ListValue;
const tName = (0, shared_1.getTypeName)(node.type.fieldType);
const scalarTypes = nodes.filter((n) => n.data.type === Models_1.TypeDefinition.ScalarTypeDefinition).map((n) => n.name);
if ((0, shared_2.isScalarArgument)(node, scalarTypes)) {
if (tName === Models_1.ScalarTypes.Boolean) {
return Models_1.Value.BooleanValue;
}
if (tName === Models_1.ScalarTypes.Float) {
return Models_1.Value.FloatValue;
}
if (tName === Models_1.ScalarTypes.ID) {
return Models_1.Value.IDValue;
}
if (tName === Models_1.ScalarTypes.Int) {
return Models_1.Value.IntValue;
}
if (tName === Models_1.ScalarTypes.String) {
return Models_1.Value.StringValue;
}
return Models_1.Value.ScalarValue;
}
const parentNode = nodes.find((n) => n.name === tName);
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.data.type) === Models_1.TypeDefinition.InputObjectTypeDefinition ||
(parentNode === null || parentNode === void 0 ? void 0 : parentNode.data.type) === Models_1.TypeExtension.InputObjectTypeExtension) {
return Models_1.Value.ObjectValue;
}
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.data.type) === Models_1.TypeDefinition.EnumTypeDefinition ||
(parentNode === null || parentNode === void 0 ? void 0 : parentNode.data.type) === Models_1.TypeExtension.EnumTypeExtension) {
return Models_1.Value.EnumValue;
}
return Models_1.Value.Variable;
};
{
"name": "graphql-js-tree",
"version": "0.2.4",
"version": "0.2.5",
"private": false,

@@ -5,0 +5,0 @@ "license": "MIT",

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