UNPKG

89.1 kBHTMLView Raw
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="utf-8">
5 <meta name="viewport" content="width=device-width,initial-scale=1">
6 <title>GQLBase - Documentation</title>
7
8 <script src="scripts/prettify/prettify.js"></script>
9 <script src="scripts/prettify/lang-css.js"></script>
10 <!--[if lt IE 9]>
11 <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
12 <![endif]-->
13 <link type="text/css" rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
14 <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
15 <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
16</head>
17<body>
18
19<input type="checkbox" id="nav-trigger" class="nav-trigger" />
20<label for="nav-trigger" class="navicon-button x">
21 <div class="navicon"></div>
22</label>
23
24<label for="nav-trigger" class="overlay"></label>
25
26<nav>
27 <li class="nav-link nav-home-link"><a href="index.html">Home</a></li><li class="nav-heading">Classes</li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="AwaitingPromiseError.html">AwaitingPromiseError</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="AwaitingPromiseError.html#%25E2%258C%25BE%25E2%25A0%2580asyncFn">⌾⠀asyncFn</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="AwaitingPromiseError.html#%25E2%258C%25BE%25E2%25A0%2580setPromise">⌾⠀setPromise</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="AwaitingPromiseError_exports.AwaitingPromiseError.html">AwaitingPromiseError</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="AwaitingPromiseError_exports.AwaitingPromiseError.html#setPromise">setPromise</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Deferred_exports.Deferred.html">Deferred</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="DirectTypeAdd.html">DirectTypeAdd</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="FunctionExecutionError_FunctionExecutionError.html">FunctionExecutionError</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="GQLBase.html">GQLBase</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#.apiDocs">apiDocs</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#.%25E2%258C%25BE%25E2%25A0%2580getMergedRoot">⌾⠀getMergedRoot</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#.%25E2%258C%25BE%25E2%25A0%2580getProp">⌾⠀getProp</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#.%25E2%258C%25BE%25E2%25A0%2580getResolver">⌾⠀getResolver</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#.%25E2%258C%25BE%25E2%25A0%2580IDLFilePath">⌾⠀IDLFilePath</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#.%25E2%258C%25BE%25E2%25A0%2580MUTATORS">⌾⠀MUTATORS</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#.%25E2%258C%25BE%25E2%25A0%2580RESOLVERS">⌾⠀RESOLVERS</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#.%25E2%258C%25BE%25E2%25A0%2580setupModel">⌾⠀setupModel</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#.%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580handler">⬇︎⠀handler</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#.%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580SCHEMA">⬇︎⠀SCHEMA</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#%25E2%258C%25BE%25E2%25A0%2580applyAutoProps">⌾⠀applyAutoProps</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#%25E2%258C%25BE%25E2%25A0%2580callProp">⌾⠀callProp</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#%25E2%258C%25BE%25E2%25A0%2580extendModel">⌾⠀extendModel</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#%25E2%258C%25BE%25E2%25A0%2580getModel">⌾⠀getModel</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#%25E2%258C%25BE%25E2%25A0%2580getProp">⌾⠀getProp</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#%25E2%258C%25BE%25E2%25A0%2580getResolver">⌾⠀getResolver</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#%25E2%258C%25BE%25E2%25A0%2580setModel">⌾⠀setModel</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#%25E2%25AC%2586%25EF%25B8%258E%25E2%25A0%2580requestData">⬆︎⠀requestData</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580requestData">⬇︎⠀requestData</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#~deleteProperty">deleteProperty</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBase.html#~set">set</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="GQLBase.%25E2%258E%2586%25E2%25A0%2580constructor.html">⎆⠀constructor</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="GQLEnum.html">GQLEnum</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLEnum.html#..get">.get</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLEnum.html#..set">.set</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLEnum.html#.valueFor">valueFor</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLEnum.html#.%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580enums">⬇︎⠀enums</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLEnum.html#.%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580name">⬇︎⠀name</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLEnum.html#.%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580value">⬇︎⠀value</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLEnum.html#.%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580values">⬇︎⠀values</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLEnum.html#GenerateEnumsProxyHandler">GenerateEnumsProxyHandler</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="GQLExpressMiddleware.html">GQLExpressMiddleware</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLExpressMiddleware.html#.clearCache">clearCache</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLExpressMiddleware.html#.%25E2%258C%25BE%25E2%25A0%2580generateSchemaSDL">⌾⠀generateSchemaSDL</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLExpressMiddleware.html#astMiddleware">astMiddleware</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLExpressMiddleware.html#schemaMiddleware">schemaMiddleware</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLExpressMiddleware.html#%25E2%258C%25BE%25E2%25A0%2580customMiddleware">⌾⠀customMiddleware</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLExpressMiddleware.html#%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580middleware">⬇︎⠀middleware</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLExpressMiddleware.html#%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580middlewareWithoutGraphiQL">⬇︎⠀middlewareWithoutGraphiQL</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLExpressMiddleware.html#%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580schema">⬇︎⠀schema</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="GQLExpressMiddleware.%25E2%258E%2586%25E2%25A0%2580constructor.html">⎆⠀constructor</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="GQLInterface.html">GQLInterface</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLInterface.html#.%25E2%258C%25BE%25E2%25A0%2580resolveType">⌾⠀resolveType</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="GQLScalar.html">GQLScalar</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLScalar.html#.parseLiteral">parseLiteral</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLScalar.html#.parseValue">parseValue</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLScalar.html#.serialize">serialize</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="IDLFileHandler.html">IDLFileHandler</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="IDLFileHandler.html#%25E2%258C%25BE%25E2%25A0%2580getFile">⌾⠀getFile</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="IDLFileHandler.html#%25E2%258C%25BE%25E2%25A0%2580getSchema">⌾⠀getSchema</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="IDLFileHandler.html#%25E2%258C%25BE%25E2%25A0%2580getSyntaxTree">⌾⠀getSyntaxTree</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="IDLFileHandler.%25E2%258E%2586%25E2%25A0%2580constructor.html">⎆⠀constructor</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="ModuleParser.html">ModuleParser</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="ModuleParser.html#.%25E2%258C%25BE%25E2%25A0%2580arrayToPattern">⌾⠀arrayToPattern</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="ModuleParser.html#.%25E2%258C%25BE%25E2%25A0%2580checkForPackageExtensions">⌾⠀checkForPackageExtensions</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="ModuleParser.html#%25E2%258C%25BE%25E2%25A0%2580findGQLBaseClasses">⌾⠀findGQLBaseClasses</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="ModuleParser.html#%25E2%258C%25BE%25E2%25A0%2580importClass">⌾⠀importClass</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="ModuleParser.html#%25E2%258C%25BE%25E2%25A0%2580parse">⌾⠀parse</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="ModuleParser.html#%25E2%258C%25BE%25E2%25A0%2580parseSync">⌾⠀parseSync</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="ModuleParser.html#~%25E2%258C%25BE%25E2%25A0%2580walk">⌾⠀walk</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="ModuleParser.html#~%25E2%258C%25BE%25E2%25A0%2580walkSync">⌾⠀walkSync</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="ModuleParser.html#~%25E2%258E%2586%25E2%25A0%2580constructor">⎆⠀constructor</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="ModuleParser.exports.ModuleParser.html">exports.ModuleParser</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="SchemaUtils.html">SchemaUtils</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SchemaUtils.html#.%25E2%258C%25BE%25E2%25A0%2580createMergedRoot">⌾⠀createMergedRoot</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SchemaUtils.html#.%25E2%258C%25BE%25E2%25A0%2580injectComments">⌾⠀injectComments</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SchemaUtils.html#.%25E2%258C%25BE%25E2%25A0%2580injectEnums">⌾⠀injectEnums</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SchemaUtils.html#.%25E2%258C%25BE%25E2%25A0%2580injectInterfaceResolvers">⌾⠀injectInterfaceResolvers</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SchemaUtils.html#.%25E2%258C%25BE%25E2%25A0%2580injectScalars">⌾⠀injectScalars</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="SyntaxTree.html">SyntaxTree</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#.%25E2%258C%25BE%25E2%25A0%2580EmptyDocument">⌾⠀EmptyDocument</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#.%25E2%258C%25BE%25E2%25A0%2580EmptyMutation">⌾⠀EmptyMutation</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#.%25E2%258C%25BE%25E2%25A0%2580EmptyQuery">⌾⠀EmptyQuery</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#.%25E2%258C%25BE%25E2%25A0%2580findDefinition">⌾⠀findDefinition</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#.%25E2%258C%25BE%25E2%25A0%2580findField">⌾⠀findField</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#.%25E2%258C%25BE%25E2%25A0%2580findInASTArrayByNameValue">⌾⠀findInASTArrayByNameValue</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#.%25E2%258C%25BE%25E2%25A0%2580from">⌾⠀from</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#.%25E2%258C%25BE%25E2%25A0%2580fromAST">⌾⠀fromAST</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#.%25E2%258C%25BE%25E2%25A0%2580fromSchema">⌾⠀fromSchema</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#.%25E2%258E%2586%25E2%25A0%2580constructor">⎆⠀constructor</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#%25E2%258C%25BE%25E2%25A0%2580appendDefinitions">⌾⠀appendDefinitions</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#%25E2%258C%25BE%25E2%25A0%2580consumeDefinition">⌾⠀consumeDefinition</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#%25E2%258C%25BE%25E2%25A0%2580find">⌾⠀find</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#%25E2%258C%25BE%25E2%25A0%2580findEnumDefinition">⌾⠀findEnumDefinition</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#%25E2%258C%25BE%25E2%25A0%2580setAST">⌾⠀setAST</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#%25E2%258C%25BE%25E2%25A0%2580toString">⌾⠀toString</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#%25E2%258C%25BE%25E2%25A0%2580updateAST">⌾⠀updateAST</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#%25E2%25AC%2586%25EF%25B8%258E%25E2%25A0%2580ast">⬆︎⠀ast</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SyntaxTree.html#%25E2%25AC%2587%25EF%25B8%258E%25E2%25A0%2580ast">⬇︎⠀ast</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="utils.Deferred.html">Deferred</a></span></li><li class="nav-heading">Namespaces</li><li class="nav-heading"><span class="nav-item-type type-namespace">N</span><span class="nav-item-name"><a href="decorators.html">decorators</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="decorators.html#.%25E2%258C%25BE%25E2%25A0%2580extractBits">⌾⠀extractBits</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="decorators.html#..%25F0%259F%258F%25B7%25E2%25A0%2580AdjacentSchema">.🏷⠀AdjacentSchema</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="decorators.html#..%25F0%259F%258F%25B7%25E2%25A0%2580FileSchema">.🏷⠀FileSchema</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="decorators.html#..%25F0%259F%258F%25B7%25E2%25A0%2580Getters">.🏷⠀Getters</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="decorators.html#..%25F0%259F%258F%25B7%25E2%25A0%2580Properties">.🏷⠀Properties</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="decorators.html#..%25F0%259F%258F%25B7%25E2%25A0%2580Schema">.🏷⠀Schema</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="decorators.html#..%25F0%259F%258F%25B7%25E2%25A0%2580Setters">.🏷⠀Setters</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="decorators.html#~decorate">decorate</a></span></li><li class="nav-heading"><span class="nav-item-type type-namespace">N</span><span class="nav-item-name"><a href="GQLBaseEnv.html">GQLBaseEnv</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="GQLBaseEnv.html#~notDefined">notDefined</a></span></li><li class="nav-heading"><a href="global.html">Globals</a></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#applyTags">applyTags</a></span></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#AsyncFunctionExecutionError">AsyncFunctionExecutionError</a></span></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#CHECK_API_DOCS">CHECK_API_DOCS</a></span></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#CHECK_RESOLVERS">CHECK_RESOLVERS</a></span></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#CHECK_SCHEMA">CHECK_SCHEMA</a></span></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#CHECKLIST">CHECKLIST</a></span></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#FunctionExecutionError">FunctionExecutionError</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#getChecklist">getChecklist</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#hasChecklist">hasChecklist</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#newChecklist">newChecklist</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#setChecklist">setChecklist</a></span></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#types">types</a></span></li>
28</nav>
29
30<div id="main">
31
32 <h1 class="page-title">GQLBase</h1>
33
34
35
36
37
38
39
40<section>
41
42<header>
43
44 <h2>
45 GQLBase
46 </h2>
47
48
49</header>
50
51<article>
52 <div class="container-overview">
53
54
55<div class="section-method">
56
57
58
59 <h4 class="name" id="GQLBase"><span class="type-signature"></span>new GQLBase<span class="signature">()</span><span class="type-signature"></span></h4>
60
61
62
63
64
65<div class="description">
66 <p>All GraphQL Type objects used in this system are assumed to have extended<br>from this class. An instance of this class can be used to wrap an existing<br>structure if you have one.</p>
67</div>
68
69
70
71
72
73<dl class="details">
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100 <dt class="tag-source">Source:</dt>
101 <dd class="tag-source"><ul class="dummy"><li>
102 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line136">line 136</a>
103 </li></ul></dd>
104
105
106
107
108
109
110
111</dl>
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135</div>
136
137 </div>
138
139
140
141
142
143
144 <h3 class="subsection-title">Classes</h3>
145
146 <dl>
147 <dt><a href="GQLBase.%25E2%258E%2586%25E2%25A0%2580constructor.html">⎆⠀constructor</a></dt>
148 <dd></dd>
149 </dl>
150
151
152
153
154
155
156
157 <h3 class="subsection-title">Members</h3>
158
159
160
161<div class="section-members">
162<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80%5B_PROXY_HANDLER%5D"><span class="type-signature">(static, constant) </span>⬇︎⠀[_PROXY_HANDLER]<span class="type-signature"> :Object</span></h4>
163
164
165
166
167<div class="description">
168 <p>If ES6 Proxies are supported in your execution environment, all GQLBase<br>extended classes are also proxies. By default the internal proxy handler<br>provides backwards compatibility with the removal of the default getters<br>and setters for the 'model' property as long as you do not define a<br>top level 'model' property of your own.</p>
169</div>
170
171
172
173
174
175<dl class="details">
176
177
178
179
180 <dt class="tag-since">Since:</dt>
181 <dd class="tag-since"><ul class="dummy"><li>2.5.0</li></ul></dd>
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205 <dt class="tag-source">Source:</dt>
206 <dd class="tag-source"><ul class="dummy"><li>
207 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1012">line 1012</a>
208 </li></ul></dd>
209
210
211
212
213
214
215
216</dl>
217
218
219
220 <h5>Type:</h5>
221 <ul>
222 <li>
223
224<span class="param-type"><code>Object</code></span>
225
226
227 </li>
228 </ul>
229
230
231
232
233
234</div>
235
236
237
238<div class="section-members">
239<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80ADJACENT_FILE"><span class="type-signature">(static, constant) </span>⬇︎⠀ADJACENT_FILE<span class="type-signature"></span></h4>
240
241
242
243
244
245
246
247
248<dl class="details">
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275 <dt class="tag-source">Source:</dt>
276 <dd class="tag-source"><ul class="dummy"><li>
277 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line784">line 784</a>
278 </li></ul></dd>
279
280
281
282
283
284 <dt class="tag-see">See:</dt>
285 <dd class="tag-see">
286 <ul>
287 <li><code>GQLBase#SCHEMA</code></li>
288 </ul>
289 </dd>
290
291
292
293</dl>
294
295
296
297
298
299
300
301</div>
302
303
304
305<div class="section-members">
306<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80DOC_CLASS"><span class="type-signature">(static, constant) </span>⬇︎⠀DOC_CLASS<span class="type-signature"> :string</span></h4>
307
308
309
310
311<div class="description">
312 <p>A constant key used to identify a comment for a class description</p>
313</div>
314
315
316
317
318
319<dl class="details">
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346 <dt class="tag-source">Source:</dt>
347 <dd class="tag-source"><ul class="dummy"><li>
348 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1115">line 1115</a>
349 </li></ul></dd>
350
351
352
353
354
355
356
357</dl>
358
359
360
361 <h5>Type:</h5>
362 <ul>
363 <li>
364
365<span class="param-type"><code>string</code></span>
366
367
368 </li>
369 </ul>
370
371
372
373
374
375</div>
376
377
378
379<div class="section-members">
380<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80DOC_FIELDS"><span class="type-signature">(static, constant) </span>⬇︎⠀DOC_FIELDS<span class="type-signature"> :string</span></h4>
381
382
383
384
385<div class="description">
386 <p>A constant key used to identify a comment for a type field description</p>
387</div>
388
389
390
391
392
393<dl class="details">
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420 <dt class="tag-source">Source:</dt>
421 <dd class="tag-source"><ul class="dummy"><li>
422 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1127">line 1127</a>
423 </li></ul></dd>
424
425
426
427
428
429
430
431</dl>
432
433
434
435 <h5>Type:</h5>
436 <ul>
437 <li>
438
439<span class="param-type"><code>string</code></span>
440
441
442 </li>
443 </ul>
444
445
446
447
448
449</div>
450
451
452
453<div class="section-members">
454<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80DOC_MUTATION"><span class="type-signature">(static, constant) </span>⬇︎⠀DOC_MUTATION<span class="type-signature"> :string</span></h4>
455
456
457
458
459<div class="description">
460 <p>A constant key used to identify a comment for the top level mutation<br>description</p>
461</div>
462
463
464
465
466
467<dl class="details">
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494 <dt class="tag-source">Source:</dt>
495 <dd class="tag-source"><ul class="dummy"><li>
496 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1164">line 1164</a>
497 </li></ul></dd>
498
499
500
501
502
503
504
505</dl>
506
507
508
509 <h5>Type:</h5>
510 <ul>
511 <li>
512
513<span class="param-type"><code>string</code></span>
514
515
516 </li>
517 </ul>
518
519
520
521
522
523</div>
524
525
526
527<div class="section-members">
528<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80DOC_MUTATORS"><span class="type-signature">(static, constant) </span>⬇︎⠀DOC_MUTATORS<span class="type-signature"> :string</span></h4>
529
530
531
532
533<div class="description">
534 <p>A constant key used to identify a comment for a mutator description</p>
535</div>
536
537
538
539
540
541<dl class="details">
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568 <dt class="tag-source">Source:</dt>
569 <dd class="tag-source"><ul class="dummy"><li>
570 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1190">line 1190</a>
571 </li></ul></dd>
572
573
574
575
576
577
578
579</dl>
580
581
582
583 <h5>Type:</h5>
584 <ul>
585 <li>
586
587<span class="param-type"><code>string</code></span>
588
589
590 </li>
591 </ul>
592
593
594
595
596
597</div>
598
599
600
601<div class="section-members">
602<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80DOC_MUTATORS"><span class="type-signature">(static, constant) </span>⬇︎⠀DOC_MUTATORS<span class="type-signature"> :string</span></h4>
603
604
605
606
607<div class="description">
608 <p>A constant key used to identify a comment for a mutator description</p>
609</div>
610
611
612
613
614
615<dl class="details">
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632 <dt class="important tag-deprecated">Deprecated:</dt><dd><ul class="dummy"><li>Use `DOC_MUTATIONS` instead</li></ul></dd>
633
634
635
636
637
638
639
640
641
642
643
644 <dt class="tag-source">Source:</dt>
645 <dd class="tag-source"><ul class="dummy"><li>
646 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1177">line 1177</a>
647 </li></ul></dd>
648
649
650
651
652
653
654
655</dl>
656
657
658
659 <h5>Type:</h5>
660 <ul>
661 <li>
662
663<span class="param-type"><code>string</code></span>
664
665
666 </li>
667 </ul>
668
669
670
671
672
673</div>
674
675
676
677<div class="section-members">
678<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80DOC_QUERIES"><span class="type-signature">(static, constant) </span>⬇︎⠀DOC_QUERIES<span class="type-signature"> :string</span></h4>
679
680
681
682
683<div class="description">
684 <p>A constant key used to identify a comment for a query description</p>
685</div>
686
687
688
689
690
691<dl class="details">
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718 <dt class="tag-source">Source:</dt>
719 <dd class="tag-source"><ul class="dummy"><li>
720 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1152">line 1152</a>
721 </li></ul></dd>
722
723
724
725
726
727
728
729</dl>
730
731
732
733 <h5>Type:</h5>
734 <ul>
735 <li>
736
737<span class="param-type"><code>string</code></span>
738
739
740 </li>
741 </ul>
742
743
744
745
746
747</div>
748
749
750
751<div class="section-members">
752<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80DOC_QUERY"><span class="type-signature">(static, constant) </span>⬇︎⠀DOC_QUERY<span class="type-signature"> :string</span></h4>
753
754
755
756
757<div class="description">
758 <p>A constant key used to identify a comment for the top level query<br>description</p>
759</div>
760
761
762
763
764
765<dl class="details">
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792 <dt class="tag-source">Source:</dt>
793 <dd class="tag-source"><ul class="dummy"><li>
794 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1139">line 1139</a>
795 </li></ul></dd>
796
797
798
799
800
801
802
803</dl>
804
805
806
807 <h5>Type:</h5>
808 <ul>
809 <li>
810
811<span class="param-type"><code>string</code></span>
812
813
814 </li>
815 </ul>
816
817
818
819
820
821</div>
822
823
824
825<div class="section-members">
826<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80DOC_SUBSCRIPTION"><span class="type-signature">(static, constant) </span>⬇︎⠀DOC_SUBSCRIPTION<span class="type-signature"> :string</span></h4>
827
828
829
830
831<div class="description">
832 <p>A constant key used to identify a comment for the top level subscription<br>description</p>
833</div>
834
835
836
837
838
839<dl class="details">
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866 <dt class="tag-source">Source:</dt>
867 <dd class="tag-source"><ul class="dummy"><li>
868 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1202">line 1202</a>
869 </li></ul></dd>
870
871
872
873
874
875
876
877</dl>
878
879
880
881 <h5>Type:</h5>
882 <ul>
883 <li>
884
885<span class="param-type"><code>string</code></span>
886
887
888 </li>
889 </ul>
890
891
892
893
894
895</div>
896
897
898
899<div class="section-members">
900<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80DOC_SUBSCRIPTIONS"><span class="type-signature">(static, constant) </span>⬇︎⠀DOC_SUBSCRIPTIONS<span class="type-signature"> :string</span></h4>
901
902
903
904
905<div class="description">
906 <p>A constant key used to identify a comment for a subscription description</p>
907</div>
908
909
910
911
912
913<dl class="details">
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940 <dt class="tag-source">Source:</dt>
941 <dd class="tag-source"><ul class="dummy"><li>
942 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1215">line 1215</a>
943 </li></ul></dd>
944
945
946
947
948
949
950
951</dl>
952
953
954
955 <h5>Type:</h5>
956 <ul>
957 <li>
958
959<span class="param-type"><code>string</code></span>
960
961
962 </li>
963 </ul>
964
965
966
967
968
969</div>
970
971
972
973<div class="section-members">
974<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80EVENT_MODEL_HAS_BEEN_SET"><span class="type-signature">(static, constant) </span>⬇︎⠀EVENT_MODEL_HAS_BEEN_SET<span class="type-signature"> :string</span></h4>
975
976
977
978
979<div class="description">
980 <p>A constant used to register an event listener for when the internal<br>model object is assigned a new value. This event fires after the model<br>is set.</p>
981</div>
982
983
984
985
986
987<dl class="details">
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014 <dt class="tag-source">Source:</dt>
1015 <dd class="tag-source"><ul class="dummy"><li>
1016 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1074">line 1074</a>
1017 </li></ul></dd>
1018
1019
1020
1021
1022
1023
1024
1025</dl>
1026
1027
1028
1029 <h5>Type:</h5>
1030 <ul>
1031 <li>
1032
1033<span class="param-type"><code>string</code></span>
1034
1035
1036 </li>
1037 </ul>
1038
1039
1040
1041
1042
1043</div>
1044
1045
1046
1047<div class="section-members">
1048<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80EVENT_MODEL_PROP_CHANGE"><span class="type-signature">(static, constant) </span>⬇︎⠀EVENT_MODEL_PROP_CHANGE<span class="type-signature"> :string</span></h4>
1049
1050
1051
1052
1053<div class="description">
1054 <p>A constant used to register an event listener for when a property of the<br>internal model object is set to a new or intial value.</p>
1055</div>
1056
1057
1058
1059
1060
1061<dl class="details">
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088 <dt class="tag-source">Source:</dt>
1089 <dd class="tag-source"><ul class="dummy"><li>
1090 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1088">line 1088</a>
1091 </li></ul></dd>
1092
1093
1094
1095
1096
1097
1098
1099</dl>
1100
1101
1102
1103 <h5>Type:</h5>
1104 <ul>
1105 <li>
1106
1107<span class="param-type"><code>string</code></span>
1108
1109
1110 </li>
1111 </ul>
1112
1113
1114
1115
1116
1117</div>
1118
1119
1120
1121<div class="section-members">
1122<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80EVENT_MODEL_PROP_DELETE"><span class="type-signature">(static, constant) </span>⬇︎⠀EVENT_MODEL_PROP_DELETE<span class="type-signature"> :string</span></h4>
1123
1124
1125
1126
1127<div class="description">
1128 <p>A constant used to register an event listener for when a property of the<br>internal model object has been deleted. This event fires after the value<br>has been deleted.</p>
1129</div>
1130
1131
1132
1133
1134
1135<dl class="details">
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162 <dt class="tag-source">Source:</dt>
1163 <dd class="tag-source"><ul class="dummy"><li>
1164 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1101">line 1101</a>
1165 </li></ul></dd>
1166
1167
1168
1169
1170
1171
1172
1173</dl>
1174
1175
1176
1177 <h5>Type:</h5>
1178 <ul>
1179 <li>
1180
1181<span class="param-type"><code>string</code></span>
1182
1183
1184 </li>
1185 </ul>
1186
1187
1188
1189
1190
1191</div>
1192
1193
1194
1195<div class="section-members">
1196<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80EVENT_MODEL_WILL_BE_SET"><span class="type-signature">(static, constant) </span>⬇︎⠀EVENT_MODEL_WILL_BE_SET<span class="type-signature"> :string</span></h4>
1197
1198
1199
1200
1201<div class="description">
1202 <p>A constant used to register an event listener for when the internal<br>model object is assigned a new value. This event fires before the model<br>is set. Changes to the model value at this point will affect the contents<br>before the value assignment takes place.</p>
1203</div>
1204
1205
1206
1207
1208
1209<dl class="details">
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236 <dt class="tag-source">Source:</dt>
1237 <dd class="tag-source"><ul class="dummy"><li>
1238 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1059">line 1059</a>
1239 </li></ul></dd>
1240
1241
1242
1243
1244
1245
1246
1247</dl>
1248
1249
1250
1251 <h5>Type:</h5>
1252 <ul>
1253 <li>
1254
1255<span class="param-type"><code>string</code></span>
1256
1257
1258 </li>
1259 </ul>
1260
1261
1262
1263
1264
1265</div>
1266
1267
1268
1269<div class="section-members">
1270<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80GQL_TYPE"><span class="type-signature">(static, constant) </span>⬇︎⠀GQL_TYPE<span class="type-signature"></span></h4>
1271
1272
1273
1274
1275<div class="description">
1276 <p>Determines the default type targeted by this GQLBase class. Any<br>type will technically be valid but only will trigger special behavior</p>
1277</div>
1278
1279
1280
1281
1282
1283<dl class="details">
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310 <dt class="tag-source">Source:</dt>
1311 <dd class="tag-source"><ul class="dummy"><li>
1312 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line800">line 800</a>
1313 </li></ul></dd>
1314
1315
1316
1317
1318
1319
1320
1321</dl>
1322
1323
1324
1325
1326
1327
1328
1329</div>
1330
1331
1332
1333<div class="section-members">
1334<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80joinLines"><span class="type-signature">(static, constant) </span>⬇︎⠀joinLines<span class="type-signature"> :function</span></h4>
1335
1336
1337
1338
1339<div class="description">
1340 <p>A shortcut to the utils/joinLines function to make it easier to get<br>the tools to write docs for your types in a friendly fashion.</p>
1341</div>
1342
1343
1344
1345
1346
1347<dl class="details">
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374 <dt class="tag-source">Source:</dt>
1375 <dd class="tag-source"><ul class="dummy"><li>
1376 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1227">line 1227</a>
1377 </li></ul></dd>
1378
1379
1380
1381
1382
1383
1384
1385</dl>
1386
1387
1388
1389 <h5>Type:</h5>
1390 <ul>
1391 <li>
1392
1393<span class="param-type"><code>function</code></span>
1394
1395
1396 </li>
1397 </ul>
1398
1399
1400
1401
1402
1403</div>
1404
1405
1406
1407<div class="section-members">
1408<h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80module"><span class="type-signature">(static, constant) </span>⬇︎⠀module<span class="type-signature"></span></h4>
1409
1410
1411
1412
1413<div class="description">
1414 <p>Returns the module object where your class is created. This needs to be<br>defined on your class, as a static getter, in the FILE where you are<br>defining your Class definition.</p>
1415</div>
1416
1417
1418
1419
1420
1421<dl class="details">
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448 <dt class="tag-source">Source:</dt>
1449 <dd class="tag-source"><ul class="dummy"><li>
1450 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line861">line 861</a>
1451 </li></ul></dd>
1452
1453
1454
1455
1456
1457 <dt class="tag-see">See:</dt>
1458 <dd class="tag-see">
1459 <ul>
1460 <li><a href="https://nodejs.org/api/modules.html">https://nodejs.org/api/modules.html</a></li>
1461 </ul>
1462 </dd>
1463
1464
1465
1466</dl>
1467
1468
1469
1470
1471
1472
1473
1474</div>
1475
1476
1477
1478
1479
1480 <h3 class="subsection-title">Methods</h3>
1481
1482
1483
1484<div class="section-method">
1485
1486
1487
1488 <h4 class="name" id=".apiDocs"><span class="type-signature">(static) </span>apiDocs<span class="signature">()</span><span class="type-signature"> &rarr; {Object}</span></h4>
1489
1490
1491
1492
1493
1494<div class="description">
1495 <p>Until such time as the reference implementation of Facebook's GraphQL<br>SDL AST parser supports comments, or until we take advantage of Apollo's<br>AST parser, this is how comments will be applied to a built schema.</p>
1496<p>Several constants are defined on the GQLBase object itself, and thereby<br>all its subclasses. They pertain to how to define description fields<br>for various parts of your GQL implementation.</p>
1497<pre class="prettyprint source"><code>// To define a description on the top level class
1498[this.DOC_CLASS]: string
1499
1500// To define a description on a field (getter, function or async function)
1501[this.DOC_FIELDS]: {
1502 fieldName: string
1503}
1504
1505// To define a description on a query, mutation or subscription field
1506[this.DOC_QUERIES || this.DOC_MUTATORS || this.DOC_SUBSCRIPTIONS]: {
1507 fieldName: string
1508}</code></pre><p>To make writing code easier, the <code>joinLines()</code> template function is<br>available so your source code can look nice and neat and your descriptions<br>won't get annoying line breaks and spaces as part of that process.</p>
1509</div>
1510
1511
1512
1513
1514
1515<dl class="details">
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542 <dt class="tag-source">Source:</dt>
1543 <dd class="tag-source"><ul class="dummy"><li>
1544 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line606">line 606</a>
1545 </li></ul></dd>
1546
1547
1548
1549
1550
1551
1552
1553</dl>
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575<div class="section-returns">
1576<h5>Returns:</h5>
1577
1578
1579
1580<dl class="param-type">
1581 <dt>
1582 Type:
1583 </dt>
1584 <dd>
1585
1586<span class="param-type"><code>Object</code></span>
1587
1588
1589 </dd>
1590</dl>
1591
1592
1593<div class="param-desc">
1594 <p>an object with various keys and values denoting<br>description fields that should be applied to the final schema object</p>
1595</div>
1596
1597
1598</div>
1599
1600
1601
1602</div>
1603
1604
1605<div class="section-method">
1606
1607
1608
1609 <h4 class="name" id=".%E2%8C%BE%E2%A0%80getMergedRoot"><span class="type-signature">(static) </span>⌾⠀getMergedRoot<span class="signature">(requestData)</span><span class="type-signature"> &rarr; {Object}</span></h4>
1610
1611
1612
1613
1614
1615<div class="description">
1616 <p>An simple pass-thru method for fetching a types merged root object.</p>
1617</div>
1618
1619
1620
1621
1622
1623<dl class="details">
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650 <dt class="tag-source">Source:</dt>
1651 <dd class="tag-source"><ul class="dummy"><li>
1652 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line1240">line 1240</a>
1653 </li></ul></dd>
1654
1655
1656
1657
1658
1659
1660
1661</dl>
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671 <h5>Parameters:</h5>
1672
1673
1674<table class="params">
1675 <thead>
1676 <tr>
1677
1678 <th>Name</th>
1679
1680
1681 <th>Type</th>
1682
1683
1684
1685
1686
1687 <th class="last">Description</th>
1688 </tr>
1689 </thead>
1690
1691 <tbody>
1692
1693
1694 <tr>
1695
1696 <td class="name"><code>requestData</code></td>
1697
1698
1699 <td class="type">
1700
1701
1702<span class="param-type"><code>Object</code></span>
1703
1704
1705
1706 </td>
1707
1708
1709
1710
1711
1712 <td class="description last">
1713 <p>an object containing the request data such as<br>request, response or graphql context info that should be passed along to<br>each of the resolver creators</p>
1714
1715 </td>
1716 </tr>
1717
1718
1719 </tbody>
1720</table>
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735<div class="section-returns">
1736<h5>Returns:</h5>
1737
1738
1739
1740<dl class="param-type">
1741 <dt>
1742 Type:
1743 </dt>
1744 <dd>
1745
1746<span class="param-type"><code>Object</code></span>
1747
1748
1749 </dd>
1750</dl>
1751
1752
1753<div class="param-desc">
1754 <p>the merged root object with all the query, mutation and<br>subscription resolvers defined and created within.</p>
1755</div>
1756
1757
1758</div>
1759
1760
1761
1762</div>
1763
1764
1765<div class="section-method">
1766
1767
1768
1769 <h4 class="name" id=".%E2%8C%BE%E2%A0%80getProp"><span class="type-signature">(static) </span>⌾⠀getProp<span class="signature">(propName, bindGetters, bindTo)</span><span class="type-signature"> &rarr; {mixed}</span></h4>
1770
1771
1772
1773
1774
1775<div class="description">
1776 <p>The static version of getProp reads into the prototype to find the field<br>that is desired. If the field is either a getter or a initializer (see<br>class properties descriptors), then the option to bind that to either the<br>prototype object or one of your choosing is available.</p>
1777</div>
1778
1779
1780
1781
1782
1783<dl class="details">
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810 <dt class="tag-source">Source:</dt>
1811 <dd class="tag-source"><ul class="dummy"><li>
1812 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line558">line 558</a>
1813 </li></ul></dd>
1814
1815
1816
1817
1818
1819
1820
1821</dl>
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831 <h5>Parameters:</h5>
1832
1833
1834<table class="params">
1835 <thead>
1836 <tr>
1837
1838 <th>Name</th>
1839
1840
1841 <th>Type</th>
1842
1843
1844
1845
1846
1847 <th class="last">Description</th>
1848 </tr>
1849 </thead>
1850
1851 <tbody>
1852
1853
1854 <tr>
1855
1856 <td class="name"><code>propName</code></td>
1857
1858
1859 <td class="type">
1860
1861
1862<span class="param-type"><code>string</code></span>
1863|
1864
1865<span class="param-type"><code>Symbol</code></span>
1866
1867
1868
1869 </td>
1870
1871
1872
1873
1874
1875 <td class="description last">
1876 <p>a string or Symbol denoting the name of<br>the property or field you desire</p>
1877
1878 </td>
1879 </tr>
1880
1881
1882
1883 <tr>
1884
1885 <td class="name"><code>bindGetters</code></td>
1886
1887
1888 <td class="type">
1889
1890
1891<span class="param-type"><code>boolean</code></span>
1892
1893
1894
1895 </td>
1896
1897
1898
1899
1900
1901 <td class="description last">
1902 <p>true if a resulting <code>getter</code> or <code>initializer</code><br>should be bound to the prototype or other object</p>
1903
1904 </td>
1905 </tr>
1906
1907
1908
1909 <tr>
1910
1911 <td class="name"><code>bindTo</code></td>
1912
1913
1914 <td class="type">
1915
1916
1917<span class="param-type"><code>mixed</code></span>
1918
1919
1920
1921 </td>
1922
1923
1924
1925
1926
1927 <td class="description last">
1928 <p>the object to which to bind the <code>getter</code> or<br><code>initializer</code> functions to if other than the class prototype.</p>
1929
1930 </td>
1931 </tr>
1932
1933
1934 </tbody>
1935</table>
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950<div class="section-returns">
1951<h5>Returns:</h5>
1952
1953
1954
1955<dl class="param-type">
1956 <dt>
1957 Type:
1958 </dt>
1959 <dd>
1960
1961<span class="param-type"><code>mixed</code></span>
1962
1963
1964 </dd>
1965</dl>
1966
1967
1968<div class="param-desc">
1969 <p>a <code>Function</code> or other mixed value making up the property<br>name requested</p>
1970</div>
1971
1972
1973</div>
1974
1975
1976
1977</div>
1978
1979
1980<div class="section-method">
1981
1982
1983
1984 <h4 class="name" id=".%E2%8C%BE%E2%A0%80getResolver"><span class="type-signature">(static) </span>⌾⠀getResolver<span class="signature">(resolverName, requestData)</span><span class="type-signature"> &rarr; {function}</span></h4>
1985
1986
1987
1988
1989
1990<div class="description">
1991 <p>Resolvers are created in a number of different ways. OOP design<br>dictates that instances of a created class will handle field<br>resolvers, but query, mutation and subscription resolvers are<br>typically what creates these instances.</p>
1992<p>Since a resolver can be created using <code>@mutator/@subscriptor/@resolver</code><br>or via method on a object returned from <code>RESOLVERS()</code>, <code>MUTATORS()</code> or<br><code>SUBSCRIPTIONS()</code>, there should be an easy to use way to fetch a<br>resolver by name; if for nothing else, code reuse.</p>
1993<p>Pass the name of the resolver to the function and optionally pass a<br>requestData object. The <code>getMergedRoot()</code> method will build an object<br>containing all the root resolvers for the type, bound to the supplied<br><code>requestData</code> object. It is from this object that <code>resolverName</code> will<br>be used to fetch the function in question. If one exists, it will be<br>returned, ready for use. Otherwise, null will be your answer.</p>
1994</div>
1995
1996
1997
1998
1999
2000<dl class="details">
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027 <dt class="tag-source">Source:</dt>
2028 <dd class="tag-source"><ul class="dummy"><li>
2029 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line522">line 522</a>
2030 </li></ul></dd>
2031
2032
2033
2034
2035
2036
2037
2038</dl>
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048 <h5>Parameters:</h5>
2049
2050
2051<table class="params">
2052 <thead>
2053 <tr>
2054
2055 <th>Name</th>
2056
2057
2058 <th>Type</th>
2059
2060
2061
2062
2063
2064 <th class="last">Description</th>
2065 </tr>
2066 </thead>
2067
2068 <tbody>
2069
2070
2071 <tr>
2072
2073 <td class="name"><code>resolverName</code></td>
2074
2075
2076 <td class="type">
2077
2078
2079<span class="param-type"><code>string</code></span>
2080
2081
2082
2083 </td>
2084
2085
2086
2087
2088
2089 <td class="description last">
2090 <p>the name of the resolver as a string</p>
2091
2092 </td>
2093 </tr>
2094
2095
2096
2097 <tr>
2098
2099 <td class="name"><code>requestData</code></td>
2100
2101
2102 <td class="type">
2103
2104
2105<span class="param-type"><code>Object</code></span>
2106
2107
2108
2109 </td>
2110
2111
2112
2113
2114
2115 <td class="description last">
2116 <p>the requestData used to build the<br>resolver methods from which to choose</p>
2117
2118 </td>
2119 </tr>
2120
2121
2122 </tbody>
2123</table>
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138<div class="section-returns">
2139<h5>Returns:</h5>
2140
2141
2142
2143<dl class="param-type">
2144 <dt>
2145 Type:
2146 </dt>
2147 <dd>
2148
2149<span class="param-type"><code>function</code></span>
2150
2151
2152 </dd>
2153</dl>
2154
2155
2156<div class="param-desc">
2157 <p>returns either a <code>function</code> representing the<br>resolver requested or null if there wasn't one to be found</p>
2158</div>
2159
2160
2161</div>
2162
2163
2164
2165</div>
2166
2167
2168<div class="section-method">
2169
2170
2171
2172 <h4 class="name" id=".%E2%8C%BE%E2%A0%80IDLFilePath"><span class="type-signature">(static) </span>⌾⠀IDLFilePath<span class="signature">(path, extension<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
2173
2174
2175
2176
2177
2178<div class="description">
2179 <p>Creates an appropriate Symbol crafted with the right data for use by<br>the IDLFileHandler class below.</p>
2180</div>
2181
2182
2183
2184
2185
2186<dl class="details">
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213 <dt class="tag-source">Source:</dt>
2214 <dd class="tag-source"><ul class="dummy"><li>
2215 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line816">line 816</a>
2216 </li></ul></dd>
2217
2218
2219
2220
2221
2222 <dt class="tag-see">See:</dt>
2223 <dd class="tag-see">
2224 <ul>
2225 <li><code>GQLBase#SCHEMA</code></li>
2226 </ul>
2227 </dd>
2228
2229
2230
2231</dl>
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241 <h5>Parameters:</h5>
2242
2243
2244<table class="params">
2245 <thead>
2246 <tr>
2247
2248 <th>Name</th>
2249
2250
2251 <th>Type</th>
2252
2253
2254 <th>Attributes</th>
2255
2256
2257
2258 <th>Default</th>
2259
2260
2261 <th class="last">Description</th>
2262 </tr>
2263 </thead>
2264
2265 <tbody>
2266
2267
2268 <tr>
2269
2270 <td class="name"><code>path</code></td>
2271
2272
2273 <td class="type">
2274
2275
2276<span class="param-type"><code>string</code></span>
2277
2278
2279
2280 </td>
2281
2282
2283 <td class="attributes">
2284
2285
2286
2287
2288
2289 </td>
2290
2291
2292
2293 <td class="default">
2294
2295 </td>
2296
2297
2298 <td class="description last">
2299 <p>a path to the IDL containing file</p>
2300
2301 </td>
2302 </tr>
2303
2304
2305
2306 <tr>
2307
2308 <td class="name"><code>extension</code></td>
2309
2310
2311 <td class="type">
2312
2313
2314<span class="param-type"><code>string</code></span>
2315
2316
2317
2318 </td>
2319
2320
2321 <td class="attributes">
2322
2323 &lt;optional><br>
2324
2325
2326
2327
2328
2329 </td>
2330
2331
2332
2333 <td class="default">
2334
2335 '.graphql'
2336
2337 </td>
2338
2339
2340 <td class="description last">
2341 <p>an extension, including the<br>prefixed period, that will be added to the supplied path should it not<br>already exist.</p>
2342
2343 </td>
2344 </tr>
2345
2346
2347 </tbody>
2348</table>
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363<div class="section-returns">
2364<h5>Returns:</h5>
2365
2366
2367
2368
2369<div class="param-desc">
2370 <p>Symbol</p>
2371</div>
2372
2373
2374</div>
2375
2376
2377
2378</div>
2379
2380
2381<div class="section-method">
2382
2383
2384
2385 <h4 class="name" id=".%E2%8C%BE%E2%A0%80MUTATORS"><span class="type-signature">(static) </span>⌾⠀MUTATORS<span class="signature">(requestData)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
2386
2387
2388
2389
2390
2391<div class="description">
2392 <p>This method should return a promise that resolves to an object of<br>functions matching the names of the mutation operations. These are to be<br>injected into the root object when used by <code>GQLExpressMiddleware</code>.</p>
2393</div>
2394
2395
2396
2397
2398
2399<dl class="details">
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426 <dt class="tag-source">Source:</dt>
2427 <dd class="tag-source"><ul class="dummy"><li>
2428 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line742">line 742</a>
2429 </li></ul></dd>
2430
2431
2432
2433
2434
2435
2436
2437</dl>
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447 <h5>Parameters:</h5>
2448
2449
2450<table class="params">
2451 <thead>
2452 <tr>
2453
2454 <th>Name</th>
2455
2456
2457 <th>Type</th>
2458
2459
2460
2461
2462
2463 <th class="last">Description</th>
2464 </tr>
2465 </thead>
2466
2467 <tbody>
2468
2469
2470 <tr>
2471
2472 <td class="name"><code>requestData</code></td>
2473
2474
2475 <td class="type">
2476
2477
2478<span class="param-type"><code>Object</code></span>
2479
2480
2481
2482 </td>
2483
2484
2485
2486
2487
2488 <td class="description last">
2489 <p>typically an object containing three<br>properties; {req, res, gql}</p>
2490
2491 </td>
2492 </tr>
2493
2494
2495 </tbody>
2496</table>
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511<div class="section-returns">
2512<h5>Returns:</h5>
2513
2514
2515
2516<dl class="param-type">
2517 <dt>
2518 Type:
2519 </dt>
2520 <dd>
2521
2522<span class="param-type"><code>Promise</code></span>
2523
2524
2525 </dd>
2526</dl>
2527
2528
2529<div class="param-desc">
2530 <p>a promise that resolves to an object; see above for more<br>information.</p>
2531</div>
2532
2533
2534</div>
2535
2536
2537
2538</div>
2539
2540
2541<div class="section-method">
2542
2543
2544
2545 <h4 class="name" id=".%E2%8C%BE%E2%A0%80RESOLVERS"><span class="type-signature">(static) </span>⌾⠀RESOLVERS<span class="signature">(requestData)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
2546
2547
2548
2549
2550
2551<div class="description">
2552 <p>This method should return a promise that resolves to an object of<br>functions matching the names of the query operations. These are to be<br>injected into the root object when used by <code>GQLExpressMiddleware</code>.</p>
2553</div>
2554
2555
2556
2557
2558
2559<dl class="details">
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586 <dt class="tag-source">Source:</dt>
2587 <dd class="tag-source"><ul class="dummy"><li>
2588 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line763">line 763</a>
2589 </li></ul></dd>
2590
2591
2592
2593
2594
2595
2596
2597</dl>
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607 <h5>Parameters:</h5>
2608
2609
2610<table class="params">
2611 <thead>
2612 <tr>
2613
2614 <th>Name</th>
2615
2616
2617 <th>Type</th>
2618
2619
2620
2621
2622
2623 <th class="last">Description</th>
2624 </tr>
2625 </thead>
2626
2627 <tbody>
2628
2629
2630 <tr>
2631
2632 <td class="name"><code>requestData</code></td>
2633
2634
2635 <td class="type">
2636
2637
2638<span class="param-type"><code>Object</code></span>
2639
2640
2641
2642 </td>
2643
2644
2645
2646
2647
2648 <td class="description last">
2649 <p>typically an object containing three<br>properties; {req, res, gql}</p>
2650
2651 </td>
2652 </tr>
2653
2654
2655 </tbody>
2656</table>
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671<div class="section-returns">
2672<h5>Returns:</h5>
2673
2674
2675
2676<dl class="param-type">
2677 <dt>
2678 Type:
2679 </dt>
2680 <dd>
2681
2682<span class="param-type"><code>Promise</code></span>
2683
2684
2685 </dd>
2686</dl>
2687
2688
2689<div class="param-desc">
2690 <p>a promise that resolves to an object; see above for more<br>information.</p>
2691</div>
2692
2693
2694</div>
2695
2696
2697
2698</div>
2699
2700
2701<div class="section-method">
2702
2703
2704
2705 <h4 class="name" id=".%E2%8C%BE%E2%A0%80setupModel"><span class="type-signature">(static) </span>⌾⠀setupModel<span class="signature">(instance)</span><span class="type-signature"></span></h4>
2706
2707
2708
2709
2710
2711<div class="description">
2712 <p>The internal data model has some custom <code>EventEmitter</code> code wrapped<br>it here. When the data model is set via <code>setModel</code> or by accessing it<br>via <code>instance[MODEL_KEY]</code>, an event <code>EVENT_MODEL_SET</code> is emitted. Any<br>listener listening for this event receives an object with two keys</p>
2713<pre class="prettyprint source"><code>{
2714 model: The actual model being set; changes are persisted
2715 instance: The GQLBase instance the model is associated with
2716}</code></pre><p>Subsequently, the events <code>EVENT_MODEL_PROP_CHANGE</code> and<br><code>EVENT_MODEL_PROP_DELETE</code> can be listened to if your version of node<br>supports Proxy objects. They allow you to be notified whenever your<br>model has a property changed or deleted, respectively.</p>
2717<p>The callback for <code>change</code> receives an object with four properties</p>
2718<pre class="prettyprint source"><code>{
2719 model: The model object the value is being changed on
2720 old: The old value being replaced; undefined if it is the first time
2721 key: The property key for the value being changed
2722 value: The new value being set
2723}</code></pre><p>The callback for <code>delete</code> receives an object with four properties</p>
2724<pre class="prettyprint source"><code>{
2725 model: The model object the value is deleted from
2726 key: The property key for the deleted value
2727 deleted: The deleted value
2728}</code></pre>
2729</div>
2730
2731
2732
2733
2734
2735<dl class="details">
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762 <dt class="tag-source">Source:</dt>
2763 <dd class="tag-source"><ul class="dummy"><li>
2764 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line880">line 880</a>
2765 </li></ul></dd>
2766
2767
2768
2769
2770
2771
2772
2773</dl>
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783 <h5>Parameters:</h5>
2784
2785
2786<table class="params">
2787 <thead>
2788 <tr>
2789
2790 <th>Name</th>
2791
2792
2793 <th>Type</th>
2794
2795
2796
2797
2798
2799 <th class="last">Description</th>
2800 </tr>
2801 </thead>
2802
2803 <tbody>
2804
2805
2806 <tr>
2807
2808 <td class="name"><code>instance</code></td>
2809
2810
2811 <td class="type">
2812
2813
2814<span class="param-type"><code><a href="GQLBase.html">GQLBase</a></code></span>
2815
2816
2817
2818 </td>
2819
2820
2821
2822
2823
2824 <td class="description last">
2825 <p>typically <code>this</code> as passed in from a call in<br>the constructor</p>
2826
2827 </td>
2828 </tr>
2829
2830
2831 </tbody>
2832</table>
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849</div>
2850
2851
2852<div class="section-method">
2853
2854
2855
2856 <h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80handler"><span class="type-signature">(static) </span>⬇︎⠀handler<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="IDLFileHandler.html">IDLFileHandler</a>}</span></h4>
2857
2858
2859
2860
2861
2862<div class="description">
2863 <p>A file handler for fetching the IDL schema string from the file system<br>for those <code>GQLBase</code> extended classes that have indicated to do so by<br>returning a <code>Symbol</code> for their <code>SCHEMA</code> property.</p>
2864</div>
2865
2866
2867
2868
2869
2870<dl class="details">
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897 <dt class="tag-source">Source:</dt>
2898 <dd class="tag-source"><ul class="dummy"><li>
2899 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line836">line 836</a>
2900 </li></ul></dd>
2901
2902
2903
2904
2905
2906
2907
2908</dl>
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930<div class="section-returns">
2931<h5>Returns:</h5>
2932
2933
2934
2935<dl class="param-type">
2936 <dt>
2937 Type:
2938 </dt>
2939 <dd>
2940
2941<span class="param-type"><code><a href="IDLFileHandler.html">IDLFileHandler</a></code></span>
2942
2943
2944 </dd>
2945</dl>
2946
2947
2948<div class="param-desc">
2949 <p>instance of IDLFileHandler, created if one does<br>not already exist, for fetching the contents from disk.</p>
2950</div>
2951
2952
2953</div>
2954
2955
2956
2957</div>
2958
2959
2960<div class="section-method">
2961
2962
2963
2964 <h4 class="name" id=".%E2%AC%87%EF%B8%8E%E2%A0%80SCHEMA"><span class="type-signature">(static) </span>⬇︎⠀SCHEMA<span class="signature">()</span><span class="type-signature"> &rarr; {string|Symbol}</span></h4>
2965
2966
2967
2968
2969
2970<div class="description">
2971 <p>Defined in a base class, this getter should return either a String<br>detailing the full IDL schema of a GraphQL handler or one of two<br>types of Symbols.</p>
2972<p>The first Symbol type is the constant <code>ADJACENT_FILE</code>. If this Symbol is<br>returned, the system assumes that next to the source file in question is<br>a file of the same name with a .graphql extension. This file should be<br>made of the GraphQL IDL schema definitions for the object types being<br>created.</p>
2973<p>Example:</p>
2974<pre class="prettyprint source lang-js"><code> static get SCHEMA(): string | Symbol {
2975 return GQLBase.ADJACENT_FILE
2976 }</code></pre><p>The primary advantage of this approach is allowing an outside editor that<br>provides syntax highlighting rather than returning a string from the<br>SCHEMA getter.</p>
2977<p>Alternatively, the static method IDLFilePath can be used to point to an<br>alternate location where the GraphQL IDL file resides. The extension can<br>also be changed from .graphql to something else if need be using this<br>method.</p>
2978<p>Example:</p>
2979<pre class="prettyprint source lang-js"><code> static get SCHEMA(): string | Symbol {
2980 return GQLBase.IDLFilePath('/path/to/file', '.idl')
2981 }</code></pre>
2982</div>
2983
2984
2985
2986
2987
2988<dl class="details">
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015 <dt class="tag-source">Source:</dt>
3016 <dd class="tag-source"><ul class="dummy"><li>
3017 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line692">line 692</a>
3018 </li></ul></dd>
3019
3020
3021
3022
3023
3024 <dt class="tag-see">See:</dt>
3025 <dd class="tag-see">
3026 <ul>
3027 <li><code>GQLBase#ADJACENT_FILE</code></li>
3028
3029 <li><code>GQLBase#IDLFilePath</code></li>
3030 </ul>
3031 </dd>
3032
3033
3034
3035</dl>
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057<div class="section-returns">
3058<h5>Returns:</h5>
3059
3060
3061
3062<dl class="param-type">
3063 <dt>
3064 Type:
3065 </dt>
3066 <dd>
3067
3068<span class="param-type"><code>string</code></span>
3069|
3070
3071<span class="param-type"><code>Symbol</code></span>
3072
3073
3074 </dd>
3075</dl>
3076
3077
3078<div class="param-desc">
3079 <p>a valid IDL string or one of the Symbols<br>described above.</p>
3080</div>
3081
3082
3083</div>
3084
3085
3086
3087</div>
3088
3089
3090<div class="section-method">
3091
3092
3093
3094 <h4 class="name" id="%E2%8C%BE%E2%A0%80applyAutoProps"><span class="type-signature"></span>⌾⠀applyAutoProps<span class="signature">()</span><span class="type-signature"></span></h4>
3095
3096
3097
3098
3099
3100<div class="description">
3101 <p>Since reading the Schema for a given GraphQL Lattice type or<br>interface is simple enough, we should be able to automatically<br>apply one to one GraphQL:Model properties.</p>
3102</div>
3103
3104
3105
3106
3107
3108<dl class="details">
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135 <dt class="tag-source">Source:</dt>
3136 <dd class="tag-source"><ul class="dummy"><li>
3137 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line222">line 222</a>
3138 </li></ul></dd>
3139
3140
3141
3142
3143
3144
3145
3146</dl>
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170</div>
3171
3172
3173<div class="section-method">
3174
3175
3176
3177 <h4 class="name" id="%E2%8C%BE%E2%A0%80callProp"><span class="type-signature"></span>⌾⠀callProp<span class="signature">(propName, args)</span><span class="type-signature"> &rarr; {mixed}</span></h4>
3178
3179
3180
3181
3182
3183<div class="description">
3184 <p>Properties defined for GraphQL types in Lattice can be defined as<br>a getter, a function or an async function. In the case of standard<br>functions, if they return a promise they will be handled as though<br>they were async. In addition to fetching the property, or field<br>resolver, its resulting function or getter will be invoked.</p>
3185<p>Given the variety of things a GraphQL type can actually be, obtaining<br>its value can annoying. This method tends to lessen that boilerplate.<br>Errors raised will be thrown.</p>
3186</div>
3187
3188
3189
3190
3191
3192<dl class="details">
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219 <dt class="tag-source">Source:</dt>
3220 <dd class="tag-source"><ul class="dummy"><li>
3221 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line441">line 441</a>
3222 </li></ul></dd>
3223
3224
3225
3226
3227
3228
3229
3230</dl>
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240 <h5>Parameters:</h5>
3241
3242
3243<table class="params">
3244 <thead>
3245 <tr>
3246
3247 <th>Name</th>
3248
3249
3250 <th>Type</th>
3251
3252
3253
3254
3255
3256 <th class="last">Description</th>
3257 </tr>
3258 </thead>
3259
3260 <tbody>
3261
3262
3263 <tr>
3264
3265 <td class="name"><code>propName</code></td>
3266
3267
3268 <td class="type">
3269
3270
3271<span class="param-type"><code>string</code></span>
3272
3273
3274
3275 </td>
3276
3277
3278
3279
3280
3281 <td class="description last">
3282 <p>the name of the property in question</p>
3283
3284 </td>
3285 </tr>
3286
3287
3288
3289 <tr>
3290
3291 <td class="name"><code>args</code></td>
3292
3293
3294 <td class="type">
3295
3296
3297<span class="param-type"><code>Array.&lt;mixed></code></span>
3298
3299
3300
3301 </td>
3302
3303
3304
3305
3306
3307 <td class="description last">
3308 <p>the arguments array that will be passed<br>to <code>.apply()</code> should the property evaluate to a <code>function</code></p>
3309
3310 </td>
3311 </tr>
3312
3313
3314 </tbody>
3315</table>
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328<div class="section-throws">
3329<h5>Throws:</h5>
3330
3331
3332
3333<dl>
3334 <dt>
3335 <div class="param-desc">
3336 <p>errors raised in awaiting results will be thrown</p>
3337 </div>
3338 </dt>
3339 <dd></dd>
3340 <dt>
3341 <dl>
3342 <dt>
3343 Type
3344 </dt>
3345 <dd>
3346
3347<span class="param-type"><code>Error</code></span>
3348
3349
3350 </dd>
3351 </dl>
3352 </dt>
3353 <dd></dd>
3354</dl>
3355
3356
3357
3358</div>
3359
3360
3361
3362<div class="section-returns">
3363<h5>Returns:</h5>
3364
3365
3366
3367<dl class="param-type">
3368 <dt>
3369 Type:
3370 </dt>
3371 <dd>
3372
3373<span class="param-type"><code>mixed</code></span>
3374
3375
3376 </dd>
3377</dl>
3378
3379
3380<div class="param-desc">
3381 <p>the return value of any resulting function or<br>value returned by a getter; wrapped in a promise as all async<br>functions do.</p>
3382</div>
3383
3384
3385</div>
3386
3387
3388
3389</div>
3390
3391
3392<div class="section-method">
3393
3394
3395
3396 <h4 class="name" id="%E2%8C%BE%E2%A0%80extendModel"><span class="type-signature"></span>⌾⠀extendModel<span class="signature">(extensions)</span><span class="type-signature"> &rarr; {<a href="GQLBase.html">GQLBase</a>}</span></h4>
3397
3398
3399
3400
3401
3402<div class="description">
3403 <p>Uses <code>_.merge()</code> to modify the internal backing data store for the<br>object instance. This is a shortcut for<br><code>_.merge()(instance[MODEL_KEY], ...extensions)</code></p>
3404</div>
3405
3406
3407
3408
3409
3410<dl class="details">
3411
3412
3413
3414
3415 <dt class="tag-since">Since:</dt>
3416 <dd class="tag-since"><ul class="dummy"><li>2.5</li></ul></dd>
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440 <dt class="tag-source">Source:</dt>
3441 <dd class="tag-source"><ul class="dummy"><li>
3442 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line325">line 325</a>
3443 </li></ul></dd>
3444
3445
3446
3447
3448
3449
3450
3451</dl>
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461 <h5>Parameters:</h5>
3462
3463
3464<table class="params">
3465 <thead>
3466 <tr>
3467
3468 <th>Name</th>
3469
3470
3471 <th>Type</th>
3472
3473
3474
3475
3476
3477 <th class="last">Description</th>
3478 </tr>
3479 </thead>
3480
3481 <tbody>
3482
3483
3484 <tr>
3485
3486 <td class="name"><code>extensions</code></td>
3487
3488
3489 <td class="type">
3490
3491
3492<span class="param-type"><code>mixed</code></span>
3493
3494
3495
3496 </td>
3497
3498
3499
3500
3501
3502 <td class="description last">
3503 <p>n-number of valid <code>_.merge()</code> parameters</p>
3504
3505 </td>
3506 </tr>
3507
3508
3509 </tbody>
3510</table>
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525<div class="section-returns">
3526<h5>Returns:</h5>
3527
3528
3529
3530<dl class="param-type">
3531 <dt>
3532 Type:
3533 </dt>
3534 <dd>
3535
3536<span class="param-type"><code><a href="GQLBase.html">GQLBase</a></code></span>
3537
3538
3539 </dd>
3540</dl>
3541
3542
3543<div class="param-desc">
3544 <p>this is returned</p>
3545</div>
3546
3547
3548</div>
3549
3550
3551
3552</div>
3553
3554
3555<div class="section-method">
3556
3557
3558
3559 <h4 class="name" id="%E2%8C%BE%E2%A0%80getModel"><span class="type-signature"></span>⌾⠀getModel<span class="signature">(value)</span><span class="type-signature"></span></h4>
3560
3561
3562
3563
3564
3565<div class="description">
3566 <p>Getter for the internally stored model data. The contents of this<br>object are abstracted away behind a <code>Symbol</code> key to prevent collision<br>between the underlying model and any GraphQL Object Definition properties.</p>
3567</div>
3568
3569
3570
3571
3572
3573<dl class="details">
3574
3575
3576
3577
3578 <dt class="tag-since">Since:</dt>
3579 <dd class="tag-since"><ul class="dummy"><li>2.5</li></ul></dd>
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603 <dt class="tag-source">Source:</dt>
3604 <dd class="tag-source"><ul class="dummy"><li>
3605 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line290">line 290</a>
3606 </li></ul></dd>
3607
3608
3609
3610
3611
3612
3613
3614</dl>
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624 <h5>Parameters:</h5>
3625
3626
3627<table class="params">
3628 <thead>
3629 <tr>
3630
3631 <th>Name</th>
3632
3633
3634 <th>Type</th>
3635
3636
3637
3638
3639
3640 <th class="last">Description</th>
3641 </tr>
3642 </thead>
3643
3644 <tbody>
3645
3646
3647 <tr>
3648
3649 <td class="name"><code>value</code></td>
3650
3651
3652 <td class="type">
3653
3654
3655<span class="param-type"><code>Object</code></span>
3656
3657
3658
3659 </td>
3660
3661
3662
3663
3664
3665 <td class="description last">
3666 <p>any object you wish to use as a data store</p>
3667
3668 </td>
3669 </tr>
3670
3671
3672 </tbody>
3673</table>
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690</div>
3691
3692
3693<div class="section-method">
3694
3695
3696
3697 <h4 class="name" id="%E2%8C%BE%E2%A0%80getProp"><span class="type-signature"></span>⌾⠀getProp<span class="signature">(propName, bindGetters, bindTo)</span><span class="type-signature"> &rarr; {mixed}</span></h4>
3698
3699
3700
3701
3702
3703<div class="description">
3704 <p>Properties defined for GraphQL types in Lattice can be defined as<br>a getter, a function or an async function. In the case of standard<br>functions, if they return a promise they will be handled as though<br>they were async</p>
3705<p>Given the variety of things a GraphQL type can actually be, obtaining<br>its value can annoying. This method tends to lessen that boilerplate.<br>Errors raised will be thrown.</p>
3706</div>
3707
3708
3709
3710
3711
3712<dl class="details">
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739 <dt class="tag-source">Source:</dt>
3740 <dd class="tag-source"><ul class="dummy"><li>
3741 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line387">line 387</a>
3742 </li></ul></dd>
3743
3744
3745
3746
3747
3748
3749
3750</dl>
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760 <h5>Parameters:</h5>
3761
3762
3763<table class="params">
3764 <thead>
3765 <tr>
3766
3767 <th>Name</th>
3768
3769
3770 <th>Type</th>
3771
3772
3773
3774
3775
3776 <th class="last">Description</th>
3777 </tr>
3778 </thead>
3779
3780 <tbody>
3781
3782
3783 <tr>
3784
3785 <td class="name"><code>propName</code></td>
3786
3787
3788 <td class="type">
3789
3790
3791<span class="param-type"><code>string</code></span>
3792|
3793
3794<span class="param-type"><code>Symbol</code></span>
3795
3796
3797
3798 </td>
3799
3800
3801
3802
3803
3804 <td class="description last">
3805 <p>the name of the property in question</p>
3806
3807 </td>
3808 </tr>
3809
3810
3811
3812 <tr>
3813
3814 <td class="name"><code>bindGetters</code></td>
3815
3816
3817 <td class="type">
3818
3819
3820<span class="param-type"><code>boolean</code></span>
3821
3822
3823
3824 </td>
3825
3826
3827
3828
3829
3830 <td class="description last">
3831 <p>true, by default, if the <code>get</code> or<br><code>initializer</code> descriptor values should be bound to the current instance<br>or an object of the programmers choice before returning</p>
3832
3833 </td>
3834 </tr>
3835
3836
3837
3838 <tr>
3839
3840 <td class="name"><code>bindTo</code></td>
3841
3842
3843 <td class="type">
3844
3845
3846<span class="param-type"><code>mixed</code></span>
3847
3848
3849
3850 </td>
3851
3852
3853
3854
3855
3856 <td class="description last">
3857 <p>the <code>this</code> object to use for binding when<br><code>bindGetters</code> is set to true.</p>
3858
3859 </td>
3860 </tr>
3861
3862
3863 </tbody>
3864</table>
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877<div class="section-throws">
3878<h5>Throws:</h5>
3879
3880
3881
3882<dl>
3883 <dt>
3884 <div class="param-desc">
3885 <p>errors raised in awaiting results will be thrown</p>
3886 </div>
3887 </dt>
3888 <dd></dd>
3889 <dt>
3890 <dl>
3891 <dt>
3892 Type
3893 </dt>
3894 <dd>
3895
3896<span class="param-type"><code>Error</code></span>
3897
3898
3899 </dd>
3900 </dl>
3901 </dt>
3902 <dd></dd>
3903</dl>
3904
3905
3906
3907</div>
3908
3909
3910
3911<div class="section-returns">
3912<h5>Returns:</h5>
3913
3914
3915
3916<dl class="param-type">
3917 <dt>
3918 Type:
3919 </dt>
3920 <dd>
3921
3922<span class="param-type"><code>mixed</code></span>
3923
3924
3925 </dd>
3926</dl>
3927
3928
3929<div class="param-desc">
3930 <p>the value of the <code>propName</code> as a Function or something<br>else when the requested property name exists</p>
3931</div>
3932
3933
3934</div>
3935
3936
3937
3938</div>
3939
3940
3941<div class="section-method">
3942
3943
3944
3945 <h4 class="name" id="%E2%8C%BE%E2%A0%80getResolver"><span class="type-signature"></span>⌾⠀getResolver<span class="signature">(resolverName, requestData)</span><span class="type-signature"> &rarr; {function}</span></h4>
3946
3947
3948
3949
3950
3951<div class="description">
3952 <p>A pass-thru method to the static function of the same name. The<br>difference being that if <code>requestData</code> is not specified, the<br><code>requestData</code> object from this instance will be used to build the<br>resolvers in question.</p>
3953</div>
3954
3955
3956
3957
3958
3959<dl class="details">
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986 <dt class="tag-source">Source:</dt>
3987 <dd class="tag-source"><ul class="dummy"><li>
3988 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line499">line 499</a>
3989 </li></ul></dd>
3990
3991
3992
3993
3994
3995
3996
3997</dl>
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007 <h5>Parameters:</h5>
4008
4009
4010<table class="params">
4011 <thead>
4012 <tr>
4013
4014 <th>Name</th>
4015
4016
4017 <th>Type</th>
4018
4019
4020
4021
4022
4023 <th class="last">Description</th>
4024 </tr>
4025 </thead>
4026
4027 <tbody>
4028
4029
4030 <tr>
4031
4032 <td class="name"><code>resolverName</code></td>
4033
4034
4035 <td class="type">
4036
4037
4038<span class="param-type"><code>string</code></span>
4039
4040
4041
4042 </td>
4043
4044
4045
4046
4047
4048 <td class="description last">
4049 <p>the name of the resolver as a string</p>
4050
4051 </td>
4052 </tr>
4053
4054
4055
4056 <tr>
4057
4058 <td class="name"><code>requestData</code></td>
4059
4060
4061 <td class="type">
4062
4063
4064<span class="param-type"><code>Object</code></span>
4065
4066
4067
4068 </td>
4069
4070
4071
4072
4073
4074 <td class="description last">
4075 <p>the requestData used to build the<br>resolver methods from which to choose</p>
4076
4077 </td>
4078 </tr>
4079
4080
4081 </tbody>
4082</table>
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097<div class="section-returns">
4098<h5>Returns:</h5>
4099
4100
4101
4102<dl class="param-type">
4103 <dt>
4104 Type:
4105 </dt>
4106 <dd>
4107
4108<span class="param-type"><code>function</code></span>
4109
4110
4111 </dd>
4112</dl>
4113
4114
4115<div class="param-desc">
4116 <p>returns either a <code>function</code> representing the<br>resolver requested or null if there wasn't one to be found</p>
4117</div>
4118
4119
4120</div>
4121
4122
4123
4124</div>
4125
4126
4127<div class="section-method">
4128
4129
4130
4131 <h4 class="name" id="%E2%8C%BE%E2%A0%80setModel"><span class="type-signature"></span>⌾⠀setModel<span class="signature">(value)</span><span class="type-signature"></span></h4>
4132
4133
4134
4135
4136
4137<div class="description">
4138 <p>Setter for the internally stored model data. The contents of this<br>object are abstracted away behind a <code>Symbol</code> key to prevent collision<br>between the underlying model and any GraphQL Object Definition properties.</p>
4139</div>
4140
4141
4142
4143
4144
4145<dl class="details">
4146
4147
4148
4149
4150 <dt class="tag-since">Since:</dt>
4151 <dd class="tag-since"><ul class="dummy"><li>2.5</li></ul></dd>
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175 <dt class="tag-source">Source:</dt>
4176 <dd class="tag-source"><ul class="dummy"><li>
4177 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line307">line 307</a>
4178 </li></ul></dd>
4179
4180
4181
4182
4183
4184
4185
4186</dl>
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196 <h5>Parameters:</h5>
4197
4198
4199<table class="params">
4200 <thead>
4201 <tr>
4202
4203 <th>Name</th>
4204
4205
4206 <th>Type</th>
4207
4208
4209
4210
4211
4212 <th class="last">Description</th>
4213 </tr>
4214 </thead>
4215
4216 <tbody>
4217
4218
4219 <tr>
4220
4221 <td class="name"><code>value</code></td>
4222
4223
4224 <td class="type">
4225
4226
4227<span class="param-type"><code>Object</code></span>
4228
4229
4230
4231 </td>
4232
4233
4234
4235
4236
4237 <td class="description last">
4238 <p>any object you wish to use as a data store</p>
4239
4240 </td>
4241 </tr>
4242
4243
4244 </tbody>
4245</table>
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262</div>
4263
4264
4265<div class="section-method">
4266
4267
4268
4269 <h4 class="name" id="%E2%AC%86%EF%B8%8E%E2%A0%80requestData"><span class="type-signature"></span>⬆︎⠀requestData<span class="signature">(value)</span><span class="type-signature"></span></h4>
4270
4271
4272
4273
4274
4275<div class="description">
4276 <p>A setter that assigns a value to the inner request data object. When<br>used with GQLExpressMiddleware, this is an object matching {req, res, gql}.</p>
4277</div>
4278
4279
4280
4281
4282
4283<dl class="details">
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310 <dt class="tag-source">Source:</dt>
4311 <dd class="tag-source"><ul class="dummy"><li>
4312 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line359">line 359</a>
4313 </li></ul></dd>
4314
4315
4316
4317
4318
4319
4320
4321</dl>
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331 <h5>Parameters:</h5>
4332
4333
4334<table class="params">
4335 <thead>
4336 <tr>
4337
4338 <th>Name</th>
4339
4340
4341 <th>Type</th>
4342
4343
4344
4345
4346
4347 <th class="last">Description</th>
4348 </tr>
4349 </thead>
4350
4351 <tbody>
4352
4353
4354 <tr>
4355
4356 <td class="name"><code>value</code></td>
4357
4358
4359 <td class="type">
4360
4361
4362<span class="param-type"><code>Object</code></span>
4363
4364
4365
4366 </td>
4367
4368
4369
4370
4371
4372 <td class="description last">
4373 <p>an object, usually matching { req, res, gql }</p>
4374
4375 </td>
4376 </tr>
4377
4378
4379 </tbody>
4380</table>
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397</div>
4398
4399
4400<div class="section-method">
4401
4402
4403
4404 <h4 class="name" id="%E2%AC%87%EF%B8%8E%E2%A0%80requestData"><span class="type-signature"></span>⬇︎⠀requestData<span class="signature">()</span><span class="type-signature"> &rarr; {Object}</span></h4>
4405
4406
4407
4408
4409
4410<div class="description">
4411 <p>A getter that retrieves the inner request data object. When used with<br>GQLExpressMiddleware, this is an object matching {req, res, gql}.</p>
4412</div>
4413
4414
4415
4416
4417
4418<dl class="details">
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445 <dt class="tag-source">Source:</dt>
4446 <dd class="tag-source"><ul class="dummy"><li>
4447 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line344">line 344</a>
4448 </li></ul></dd>
4449
4450
4451
4452
4453
4454
4455
4456</dl>
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478<div class="section-returns">
4479<h5>Returns:</h5>
4480
4481
4482
4483<dl class="param-type">
4484 <dt>
4485 Type:
4486 </dt>
4487 <dd>
4488
4489<span class="param-type"><code>Object</code></span>
4490
4491
4492 </dd>
4493</dl>
4494
4495
4496<div class="param-desc">
4497 <p>an object, usually matching { req, res, gql }</p>
4498</div>
4499
4500
4501</div>
4502
4503
4504
4505</div>
4506
4507
4508<div class="section-method">
4509
4510
4511
4512 <h4 class="name" id="~deleteProperty"><span class="type-signature">(inner) </span>deleteProperty<span class="signature">(target, key)</span><span class="type-signature"></span></h4>
4513
4514
4515
4516
4517
4518<div class="description">
4519 <p>Proxy deleteProperty() handler. This is where the delete property<br>events are fired from</p>
4520</div>
4521
4522
4523
4524
4525
4526<dl class="details">
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553 <dt class="tag-source">Source:</dt>
4554 <dd class="tag-source"><ul class="dummy"><li>
4555 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line945">line 945</a>
4556 </li></ul></dd>
4557
4558
4559
4560
4561
4562
4563
4564</dl>
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574 <h5>Parameters:</h5>
4575
4576
4577<table class="params">
4578 <thead>
4579 <tr>
4580
4581 <th>Name</th>
4582
4583
4584 <th>Type</th>
4585
4586
4587
4588
4589
4590 <th class="last">Description</th>
4591 </tr>
4592 </thead>
4593
4594 <tbody>
4595
4596
4597 <tr>
4598
4599 <td class="name"><code>target</code></td>
4600
4601
4602 <td class="type">
4603
4604
4605<span class="param-type"><code>Object</code></span>
4606
4607
4608
4609 </td>
4610
4611
4612
4613
4614
4615 <td class="description last">
4616 <p>the <code>GQLBase</code> model object</p>
4617
4618 </td>
4619 </tr>
4620
4621
4622
4623 <tr>
4624
4625 <td class="name"><code>key</code></td>
4626
4627
4628 <td class="type">
4629
4630
4631<span class="param-type"><code>string</code></span>
4632
4633
4634
4635 </td>
4636
4637
4638
4639
4640
4641 <td class="description last">
4642 <p>the property name</p>
4643
4644 </td>
4645 </tr>
4646
4647
4648 </tbody>
4649</table>
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666</div>
4667
4668
4669<div class="section-method">
4670
4671
4672
4673 <h4 class="name" id="~set"><span class="type-signature">(inner) </span>set<span class="signature">(target, key, value)</span><span class="type-signature"></span></h4>
4674
4675
4676
4677
4678
4679<div class="description">
4680 <p>Proxy set() handler. This is where the change events are fired from</p>
4681</div>
4682
4683
4684
4685
4686
4687<dl class="details">
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714 <dt class="tag-source">Source:</dt>
4715 <dd class="tag-source"><ul class="dummy"><li>
4716 <a href="GQLBase.js.html">GQLBase.js</a>, <a href="GQLBase.js.html#line925">line 925</a>
4717 </li></ul></dd>
4718
4719
4720
4721
4722
4723
4724
4725</dl>
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735 <h5>Parameters:</h5>
4736
4737
4738<table class="params">
4739 <thead>
4740 <tr>
4741
4742 <th>Name</th>
4743
4744
4745 <th>Type</th>
4746
4747
4748
4749
4750
4751 <th class="last">Description</th>
4752 </tr>
4753 </thead>
4754
4755 <tbody>
4756
4757
4758 <tr>
4759
4760 <td class="name"><code>target</code></td>
4761
4762
4763 <td class="type">
4764
4765
4766<span class="param-type"><code>Object</code></span>
4767
4768
4769
4770 </td>
4771
4772
4773
4774
4775
4776 <td class="description last">
4777 <p>the <code>GQLBase</code> model object</p>
4778
4779 </td>
4780 </tr>
4781
4782
4783
4784 <tr>
4785
4786 <td class="name"><code>key</code></td>
4787
4788
4789 <td class="type">
4790
4791
4792<span class="param-type"><code>string</code></span>
4793
4794
4795
4796 </td>
4797
4798
4799
4800
4801
4802 <td class="description last">
4803 <p>the property name</p>
4804
4805 </td>
4806 </tr>
4807
4808
4809
4810 <tr>
4811
4812 <td class="name"><code>value</code></td>
4813
4814
4815 <td class="type">
4816
4817
4818<span class="param-type"><code>mixed</code></span>
4819
4820
4821
4822 </td>
4823
4824
4825
4826
4827
4828 <td class="description last">
4829 <p>the new property value</p>
4830
4831 </td>
4832 </tr>
4833
4834
4835 </tbody>
4836</table>
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853</div>
4854
4855
4856
4857
4858
4859
4860</article>
4861
4862</section>
4863
4864
4865
4866
4867</div>
4868
4869<br class="clear">
4870
4871<footer>
4872 Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Fri Jun 08 2018 19:28:39 GMT-0700 (PDT) using the Minami theme.
4873</footer>
4874
4875<script>prettyPrint();</script>
4876<script src="scripts/linenumber.js"></script>
4877</body>
4878</html>
\No newline at end of file