kvdb-client 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.ja.md +65 -2
  2. package/README.md +61 -2
  3. package/package.json +1 -1
package/README.ja.md CHANGED
@@ -10,14 +10,73 @@ npm install kvdb-client
10
10
 
11
11
  ## クイックスタート
12
12
 
13
+ ### 1) バケット作成サンプル
14
+
15
+ ```js
16
+ import { KVdbClient } from "kvdb-client";
17
+
18
+ const email = process.env.KVDB_EMAIL; // 自分のメール
19
+
20
+ if (!email) {
21
+ throw new Error("KVDB_EMAIL is required");
22
+ }
23
+
24
+ const bucket = await KVdbClient.createBucket(email);
25
+ console.log("bucket:", bucket);
26
+ ```
27
+
28
+ メールドレスを指定して実行するだけでバケットが作成できます。
29
+
30
+ ### 2) データの出し入れサンプル
31
+
13
32
  ```js
14
33
  import { KVdbClient } from "kvdb-client";
15
34
 
16
- const kv = new KVdbClient({ bucket: "YOUR_BUCKET" });
35
+ const bucket = process.env.KVDB_BUCKET; // 作成したバケットのID
36
+ const token = process.env.KVDB_TOKEN; // (なくてOK 任意)
37
+
38
+ if (!bucket) {
39
+ throw new Error("KVDB_BUCKET is required");
40
+ }
41
+
42
+ const kv = new KVdbClient({ bucket, token });
17
43
 
18
44
  await kv.set("myName", "n0bisuke");
19
45
  const name = await kv.get("myName");
20
- console.log(name);
46
+ console.log("myName:", name);
47
+
48
+ await kv.set("myData", { name: "test", value: 123 }, { json: true });
49
+ const data = await kv.get("myData", { parseJson: true });
50
+ console.log("myData:", data);
51
+
52
+ const keys = await kv.list();
53
+ console.log("keys:", keys);
54
+ ```
55
+
56
+ この辺は公式にもあるのでお好きな方をどうぞ。
57
+
58
+ ### 3) データ操作のトランザクションサンプル
59
+
60
+ 公式になかったトランザクションです。まとめて処理したいときに便利です。
61
+
62
+ ```js
63
+ import { KVdbClient } from "kvdb-client";
64
+
65
+ const bucket = process.env.KVDB_BUCKET;
66
+ const token = process.env.KVDB_TOKEN; // (なくてOK 任意)
67
+
68
+ if (!bucket) {
69
+ throw new Error("KVDB_BUCKET is required");
70
+ }
71
+
72
+ const kv = new KVdbClient({ bucket, token });
73
+
74
+ await kv.transaction([
75
+ { set: "users:email:new@example.com", value: "user 1" },
76
+ { delete: "users:email:old@example.com" }
77
+ ]);
78
+
79
+ console.log("transaction done");
21
80
  ```
22
81
 
23
82
  ## 認証
@@ -140,6 +199,10 @@ await kv.deleteBucket();
140
199
  - `token` は `curl -u 'token:'` と同じ形式で送信されます。
141
200
  - KVdb に保存した情報がどのように扱われるかについて、SDK 開発者(n0bisuke)は一切把握していません。利用は自己責任とし、トラブル等について開発者は責任を負いません。
142
201
 
202
+ ## 参考記事
203
+
204
+ - `https://qiita.com/n0bisuke/items/540478c314a09ee14ba9`
205
+
143
206
  ## Language
144
207
 
145
208
  - English: `README.md`
package/README.md CHANGED
@@ -10,14 +10,69 @@ npm install kvdb-client
10
10
 
11
11
  ## Quick Start
12
12
 
13
+ ### 1) Create a bucket
14
+
13
15
  ```js
14
16
  import { KVdbClient } from "kvdb-client";
15
17
 
16
- const kv = new KVdbClient({ bucket: "YOUR_BUCKET" });
18
+ const email = process.env.KVDB_EMAIL; // your email
19
+
20
+ if (!email) {
21
+ throw new Error("KVDB_EMAIL is required");
22
+ }
23
+
24
+ const bucket = await KVdbClient.createBucket(email);
25
+ console.log("bucket:", bucket);
26
+ ```
27
+
28
+ You can create a bucket just by providing an email address.
29
+
30
+ ### 2) Read & write data
31
+
32
+ ```js
33
+ import { KVdbClient } from "kvdb-client";
34
+
35
+ const bucket = process.env.KVDB_BUCKET; // your bucket id
36
+ const token = process.env.KVDB_TOKEN; // optional
37
+
38
+ if (!bucket) {
39
+ throw new Error("KVDB_BUCKET is required");
40
+ }
41
+
42
+ const kv = new KVdbClient({ bucket, token });
17
43
 
18
44
  await kv.set("myName", "n0bisuke");
19
45
  const name = await kv.get("myName");
20
- console.log(name);
46
+ console.log("myName:", name);
47
+
48
+ await kv.set("myData", { name: "test", value: 123 }, { json: true });
49
+ const data = await kv.get("myData", { parseJson: true });
50
+ console.log("myData:", data);
51
+
52
+ const keys = await kv.list();
53
+ console.log("keys:", keys);
54
+ ```
55
+
56
+ ### 3) Transaction (batch operations)
57
+
58
+ ```js
59
+ import { KVdbClient } from "kvdb-client";
60
+
61
+ const bucket = process.env.KVDB_BUCKET;
62
+ const token = process.env.KVDB_TOKEN; // optional
63
+
64
+ if (!bucket) {
65
+ throw new Error("KVDB_BUCKET is required");
66
+ }
67
+
68
+ const kv = new KVdbClient({ bucket, token });
69
+
70
+ await kv.transaction([
71
+ { set: "users:email:new@example.com", value: "user 1" },
72
+ { delete: "users:email:old@example.com" }
73
+ ]);
74
+
75
+ console.log("transaction done");
21
76
  ```
22
77
 
23
78
  ## Authentication
@@ -140,6 +195,10 @@ await kv.deleteBucket();
140
195
  - `token` for Basic auth is sent as `curl -u 'token:'`.
141
196
  - The SDK author (n0bisuke) has no knowledge of how data stored in KVdb is handled; use at your own risk. The author is not responsible for any issues or damages.
142
197
 
198
+ ## Related Article
199
+
200
+ - `https://qiita.com/n0bisuke/items/540478c314a09ee14ba9`
201
+
143
202
  ## Language
144
203
 
145
204
  - English (this file)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kvdb-client",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Simple Node.js client for kvdb.io",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",