dist/GQLBase.js
function getProp(propName) {
      var bindGetters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
      var bindTo = arguments.length > 2 ? arguments[2] : undefined;
      // $FlowFixMe
      var proto = Object.getPrototypeOf(this);
      var descriptor = Object.getOwnPropertyDescriptor(proto, propName);
      var result;

      if (!descriptor) {
        return null;
      }

      if (descriptor) {
        if (descriptor.initializer || descriptor.get) {
          var what = descriptor.initializer || descriptor.get;

          if (bindGetters) {
            result = what.bind(bindTo || this);
          } else {
            result = what;
          }
        } else if (descriptor.value) {
          result = descriptor.value;
        }
      }

      return result;
    }
function getProp(propName) {
      var bindGetters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
      var bindTo = arguments.length > 2 ? arguments[2] : undefined;
      // $FlowFixMe
      var proto = Object.getPrototypeOf(this);
      var descriptor = Object.getOwnPropertyDescriptor(proto, propName);
      var result;

      if (!descriptor) {
        return null;
      }

      if (descriptor) {
        if (descriptor.initializer || descriptor.get) {
          var what = descriptor.initializer || descriptor.get;

          if (bindGetters) {
            result = what.bind(bindTo || this);
          } else {
            result = what;
          }
        } else if (descriptor.value) {
          result = descriptor.value;
        }
      }

      return result;
    }
function getProp ( propName ) { var bindGetters = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : true ; var bindTo = arguments . length > 2 ? arguments [ 2 ] : undefined ; // $FlowFixMe var proto = Object . getPrototypeOf ( this ) ; var descriptor = Object . getOwnPropertyDescriptor ( proto , propName ) ; var result ; if ( ! descriptor ) { return null ; } if ( descriptor ) { if ( descriptor . initializer || descriptor . get ) { var what = descriptor . initializer || descriptor . get ; if ( bindGetters ) { result = what . bind ( bindTo || this ) ; } else { result = what ; } } else if ( descriptor . value ) { result = descriptor . value ; } } return result ; }
Properties defined for GraphQL types in Lattice can be defined as
a getter, a function or an async function. In the case of standard
functions, if they return a promise they will be handled as though
they were async

Given the variety of things a GraphQL type can actually be, obtaining
its value can annoying. This method tends to lessen that boilerplate.
Errors raised will be thrown.

@instance
@memberof GQLBase
@method ⌾⠀getProp

@param {string|Symbol} propName the name of the property in question
@param {boolean} bindGetters true, by default, if the `get` or
`initializer` descriptor values should be bound to the current instance
or an object of the programmers choice before returning
@param {mixed} bindTo the `this` object to use for binding when
`bindGetters` is set to true.
@return {mixed} the value of the `propName` as a Function or something
else when the requested property name exists

@throws {Error} errors raised in awaiting results will be thrown
Properties defined for GraphQL types in Lattice can be defined as a getter a function or an async function . In the case of standard functions if they return a promise they will be handled as though they were async