import { metadataForClass } from '../../decorator/metadata';
import { getTableName } from '../get-table-name.function';
export class BaseRequest {
    constructor(dynamoRx, modelClazz) {
        this.dynamoRx = dynamoRx;
        if (modelClazz === null || modelClazz === undefined) {
            throw new Error(`please provide the ModelConstructor for the request, won't work otherwise`);
        }
        this.modelClazz = modelClazz;
        this.metadata = metadataForClass(this.modelClazz);
        if (!this.metadata.modelOptions) {
            throw new Error('given ModelConstructor has no @Model decorator');
        }
        this.tableName = getTableName(this.metadata);
        this.params = {};
    }
    returnConsumedCapacity(level) {
        this.params.ReturnConsumedCapacity = level;
        return this;
    }
}
//# sourceMappingURL=base.request.js.map