• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sensedeep / dynamodb-onetable / #65

pending completion
#65

push

Michael O'Brien
DEV: temporarily disable stream unit tests

1107 of 1601 branches covered (69.14%)

Branch coverage included in aggregate %.

1780 of 2373 relevant lines covered (75.01%)

623.2 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.12
/src/Dynamo.js
1
/*
2
    Dynamo.js -- AWS V3 SDK API
3

4
    This module provides a wrapper and convenience API over the AWS V3 SDK.
5
    It is used by OneTable internally and is not a public API.
6

7
    Use:
8
        import {Model, Table} from 'dynamodb-onetable'
9
        import Dynamo from 'dynamodb-onetable/Dynamo'
10

11
        const dynamo = new Dynamo(params)
12
        const table = new Table({ dynamo, ... })
13
*/
14

15
import {
50✔
16
    BatchGetItemCommand,
17
    BatchWriteItemCommand,
18
    CreateTableCommand,
19
    DeleteItemCommand,
20
    DeleteTableCommand,
21
    DescribeTableCommand,
22
    GetItemCommand,
23
    ListTablesCommand,
24
    PutItemCommand,
25
    QueryCommand,
26
    ScanCommand,
27
    TransactGetItemsCommand,
28
    TransactWriteItemsCommand,
29
    UpdateItemCommand,
30
    UpdateTableCommand,
31
} from '@aws-sdk/client-dynamodb'
32

33
import {marshall, unmarshall} from '@aws-sdk/util-dynamodb'
50✔
34

35
export class Dynamo {
50✔
36
    constructor(params = {}) {
1✔
37
        this.client = params.client
51✔
38
        this.params = params
51✔
39
        this.marshall = marshall
51✔
40
        this.unmarshall = unmarshall
51✔
41
        this.V3 = true
51✔
42
    }
43

44
    async createTable(params) {
45
        let command = new CreateTableCommand(params)
50✔
46
        return await this.send(command)
50✔
47
    }
48

49
    async deleteTable(params) {
50
        let command = new DeleteTableCommand(params)
49✔
51
        return await this.send(command)
49✔
52
    }
53

54
    async delete(params) {
55
        let command = new DeleteItemCommand(params)
16✔
56
        return await this.send(command)
16✔
57
    }
58

59
    async describeTable(params) {
60
        let command = new DescribeTableCommand(params)
3✔
61
        return await this.send(command)
3✔
62
    }
63

64
    async get(params) {
65
        let command = new GetItemCommand(params)
45✔
66
        return await this.send(command)
45✔
67
    }
68

69
    async find(params) {
70
        let command = new QueryCommand(params)
73✔
71
        return await this.send(command)
73✔
72
    }
73

74
    async listTables(params) {
75
        let command = new ListTablesCommand(params)
129✔
76
        return await this.send(command)
129✔
77
    }
78

79
    async put(params) {
80
        let command = new PutItemCommand(params)
584✔
81
        return await this.send(command)
584✔
82
    }
83

84
    async scan(params) {
85
        let command = new ScanCommand(params)
63✔
86
        return await this.send(command)
63✔
87
    }
88

89
    async update(params) {
90
        let command = new UpdateItemCommand(params)
56✔
91
        return await this.send(command)
56✔
92
    }
93

94
    async updateTable(params) {
95
        let command = new UpdateTableCommand(params)
×
96
        return await this.send(command)
×
97
    }
98

99
    async batchGet(params) {
100
        let command = new BatchGetItemCommand(params)
5✔
101
        return await this.send(command)
5✔
102
    }
103

104
    async batchWrite(params) {
105
        let command = new BatchWriteItemCommand(params)
5✔
106
        return await this.send(command)
5✔
107
    }
108

109
    async transactGet(params) {
110
        let command = new TransactGetItemsCommand(params)
2✔
111
        return await this.send(command)
2✔
112
    }
113

114
    async transactWrite(params) {
115
        let command = new TransactWriteItemsCommand(params)
19✔
116
        return await this.send(command)
19✔
117
    }
118

119
    async send(cmd) {
120
        return await this.client.send(cmd)
1,099✔
121
    }
122
}
123

124
export default Dynamo
50✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc