@sandvichxyz/pecans 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/LICENSE +661 -0
- package/README.md +34 -0
- package/dist/account/index.d.ts +7 -0
- package/dist/account/index.d.ts.map +1 -0
- package/dist/account/index.js +24 -0
- package/dist/account/index.js.map +1 -0
- package/dist/answer/index.d.ts +11 -0
- package/dist/answer/index.d.ts.map +1 -0
- package/dist/answer/index.js +35 -0
- package/dist/answer/index.js.map +1 -0
- package/dist/auth/index.d.ts +6 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +16 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/client.d.ts +42 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +150 -0
- package/dist/client.js.map +1 -0
- package/dist/drawing/index.d.ts +8 -0
- package/dist/drawing/index.d.ts.map +1 -0
- package/dist/drawing/index.js +28 -0
- package/dist/drawing/index.js.map +1 -0
- package/dist/enums.d.ts +11 -0
- package/dist/enums.d.ts.map +1 -0
- package/dist/enums.js +17 -0
- package/dist/enums.js.map +1 -0
- package/dist/extensions/ask.d.ts +10 -0
- package/dist/extensions/ask.d.ts.map +1 -0
- package/dist/extensions/ask.js +25 -0
- package/dist/extensions/ask.js.map +1 -0
- package/dist/forum/index.d.ts +10 -0
- package/dist/forum/index.d.ts.map +1 -0
- package/dist/forum/index.js +42 -0
- package/dist/forum/index.js.map +1 -0
- package/dist/generated/client.d.ts +36 -0
- package/dist/generated/client.d.ts.map +1 -0
- package/dist/generated/client.js +115 -0
- package/dist/generated/client.js.map +1 -0
- package/dist/generated/decoders.d.ts +6 -0
- package/dist/generated/decoders.d.ts.map +1 -0
- package/dist/generated/decoders.js +41 -0
- package/dist/generated/decoders.js.map +1 -0
- package/dist/generated/enums.d.ts +11 -0
- package/dist/generated/enums.d.ts.map +1 -0
- package/dist/generated/enums.js +17 -0
- package/dist/generated/enums.js.map +1 -0
- package/dist/generated/index.d.ts +20 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +37 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/generated/modules/account.d.ts +7 -0
- package/dist/generated/modules/account.d.ts.map +1 -0
- package/dist/generated/modules/account.js +30 -0
- package/dist/generated/modules/account.js.map +1 -0
- package/dist/generated/modules/answer.d.ts +11 -0
- package/dist/generated/modules/answer.d.ts.map +1 -0
- package/dist/generated/modules/answer.js +50 -0
- package/dist/generated/modules/answer.js.map +1 -0
- package/dist/generated/modules/ask.d.ts +30 -0
- package/dist/generated/modules/ask.d.ts.map +1 -0
- package/dist/generated/modules/ask.js +61 -0
- package/dist/generated/modules/ask.js.map +1 -0
- package/dist/generated/modules/auth.d.ts +7 -0
- package/dist/generated/modules/auth.d.ts.map +1 -0
- package/dist/generated/modules/auth.js +27 -0
- package/dist/generated/modules/auth.js.map +1 -0
- package/dist/generated/modules/dashboard.d.ts +11 -0
- package/dist/generated/modules/dashboard.d.ts.map +1 -0
- package/dist/generated/modules/dashboard.js +20 -0
- package/dist/generated/modules/dashboard.js.map +1 -0
- package/dist/generated/modules/drawing.d.ts +33 -0
- package/dist/generated/modules/drawing.d.ts.map +1 -0
- package/dist/generated/modules/drawing.js +69 -0
- package/dist/generated/modules/drawing.js.map +1 -0
- package/dist/generated/modules/feed.d.ts +22 -0
- package/dist/generated/modules/feed.d.ts.map +1 -0
- package/dist/generated/modules/feed.js +43 -0
- package/dist/generated/modules/feed.js.map +1 -0
- package/dist/generated/modules/forum.d.ts +26 -0
- package/dist/generated/modules/forum.d.ts.map +1 -0
- package/dist/generated/modules/forum.js +101 -0
- package/dist/generated/modules/forum.js.map +1 -0
- package/dist/generated/modules/images.d.ts +27 -0
- package/dist/generated/modules/images.d.ts.map +1 -0
- package/dist/generated/modules/images.js +53 -0
- package/dist/generated/modules/images.js.map +1 -0
- package/dist/generated/modules/messages.d.ts +9 -0
- package/dist/generated/modules/messages.d.ts.map +1 -0
- package/dist/generated/modules/messages.js +45 -0
- package/dist/generated/modules/messages.js.map +1 -0
- package/dist/generated/modules/navbar.d.ts +11 -0
- package/dist/generated/modules/navbar.d.ts.map +1 -0
- package/dist/generated/modules/navbar.js +20 -0
- package/dist/generated/modules/navbar.js.map +1 -0
- package/dist/generated/modules/notify.d.ts +14 -0
- package/dist/generated/modules/notify.d.ts.map +1 -0
- package/dist/generated/modules/notify.js +38 -0
- package/dist/generated/modules/notify.js.map +1 -0
- package/dist/generated/modules/profile.d.ts +34 -0
- package/dist/generated/modules/profile.d.ts.map +1 -0
- package/dist/generated/modules/profile.js +69 -0
- package/dist/generated/modules/profile.js.map +1 -0
- package/dist/generated/modules/qa.d.ts +12 -0
- package/dist/generated/modules/qa.d.ts.map +1 -0
- package/dist/generated/modules/qa.js +23 -0
- package/dist/generated/modules/qa.js.map +1 -0
- package/dist/generated/modules/settings.d.ts +23 -0
- package/dist/generated/modules/settings.d.ts.map +1 -0
- package/dist/generated/modules/settings.js +44 -0
- package/dist/generated/modules/settings.js.map +1 -0
- package/dist/generated/modules/stories.d.ts +18 -0
- package/dist/generated/modules/stories.d.ts.map +1 -0
- package/dist/generated/modules/stories.js +35 -0
- package/dist/generated/modules/stories.js.map +1 -0
- package/dist/generated/types.d.ts +528 -0
- package/dist/generated/types.d.ts.map +1 -0
- package/dist/generated/types.js +4 -0
- package/dist/generated/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/messages/index.d.ts +9 -0
- package/dist/messages/index.d.ts.map +1 -0
- package/dist/messages/index.js +33 -0
- package/dist/messages/index.js.map +1 -0
- package/dist/module.d.ts +7 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/module.js +27 -0
- package/dist/module.js.map +1 -0
- package/dist/notify/index.d.ts +8 -0
- package/dist/notify/index.d.ts.map +1 -0
- package/dist/notify/index.js +19 -0
- package/dist/notify/index.js.map +1 -0
- package/dist/runtime/call.d.ts +19 -0
- package/dist/runtime/call.d.ts.map +1 -0
- package/dist/runtime/call.js +26 -0
- package/dist/runtime/call.js.map +1 -0
- package/dist/runtime/client.d.ts +26 -0
- package/dist/runtime/client.d.ts.map +1 -0
- package/dist/runtime/client.js +87 -0
- package/dist/runtime/client.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +21 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/join.d.ts +2 -0
- package/dist/runtime/join.d.ts.map +1 -0
- package/dist/runtime/join.js +14 -0
- package/dist/runtime/join.js.map +1 -0
- package/dist/runtime/module.d.ts +7 -0
- package/dist/runtime/module.d.ts.map +1 -0
- package/dist/runtime/module.js +27 -0
- package/dist/runtime/module.js.map +1 -0
- package/dist/runtime/types.d.ts +19 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +3 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +36 -0
package/README.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# pecans
|
|
2
|
+
|
|
3
|
+
Pretty easy Two Cans & String API wrapper.
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npm install @sandvichxyz/pecans
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Quick start
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { Client } from "@sandvichxyz/pecans";
|
|
13
|
+
|
|
14
|
+
const client = new Client(process.env.TC_AUTH);
|
|
15
|
+
|
|
16
|
+
const res = await client.messages.folderView();
|
|
17
|
+
for (const msg of res.messages) {
|
|
18
|
+
console.log(msg.preview);
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Batching
|
|
23
|
+
|
|
24
|
+
The Two Cans & String HTTP API accepts several RPC calls in one HTTP request.
|
|
25
|
+
`client.batch` replicates this behavior with individually typed responses. For
|
|
26
|
+
example, the following sends two requests in one HTTP call:
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
const [inbox, hits] = await client.batch(
|
|
30
|
+
client.messages.folderView(),
|
|
31
|
+
client.forum.search("hello"),
|
|
32
|
+
);
|
|
33
|
+
// inbox: FolderViewResponse, hits: ForumSearchResponse
|
|
34
|
+
```
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Module } from "../module";
|
|
2
|
+
import { TCResponse } from "../generated/types";
|
|
3
|
+
export declare class AccountModule extends Module {
|
|
4
|
+
register(email: string, username: string, password: string): Promise<TCResponse>;
|
|
5
|
+
activate(token: string): Promise<TCResponse>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,qBAAa,aAAc,SAAQ,MAAM;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAchF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAQ5D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountModule = void 0;
|
|
4
|
+
/* Generated by pecans-spec. Do not edit. */
|
|
5
|
+
const module_1 = require("../module");
|
|
6
|
+
class AccountModule extends module_1.Module {
|
|
7
|
+
async register(email, username, password) {
|
|
8
|
+
return await this.client._call("account.register", {
|
|
9
|
+
"email": email,
|
|
10
|
+
"username": username,
|
|
11
|
+
"password1": password,
|
|
12
|
+
"password2": password,
|
|
13
|
+
"age": true,
|
|
14
|
+
"tos": true,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async activate(token) {
|
|
18
|
+
return await this.client._call("account.activate", {
|
|
19
|
+
"token": token,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.AccountModule = AccountModule;
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/account/index.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,sCAAmC;AAGnC,MAAa,aAAc,SAAQ,eAAM;IAC9B,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,QAAgB,EAAE,QAAgB;QACnE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,kBAAkB,EAClB;YACI,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,QAAQ;YACrB,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;SACd,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC/B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,kBAAkB,EAClB;YACI,OAAO,EAAE,KAAK;SACjB,CACJ,CAAC;IACN,CAAC;CACJ;AAvBD,sCAuBC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Module } from "../module";
|
|
2
|
+
import { AnswerQueueQuestionResponse, AnswerReplyResponse, QuestionFetchResponse, TCResponse } from "../generated/types";
|
|
3
|
+
import { DismissAction } from "../enums";
|
|
4
|
+
export declare class AnswerModule extends Module {
|
|
5
|
+
fetchNext(): Promise<QuestionFetchResponse>;
|
|
6
|
+
dismissQuestion(questionId: number, action: DismissAction): Promise<TCResponse>;
|
|
7
|
+
pollVote(questionId: number, optionNum: number): Promise<TCResponse>;
|
|
8
|
+
queueQuestion(questionId: number): Promise<AnswerQueueQuestionResponse>;
|
|
9
|
+
reply(questionId: number, text: string): Promise<AnswerReplyResponse>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/answer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACzH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,qBAAa,YAAa,SAAQ,MAAM;IACvB,SAAS,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAO3C,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAU/E,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAUpE,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IASvE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CASrF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AnswerModule = void 0;
|
|
4
|
+
/* Generated by pecans-spec. Do not edit. */
|
|
5
|
+
const module_1 = require("../module");
|
|
6
|
+
class AnswerModule extends module_1.Module {
|
|
7
|
+
async fetchNext() {
|
|
8
|
+
return await this.client._call("answer.getnext", {});
|
|
9
|
+
}
|
|
10
|
+
async dismissQuestion(questionId, action) {
|
|
11
|
+
return await this.client._call("answer.dismissquestion", {
|
|
12
|
+
"questionId": questionId,
|
|
13
|
+
"action": action,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async pollVote(questionId, optionNum) {
|
|
17
|
+
return await this.client._call("answer.pollvote", {
|
|
18
|
+
"questionId": questionId,
|
|
19
|
+
"optionNum": optionNum,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async queueQuestion(questionId) {
|
|
23
|
+
return await this.client._call("answer.queuequestion", {
|
|
24
|
+
"questionId": questionId,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async reply(questionId, text) {
|
|
28
|
+
return await this.client._call("answer.reply", {
|
|
29
|
+
"questionId": questionId,
|
|
30
|
+
"text": text,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.AnswerModule = AnswerModule;
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/answer/index.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,sCAAmC;AAInC,MAAa,YAAa,SAAQ,eAAM;IAC7B,KAAK,CAAC,SAAS;QAClB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,gBAAgB,EAChB,EAAE,CACL,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,MAAqB;QAClE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,wBAAwB,EACxB;YACI,YAAY,EAAE,UAAU;YACxB,QAAQ,EAAE,MAAM;SACnB,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,SAAiB;QACvD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,iBAAiB,EACjB;YACI,YAAY,EAAE,UAAU;YACxB,WAAW,EAAE,SAAS;SACzB,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,UAAkB;QACzC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,sBAAsB,EACtB;YACI,YAAY,EAAE,UAAU;SAC3B,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,UAAkB,EAAE,IAAY;QAC/C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,cAAc,EACd;YACI,YAAY,EAAE,UAAU;YACxB,MAAM,EAAE,IAAI;SACf,CACJ,CAAC;IACN,CAAC;CACJ;AA9CD,oCA8CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,UAAW,SAAQ,MAAM;IACrB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAUzG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthModule = void 0;
|
|
4
|
+
/* Generated by pecans-spec. Do not edit. */
|
|
5
|
+
const module_1 = require("../module");
|
|
6
|
+
class AuthModule extends module_1.Module {
|
|
7
|
+
async login(username, password, client = "web") {
|
|
8
|
+
return await this.client._call("auth.login", {
|
|
9
|
+
"nameOrEmail": username,
|
|
10
|
+
"password": password,
|
|
11
|
+
"client": client,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.AuthModule = AuthModule;
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,sCAAmC;AAGnC,MAAa,UAAW,SAAQ,eAAM;IAC3B,KAAK,CAAC,KAAK,CAAC,QAAgB,EAAE,QAAgB,EAAE,SAAiB,KAAK;QACzE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,YAAY,EACZ;YACI,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,MAAM;SACnB,CACJ,CAAC;IACN,CAAC;CACJ;AAXD,gCAWC"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { TCProfile } from "./generated/types";
|
|
2
|
+
import { AccountModule } from "./account";
|
|
3
|
+
import { AnswerModule } from "./answer";
|
|
4
|
+
import { AuthModule } from "./auth";
|
|
5
|
+
import { DrawingModule } from "./drawing";
|
|
6
|
+
import { ForumModule } from "./forum";
|
|
7
|
+
import { MessagesModule } from "./messages";
|
|
8
|
+
import { NotifyModule } from "./notify";
|
|
9
|
+
export declare class ResponseParseError {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly message: string;
|
|
12
|
+
readonly responseText: string;
|
|
13
|
+
readonly cause?: unknown;
|
|
14
|
+
constructor(responseText: string, cause?: unknown);
|
|
15
|
+
}
|
|
16
|
+
export declare class Client {
|
|
17
|
+
#private;
|
|
18
|
+
static readonly BASE_URI = "https://api.twocansandstring.com/api";
|
|
19
|
+
static readonly VERSION = "1.68";
|
|
20
|
+
profileCache: {
|
|
21
|
+
[key: string]: TCProfile;
|
|
22
|
+
};
|
|
23
|
+
authToken?: string;
|
|
24
|
+
agent: string;
|
|
25
|
+
shouldTrimErrors: boolean;
|
|
26
|
+
get account(): AccountModule;
|
|
27
|
+
get answer(): AnswerModule;
|
|
28
|
+
get auth(): AuthModule;
|
|
29
|
+
get drawing(): DrawingModule;
|
|
30
|
+
get forum(): ForumModule;
|
|
31
|
+
get messages(): MessagesModule;
|
|
32
|
+
get notify(): NotifyModule;
|
|
33
|
+
get isBatching(): boolean;
|
|
34
|
+
constructor(auth?: string);
|
|
35
|
+
/** @internal */
|
|
36
|
+
_call<T>(methodName: string, args: {
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
}): Promise<T>;
|
|
39
|
+
beginBatch(): void;
|
|
40
|
+
endBatch(): Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,kBAAkB;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAwB;IACpD,SAAgB,OAAO,EAAE,MAAM,CAA0C;IACzE,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEb,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAM3D;AAQD,qBAAa,MAAM;;IACf,MAAM,CAAC,QAAQ,CAAC,QAAQ,0CAA0C;IAClE,MAAM,CAAC,QAAQ,CAAC,OAAO,UAAU;IAY1B,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAM;IAEhD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAY;IAEzB,gBAAgB,EAAE,OAAO,CAAQ;IAExC,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED,IAAW,QAAQ,IAAI,cAAc,CAEpC;IAED,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;gBAEkB,IAAI,CAAC,EAAE,MAAM;IAWhC,gBAAgB;IACT,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAatE,UAAU,IAAI,IAAI;IAIZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA4DzC"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var _Client_instances, _a, _Client_account, _Client_answer, _Client_auth, _Client_drawing, _Client_forum, _Client_messages, _Client_notify, _Client_activeBatch, _Client_build, _Client_send;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.Client = exports.ResponseParseError = void 0;
|
|
16
|
+
const account_1 = require("./account");
|
|
17
|
+
const answer_1 = require("./answer");
|
|
18
|
+
const auth_1 = require("./auth");
|
|
19
|
+
const drawing_1 = require("./drawing");
|
|
20
|
+
const forum_1 = require("./forum");
|
|
21
|
+
const messages_1 = require("./messages");
|
|
22
|
+
const notify_1 = require("./notify");
|
|
23
|
+
class ResponseParseError {
|
|
24
|
+
constructor(responseText, cause) {
|
|
25
|
+
this.name = "ResponseParseError";
|
|
26
|
+
this.message = "Failed to parse API response as JSON";
|
|
27
|
+
this.responseText = responseText;
|
|
28
|
+
if (cause !== undefined) {
|
|
29
|
+
this.cause = cause;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.ResponseParseError = ResponseParseError;
|
|
34
|
+
class Client {
|
|
35
|
+
get account() {
|
|
36
|
+
return __classPrivateFieldGet(this, _Client_account, "f");
|
|
37
|
+
}
|
|
38
|
+
get answer() {
|
|
39
|
+
return __classPrivateFieldGet(this, _Client_answer, "f");
|
|
40
|
+
}
|
|
41
|
+
get auth() {
|
|
42
|
+
return __classPrivateFieldGet(this, _Client_auth, "f");
|
|
43
|
+
}
|
|
44
|
+
get drawing() {
|
|
45
|
+
return __classPrivateFieldGet(this, _Client_drawing, "f");
|
|
46
|
+
}
|
|
47
|
+
get forum() {
|
|
48
|
+
return __classPrivateFieldGet(this, _Client_forum, "f");
|
|
49
|
+
}
|
|
50
|
+
get messages() {
|
|
51
|
+
return __classPrivateFieldGet(this, _Client_messages, "f");
|
|
52
|
+
}
|
|
53
|
+
get notify() {
|
|
54
|
+
return __classPrivateFieldGet(this, _Client_notify, "f");
|
|
55
|
+
}
|
|
56
|
+
get isBatching() {
|
|
57
|
+
return __classPrivateFieldGet(this, _Client_activeBatch, "f") !== null;
|
|
58
|
+
}
|
|
59
|
+
constructor(auth) {
|
|
60
|
+
_Client_instances.add(this);
|
|
61
|
+
_Client_account.set(this, void 0);
|
|
62
|
+
_Client_answer.set(this, void 0);
|
|
63
|
+
_Client_auth.set(this, void 0);
|
|
64
|
+
_Client_drawing.set(this, void 0);
|
|
65
|
+
_Client_forum.set(this, void 0);
|
|
66
|
+
_Client_messages.set(this, void 0);
|
|
67
|
+
_Client_notify.set(this, void 0);
|
|
68
|
+
_Client_activeBatch.set(this, null);
|
|
69
|
+
this.profileCache = {};
|
|
70
|
+
this.agent = "pecans";
|
|
71
|
+
this.shouldTrimErrors = true;
|
|
72
|
+
this.authToken = auth;
|
|
73
|
+
__classPrivateFieldSet(this, _Client_account, new account_1.AccountModule(this), "f");
|
|
74
|
+
__classPrivateFieldSet(this, _Client_answer, new answer_1.AnswerModule(this), "f");
|
|
75
|
+
__classPrivateFieldSet(this, _Client_auth, new auth_1.AuthModule(this), "f");
|
|
76
|
+
__classPrivateFieldSet(this, _Client_drawing, new drawing_1.DrawingModule(this), "f");
|
|
77
|
+
__classPrivateFieldSet(this, _Client_forum, new forum_1.ForumModule(this), "f");
|
|
78
|
+
__classPrivateFieldSet(this, _Client_messages, new messages_1.MessagesModule(this), "f");
|
|
79
|
+
__classPrivateFieldSet(this, _Client_notify, new notify_1.NotifyModule(this), "f");
|
|
80
|
+
}
|
|
81
|
+
/** @internal */
|
|
82
|
+
_call(methodName, args) {
|
|
83
|
+
const methodCall = { fn: methodName, payload: args };
|
|
84
|
+
if (__classPrivateFieldGet(this, _Client_activeBatch, "f") !== null) {
|
|
85
|
+
const batch = __classPrivateFieldGet(this, _Client_activeBatch, "f");
|
|
86
|
+
return new Promise((resolve, reject) => {
|
|
87
|
+
batch.push({ methodCall, resolve: resolve, reject });
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return __classPrivateFieldGet(this, _Client_instances, "m", _Client_send).call(this, [methodCall]).then((res) => __classPrivateFieldGet(this, _Client_instances, "m", _Client_build).call(this, res, 0));
|
|
91
|
+
}
|
|
92
|
+
beginBatch() {
|
|
93
|
+
__classPrivateFieldSet(this, _Client_activeBatch, __classPrivateFieldGet(this, _Client_activeBatch, "f") ?? [], "f");
|
|
94
|
+
}
|
|
95
|
+
async endBatch() {
|
|
96
|
+
const batch = __classPrivateFieldGet(this, _Client_activeBatch, "f");
|
|
97
|
+
__classPrivateFieldSet(this, _Client_activeBatch, null, "f");
|
|
98
|
+
if (batch === null || batch.length === 0) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
const res = await __classPrivateFieldGet(this, _Client_instances, "m", _Client_send).call(this, batch.map((call) => call.methodCall));
|
|
103
|
+
batch.forEach((call, index) => call.resolve(__classPrivateFieldGet(this, _Client_instances, "m", _Client_build).call(this, res, index)));
|
|
104
|
+
}
|
|
105
|
+
catch (reason) {
|
|
106
|
+
batch.forEach((call) => call.reject(reason));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.Client = Client;
|
|
111
|
+
_a = Client, _Client_account = new WeakMap(), _Client_answer = new WeakMap(), _Client_auth = new WeakMap(), _Client_drawing = new WeakMap(), _Client_forum = new WeakMap(), _Client_messages = new WeakMap(), _Client_notify = new WeakMap(), _Client_activeBatch = new WeakMap(), _Client_instances = new WeakSet(), _Client_build = function _Client_build(res, index) {
|
|
112
|
+
res?.profiles?.forEach((profile) => {
|
|
113
|
+
this.profileCache[profile.id] = profile;
|
|
114
|
+
});
|
|
115
|
+
return {
|
|
116
|
+
ok: res?.ok ?? false,
|
|
117
|
+
...(res?.responses?.[index] ?? {}),
|
|
118
|
+
profiles: res?.profiles,
|
|
119
|
+
};
|
|
120
|
+
}, _Client_send = async function _Client_send(requests) {
|
|
121
|
+
const headers = {
|
|
122
|
+
"Content-Type": "application/json",
|
|
123
|
+
"User-Agent": this.agent,
|
|
124
|
+
};
|
|
125
|
+
if (this.authToken != undefined) {
|
|
126
|
+
headers["Cookie"] = "twocansandstring_com_auth2=" + this.authToken;
|
|
127
|
+
}
|
|
128
|
+
const res = await fetch(_a.BASE_URI, {
|
|
129
|
+
method: "POST",
|
|
130
|
+
headers,
|
|
131
|
+
body: JSON.stringify({ auth: this.authToken, requests }),
|
|
132
|
+
});
|
|
133
|
+
if (!res.ok) {
|
|
134
|
+
return Promise.reject();
|
|
135
|
+
}
|
|
136
|
+
if (this.shouldTrimErrors) {
|
|
137
|
+
let text = await res.text();
|
|
138
|
+
text = text.replace(/^(?:.*\n)*{/, "{");
|
|
139
|
+
try {
|
|
140
|
+
return JSON.parse(text);
|
|
141
|
+
}
|
|
142
|
+
catch (cause) {
|
|
143
|
+
throw new ResponseParseError(text, cause);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return (await res.json());
|
|
147
|
+
};
|
|
148
|
+
Client.BASE_URI = "https://api.twocansandstring.com/api";
|
|
149
|
+
Client.VERSION = "1.68";
|
|
150
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Module } from "../module";
|
|
2
|
+
import { SaveDrawingResponse, TCResponse, ViewDrawingDataResponse } from "../generated/types";
|
|
3
|
+
export declare class DrawingModule extends Module {
|
|
4
|
+
saveDrawing(data: string, makeActive?: boolean): Promise<SaveDrawingResponse>;
|
|
5
|
+
viewDrawingData(imageId: string): Promise<ViewDrawingDataResponse>;
|
|
6
|
+
sendDrawing(imageId: string, receiver: string): Promise<TCResponse>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/drawing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE9F,qBAAa,aAAc,SAAQ,MAAM;IACxB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAWpF,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAUlE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CASnF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DrawingModule = void 0;
|
|
4
|
+
/* Generated by pecans-spec. Do not edit. */
|
|
5
|
+
const module_1 = require("../module");
|
|
6
|
+
class DrawingModule extends module_1.Module {
|
|
7
|
+
async saveDrawing(data, makeActive = false) {
|
|
8
|
+
return await this.client._call("legacy.drawing", {
|
|
9
|
+
"data": data,
|
|
10
|
+
"makeActive": makeActive,
|
|
11
|
+
"action": "save",
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async viewDrawingData(imageId) {
|
|
15
|
+
return await this.client._call("legacy.drawing", {
|
|
16
|
+
"imageId": imageId,
|
|
17
|
+
"action": "initial-image-data",
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async sendDrawing(imageId, receiver) {
|
|
21
|
+
return await this.client._call("drawing.send", {
|
|
22
|
+
"imageId": imageId,
|
|
23
|
+
"receiver": receiver,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.DrawingModule = DrawingModule;
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/drawing/index.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,sCAAmC;AAGnC,MAAa,aAAc,SAAQ,eAAM;IAC9B,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,aAAsB,KAAK;QAC9D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,gBAAgB,EAChB;YACI,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,UAAU;YACxB,QAAQ,EAAE,MAAM;SACnB,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,OAAe;QACxC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,gBAAgB,EAChB;YACI,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,oBAAoB;SACjC,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,QAAgB;QACtD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,cAAc,EACd;YACI,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,QAAQ;SACvB,CACJ,CAAC;IACN,CAAC;CACJ;AA/BD,sCA+BC"}
|
package/dist/enums.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AACA,oBAAY,OAAO;IACf,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;CAChB;AAED,oBAAY,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;CACtB"}
|
package/dist/enums.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DismissAction = exports.Feature = void 0;
|
|
4
|
+
/* Generated by pecans-spec. Do not edit. */
|
|
5
|
+
var Feature;
|
|
6
|
+
(function (Feature) {
|
|
7
|
+
Feature["FEED"] = "feed";
|
|
8
|
+
Feature["ASK"] = "ask";
|
|
9
|
+
Feature["FORUM"] = "forum";
|
|
10
|
+
Feature["CHAT"] = "chat";
|
|
11
|
+
})(Feature || (exports.Feature = Feature = {}));
|
|
12
|
+
var DismissAction;
|
|
13
|
+
(function (DismissAction) {
|
|
14
|
+
DismissAction["SNOOZE"] = "SNOOZE";
|
|
15
|
+
DismissAction["DISCARD"] = "DISCARD";
|
|
16
|
+
})(DismissAction || (exports.DismissAction = DismissAction = {}));
|
|
17
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,IAAY,OAKX;AALD,WAAY,OAAO;IACf,wBAAa,CAAA;IACb,sBAAW,CAAA;IACX,0BAAe,CAAA;IACf,wBAAa,CAAA;AACjB,CAAC,EALW,OAAO,uBAAP,OAAO,QAKlB;AAED,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Client } from "../generated/client";
|
|
2
|
+
import type { QuestionData, QuestionMetadata } from "../generated/types";
|
|
3
|
+
/** List all question metadata. */
|
|
4
|
+
export declare function listQuestions(client: Client): Promise<QuestionMetadata[]>;
|
|
5
|
+
/**
|
|
6
|
+
* Fetch question bodies for the given metadata and join each to its header by
|
|
7
|
+
* id. Throws if the API returns a body without matching metadata.
|
|
8
|
+
*/
|
|
9
|
+
export declare function fetchQuestions(client: Client, metadata: QuestionMetadata[]): Promise<QuestionData[]>;
|
|
10
|
+
//# sourceMappingURL=ask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/extensions/ask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,kCAAkC;AAClC,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAG/E;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAChC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAAE,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC,CAUzB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listQuestions = listQuestions;
|
|
4
|
+
exports.fetchQuestions = fetchQuestions;
|
|
5
|
+
/** List all question metadata. */
|
|
6
|
+
async function listQuestions(client) {
|
|
7
|
+
const res = await client.ask.listData();
|
|
8
|
+
return res.questions ?? [];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Fetch question bodies for the given metadata and join each to its header by
|
|
12
|
+
* id. Throws if the API returns a body without matching metadata.
|
|
13
|
+
*/
|
|
14
|
+
async function fetchQuestions(client, metadata) {
|
|
15
|
+
const byId = new Map(metadata.map((m) => [m.id, m]));
|
|
16
|
+
const res = await client.ask.qtext(metadata.map((m) => m.id));
|
|
17
|
+
return (res.questions ?? []).map((q) => {
|
|
18
|
+
const header = byId.get(q.id);
|
|
19
|
+
if (!header) {
|
|
20
|
+
throw new Error(`no metadata for question ${q.id}`);
|
|
21
|
+
}
|
|
22
|
+
return { body: q.text, header };
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=ask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/extensions/ask.ts"],"names":[],"mappings":";;AAIA,sCAGC;AAMD,wCAaC;AAvBD,kCAAkC;AAC3B,KAAK,UAAU,aAAa,CAAC,MAAc;IAC9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxC,OAAO,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc,CAChC,MAAc,EACd,QAA4B;IAE5B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Module } from "../module";
|
|
2
|
+
import { ForumSearchResponse, TCResponse, ViewPostsResponse } from "../generated/types";
|
|
3
|
+
export declare class ForumModule extends Module {
|
|
4
|
+
viewPosts(threadId: number, fetchType: string, postId?: number, reverse?: boolean, includePost?: boolean): Promise<ViewPostsResponse>;
|
|
5
|
+
replyThread(text: string, threadId: number): Promise<TCResponse>;
|
|
6
|
+
readThread(postId: number, threadId: number): Promise<TCResponse>;
|
|
7
|
+
editPost(postId: number, text: string): Promise<TCResponse>;
|
|
8
|
+
search(query: string): Promise<ForumSearchResponse>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forum/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAExF,qBAAa,WAAY,SAAQ,MAAM;IACtB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,EAAE,OAAO,GAAE,OAAe,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAcrJ,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAUhE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAUjE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAU3D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAQnE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ForumModule = void 0;
|
|
4
|
+
/* Generated by pecans-spec. Do not edit. */
|
|
5
|
+
const module_1 = require("../module");
|
|
6
|
+
class ForumModule extends module_1.Module {
|
|
7
|
+
async viewPosts(threadId, fetchType, postId = 0, reverse = false, includePost = true) {
|
|
8
|
+
return await this.client._call("forum.viewposts", {
|
|
9
|
+
"threadId": threadId,
|
|
10
|
+
"type": fetchType,
|
|
11
|
+
"postId": postId,
|
|
12
|
+
"getSomeBackscroll": reverse,
|
|
13
|
+
"includePost": includePost,
|
|
14
|
+
"includeThreadMetadata": true,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async replyThread(text, threadId) {
|
|
18
|
+
return await this.client._call("forum.replythread", {
|
|
19
|
+
"text": text,
|
|
20
|
+
"threadId": threadId,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async readThread(postId, threadId) {
|
|
24
|
+
return await this.client._call("forum.readthread", {
|
|
25
|
+
"postId": postId,
|
|
26
|
+
"threadId": threadId,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async editPost(postId, text) {
|
|
30
|
+
return await this.client._call("forum.editpost", {
|
|
31
|
+
"postId": postId,
|
|
32
|
+
"text": text,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async search(query) {
|
|
36
|
+
return await this.client._call("forum.search", {
|
|
37
|
+
"query": query,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.ForumModule = ForumModule;
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/forum/index.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,sCAAmC;AAGnC,MAAa,WAAY,SAAQ,eAAM;IAC5B,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,SAAiB,EAAE,SAAiB,CAAC,EAAE,UAAmB,KAAK,EAAE,cAAuB,IAAI;QACjI,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,iBAAiB,EACjB;YACI,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,MAAM;YAChB,mBAAmB,EAAE,OAAO;YAC5B,aAAa,EAAE,WAAW;YAC1B,uBAAuB,EAAE,IAAI;SAChC,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,QAAgB;QACnD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,mBAAmB,EACnB;YACI,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,QAAQ;SACvB,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,QAAgB;QACpD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,kBAAkB,EAClB;YACI,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,QAAQ;SACvB,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,IAAY;QAC9C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,gBAAgB,EAChB;YACI,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,IAAI;SACf,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,KAAa;QAC7B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,cAAc,EACd;YACI,OAAO,EAAE,KAAK;SACjB,CACJ,CAAC;IACN,CAAC;CACJ;AArDD,kCAqDC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BaseClient } from "../runtime";
|
|
2
|
+
import { AccountModule } from "./modules/account";
|
|
3
|
+
import { AnswerModule } from "./modules/answer";
|
|
4
|
+
import { AskModule } from "./modules/ask";
|
|
5
|
+
import { AuthModule } from "./modules/auth";
|
|
6
|
+
import { DashboardModule } from "./modules/dashboard";
|
|
7
|
+
import { DrawingModule } from "./modules/drawing";
|
|
8
|
+
import { FeedModule } from "./modules/feed";
|
|
9
|
+
import { ForumModule } from "./modules/forum";
|
|
10
|
+
import { ImagesModule } from "./modules/images";
|
|
11
|
+
import { MessagesModule } from "./modules/messages";
|
|
12
|
+
import { NavbarModule } from "./modules/navbar";
|
|
13
|
+
import { NotifyModule } from "./modules/notify";
|
|
14
|
+
import { ProfileModule } from "./modules/profile";
|
|
15
|
+
import { QaModule } from "./modules/qa";
|
|
16
|
+
import { SettingsModule } from "./modules/settings";
|
|
17
|
+
export declare class Client extends BaseClient {
|
|
18
|
+
#private;
|
|
19
|
+
constructor(auth?: string);
|
|
20
|
+
get account(): AccountModule;
|
|
21
|
+
get answer(): AnswerModule;
|
|
22
|
+
get ask(): AskModule;
|
|
23
|
+
get auth(): AuthModule;
|
|
24
|
+
get dashboard(): DashboardModule;
|
|
25
|
+
get drawing(): DrawingModule;
|
|
26
|
+
get feed(): FeedModule;
|
|
27
|
+
get forum(): ForumModule;
|
|
28
|
+
get images(): ImagesModule;
|
|
29
|
+
get messages(): MessagesModule;
|
|
30
|
+
get navbar(): NavbarModule;
|
|
31
|
+
get notify(): NotifyModule;
|
|
32
|
+
get profile(): ProfileModule;
|
|
33
|
+
get qa(): QaModule;
|
|
34
|
+
get settings(): SettingsModule;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/generated/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,MAAO,SAAQ,UAAU;;gBAiBf,IAAI,CAAC,EAAE,MAAM;IAmBhC,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED,IAAW,GAAG,IAAI,SAAS,CAE1B;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,IAAW,SAAS,IAAI,eAAe,CAEtC;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED,IAAW,QAAQ,IAAI,cAAc,CAEpC;IAED,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,EAAE,IAAI,QAAQ,CAExB;IAED,IAAW,QAAQ,IAAI,cAAc,CAEpC;CACJ"}
|