graphql-js-tree
Advanced tools
Comparing version 0.2.5 to 0.2.6
@@ -1,2 +0,2 @@ | ||
import { AllTypes, FieldType, ParserField } from "../Models"; | ||
import { AllTypes, Directive, FieldType, ParserField, TypeDefinition, TypeExtension } from "../Models"; | ||
export declare const getTypeName: (f: FieldType) => string; | ||
@@ -7,4 +7,32 @@ export declare const compileType: (f: FieldType) => string; | ||
type NodeCreation = Pick<ParserField, 'data' | 'name' | 'type'> & Partial<Omit<ParserField, 'data' | 'name' | 'type'>>; | ||
type RootNodeCreation = Pick<ParserField, 'name'> & Partial<Omit<ParserField, 'data' | 'name' | 'type'>> & { | ||
type: TypeDefinition; | ||
}; | ||
type ExtensionRootNodeCreation = Pick<ParserField, 'name'> & Partial<Omit<ParserField, 'data' | 'name' | 'type'>> & { | ||
type: TypeExtension; | ||
}; | ||
export declare const createParserField: (props: NodeCreation) => ParserField; | ||
export declare const createRootField: ({ name, type, ...props }: RootNodeCreation) => ParserField; | ||
export declare const createRootExtensionField: ({ name, type, ...props }: ExtensionRootNodeCreation) => ParserField; | ||
type DirectiveRootNodeCreation = Pick<ParserField, 'name'> & Partial<Omit<ParserField, 'data' | 'name' | 'type'>> & { | ||
directiveOptions?: Directive[]; | ||
}; | ||
export declare const createRootDirectiveField: ({ name, directiveOptions, ...props }: DirectiveRootNodeCreation) => ParserField; | ||
type FieldCreation = Pick<ParserField, 'name'> & Partial<Omit<ParserField, 'data' | 'name' | 'type'>> & { | ||
type: string; | ||
}; | ||
export declare const createPlainField: ({ name, type, ...props }: FieldCreation) => ParserField; | ||
type InputValueCreation = Pick<ParserField, 'name'> & Partial<Omit<ParserField, 'data' | 'name' | 'type'>> & { | ||
type: string; | ||
}; | ||
export declare const createPlainInputValue: ({ name, type, ...props }: InputValueCreation) => ParserField; | ||
type EnumValueCreation = Pick<ParserField, 'name'> & Partial<Omit<ParserField, 'data' | 'name' | 'type'>>; | ||
export declare const createPlainEnumValue: ({ name, ...props }: EnumValueCreation) => ParserField; | ||
type UnionMemberCreation = Pick<ParserField, 'name'> & Partial<Omit<ParserField, 'data' | 'name' | 'type'>>; | ||
export declare const createUnionMember: ({ name, ...props }: UnionMemberCreation) => ParserField; | ||
type DirectiveInstanceCreation = Pick<ParserField, 'name'> & Partial<Omit<ParserField, 'data' | 'name' | 'type'>>; | ||
export declare const createPlainDirectiveImplementation: ({ name, ...props }: DirectiveInstanceCreation) => ParserField; | ||
type ArgumentCreation = Pick<ParserField, 'name'> & Partial<Omit<ParserField, 'data' | 'name' | 'type'>>; | ||
export declare const createPlainArgument: ({ name, ...props }: ArgumentCreation) => ParserField; | ||
export declare const compareParserFields: (f1: ParserField) => (f2: ParserField) => boolean; | ||
export {}; |
"use strict"; | ||
var __rest = (this && this.__rest) || function (s, e) { | ||
var t = {}; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) | ||
t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") | ||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { | ||
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) | ||
t[p[i]] = s[p[i]]; | ||
} | ||
return t; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.compareParserFields = exports.createParserField = exports.generateNodeId = exports.decompileType = exports.compileType = exports.getTypeName = void 0; | ||
exports.compareParserFields = exports.createPlainArgument = exports.createPlainDirectiveImplementation = exports.createUnionMember = exports.createPlainEnumValue = exports.createPlainInputValue = exports.createPlainField = exports.createRootDirectiveField = exports.createRootExtensionField = exports.createRootField = exports.createParserField = exports.generateNodeId = exports.decompileType = exports.compileType = exports.getTypeName = void 0; | ||
const Models_1 = require("../Models"); | ||
@@ -63,3 +74,112 @@ const getTypeName = (f) => { | ||
exports.createParserField = createParserField; | ||
const createRootField = (_a) => { | ||
var { name, type } = _a, props = __rest(_a, ["name", "type"]); | ||
return (0, exports.createParserField)(Object.assign(Object.assign({}, props), { name, data: { | ||
type, | ||
}, type: { | ||
fieldType: { | ||
name: Models_1.TypeDefinitionDisplayMap[type], | ||
type: Models_1.Options.name, | ||
}, | ||
} })); | ||
}; | ||
exports.createRootField = createRootField; | ||
const createRootExtensionField = (_a) => { | ||
var { name, type } = _a, props = __rest(_a, ["name", "type"]); | ||
return (0, exports.createParserField)(Object.assign(Object.assign({}, props), { name, data: { | ||
type, | ||
}, type: { | ||
fieldType: { | ||
name: Models_1.TypeDefinitionDisplayMap[type], | ||
type: Models_1.Options.name, | ||
}, | ||
} })); | ||
}; | ||
exports.createRootExtensionField = createRootExtensionField; | ||
const createRootDirectiveField = (_a) => { | ||
var { name, directiveOptions = [Models_1.Directive.OBJECT] } = _a, props = __rest(_a, ["name", "directiveOptions"]); | ||
return (0, exports.createParserField)(Object.assign(Object.assign({}, props), { name, data: { | ||
type: Models_1.TypeSystemDefinition.DirectiveDefinition, | ||
}, type: { | ||
fieldType: { | ||
name: Models_1.TypeDefinitionDisplayMap[Models_1.TypeSystemDefinition.DirectiveDefinition], | ||
type: Models_1.Options.name, | ||
}, | ||
directiveOptions, | ||
} })); | ||
}; | ||
exports.createRootDirectiveField = createRootDirectiveField; | ||
const createPlainField = (_a) => { | ||
var { name, type } = _a, props = __rest(_a, ["name", "type"]); | ||
return (0, exports.createParserField)(Object.assign(Object.assign({}, props), { name, data: { | ||
type: Models_1.TypeSystemDefinition.FieldDefinition, | ||
}, type: { | ||
fieldType: { | ||
name: type, | ||
type: Models_1.Options.name, | ||
}, | ||
} })); | ||
}; | ||
exports.createPlainField = createPlainField; | ||
const createPlainInputValue = (_a) => { | ||
var { name, type } = _a, props = __rest(_a, ["name", "type"]); | ||
return (0, exports.createParserField)(Object.assign(Object.assign({}, props), { name, data: { | ||
type: Models_1.ValueDefinition.InputValueDefinition, | ||
}, type: { | ||
fieldType: { | ||
name: type, | ||
type: Models_1.Options.name, | ||
}, | ||
} })); | ||
}; | ||
exports.createPlainInputValue = createPlainInputValue; | ||
const createPlainEnumValue = (_a) => { | ||
var { name } = _a, props = __rest(_a, ["name"]); | ||
return (0, exports.createParserField)(Object.assign(Object.assign({}, props), { name, data: { | ||
type: Models_1.ValueDefinition.EnumValueDefinition, | ||
}, type: { | ||
fieldType: { | ||
name: Models_1.ValueDefinition.EnumValueDefinition, | ||
type: Models_1.Options.name, | ||
}, | ||
} })); | ||
}; | ||
exports.createPlainEnumValue = createPlainEnumValue; | ||
const createUnionMember = (_a) => { | ||
var { name } = _a, props = __rest(_a, ["name"]); | ||
return (0, exports.createParserField)(Object.assign(Object.assign({}, props), { name, data: { | ||
type: Models_1.TypeSystemDefinition.UnionMemberDefinition, | ||
}, type: { | ||
fieldType: { | ||
name, | ||
type: Models_1.Options.name, | ||
}, | ||
} })); | ||
}; | ||
exports.createUnionMember = createUnionMember; | ||
const createPlainDirectiveImplementation = (_a) => { | ||
var { name } = _a, props = __rest(_a, ["name"]); | ||
return (0, exports.createParserField)(Object.assign(Object.assign({}, props), { name, data: { | ||
type: Models_1.Instances.Directive, | ||
}, type: { | ||
fieldType: { | ||
name, | ||
type: Models_1.Options.name, | ||
}, | ||
} })); | ||
}; | ||
exports.createPlainDirectiveImplementation = createPlainDirectiveImplementation; | ||
const createPlainArgument = (_a) => { | ||
var { name } = _a, props = __rest(_a, ["name"]); | ||
return (0, exports.createParserField)(Object.assign(Object.assign({}, props), { name, data: { | ||
type: Models_1.Instances.Argument, | ||
}, type: { | ||
fieldType: { | ||
name, | ||
type: Models_1.Options.name, | ||
}, | ||
} })); | ||
}; | ||
exports.createPlainArgument = createPlainArgument; | ||
const compareParserFields = (f1) => (f2) => f1.id === f2.id; | ||
exports.compareParserFields = compareParserFields; |
import { ParserField, ParserTree } from "../Models"; | ||
export declare const mutate: (tree: ParserTree, allNodes: ParserField[]) => { | ||
deleteFieldFromNode: (n: ParserField, i: number) => void; | ||
updateFieldOnNode: (node: ParserField, i: number, updatedField: ParserField) => void; | ||
addFieldToNode: (node: ParserField, f: ParserField) => void; | ||
renameNode: (node: ParserField, newName: string) => void; | ||
renameRootNode: (node: ParserField, newName: string) => void; | ||
removeNode: (node: ParserField) => void; | ||
@@ -8,0 +7,0 @@ implementInterface: (node: ParserField, interfaceNode: ParserField) => void; |
@@ -20,4 +20,4 @@ "use strict"; | ||
const deleteFieldFromNode = (n, i) => { | ||
const argName = n.args[i].name; | ||
if (n.data.type === Models_1.TypeDefinition.InterfaceTypeDefinition) { | ||
const argName = n.args[i].name; | ||
tree.nodes | ||
@@ -60,3 +60,3 @@ .filter((filterNode) => filterNode.interfaces.includes(n.name)) | ||
}; | ||
const renameNode = (node, newName) => { | ||
const renameRootNode = (node, newName) => { | ||
const isError = allNodes.map((n) => n.name).includes(newName); | ||
@@ -88,2 +88,53 @@ if (isError) { | ||
const removeNode = (node) => { | ||
if (node.data.type === Models_1.TypeSystemDefinition.FieldDefinition) { | ||
const parent = allNodes.find((parentNode) => parentNode.args.includes(node)); | ||
if (parent) { | ||
const index = parent.args.indexOf(node); | ||
deleteFieldFromNode(parent, index); | ||
} | ||
return; | ||
} | ||
if (node.data.type === Models_1.TypeSystemDefinition.UnionMemberDefinition) { | ||
const parent = allNodes.find((parentNode) => parentNode.args.includes(node)); | ||
if (parent) { | ||
const index = parent.args.indexOf(node); | ||
deleteFieldFromNode(parent, index); | ||
} | ||
return; | ||
} | ||
if (node.data.type === Models_1.Instances.Argument) { | ||
const parent = allNodes.find((p) => p.directives.some((a) => a.args.includes(node))); | ||
if (parent) { | ||
const parentDirective = parent.directives.find((d) => d.args.some((a) => a === node)); | ||
if (parentDirective) { | ||
const indexInDirective = parentDirective.args.indexOf(node); | ||
deleteFieldFromNode(parentDirective, indexInDirective); | ||
} | ||
} | ||
return; | ||
} | ||
if (node.data.type === Models_1.ValueDefinition.InputValueDefinition) { | ||
const parent = allNodes.find((parentNode) => parentNode.args.includes(node)); | ||
if (parent) { | ||
const index = parent.args.indexOf(node); | ||
deleteFieldFromNode(parent, index); | ||
} | ||
else { | ||
const parent = allNodes.find((p) => p.args.some((a) => a.args.includes(node))); | ||
const field = parent === null || parent === void 0 ? void 0 : parent.args.find((a) => a.args.includes(node)); | ||
if (field) { | ||
const fieldIndex = field.args.findIndex((f) => f === node); | ||
deleteFieldFromNode(field, fieldIndex); | ||
} | ||
} | ||
return; | ||
} | ||
if (node.data.type === Models_1.ValueDefinition.EnumValueDefinition) { | ||
const parent = allNodes.find((parentNode) => parentNode.args.includes(node)); | ||
if (parent) { | ||
const index = parent.args.indexOf(node); | ||
deleteFieldFromNode(parent, index); | ||
} | ||
return; | ||
} | ||
const deletedNode = tree.nodes.findIndex((n) => n === node); | ||
@@ -152,6 +203,5 @@ if (deletedNode === -1) | ||
return { | ||
deleteFieldFromNode, | ||
updateFieldOnNode, | ||
addFieldToNode, | ||
renameNode, | ||
renameRootNode, | ||
removeNode, | ||
@@ -158,0 +208,0 @@ implementInterface, |
{ | ||
"name": "graphql-js-tree", | ||
"version": "0.2.5", | ||
"version": "0.2.6", | ||
"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
92498
1887