-
Notifications
You must be signed in to change notification settings - Fork 0
/
playground.js
65 lines (55 loc) · 1.37 KB
/
playground.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
const DynamoDB = require("aws-sdk/clients/dynamodb");
const entries = times(100, (i) => ({ id: i.toString().padStart(3, "0"), index: i }));
function buildPutRequest(entry) {
return { PutRequest: { Item: entry } };
}
function times(n, fn) {
let i = 0;
const arr = [];
while (i < n) {
arr.push(fn(i));
i++;
}
return arr;
}
function chunk(arr, fn, size = 25) {
const chunked_arr = [];
let index = 0;
while (index < arr.length) {
chunked_arr.push(arr.slice(index, index + size).map(fn));
index += size;
}
return chunked_arr;
}
function seed() {
const chunks = chunk(entries, buildPutRequest, 25);
const docClient = new DynamoDB.DocumentClient({ region: "us-west-2" });
const promises = chunks.map((request) => docClient.batchWrite({ RequestItems: { Table1: request } }).promise());
return Promise.all(promises).then(() => console.log("done"));
}
function query() {
const queryable = entries
.slice(50, 70)
.map((e) => `'${e.id}'`)
.join(",");
const dynamodb = new DynamoDB({ region: "us-west-2" });
return dynamodb
.executeStatement({
Statement: `SELECT * FROM "Table1"
WHERE "id" IN [${queryable}]`,
})
.promise();
}
class X {
#value = 0;
plusplus() {
this.#value++;
}
get value() {
return this.#value;
}
}
const x = new X();
x.plusplus();
const x1 = Object.assign({}, x);
console.log(x1.value);