lemmy-js-client 0.17.0-rc.4 → 0.17.0-rc.42
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/dist/http.d.ts +178 -14
- package/dist/http.js +296 -98
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -1
- package/dist/interfaces/aggregates.d.ts +1 -0
- package/dist/interfaces/api/comment.d.ts +47 -45
- package/dist/interfaces/api/comment.js +349 -0
- package/dist/interfaces/api/community.d.ts +56 -48
- package/dist/interfaces/api/community.js +433 -0
- package/dist/interfaces/api/index.js +5 -1
- package/dist/interfaces/api/person.d.ts +132 -102
- package/dist/interfaces/api/person.js +910 -0
- package/dist/interfaces/api/post.d.ts +71 -54
- package/dist/interfaces/api/post.js +453 -0
- package/dist/interfaces/api/site.d.ts +125 -98
- package/dist/interfaces/api/site.js +963 -0
- package/dist/interfaces/index.js +5 -1
- package/dist/interfaces/others.d.ts +101 -93
- package/dist/interfaces/others.js +162 -59
- package/dist/interfaces/source.d.ts +112 -77
- package/dist/interfaces/source.js +809 -0
- package/dist/interfaces/views.d.ts +80 -40
- package/dist/interfaces/views.js +599 -0
- package/dist/utils.d.ts +9 -0
- package/dist/utils.js +18 -0
- package/dist/websocket.d.ts +33 -14
- package/dist/websocket.js +49 -19
- package/package.json +17 -14
package/dist/websocket.d.ts
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
-
import {
|
1
|
+
import { ClassConstructor } from "class-transformer";
|
2
|
+
import { CreateComment, CreateCommentLike, CreateCommentReport, DeleteComment, EditComment, GetComments, ListCommentReports, RemoveComment, ResolveCommentReport, SaveComment } from "./interfaces/api/comment";
|
2
3
|
import { AddModToCommunity, BanFromCommunity, BlockCommunity, CreateCommunity, DeleteCommunity, EditCommunity, FollowCommunity, GetCommunity, ListCommunities, RemoveCommunity, TransferCommunity } from "./interfaces/api/community";
|
3
|
-
import { AddAdmin, BanPerson, BlockPerson, ChangePassword, CreatePrivateMessage, DeleteAccount, DeletePrivateMessage, EditPrivateMessage, GetBannedPersons, GetPersonDetails, GetPersonMentions, GetPrivateMessages, GetReplies, GetReportCount, GetUnreadCount, Login, MarkAllAsRead, MarkPersonMentionAsRead, MarkPrivateMessageAsRead, PasswordChange, PasswordReset, Register, SaveUserSettings, VerifyEmail } from "./interfaces/api/person";
|
4
|
-
import { CreatePost, CreatePostLike, CreatePostReport, DeletePost, EditPost, GetPost, GetPosts, GetSiteMetadata, ListPostReports, LockPost, RemovePost, ResolvePostReport, SavePost, StickyPost } from "./interfaces/api/post";
|
5
|
-
import { ApproveRegistrationApplication, CreateSite, EditSite, GetModlog, GetSite,
|
4
|
+
import { AddAdmin, BanPerson, BlockPerson, ChangePassword, CreatePrivateMessage, DeleteAccount, DeletePrivateMessage, EditPrivateMessage, GetBannedPersons, GetPersonDetails, GetPersonMentions, GetPrivateMessages, GetReplies, GetReportCount, GetUnreadCount, Login, MarkAllAsRead, MarkCommentReplyAsRead, MarkPersonMentionAsRead, MarkPrivateMessageAsRead, PasswordChange, PasswordReset, Register, SaveUserSettings, VerifyEmail } from "./interfaces/api/person";
|
5
|
+
import { CreatePost, CreatePostLike, CreatePostReport, DeletePost, EditPost, GetPost, GetPosts, GetSiteMetadata, ListPostReports, LockPost, MarkPostAsRead, RemovePost, ResolvePostReport, SavePost, StickyPost } from "./interfaces/api/post";
|
6
|
+
import { ApproveRegistrationApplication, CreateSite, EditSite, GetModlog, GetSite, GetUnreadRegistrationApplicationCount, LeaveAdmin, ListRegistrationApplications, PurgeComment, PurgeCommunity, PurgePerson, PurgePost, ResolveObject, Search } from "./interfaces/api/site";
|
6
7
|
import { CommunityJoin, PostJoin, UserJoin } from "./interfaces/api/websocket";
|
8
|
+
import { UserOperation } from "./interfaces/others";
|
7
9
|
/**
|
8
10
|
* Helps build lemmy websocket message requests, that you can use in your Websocket sends.
|
9
11
|
*
|
@@ -100,7 +102,7 @@ export declare class LemmyWebsocket {
|
|
100
102
|
/**
|
101
103
|
* Mark a comment as read.
|
102
104
|
*/
|
103
|
-
|
105
|
+
markCommentReplyAsRead(form: MarkCommentReplyAsRead): string;
|
104
106
|
/**
|
105
107
|
* Like / vote on a comment.
|
106
108
|
*/
|
@@ -153,6 +155,10 @@ export declare class LemmyWebsocket {
|
|
153
155
|
* A moderator can sticky a post ( IE stick it to the top of a community ).
|
154
156
|
*/
|
155
157
|
stickyPost(form: StickyPost): string;
|
158
|
+
/**
|
159
|
+
* Mark a post as read.
|
160
|
+
*/
|
161
|
+
markPostAsRead(form: MarkPostAsRead): string;
|
156
162
|
/**
|
157
163
|
* Save a post.
|
158
164
|
*/
|
@@ -244,11 +250,7 @@ export declare class LemmyWebsocket {
|
|
244
250
|
/**
|
245
251
|
* Gets the site, and your user data.
|
246
252
|
*/
|
247
|
-
getSite(form
|
248
|
-
/**
|
249
|
-
* Get your site configuration.
|
250
|
-
*/
|
251
|
-
getSiteConfig(form: GetSiteConfig): string;
|
253
|
+
getSite(form: GetSite): string;
|
252
254
|
/**
|
253
255
|
* Search lemmy.
|
254
256
|
*/
|
@@ -313,10 +315,6 @@ export declare class LemmyWebsocket {
|
|
313
315
|
* Get / fetch private messages.
|
314
316
|
*/
|
315
317
|
getPrivateMessages(form: GetPrivateMessages): string;
|
316
|
-
/**
|
317
|
-
* Save your site config.
|
318
|
-
*/
|
319
|
-
saveSiteConfig(form: SaveSiteConfig): string;
|
320
318
|
/**
|
321
319
|
* Block a person.
|
322
320
|
*/
|
@@ -325,4 +323,25 @@ export declare class LemmyWebsocket {
|
|
325
323
|
* Block a community.
|
326
324
|
*/
|
327
325
|
blockCommunity(form: BlockCommunity): string;
|
326
|
+
/**
|
327
|
+
* Purge / Delete a person from the database.
|
328
|
+
*/
|
329
|
+
purgePerson(form: PurgePerson): string;
|
330
|
+
/**
|
331
|
+
* Purge / Delete a community from the database.
|
332
|
+
*/
|
333
|
+
purgeCommunity(form: PurgeCommunity): string;
|
334
|
+
/**
|
335
|
+
* Purge / Delete a post from the database.
|
336
|
+
*/
|
337
|
+
purgePost(form: PurgePost): string;
|
338
|
+
/**
|
339
|
+
* Purge / Delete a comment from the database.
|
340
|
+
*/
|
341
|
+
purgeComment(form: PurgeComment): string;
|
328
342
|
}
|
343
|
+
export declare function wsUserOp(msg: any): UserOperation;
|
344
|
+
/**
|
345
|
+
* Converts a websocket string response to a usable result
|
346
|
+
*/
|
347
|
+
export declare function wsJsonToRes<ResponseType>(msg: any, responseClass: ClassConstructor<ResponseType>): ResponseType;
|
package/dist/websocket.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.LemmyWebsocket = void 0;
|
3
|
+
exports.wsJsonToRes = exports.wsUserOp = exports.LemmyWebsocket = void 0;
|
4
|
+
var class_transformer_1 = require("class-transformer");
|
4
5
|
var others_1 = require("./interfaces/others");
|
5
6
|
/**
|
6
7
|
* Helps build lemmy websocket message requests, that you can use in your Websocket sends.
|
@@ -137,8 +138,8 @@ var LemmyWebsocket = /** @class */ (function () {
|
|
137
138
|
/**
|
138
139
|
* Mark a comment as read.
|
139
140
|
*/
|
140
|
-
LemmyWebsocket.prototype.
|
141
|
-
return wrapper(others_1.UserOperation.
|
141
|
+
LemmyWebsocket.prototype.markCommentReplyAsRead = function (form) {
|
142
|
+
return wrapper(others_1.UserOperation.MarkCommentReplyAsRead, form);
|
142
143
|
};
|
143
144
|
/**
|
144
145
|
* Like / vote on a comment.
|
@@ -218,6 +219,12 @@ var LemmyWebsocket = /** @class */ (function () {
|
|
218
219
|
LemmyWebsocket.prototype.stickyPost = function (form) {
|
219
220
|
return wrapper(others_1.UserOperation.StickyPost, form);
|
220
221
|
};
|
222
|
+
/**
|
223
|
+
* Mark a post as read.
|
224
|
+
*/
|
225
|
+
LemmyWebsocket.prototype.markPostAsRead = function (form) {
|
226
|
+
return wrapper(others_1.UserOperation.MarkPostAsRead, form);
|
227
|
+
};
|
221
228
|
/**
|
222
229
|
* Save a post.
|
223
230
|
*/
|
@@ -354,15 +361,8 @@ var LemmyWebsocket = /** @class */ (function () {
|
|
354
361
|
* Gets the site, and your user data.
|
355
362
|
*/
|
356
363
|
LemmyWebsocket.prototype.getSite = function (form) {
|
357
|
-
if (form === void 0) { form = {}; }
|
358
364
|
return wrapper(others_1.UserOperation.GetSite, form);
|
359
365
|
};
|
360
|
-
/**
|
361
|
-
* Get your site configuration.
|
362
|
-
*/
|
363
|
-
LemmyWebsocket.prototype.getSiteConfig = function (form) {
|
364
|
-
return wrapper(others_1.UserOperation.GetSiteConfig, form);
|
365
|
-
};
|
366
366
|
/**
|
367
367
|
* Search lemmy.
|
368
368
|
*/
|
@@ -459,12 +459,6 @@ var LemmyWebsocket = /** @class */ (function () {
|
|
459
459
|
LemmyWebsocket.prototype.getPrivateMessages = function (form) {
|
460
460
|
return wrapper(others_1.UserOperation.GetPrivateMessages, form);
|
461
461
|
};
|
462
|
-
/**
|
463
|
-
* Save your site config.
|
464
|
-
*/
|
465
|
-
LemmyWebsocket.prototype.saveSiteConfig = function (form) {
|
466
|
-
return wrapper(others_1.UserOperation.SaveSiteConfig, form);
|
467
|
-
};
|
468
462
|
/**
|
469
463
|
* Block a person.
|
470
464
|
*/
|
@@ -477,11 +471,47 @@ var LemmyWebsocket = /** @class */ (function () {
|
|
477
471
|
LemmyWebsocket.prototype.blockCommunity = function (form) {
|
478
472
|
return wrapper(others_1.UserOperation.BlockCommunity, form);
|
479
473
|
};
|
474
|
+
/**
|
475
|
+
* Purge / Delete a person from the database.
|
476
|
+
*/
|
477
|
+
LemmyWebsocket.prototype.purgePerson = function (form) {
|
478
|
+
return wrapper(others_1.UserOperation.PurgePerson, form);
|
479
|
+
};
|
480
|
+
/**
|
481
|
+
* Purge / Delete a community from the database.
|
482
|
+
*/
|
483
|
+
LemmyWebsocket.prototype.purgeCommunity = function (form) {
|
484
|
+
return wrapper(others_1.UserOperation.PurgeCommunity, form);
|
485
|
+
};
|
486
|
+
/**
|
487
|
+
* Purge / Delete a post from the database.
|
488
|
+
*/
|
489
|
+
LemmyWebsocket.prototype.purgePost = function (form) {
|
490
|
+
return wrapper(others_1.UserOperation.PurgePost, form);
|
491
|
+
};
|
492
|
+
/**
|
493
|
+
* Purge / Delete a comment from the database.
|
494
|
+
*/
|
495
|
+
LemmyWebsocket.prototype.purgeComment = function (form) {
|
496
|
+
return wrapper(others_1.UserOperation.PurgeComment, form);
|
497
|
+
};
|
480
498
|
return LemmyWebsocket;
|
481
499
|
}());
|
482
500
|
exports.LemmyWebsocket = LemmyWebsocket;
|
483
501
|
function wrapper(op, data) {
|
484
|
-
var send = { op: others_1.UserOperation[op], data: data };
|
485
|
-
|
486
|
-
|
502
|
+
var send = (0, class_transformer_1.serialize)({ op: others_1.UserOperation[op], data: data });
|
503
|
+
return send;
|
504
|
+
}
|
505
|
+
function wsUserOp(msg) {
|
506
|
+
var opStr = msg.op;
|
507
|
+
return others_1.UserOperation[opStr];
|
508
|
+
}
|
509
|
+
exports.wsUserOp = wsUserOp;
|
510
|
+
/**
|
511
|
+
* Converts a websocket string response to a usable result
|
512
|
+
*/
|
513
|
+
function wsJsonToRes(msg, responseClass) {
|
514
|
+
// Have to deserialize the response again into the correct class
|
515
|
+
return (0, class_transformer_1.deserialize)(responseClass, (0, class_transformer_1.serialize)(msg.data));
|
487
516
|
}
|
517
|
+
exports.wsJsonToRes = wsJsonToRes;
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "lemmy-js-client",
|
3
3
|
"description": "A javascript / typescript client for Lemmy",
|
4
|
-
"version": "0.17.0-rc.
|
4
|
+
"version": "0.17.0-rc.42",
|
5
5
|
"author": "Dessalines <tyhou13@gmx.com>",
|
6
6
|
"license": "AGPL-3.0",
|
7
7
|
"main": "./dist/index.js",
|
@@ -16,23 +16,26 @@
|
|
16
16
|
},
|
17
17
|
"repository": "https://github.com/LemmyNet/lemmy-js-client",
|
18
18
|
"devDependencies": {
|
19
|
-
"@
|
19
|
+
"@sniptt/monads": "^0.5.10",
|
20
|
+
"@types/node": "^18.6.2",
|
20
21
|
"@types/node-fetch": "^3.0.3",
|
21
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
22
|
-
"@typescript-eslint/parser": "^5.
|
23
|
-
"
|
24
|
-
"eslint
|
25
|
-
"
|
26
|
-
"
|
27
|
-
"
|
28
|
-
"
|
22
|
+
"@typescript-eslint/eslint-plugin": "^5.31.0",
|
23
|
+
"@typescript-eslint/parser": "^5.31.0",
|
24
|
+
"class-transformer": "^0.5.1",
|
25
|
+
"eslint": "^8.20.0",
|
26
|
+
"eslint-plugin-prettier": "^4.2.1",
|
27
|
+
"husky": "^8.0.1",
|
28
|
+
"lint-staged": "^13.0.3",
|
29
|
+
"node-fetch": "^3.2.9",
|
30
|
+
"prettier": "^2.7.1",
|
29
31
|
"prettier-plugin-import-sort": "^0.0.7",
|
30
|
-
"prettier-plugin-organize-imports": "^
|
31
|
-
"prettier-plugin-packagejson": "^2.2.
|
32
|
-
"
|
32
|
+
"prettier-plugin-organize-imports": "^3.0.0",
|
33
|
+
"prettier-plugin-packagejson": "^2.2.18",
|
34
|
+
"reflect-metadata": "^0.1.13",
|
35
|
+
"sortpack": "^2.3.0",
|
33
36
|
"typedoc": "^0.21.6",
|
34
37
|
"typedoc-plugin-sourcefile-url": "^1.0.6",
|
35
|
-
"typescript": "^4.
|
38
|
+
"typescript": "^4.7.4"
|
36
39
|
},
|
37
40
|
"types": "./dist/index.d.ts",
|
38
41
|
"lint-staged": {
|