@ifunny/ifunny-api-types 0.5.0 → 0.6.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.
Files changed (52) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/payloads/activity.js +45 -18
  3. package/dist/payloads/activity.js.map +1 -1
  4. package/dist/payloads/comment.js +12 -0
  5. package/dist/payloads/comment.js.map +1 -1
  6. package/dist/payloads/content.js +138 -0
  7. package/dist/payloads/content.js.map +1 -0
  8. package/dist/payloads/index.js +3 -1
  9. package/dist/payloads/index.js.map +1 -1
  10. package/dist/payloads/post.js +26 -1
  11. package/dist/payloads/post.js.map +1 -1
  12. package/dist/payloads/user.js +34 -34
  13. package/dist/payloads/user.js.map +1 -1
  14. package/dist/rest/content.js +68 -0
  15. package/dist/rest/content.js.map +1 -0
  16. package/dist/rest/explore.js +2 -0
  17. package/dist/rest/explore.js.map +1 -1
  18. package/dist/rest/index.js +1 -0
  19. package/dist/rest/index.js.map +1 -1
  20. package/dist/rest/oauth2.js +6 -6
  21. package/dist/rest/oauth2.js.map +1 -1
  22. package/dist/rest/post.js +4 -2
  23. package/dist/rest/post.js.map +1 -1
  24. package/dist/utils/errors.js +32 -0
  25. package/dist/utils/errors.js.map +1 -1
  26. package/package.json +1 -1
  27. package/types/payloads/activity.d.ts +73 -57
  28. package/types/payloads/activity.d.ts.map +1 -1
  29. package/types/payloads/comment.d.ts +51 -28
  30. package/types/payloads/comment.d.ts.map +1 -1
  31. package/types/payloads/content.d.ts +570 -0
  32. package/types/payloads/content.d.ts.map +1 -0
  33. package/types/payloads/index.d.ts +3 -1
  34. package/types/payloads/index.d.ts.map +1 -1
  35. package/types/payloads/post.d.ts +256 -199
  36. package/types/payloads/post.d.ts.map +1 -1
  37. package/types/payloads/user.d.ts +9 -9
  38. package/types/payloads/user.d.ts.map +1 -1
  39. package/types/rest/content.d.ts +63 -0
  40. package/types/rest/content.d.ts.map +1 -0
  41. package/types/rest/explore.d.ts +5 -3
  42. package/types/rest/explore.d.ts.map +1 -1
  43. package/types/rest/index.d.ts +1 -0
  44. package/types/rest/index.d.ts.map +1 -1
  45. package/types/rest/oauth2.d.ts +14 -7
  46. package/types/rest/oauth2.d.ts.map +1 -1
  47. package/types/rest/post.d.ts +2 -2
  48. package/types/rest/post.d.ts.map +1 -1
  49. package/types/utils/errors.d.ts +39 -48
  50. package/types/utils/errors.d.ts.map +1 -1
  51. package/types/utils/util.d.ts +23 -0
  52. package/types/utils/util.d.ts.map +1 -1
@@ -1,10 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IFUNNY_ERRORS = void 0;
3
4
  /**
4
5
  * Known captcha types
5
6
  */
6
7
  var CaptchaTypes;
7
8
  (function (CaptchaTypes) {
8
9
  CaptchaTypes["FUN_CAPTCHA"] = "fun_captcha";
10
+ CaptchaTypes["RECAPTCHA"] = "recaptcha";
9
11
  })(CaptchaTypes || (CaptchaTypes = {}));
