mixi2-js 0.0.4 → 0.0.5
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 +16 -1
- package/dist/index.cjs +17 -22
- package/dist/index.js +17 -22
- package/package.json +13 -6
package/README.md
CHANGED
|
@@ -6,12 +6,15 @@
|
|
|
6
6
|
[](package.json)
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
8
|
[](https://github.com/otoneko1102/mixi2-js/actions)
|
|
9
|
+
[](eslint.config.js)
|
|
10
|
+
[](https://prettier.io/)
|
|
9
11
|
|
|
10
12
|
mixi2 の [Application API](https://developer.mixi.social/docs) を利用するための **非公式** TypeScript/JavaScript SDK です。
|
|
11
13
|
|
|
12
14
|
[公式 Go SDK](https://github.com/mixigroup/mixi2-application-sdk-go) および [公式 API 仕様](https://github.com/mixigroup/mixi2-api) に基づいて作成されています。
|
|
13
15
|
|
|
14
|
-
>
|
|
16
|
+
> [!Note]
|
|
17
|
+
> **これは MIXI 社公式のプロダクトではありません。コミュニティメンバーによるオープンソースプロジェクトです。**
|
|
15
18
|
|
|
16
19
|
---
|
|
17
20
|
|
|
@@ -75,7 +78,10 @@ ESM・CommonJS の両方に対応しています。TypeScript の型定義 (`.d.
|
|
|
75
78
|
### 認証
|
|
76
79
|
|
|
77
80
|
```typescript
|
|
81
|
+
// ESM
|
|
78
82
|
import { OAuth2Authenticator } from 'mixi2-js';
|
|
83
|
+
// CJS
|
|
84
|
+
const { OAuth2Authenticator } = require('mixi2-js');
|
|
79
85
|
|
|
80
86
|
const authenticator = new OAuth2Authenticator({
|
|
81
87
|
clientId: process.env.CLIENT_ID!,
|
|
@@ -90,7 +96,10 @@ const token = await authenticator.getAccessToken();
|
|
|
90
96
|
### API クライアント
|
|
91
97
|
|
|
92
98
|
```typescript
|
|
99
|
+
// ESM
|
|
93
100
|
import { OAuth2Authenticator, Client, MediaUploadType, LanguageCode } from 'mixi2-js';
|
|
101
|
+
// CJS
|
|
102
|
+
const { OAuth2Authenticator, Client, MediaUploadType, LanguageCode } = require('mixi2-js');
|
|
94
103
|
|
|
95
104
|
const authenticator = new OAuth2Authenticator({
|
|
96
105
|
clientId: process.env.CLIENT_ID!,
|
|
@@ -142,8 +151,11 @@ client.close();
|
|
|
142
151
|
### Webhook サーバー
|
|
143
152
|
|
|
144
153
|
```typescript
|
|
154
|
+
// ESM
|
|
145
155
|
import { WebhookServer, EventType } from 'mixi2-js';
|
|
146
156
|
import type { EventHandler, Event } from 'mixi2-js';
|
|
157
|
+
// CJS
|
|
158
|
+
const { WebhookServer, EventType } = require('mixi2-js');
|
|
147
159
|
|
|
148
160
|
const handler: EventHandler = {
|
|
149
161
|
handle: async (event: Event) => {
|
|
@@ -193,8 +205,11 @@ export default server.httpServer;
|
|
|
193
205
|
ローカル開発やプロトタイピングに推奨される方式です。外部公開 URL が不要です。
|
|
194
206
|
|
|
195
207
|
```typescript
|
|
208
|
+
// ESM
|
|
196
209
|
import { OAuth2Authenticator, StreamWatcher, EventType } from 'mixi2-js';
|
|
197
210
|
import type { EventHandler, Event } from 'mixi2-js';
|
|
211
|
+
// CJS
|
|
212
|
+
const { OAuth2Authenticator, StreamWatcher, EventType } = require('mixi2-js');
|
|
198
213
|
|
|
199
214
|
const authenticator = new OAuth2Authenticator({
|
|
200
215
|
clientId: process.env.CLIENT_ID!,
|
package/dist/index.cjs
CHANGED
|
@@ -471,28 +471,23 @@ var Client = class {
|
|
|
471
471
|
return metadata;
|
|
472
472
|
}
|
|
473
473
|
call(method, request) {
|
|
474
|
-
return
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
return;
|
|
481
|
-
}
|
|
482
|
-
const fn = this.grpcClient[method];
|
|
483
|
-
if (!fn) {
|
|
484
|
-
reject(new Error(`Method "${method}" not found on gRPC client`));
|
|
485
|
-
return;
|
|
486
|
-
}
|
|
487
|
-
fn.call(
|
|
488
|
-
this.grpcClient,
|
|
489
|
-
request,
|
|
490
|
-
metadata,
|
|
491
|
-
(err, response) => {
|
|
492
|
-
if (err) reject(err);
|
|
493
|
-
else resolve(response);
|
|
474
|
+
return this.getMetadata().then((metadata) => {
|
|
475
|
+
return new Promise((resolve, reject) => {
|
|
476
|
+
const fn = this.grpcClient[method];
|
|
477
|
+
if (!fn) {
|
|
478
|
+
reject(new Error(`Method "${method}" not found on gRPC client`));
|
|
479
|
+
return;
|
|
494
480
|
}
|
|
495
|
-
|
|
481
|
+
fn.call(
|
|
482
|
+
this.grpcClient,
|
|
483
|
+
request,
|
|
484
|
+
metadata,
|
|
485
|
+
(err, response) => {
|
|
486
|
+
if (err) reject(err);
|
|
487
|
+
else resolve(response);
|
|
488
|
+
}
|
|
489
|
+
);
|
|
490
|
+
});
|
|
496
491
|
});
|
|
497
492
|
}
|
|
498
493
|
async getUsers(userIdList) {
|
|
@@ -759,7 +754,7 @@ var StreamWatcher = class {
|
|
|
759
754
|
this.handleEvent(handler, event);
|
|
760
755
|
}
|
|
761
756
|
});
|
|
762
|
-
s.on("error", async (
|
|
757
|
+
s.on("error", async () => {
|
|
763
758
|
if (this.aborted) {
|
|
764
759
|
resolve();
|
|
765
760
|
return;
|
package/dist/index.js
CHANGED
|
@@ -414,28 +414,23 @@ var Client = class {
|
|
|
414
414
|
return metadata;
|
|
415
415
|
}
|
|
416
416
|
call(method, request) {
|
|
417
|
-
return
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
return;
|
|
424
|
-
}
|
|
425
|
-
const fn = this.grpcClient[method];
|
|
426
|
-
if (!fn) {
|
|
427
|
-
reject(new Error(`Method "${method}" not found on gRPC client`));
|
|
428
|
-
return;
|
|
429
|
-
}
|
|
430
|
-
fn.call(
|
|
431
|
-
this.grpcClient,
|
|
432
|
-
request,
|
|
433
|
-
metadata,
|
|
434
|
-
(err, response) => {
|
|
435
|
-
if (err) reject(err);
|
|
436
|
-
else resolve(response);
|
|
417
|
+
return this.getMetadata().then((metadata) => {
|
|
418
|
+
return new Promise((resolve, reject) => {
|
|
419
|
+
const fn = this.grpcClient[method];
|
|
420
|
+
if (!fn) {
|
|
421
|
+
reject(new Error(`Method "${method}" not found on gRPC client`));
|
|
422
|
+
return;
|
|
437
423
|
}
|
|
438
|
-
|
|
424
|
+
fn.call(
|
|
425
|
+
this.grpcClient,
|
|
426
|
+
request,
|
|
427
|
+
metadata,
|
|
428
|
+
(err, response) => {
|
|
429
|
+
if (err) reject(err);
|
|
430
|
+
else resolve(response);
|
|
431
|
+
}
|
|
432
|
+
);
|
|
433
|
+
});
|
|
439
434
|
});
|
|
440
435
|
}
|
|
441
436
|
async getUsers(userIdList) {
|
|
@@ -702,7 +697,7 @@ var StreamWatcher = class {
|
|
|
702
697
|
this.handleEvent(handler, event);
|
|
703
698
|
}
|
|
704
699
|
});
|
|
705
|
-
s.on("error", async (
|
|
700
|
+
s.on("error", async () => {
|
|
706
701
|
if (this.aborted) {
|
|
707
702
|
resolve();
|
|
708
703
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mixi2-js",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "TypeScript/JavaScript SDK for mixi2 Application API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
"setup": "npm install && node scripts/setup.js",
|
|
27
27
|
"test": "jest",
|
|
28
28
|
"check": "tsc --noEmit",
|
|
29
|
+
"lint": "eslint ./src/",
|
|
30
|
+
"lint:fix": "eslint ./src/ --fix",
|
|
29
31
|
"build": "tsup",
|
|
30
32
|
"format": "prettier --write ./src/",
|
|
31
33
|
"format:check": "prettier --check ./src/"
|
|
@@ -37,6 +39,7 @@
|
|
|
37
39
|
"keywords": [
|
|
38
40
|
"mixi2",
|
|
39
41
|
"mixi",
|
|
42
|
+
"mixi.social",
|
|
40
43
|
"sdk",
|
|
41
44
|
"api",
|
|
42
45
|
"grpc",
|
|
@@ -49,18 +52,22 @@
|
|
|
49
52
|
"url": "https://github.com/otoneko1102/mixi2-js/issues"
|
|
50
53
|
},
|
|
51
54
|
"homepage": "https://github.com/otoneko1102/mixi2-js#readme",
|
|
55
|
+
"dependencies": {
|
|
56
|
+
"@grpc/grpc-js": "^1.14.3",
|
|
57
|
+
"@grpc/proto-loader": "^0.8.0"
|
|
58
|
+
},
|
|
52
59
|
"devDependencies": {
|
|
60
|
+
"@eslint/js": "^10.0.1",
|
|
53
61
|
"@types/jest": "^30.0.0",
|
|
54
62
|
"@types/node": "^25.3.5",
|
|
63
|
+
"eslint": "^10.0.2",
|
|
64
|
+
"eslint-config-prettier": "^10.1.8",
|
|
55
65
|
"jest": "^30.2.0",
|
|
56
66
|
"prettier": "^3.8.1",
|
|
57
67
|
"ts-jest": "^29.4.6",
|
|
58
68
|
"tsup": "^8.5.1",
|
|
59
|
-
"typescript": "^5.9.3"
|
|
60
|
-
|
|
61
|
-
"dependencies": {
|
|
62
|
-
"@grpc/grpc-js": "^1.14.3",
|
|
63
|
-
"@grpc/proto-loader": "^0.8.0"
|
|
69
|
+
"typescript": "^5.9.3",
|
|
70
|
+
"typescript-eslint": "^8.56.1"
|
|
64
71
|
},
|
|
65
72
|
"engines": {
|
|
66
73
|
"node": ">=18.0.0"
|