UNPKG

@barchart/common-node-js

Version:

Common classes, utilities, and functions for building Node.js servers

46 lines (35 loc) 1.14 kB
const assert = require('@barchart/common-js/lang/assert'); const DynamoProvider = require('./../../DynamoProvider'), Query = require('./../query/definitions/Query'), Transformation = require('./../../../stream/transformations/Transformation'); module.exports = (() => { 'use strict'; /** * A {@link Transformation} that accepts a query and runs it. * * @public * @extends {Transformation} * @param {DynamoProvider} dynamoProvider - The table definition. * @param {String=} description - A description of the transformation. */ class DynamoQueryTransformation extends Transformation { constructor(dynamoProvider, description) { super((description || 'Dynamo Query Transformation')); assert.argumentIsRequired(dynamoProvider, 'dynamoProvider', DynamoProvider, 'DynamoProvider'); this._dynamoProvider = dynamoProvider; } get synchronous() { return false; } _canTransform(input) { return input instanceof Query; } _transform(input) { return this._dynamoProvider.query(input); } toString() { return '[DynamoQueryTransformation]'; } } return DynamoQueryTransformation; })();