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.5 to 0.2.6

30

lib/shared/index.d.ts

@@ -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;

3

lib/TreeOperations/tree.d.ts
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",

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