graphql-component
Advanced tools
Comparing version 0.0.1-alpha.4 to 0.0.1-alpha.5
@@ -6,4 +6,5 @@ 'use strict'; | ||
const Resolvers = require('./resolvers'); | ||
const { MemoizeDirective } = require('./directives'); | ||
//const { MemoizeDirective } = require('./directives'); | ||
const Context = require('./context'); | ||
const Transform = require('./transform'); | ||
const debug = require('debug')('graphql-component:schema'); | ||
@@ -31,3 +32,3 @@ | ||
this._directives = Object.assign({}, directives, { memoize: MemoizeDirective }); | ||
this._directives = Object.assign({}, directives/* skip until merge supports it, { memoize: MemoizeDirective }*/); | ||
@@ -48,5 +49,6 @@ this._bindings = new WeakMap(); | ||
let filteredResolvers = Resolvers.getImportedResolvers(imp.component); | ||
if (!imp.exclude || !imp.exclude.length) { | ||
this._importedResolvers = Resolvers.getImportedResolvers(imp.component); | ||
this._imports.push(imp.component); | ||
this._bindings.set(imp.component.constructor, imp.component._binding); | ||
continue; | ||
@@ -61,29 +63,6 @@ } | ||
for (const [root, name] of excludes) { | ||
if (root === '*') { | ||
filteredResolvers = {}; | ||
break; | ||
} | ||
if (!name || name === '' || name === '*') { | ||
delete filteredResolvers[root]; | ||
continue; | ||
} | ||
delete filteredResolvers[root][name]; | ||
} | ||
this._importedResolvers = Transform.transformResolvers(Resolvers.getImportedResolvers(imp.component), excludes); | ||
this._importedResolvers = filteredResolvers; | ||
this._transforms.set(imp.component, [Transform.transformExclude(excludes)]); | ||
const transform = [ | ||
new GraphQLTools.FilterRootFields((operation, fieldName) => { | ||
for (const [root, name] in excludes) { | ||
if (root === '*') { | ||
return true; | ||
} | ||
return operation === root && (name === '' || name === '*' || name === fieldName); | ||
} | ||
}) | ||
]; | ||
this._transforms.set(imp.component, transform); | ||
this._imports.push(imp.component); | ||
@@ -90,0 +69,0 @@ |
'use strict'; | ||
const Merge = require('./merge'); | ||
const { memoize } = require('./memoize'); | ||
const debug = require('debug')('graphql-component:resolver'); | ||
const wrap = function (name, resolverName, func, bind) { | ||
return function (...args) { | ||
debug(`executing ${name}.${resolverName}`); | ||
return func.call(bind, ...args); | ||
} | ||
}; | ||
const wrapResolvers = function (bind, resolvers = {}) { | ||
@@ -25,4 +19,8 @@ const wrapped = {}; | ||
} | ||
wrapped[name][resolverName] = wrap(name, resolverName, func, bind); | ||
if (['Query', 'Mutation', 'Subscription'].indexOf(name) > -1) { | ||
debug(`memoized ${name}.${resolverName}`); | ||
wrapped[name][resolverName] = memoize(resolverName, func.bind(bind)); | ||
continue; | ||
} | ||
wrapped[name][resolverName] = func.bind(bind); | ||
} | ||
@@ -29,0 +27,0 @@ } |
{ | ||
"name": "graphql-component", | ||
"version": "0.0.1-alpha.4", | ||
"version": "0.0.1-alpha.5", | ||
"description": "", | ||
@@ -8,3 +8,5 @@ "main": "lib/index.js", | ||
"test": "tape test/test-*.js", | ||
"start": "DEBUG=graphql-component:* GRAPHQL_DEBUG=1 node --trace-event-categories graphql examples/example-listing/server/index.js" | ||
"start": "DEBUG=graphql-component:* GRAPHQL_DEBUG=1 node --trace-event-categories graphql test/examples/example-listing/server/index.js", | ||
"lint": "eslint lib", | ||
"cover": "nyc npm test" | ||
}, | ||
@@ -16,3 +18,2 @@ "author": "Trevor Livingston <tlivings@gmail.com>", | ||
"debug": "^4.1.0", | ||
"graphql": "^0.13.2", | ||
"graphql-binding": "^2.3.0", | ||
@@ -22,7 +23,12 @@ "graphql-extensions": "^0.5.2", | ||
}, | ||
"peerDependencies": { | ||
"graphql": "^0.13.2" | ||
}, | ||
"devDependencies": { | ||
"apollo-server": "^2.0.7", | ||
"casual": "^1.6.0", | ||
"eslint": "^5.14.1", | ||
"nyc": "^13.3.0", | ||
"tape": "^4.9.1" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
96211
24
657
5
1
- Removedgraphql@^0.13.2