graphql-js-tree
Advanced tools
Comparing version 0.2.4 to 0.2.5
@@ -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", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
82902
1689