src/query-ast-to-sql-ast/index.js
function keyToASTChild(key, namespace) {
  if (typeof key === 'string') {
    return columnToASTChild(key, namespace)
  }
  if (Array.isArray(key)) {
    const clumsyName = toClumsyName(key)
    return {
      type: 'composite',
      name: key,
      fieldName: clumsyName,
      as: namespace.generate('column', clumsyName)
    }
  }
}
function keyToASTChild(key, namespace) {
  if (typeof key === 'string') {
    return columnToASTChild(key, namespace)
  }
  if (Array.isArray(key)) {
    const clumsyName = toClumsyName(key)
    return {
      type: 'composite',
      name: key,
      fieldName: clumsyName,
      as: namespace.generate('column', clumsyName)
    }
  }
}
function keyToASTChild ( key , namespace ) { if ( typeof key === 'string' ) { return columnToASTChild ( key , namespace ) } if ( Array . isArray ( key ) ) { const clumsyName = toClumsyName ( key ) return { type : 'composite' , name : key , fieldName : clumsyName , as : namespace . generate ( 'column' , clumsyName ) } } }
keys are necessary for deduplication during the hydration process this will handle singular or composite keys
keys are necessary for deduplication during the hydration process this will handle singular or composite keys