import { BaseExpressionInput } from './base-expression-input' ; export class Projection extends BaseExpressionInput { getExpNameKey ( key ) { return `#PE_${ key }` ; } addProjectionAttributes ( projectionKeys ) { projectionKeys = [ ... new Set ( projectionKeys ) ] ; const scopedKeys = projectionKeys . map ( key => { return this . addExpressionName ( key ) ; } ) ; const expression = scopedKeys . join ( ', ' ) ; this . appendToExpression ( expression ) ; return this ; } getExpValueKey ( key ) { throw new Error ( `Failed to parse exp key ${ key }, Projection expression does not support specifying value` ) ; } }