12
+ var IFUNNY_ERRORS;
13
+ (function (IFUNNY_ERRORS) {
14
+ IFUNNY_ERRORS["ALREADY_REPUBLISHED"] = "already_republished";
15
+ IFUNNY_ERRORS["ALREADY_SMILED"] = "already_smiled";
16
+ IFUNNY_ERRORS["ALREADY_UNSMILED"] = "already_unsmiled";
17
+ IFUNNY_ERRORS["BAD_REQUEST"] = "bad_request";
18
+ IFUNNY_ERRORS["CAPTCHA_REQUIRED"] = "captcha_required";
19
+ IFUNNY_ERRORS["CONTENT_WAS_DELETED"] = "content_was_deleted";
20
+ IFUNNY_ERRORS["EMAIL_NOT_CONFIRMED"] = "email_not_confirmed";
21
+ IFUNNY_ERRORS["ENTITY_ABUSED"] = "entity_abused";
22
+ IFUNNY_ERRORS["FORBIDDEN_FOR_BANNED"] = "forbidden_for_banned";
23
+ IFUNNY_ERRORS["FORBIDDEN_FOR_DELETED"] = "forbidden_for_deactivated";
24
+ IFUNNY_ERRORS["INVALID_CLIENT"] = "invalid_client";
25
+ IFUNNY_ERRORS["INVALID_GRANT"] = "invalid_grant";
26
+ IFUNNY_ERRORS["NOT_REPUBLISHED"] = "not_republished";
27
+ IFUNNY_ERRORS["NOT_SMILED"] = "not_smiled";
28
+ IFUNNY_ERRORS["NOT_UNSMILED"] = "not_unsmiled";
29
+ IFUNNY_ERRORS["PINNED_LIMIT_EXCEEDED"] = "profile_pins_to_many_pins_error";
30
+ IFUNNY_ERRORS["PUBLISHING_TIMEOUT"] = "publishing_timeout";
31
+ IFUNNY_ERRORS["QUERY_TOO_SHORT"] = "query_too_short";
32
+ IFUNNY_ERRORS["ROOT_COMMENT_WAS_DELETED"] = "root_comment_was_deleted";
33
+ IFUNNY_ERRORS["SOURCE_IS_UNAVAILABLE"] = "source_is_unavailable";
34
+ IFUNNY_ERRORS["STOP_WORD"] = "content_tag_stopword";
35
+ IFUNNY_ERRORS["TOO_MANY_UPPERCASE"] = "too_many_uppercase";
36
+ IFUNNY_ERRORS["UNACCEPTABLE_SYMBOLS"] = "unacceptable_symbols";
37
+ IFUNNY_ERRORS["UNAUTHORIZED"] = "unauthorized";
38
+ IFUNNY_ERRORS["UNKNOWN_SOURCE"] = "unknown_source";
39
+ IFUNNY_ERRORS["VIDEO_IS_INVALID"] = "video_is_invalid";
40
+ IFUNNY_ERRORS["YOU_ARE_BLOCKED"] = "you_are_blocked";
41
+ })(IFUNNY_ERRORS = exports.IFUNNY_ERRORS || (exports.IFUNNY_ERRORS = {}));
10
42
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":";;AAyBA;;GAEG;AACH,IAAK,YAEJ;AAFD,WAAK,YAAY;IAChB,2CAA2B,CAAA;AAC5B,CAAC,EAFI,YAAY,KAAZ,YAAY,QAEhB"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":";;;AAyBA;;GAEG;AACH,IAAK,YAGJ;AAHD,WAAK,YAAY;IAChB,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;AACxB,CAAC,EAHI,YAAY,KAAZ,YAAY,QAGhB;AAWD,IAAY,aA4BX;AA5BD,WAAY,aAAa;IACxB,4DAA2C,CAAA;IAC3C,kDAAiC,CAAA;IACjC,sDAAqC,CAAA;IACrC,4CAA2B,CAAA;IAC3B,sDAAqC,CAAA;IACrC,4DAA2C,CAAA;IAC3C,4DAA2C,CAAA;IAC3C,gDAA+B,CAAA;IAC/B,8DAA6C,CAAA;IAC7C,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,gDAA+B,CAAA;IAC/B,oDAAmC,CAAA;IACnC,0CAAyB,CAAA;IACzB,8CAA6B,CAAA;IAC7B,0EAAyD,CAAA;IACzD,0DAAyC,CAAA;IACzC,oDAAmC,CAAA;IACnC,sEAAqD,CAAA;IACrD,gEAA+C,CAAA;IAC/C,mDAAkC,CAAA;IAClC,0DAAyC,CAAA;IACzC,8DAA6C,CAAA;IAC7C,8CAA6B,CAAA;IAC7B,kDAAiC,CAAA;IACjC,sDAAqC,CAAA;IACrC,oDAAmC,CAAA;AACpC,CAAC,EA5BW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QA4BxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifunny/ifunny-api-types",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "iFunny API typings for use in bot library creaion.",
5
5
  "main": "dist/index.js",
