New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@beamf/graphql-schema-typescript

Package Overview
Dependencies
Maintainers
6
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@beamf/graphql-schema-typescript - npm Package Compare versions

Comparing version 1.2.0 to 1.2.1

6

lib/options.d.ts

@@ -29,9 +29,11 @@ export interface GenerateTypescriptOptions {

contextType?: string;
/** Name of your graphql RootValue type. Default to `any` if not specified */
rootValueType?: string;
/**
* You can either make your graphql context type global, so that the generated file can link to it,
* You can either make your graphql context / root value type global, so that the generated file can link to it,
* or provide an import statement to be injected via this option
*/
importContext?: string;
headerStatements?: string;
};
}
export declare const defaultOptions: GenerateTypescriptOptions;

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

contextType: 'any',
rootValueType: 'any',
},
};

@@ -16,2 +16,3 @@ import { IntrospectionQuery } from 'graphql/utilities/introspectionQuery';

protected contextType: string;
protected rootValueType: string;
constructor(options: GenerateTypescriptOptions);

@@ -31,4 +32,4 @@ generate(introspectionResult: IntrospectionQuery): Promise<GenerateResolversResult>;

*/
private generateObjectResolver(gqlType, allGQLTypes);
private generateObjectFieldResolver(objectType, field);
private generateObjectResolver(gqlType, allGQLTypes, rootTypeNames);
private generateObjectFieldResolver(objectType, field, parentTypeName);
}

@@ -50,10 +50,14 @@ "use strict";

this.contextType = options.resolver.contextType;
if (options.resolver.importContext) {
this.importHeader.push(options.resolver.importContext);
if (options.resolver.headerStatements) {
this.importHeader.push(options.resolver.headerStatements);
}
}
if (!this.contextType || this.contextType === 'any') {
this.contextType = 'Ctx';
this.importHeader.push('export type Ctx = any');
this.contextType = 'Context';
this.importHeader.push('export type Context = any');
}
if (!this.rootValueType || this.rootValueType === 'any') {
this.rootValueType = 'RootValue';
this.importHeader.push('export type RootValue = any');
}
}

@@ -63,3 +67,3 @@ ResolversGenerator.prototype.generate = function (introspectionResult) {

var _this = this;
var gqlTypes, hasCustomScalar;
var gqlTypes, hasCustomScalar, schema, rootTypeNames;
return __generator(this, function (_a) {

@@ -106,2 +110,8 @@ gqlTypes = introspectionResult.__schema.types.filter(function (type) { return !utils_1.isBuiltinType(type); });

];
schema = introspectionResult.__schema;
rootTypeNames = [
schema.queryType.name,
schema.mutationType && schema.mutationType.name,
schema.subscriptionType && schema.subscriptionType.name,
].filter(function (n) { return n != null; });
gqlTypes.forEach(function (type) {

@@ -113,5 +123,5 @@ switch (type.kind) {

// this.generateObjectModel(type, gqlTypes)
return _this.generateObjectResolver(type, gqlTypes);
return _this.generateObjectResolver(type, gqlTypes, rootTypeNames);
case 'INTERFACE':
_this.generateObjectResolver(type, gqlTypes);
_this.generateObjectResolver(type, gqlTypes, rootTypeNames);
return _this.generateResolveTypeResolver(type);

@@ -157,3 +167,3 @@ // TODO: Right now GraphQL implements interface info is lost in typescript

*/
ResolversGenerator.prototype.generateObjectResolver = function (gqlType, allGQLTypes) {
ResolversGenerator.prototype.generateObjectResolver = function (gqlType, allGQLTypes, rootTypeNames) {
var _this = this;

@@ -165,3 +175,4 @@ var extendTypes = gqlType.kind === 'OBJECT' ? gqlType.interfaces.map(function (i) { return i.name; }) : [];

}, []);
var typeName = "" + this.options.typePrefix + gqlType.name;
var isRootType = rootTypeNames.indexOf(gqlType.name) !== -1;
var typeName = isRootType ? this.rootValueType : "" + this.options.typePrefix + gqlType.name;
var typeResolversName = typeName + "Resolvers";

@@ -175,3 +186,3 @@ var typeResolverBody = [];

}
var res = _this.generateObjectFieldResolver(gqlType, field);
var res = _this.generateObjectFieldResolver(gqlType, field, typeName);
typeResolverBody.push.apply(typeResolverBody, res.typeResolverBody);

@@ -205,5 +216,4 @@ fieldResolversTypeDefs.push.apply(fieldResolversTypeDefs, res.fieldResolversTypeDefs);

};
ResolversGenerator.prototype.generateObjectFieldResolver = function (objectType, field) {
ResolversGenerator.prototype.generateObjectFieldResolver = function (objectType, field, parentTypeName) {
var _this = this;
var parentTypeName = "" + this.options.typePrefix + objectType.name;
var typeResolverBody = [];

@@ -210,0 +220,0 @@ var fieldResolversTypeDefs = [];

{
"name": "@beamf/graphql-schema-typescript",
"version": "1.2.0",
"version": "1.2.1",
"description": "Generate TypeScript from GraphQL's schema type definitions",

@@ -5,0 +5,0 @@ "main": "./lib/index.js",

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