I see that this PR: https://github.com/awslabs/dynamodb-data-mapper-js/pull/147/files added support for SSE.
However, there seems do be some odd typing going on. When I read the source, I see that the type for options passed into createTable is CreateTableOptions, which extends BaseCreateTableOptions and includes:
export interface SseSpecification {
sseType: SseType;
kmsMasterKeyId?: string;
}
However, when I call createTable this in my code and click through to the type, I'm seeing a different CreateTableOptions type, which only extends ProvisionedThroughput and doesn't include sse options.
The same is true for billingMode.
Here are the types by comparison:
export type CreateTableOptions = ProvisionedCreateTableOptions | OnDemandCreateTableOptions;
export interface CreateTableOptions extends ProvisionedThroughput {
streamViewType?: StreamViewType;
indexOptions?: PerIndexOptions;
}
Why is there this odd discrepancy? It leads to a compiler error when calling createTable() with sseSpecification param. cc @jeskew