6
6
  "types": "types",
@@ -1,74 +1,90 @@
1
- import { APICommentBase } from "./comment";
2
- import { APIPost } from "./post";
1
+ import { APIComment, APIMentionUser, APIReply } from "./comment";
2
+ import { APIBanType } from "./ban";
3
+ import { APIContent } from "./content";
3
4
  import { APIUser } from "./user";
4
5
  import { Timestamp } from "../utils";
5
- /**
6
- * All current activity types
7
- * TODO: Add remaining activity types
8
- */
9
- export declare type APIActivity = APIPostSmiledActivity | APICommentActivity | APICommentSmiledActivity | APISmileTrackerActivity | APICommentReplyActivity | APIRepubRepubActivity;
10
- interface APIActivityBase {
11
- type: APIActivityType;
12
- date: Timestamp;
13
- }
14
- interface CommUserCont extends UserCont {
15
- comment: APIActivityComment;
16
- }
17
- interface UserCont extends APIActivityBase {
18
- user: APIActivityUser;
19
- content: APIPost;
20
- }
21
- export interface APIPostSmiledActivity extends UserCont {
22
- type: ACTIVITY_TYPES.POST_SMILED;
23
- }
24
- export interface APICommentActivity extends CommUserCont {
25
- type: ACTIVITY_TYPES.COMMENT;
6
+ interface Smiles {
7
+ smiles: string;
26
8
  }
27
- export interface APICommentSmiledActivity extends CommUserCont {
28
- type: ACTIVITY_TYPES.COMMENT_SMILED;
29
- }
30
- export interface APISmileTrackerActivity extends APIActivityBase {
31
- smiles: number;
32
- type: ACTIVITY_TYPES.SMILE_TRACKER;
33
- }
34
- export interface APICommentReplyActivity extends CommUserCont {
35
- reply: APIActivityReply;
36
- type: ACTIVITY_TYPES.REPLY;
37
- }
38
- export interface APIRepubRepubActivity extends UserCont {
39
- type: ACTIVITY_TYPES.REPUB_OF_REPUB;
9
+ export interface APINews {
10
+ ban_id?: string;
11
+ ban_type?: APIBanType;
12
+ ban_message?: string;
13
+ comment?: APIComment;
14
+ content?: APIContent;
15
+ count_active_strike?: number;
16
+ date: Timestamp;
17
+ date_until?: Timestamp;
18
+ expired_at?: Timestamp;
19
+ image_url?: string;
20
+ mention_content?: APIContent;
21
+ mention_users?: APIMentionUser[];
22
+ purchase_type?: string;
23
+ reply?: APIReply;
24
+ smiles?: number;
25
+ strike_id?: string;
26
+ text?: string;
27
+ title?: string;
28
+ type: APINewsType;
29
+ url?: string;
30
+ user?: APIUser;
31
+ username?: string;
40
32
  }
41
- export interface APIActivityReply extends APIActivityComment {
33
+ export interface APINewsReply extends APINewsComment {
42
34
  root_comm_id: string;
43
35
  }
44
- export interface APIActivityComment extends Pick<APICommentBase, "text" | "id" | "cid" | "is_reply"> {
45
- state: APIActivityCommentState;
46
- num: {
47
- smiles: number;
48
- };
49
- }
50
- /**
51
- * All known comment states for activity feed
52
- */
53
- export declare enum COMMENT_STATES {
54
- NORMAL = "normal"
36
+ export interface APINewsComment extends Pick<APIComment, "text" | "id" | "cid" | "is_reply"> {
37
+ num: Smiles;
55
38
  }
56
- export declare type APIActivityCommentState = `${COMMENT_STATES}`;
57
- export declare type APIActivityUser = Pick<APIUser, "id" | "nick" | "is_banned" | "is_verified" | "is_deleted" | "photo" | "nick_color">;
39
+ export declare type APINewsUser = Pick<APIUser, "id" | "nick" | "is_banned" | "is_verified" | "is_deleted" | "photo" | "nick_color">;
58
40
  /**
59
- * All known activity types
41
+ * All current new types
60
42
  */
61
- export declare enum ACTIVITY_TYPES {
62
- POST_SMILED = "smile",
43
+ export declare enum NEWS_TYPES {
44
+ BAN = "ban",
45
+ BAN_ACTION = "ban_action",
63
46
  COMMENT = "comment",
64
- COMMENT_SMILED = "smile_for_comment",
65
- REPLY = "reply_for_comment",
47
+ COMMENT_FOR_REPUB = "comment_for_repub",
48
+ CONTENT_BOOSTED = "content_boost",
49
+ DELETE = "user_deleted",
50
+ FEATURED = "featured",
51
+ FRIEND_REGISTERED = "friend_registered",
52
+ GEO_FRIEND_ACCEPTED = "geo_friend_accepted",
53
+ GEO_FRIEND_REJECTED = "geo_friend_rejected",
54
+ GEO_FRIEND_REQUEST = "geo_friend_request",
55
+ MENTION_CONTENT = "mention_content",
56
+ MENTION_USER = "mention_user",
57
+ PURCHASE_ONETIME = "purchase_onetime",
58
+ PURCHASE_SUBSCRIPTION = "purchase_subscription",
59
+ /**
60
+ * @deprecated iFunny no longer uses this
61
+ */
62
+ REJECTED_BY_CUSTOMS = "rejected_by_customs",
63
+ REPLY_FOR_COMMENT = "reply_for_comment",
64
+ REPORTED_COMMENT_BANNED = "reported_comment_banned",
65
+ REPORTED_CONTENT_BANNED = "reported_content_banned",
66
+ REPORTED_USER_BANNED = "reported_user_banned",
67
+ REPUB = "repub",
68
+ REPUB_OF_REPUB = "repub_of_repub",
69
+ SMILE = "smile",
70
+ SMILE_FOR_COMMENT = "smile_for_comment",
71
+ SMILE_FOR_REPLY = "smile_for_reply",
72
+ SMILE_FOR_REPUB = "smile_for_repub",
66
73
  SMILE_TRACKER = "smile_tracker",
67
- REPUB_OF_REPUB = "repub_of_repub"
74
+ /**
75
+ * @deprecated iFunny no longer uses this
76
+ */
77
+ SPECIAL = "special",
78
+ STRIKE = "strike_action",
79
+ STRIKE_EXPIRED = "expire_strike",
80
+ SUBSCRIBE = "subscribe",
81
+ UNBAN = "unban",
82
+ UNBAN_ACTION = "unban_action",
83
+ UNDELETE = "user_undeleted"
68
84
  }
69
85
  /**
70
86
  * All possible activity types
71
87
  */
72
- declare type APIActivityType = `${ACTIVITY_TYPES}`;
88
+ declare type APINewsType = `${NEWS_TYPES}`;
73
89
  export {};
74
90
  //# sourceMappingURL=activity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/payloads/activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;GAGG;AACH,oBAAY,WAAW,GACpB,qBAAqB,GACrB,kBAAkB,GAClB,wBAAwB,GACxB,uBAAuB,GACvB,uBAAuB,GACvB,qBAAqB,CAAC;AAEzB,UAAU,eAAe;IACxB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;CAChB;AAED,UAAU,YAAa,SAAQ,QAAQ;IACtC,OAAO,EAAE,kBAAkB,CAAC;CAC5B;AAED,UAAU,QAAS,SAAQ,eAAe;IACzC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,QAAQ;IACtD,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;CACjC;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACvD,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC7D,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;CACpC;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;CACnC;AAED,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC5D,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAsB,SAAQ,QAAQ;IACtD,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;CACpC;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC3D,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAChB,SAAQ,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;IAChE,KAAK,EAAE,uBAAuB,CAAC;IAC/B,GAAG,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;CACF;AAED;;GAEG;AACH,oBAAY,cAAc;IACzB,MAAM,WAAW;CACjB;AAED,oBAAY,uBAAuB,GAAG,GAAG,cAAc,EAAE,CAAC;AAE1D,oBAAY,eAAe,GAAG,IAAI,CACjC,OAAO,EACP,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,CACnF,CAAC;AAEF;;GAEG;AACH,oBAAY,cAAc;IACzB,WAAW,UAAU;IACrB,OAAO,YAAY;IACnB,cAAc,sBAAsB;IACpC,KAAK,sBAAsB;IAC3B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CACjC;AAED;;GAEG;AACH,aAAK,eAAe,GAAG,GAAG,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/payloads/activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,UAAU,MAAM;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IACnD,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAChB,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC;IAC5D,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,oBAAY,WAAW,GAAG,IAAI,CAC7B,OAAO,EACP,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,CACnF,CAAC;AAEF;;GAEG;AACH,oBAAY,UAAU;IACrB,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,eAAe,kBAAkB;IACjC,MAAM,iBAAiB;IACvB,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C;;OAEG;IACH,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,oBAAoB,yBAAyB;IAC7C,KAAK,UAAU;IACf,cAAc,mBAAmB;IACjC,KAAK,UAAU;IACf,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B;;OAEG;IACH,OAAO,YAAY;IACnB,MAAM,kBAAkB;IACxB,cAAc,kBAAkB;IAChC,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,YAAY,iBAAiB;IAC7B,QAAQ,mBAAmB;CAC3B;AAED;;GAEG;AACH,aAAK,WAAW,GAAG,GAAG,UAAU,EAAE,CAAC"}
@@ -1,7 +1,9 @@
1
- import { APIGifCaptionPost, APIGifPost, APIPost, APIPostCreator, APIPostThumbnail } from "./post";
2
- import { APIBasePayload } from "./base";
3
- import { APIUserRating } from "./user";
4
- export interface APICommentBase extends APIBasePayload {
1
+ import { APIContent, APIContentCreator, APIContentGif, APIContentThumbnail } from "./content";
2
+ import { APIUser, APIUserRating } from "./user";
3
+ /**
4
+ * Represents a Comment from iFunny
5
+ */
6
+ export interface APICommentBase {
5
7
  id: string;
6
8
  cid: string;
7
9
  status: string;
@@ -13,44 +15,65 @@ export interface APICommentBase extends APIBasePayload {
13
15
  is_unsmiled: boolean;
14
16
  is_edited: boolean;
15
17
  user: APICommentAuthor;
16
- }
17
- export interface APIComment {
18
- content: APIPost;
18
+ content: APIContent;
19
19
  attachments: APICommentAttachments;
20
- content_thumbs: APIPostThumbnail;
21
- last_reply?: APILastReply;
22
- root_comm_id?: string;
23
- parent_comm_id?: string;
24
- depth?: number;
20
+ content_thumbs: APIContentThumbnail;
21
+ last_reply?: APIReply;
22
+ state?: APICommentState;
25
23
  }
26
- interface APILastReply {
24
+ /**
25
+ * Represents a Reply to a Comment from iFunny
26
+ */
27
+ export interface APIReply extends APICommentBase {
27
28
  root_comm_id: string;
28
29
  parent_comm_id: string;
29
30
  depth: number;
30
- attachments: APICommentAttachments;
31
- content_thumbs: APIPostThumbnail;
32
31
  }
33
- interface APICommentAuthor extends APIPostCreator {
32
+ /**
33
+ * Represents a Comment from iFunny
34
+ */
35
+ export declare type APIComment = APICommentBase | APIReply;
36
+ export interface APICommentNum {
37
+ smiles: number;
38
+ unsmiles: number;
39
+ replies: number;
40
+ }
41
+ /**
42
+ * All states of the comment
43
+ */
44
+ export declare enum COMMENT_STATE {
45
+ NORMAL = "normal",
46
+ TOP_COMMENT = "top",
47
+ ABUSED = "abused",
48
+ DELETED = "deleted",
49
+ AUTHOR_DELETED = "deleted_self"
50
+ }
51
+ /**
52
+ * All possible states of the comment
53
+ */
54
+ export declare type APICommentState = `${COMMENT_STATE}`;
55
+ interface APICommentAuthor extends APIContentCreator {
34
56
  rating: APIUserRating;
35
57
  }
36
58
  interface APICommentAttachments {
37
- content: APIPost[];
38
- content_from_links: APIPost[];
59
+ content: APIContent[];
60
+ content_from_links: APIContent[];
39
61
  mention_user: APIMentionUser[];
40
- giphy: (APIGifPost | APIGifCaptionPost)[];
62
+ giphy: APIContentGif[];
41
63
  }
42
- interface APIMentionUser {
64
+ export declare type APICommentContent = Pick<APIContent, "id" | "type" | "is_abused" | "bg_color" | "shot_status" | "state" | "size" | "thumb" | "source" | "creator">;
65
+ export interface APIMentionUser {
66
+ /**
67
+ * ID of the Mention\
68
+ * ? Increments last digit of the comment id
69
+ */
43
70
  id: string;
44
- user_id: string;
45
- nick: string;
71
+ creator: APIContentCreator;
72
+ nick: APIUser["nick"];
46
73
  start_index: number;
47
74
  stop_index: number;
48
- original_nick: string;
49
- }
50
- interface APICommentNum {
51
- smiles: number;
52
- unsmiles: number;
53
- replies: number;
75
+ user_id: APIUser["id"];
76
+ original_nick: APIUser["original_nick"];
54
77
  }
55
78
  export {};
56
79
  //# sourceMappingURL=comment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../src/payloads/comment.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,UAAU,EACV,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,cAAc;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,aAAa,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,gBAAgB,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,qBAAqB,CAAC;IACnC,cAAc,EAAE,gBAAgB,CAAC;IACjC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,YAAY;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,qBAAqB,CAAC;IACnC,cAAc,EAAE,gBAAgB,CAAC;CACjC;AAED,UAAU,gBAAiB,SAAQ,cAAc;IAChD,MAAM,EAAE,aAAa,CAAC;CACtB;AAED,UAAU,qBAAqB;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,KAAK,EAAE,CAAC,UAAU,GAAG,iBAAiB,CAAC,EAAE,CAAC;CAC1C;AAED,UAAU,cAAc;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,aAAa;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../src/payloads/comment.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,aAAa,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,UAAU,CAAC;IACpB,WAAW,EAAE,qBAAqB,CAAC;IACnC,cAAc,EAAE,mBAAmB,CAAC;IACpC,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,KAAK,CAAC,EAAE,eAAe,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,cAAc;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,oBAAY,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,oBAAY,aAAa;IACxB,MAAM,WAAW;IACjB,WAAW,QAAQ;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,cAAc,iBAAiB;CAC/B;AAED;;GAEG;AACH,oBAAY,eAAe,GAAG,GAAG,aAAa,EAAE,CAAC;AAEjD,UAAU,gBAAiB,SAAQ,iBAAiB;IACnD,MAAM,EAAE,aAAa,CAAC;CACtB;AAED,UAAU,qBAAqB;IAC9B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,KAAK,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,oBAAY,iBAAiB,GAAG,IAAI,CACnC,UAAU,EACR,IAAI,GACJ,MAAM,GACN,WAAW,GACX,UAAU,GACV,aAAa,GACb,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,CACX,CAAC;AAEF,MAAM,WAAW,cAAc;IAC9B;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACxC"}