@vtecx/vtecxdocument 1.0.0
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.
- package/README.md +21 -0
- package/docs/api/acl.md +68 -0
- package/docs/api/auth.md +153 -0
- package/docs/api/content.md +177 -0
- package/docs/api/counter.md +96 -0
- package/docs/api/data.md +243 -0
- package/docs/api/db.md +148 -0
- package/docs/api/group.md +151 -0
- package/docs/api/index.md +117 -0
- package/docs/api/notify.md +123 -0
- package/docs/api/oauth.md +100 -0
- package/docs/api/pdf.md +75 -0
- package/docs/api/session.md +170 -0
- package/docs/api/user.md +225 -0
- package/docs/api/util.md +198 -0
- package/docs/framework.md +882 -0
- package/docs/vtecxnext-api.md +259 -0
- package/package.json +24 -0
package/README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# @vtecx/vtecxdocument
|
|
2
|
+
|
|
3
|
+
vte.cx BaaS framework and API documentation package.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
|
|
7
|
+
- `docs/framework.md` — Framework overview
|
|
8
|
+
- `docs/vtecxnext-api.md` — vte.cx Next API guide
|
|
9
|
+
- `docs/api/` — Individual API reference documents
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @vtecx/vtecxdocument
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
After installation, documentation is available under `node_modules/@vtecx/vtecxdocument/docs/`.
|
|
18
|
+
|
|
19
|
+
## Source
|
|
20
|
+
|
|
21
|
+
[https://github.com/reflexworks/vtecxdocument](https://github.com/reflexworks/vtecxdocument)
|
package/docs/api/acl.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# ACL・エイリアス
|
|
2
|
+
|
|
3
|
+
エントリのアクセス権限(ACL)とエイリアス(複数パス参照)を操作するメソッド群。
|
|
4
|
+
|
|
5
|
+
> これらのメソッドは引数に **feed** を取る。対象エントリと追加・削除する ACL/エイリアスを `link` に含めた feed を渡す。
|
|
6
|
+
> 通常は `put()` でエントリ登録・更新時に `contributor`(ACL)や `link` の `rel="alternate"`(エイリアス)を設定すれば足りる。以下は既存エントリの ACL/エイリアスを部分的に増減したい場合に使う。
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## ACL 操作
|
|
11
|
+
|
|
12
|
+
### `addacl(feed)`
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
addacl(feed: any): Promise<any>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
feed で指定したエントリに ACL を追加する。
|
|
19
|
+
|
|
20
|
+
| 引数 | 型 | 説明 |
|
|
21
|
+
| --- | --- | --- |
|
|
22
|
+
| `feed` | `any` | 対象エントリと追加する ACL(`contributor`)を含む feed |
|
|
23
|
+
|
|
24
|
+
#### ACL 文字列の形式
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
urn:vte.cx:acl:/_group/$admin,CURD ← 管理者グループにCURD権限
|
|
28
|
+
urn:vte.cx:acl:+,CURDE ← ログインユーザー全員にCURDE権限
|
|
29
|
+
urn:vte.cx:acl:{uid},CURD ← 特定ユーザーにCURD権限
|
|
30
|
+
urn:vte.cx:acl:/_group/viewer,R ← viewerグループに読み取り権限のみ
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### `removeacl(feed)`
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
removeacl(feed: any): Promise<any>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
feed で指定したエントリから ACL を削除する。
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## エイリアス操作
|
|
46
|
+
|
|
47
|
+
エイリアスは同一エントリを複数のパスから参照する仕組み。
|
|
48
|
+
通常は `put()` で `link` 配列に `___rel: 'alternate'` を追加することで設定するが、`addalias` / `removealias` でも操作できる。
|
|
49
|
+
|
|
50
|
+
詳細は [framework.md](../framework.md#エイリアス横断検索) を参照。
|
|
51
|
+
|
|
52
|
+
### `addalias(feed)`
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
addalias(feed: any): Promise<any>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
feed で指定したエントリにエイリアスパスを追加する。
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### `removealias(feed)`
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
removealias(feed: any): Promise<any>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
feed で指定したエントリからエイリアスパスを削除する。
|
package/docs/api/auth.md
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# 認証・セッション
|
|
2
|
+
|
|
3
|
+
ログイン状態の確認・ログイン・ログアウト・ユーザー情報取得を行うメソッド群。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ログイン状態確認
|
|
8
|
+
|
|
9
|
+
### `isLoggedin()`
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
isLoggedin(): Promise<boolean>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
現在のリクエストがログイン済みかどうかを返す。
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
### `uid()`
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
uid(): Promise<string>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
ログインユーザーの UID を返す。未ログインの場合はエラーをスロー。
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
const uid = await vtecxnext.uid()
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### `account()`
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
account(): Promise<string>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
ログインユーザーのアカウント名(メールアドレス)を返す。
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
### `service()`
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
service(): Promise<string>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
現在のサービス名を返す。
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
const serviceName = await vtecxnext.service()
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### `now()`
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
now(): Promise<string>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
サーバーの現在日時を ISO 8601 形式で返す。
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### `rxid()`
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
rxid(): Promise<string>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
リクエスト ID を返す。
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### `whoami()`
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
whoami(): Promise<any>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
ログインユーザーの詳細情報を feed 形式で返す。
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## ログイン
|
|
88
|
+
|
|
89
|
+
### `login(wsse, reCaptchaToken?)`
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
login(wsse: string, reCaptchaToken?: string): Promise<StatusMessage>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
WSSE 認証情報を使ってログインする。
|
|
96
|
+
|
|
97
|
+
| 引数 | 型 | 説明 |
|
|
98
|
+
| --- | --- | --- |
|
|
99
|
+
| `wsse` | `string` | WSSE 認証情報 |
|
|
100
|
+
| `reCaptchaToken` | `string?` | reCAPTCHA トークン(省略可) |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### `loginWithRxid(rxid)`
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
loginWithRxid(rxid: string): Promise<StatusMessage>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
RXID を使ってセッションを確立する。パスワードリセットフローや仮登録完了フローで使用。
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
const rxid = vtecxnext.getParameter('_RXID') ?? ''
|
|
114
|
+
await vtecxnext.loginWithRxid(rxid)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### `loginWithTotp(totp, isTrustedDevice)`
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
loginWithTotp(totp: string, isTrustedDevice: boolean): Promise<StatusMessage>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
TOTP(ワンタイムパスワード)を使ってログインする。多要素認証(MFA)フローで使用。
|
|
126
|
+
|
|
127
|
+
| 引数 | 型 | 説明 |
|
|
128
|
+
| --- | --- | --- |
|
|
129
|
+
| `totp` | `string` | ワンタイムパスワード |
|
|
130
|
+
| `isTrustedDevice` | `boolean` | 信頼済みデバイスとして登録するか |
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## ログアウト
|
|
135
|
+
|
|
136
|
+
### `logout()`
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
logout(): Promise<StatusMessage>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
現在のセッションをログアウトする。
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 型定義
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
type StatusMessage = {
|
|
150
|
+
status: number
|
|
151
|
+
message: string
|
|
152
|
+
}
|
|
153
|
+
```
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# コンテンツ・ファイル
|
|
2
|
+
|
|
3
|
+
バイナリファイルの保存・取得・削除・署名付き URL の発行を行うメソッド群。
|
|
4
|
+
|
|
5
|
+
> アップロード対象のデータは、`VtecxNext` のコンストラクタに渡した `NextRequest`(リクエストボディ)から読み取られる。メソッド引数でコンテンツ本体を直接渡すのは `putcontent` の `arrayBuffer` のみ。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## URL 取得
|
|
10
|
+
|
|
11
|
+
### `getcontenturl(uri)`
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
getcontenturl(uri: string): Promise<string>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
コンテンツ(ファイル)の URL を取得する。
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
const url = await vtecxnext.getcontenturl('/files/image/001')
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## ファイルアップロード
|
|
26
|
+
|
|
27
|
+
### `savefiles(uri, bysize?)`
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
savefiles(uri: string, bysize?: boolean): Promise<any>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
リクエスト(コンストラクタに渡した `NextRequest`)に含まれるマルチパートフォームデータのファイルを、指定 URI 配下に保存する。
|
|
34
|
+
|
|
35
|
+
| 引数 | 型 | 説明 |
|
|
36
|
+
| --- | --- | --- |
|
|
37
|
+
| `uri` | `string` | 保存先の URI |
|
|
38
|
+
| `bysize` | `boolean?` | サイズ指定モードで保存するか(省略可) |
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
const result = await vtecxnext.savefiles('/files/image')
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
### `savefilesBySize(uri)`
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
savefilesBySize(uri: string): Promise<any>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
`savefiles(uri, true)` 相当。ファイルをサイズ指定モードで保存する。
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## コンテンツ操作
|
|
57
|
+
|
|
58
|
+
### `putcontent(uri, filename?, arrayBuffer?)`
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
putcontent(uri: string, filename?: string, arrayBuffer?: ArrayBuffer): Promise<any>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
コンテンツを指定 URI に保存(上書き)する。`arrayBuffer` を省略した場合はリクエストボディから読み取る。
|
|
65
|
+
|
|
66
|
+
| 引数 | 型 | 説明 |
|
|
67
|
+
| --- | --- | --- |
|
|
68
|
+
| `uri` | `string` | 保存先 URI |
|
|
69
|
+
| `filename` | `string?` | ファイル名(省略可) |
|
|
70
|
+
| `arrayBuffer` | `ArrayBuffer?` | 保存するコンテンツ本体(省略時はリクエストボディ) |
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
await vtecxnext.putcontent('/files/report/001', 'report.pdf', pdfArrayBuffer)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
### `putcontentBySize(uri)`
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
putcontentBySize(uri: string): Promise<any>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
`putcontent` のサイズ指定モード版。
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### `postcontent(parenturi, extension?, filename?)`
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
postcontent(parenturi: string, extension?: string, filename?: string): Promise<any>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
コンテンツを新規作成する。ID は `parenturi` 配下に vte.cx が自動採番する。
|
|
95
|
+
|
|
96
|
+
| 引数 | 型 | 説明 |
|
|
97
|
+
| --- | --- | --- |
|
|
98
|
+
| `parenturi` | `string` | 親フォルダの URI |
|
|
99
|
+
| `extension` | `string?` | 拡張子(省略可) |
|
|
100
|
+
| `filename` | `string?` | ファイル名(省略可) |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### `getcontent(uri)`
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
getcontent(uri: string): Promise<boolean>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
指定 URI のコンテンツを取得し、レスポンスへ書き出す。取得に成功したかどうかを `boolean` で返す。
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
const ok = await vtecxnext.getcontent('/files/report/001')
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
### `deletecontent(uri)`
|
|
119
|
+
|
|
120
|
+
```typescript
|
|
121
|
+
deletecontent(uri: string): Promise<any>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
指定 URI のコンテンツを削除する。
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 署名付き URL
|
|
129
|
+
|
|
130
|
+
大容量ファイルの直接アップロード・ダウンロード向け。クライアントが署名付き URL を使って直接 GCS などと通信するため、サーバーを経由しない。戻り値は `ContentSignedUrl` 型。
|
|
131
|
+
|
|
132
|
+
### `getSignedUrlToPutContent(uri, filename?)`
|
|
133
|
+
|
|
134
|
+
```typescript
|
|
135
|
+
getSignedUrlToPutContent(uri: string, filename?: string): Promise<ContentSignedUrl>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
PUT(上書き保存)用の署名付き URL を発行する。
|
|
139
|
+
|
|
140
|
+
```typescript
|
|
141
|
+
const signed = await vtecxnext.getSignedUrlToPutContent('/files/video/001', 'movie.mp4')
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### `getSignedUrlToPostContent(parenturi, extension?, filename?)`
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
getSignedUrlToPostContent(
|
|
150
|
+
parenturi: string,
|
|
151
|
+
extension?: string,
|
|
152
|
+
filename?: string
|
|
153
|
+
): Promise<ContentSignedUrl>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
POST(新規作成)用の署名付き URL を発行する。
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
### `getSignedUrlToGetContent(uri)`
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
getSignedUrlToGetContent(uri: string): Promise<ContentSignedUrl>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
GET(ダウンロード)用の署名付き URL を発行する。
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 型定義
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
type ContentSignedUrl = {
|
|
174
|
+
url: string // 署名付き URL
|
|
175
|
+
key: string // 対象コンテンツのキー
|
|
176
|
+
}
|
|
177
|
+
```
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# 採番・カウンタ
|
|
2
|
+
|
|
3
|
+
連番 ID の払い出しや、カウンタ値の操作を行うメソッド群。
|
|
4
|
+
vte.cx のカウンタ機能は、原子性が保証された連番採番に使用する。
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 連番採番
|
|
9
|
+
|
|
10
|
+
### `allocids(uri, num, targetService?)`
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
allocids(uri: string, num: number, targetService?: string): Promise<string>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
指定した URI のカウンタから `num` 個の連番を払い出す。
|
|
17
|
+
`"{開始},{終了}"` 形式の文字列を返す。
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
const range = await vtecxnext.allocids('/crm/customer/_ids', 1)
|
|
21
|
+
// 例: "42,43" → 42 を払い出し(num=1 で 1 件)
|
|
22
|
+
const id = range.split(',')[0] // "42"
|
|
23
|
+
const paddedId = id.padStart(10, '0') // "0000000042"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
### `addids(uri, num, targetService?)`
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
addids(uri: string, num: number, targetService?: string): Promise<number | null>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
カウンタに `num` を加算し、加算後の値を返す。
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
const next = await vtecxnext.addids('/counter/order', 1)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## カウンタ参照・設定
|
|
43
|
+
|
|
44
|
+
### `getids(uri, targetService?)`
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
getids(uri: string, targetService?: string): Promise<number | null>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
カウンタの現在値を取得する。
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
const current = await vtecxnext.getids('/counter/order')
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### `setids(uri, num, targetService?)`
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
setids(uri: string, num: number, targetService?: string): Promise<number | null>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
カウンタの値を指定した値に設定する。設定後の値を返す。
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
await vtecxnext.setids('/counter/order', 1000)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 範囲採番
|
|
73
|
+
|
|
74
|
+
### `rangeids(uri, range)`
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
rangeids(uri: string, range: string): Promise<string>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
カウンタから指定した範囲を確保する。`range` は `"{開始}-{終了}"` 形式。
|
|
81
|
+
確保した範囲を文字列で返す。
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
const result = await vtecxnext.rangeids('/counter/order', '1-100')
|
|
85
|
+
// 例: "1-100"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
### `getRangeids(uri)`
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
getRangeids(uri: string): Promise<string>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
`rangeids()` で確保した範囲の現在値を文字列で返す。
|