@ifunny/ifunny-api-types 0.1.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/CHANGELOG.md +31 -0
- package/LICENSE +121 -0
- package/README.md +2 -0
- package/dist/index.d.ts +376 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/payloads/client.js +13 -0
- package/dist/payloads/client.js.map +1 -0
- package/dist/payloads/index.js +20 -0
- package/dist/payloads/index.js.map +1 -0
- package/dist/payloads/post.js +38 -0
- package/dist/payloads/post.js.map +1 -0
- package/dist/payloads/user.js +59 -0
- package/dist/payloads/user.js.map +1 -0
- package/dist/payloads/util.js +3 -0
- package/dist/payloads/util.js.map +1 -0
- package/dist/rest/explore.js +11 -0
- package/dist/rest/explore.js.map +1 -0
- package/dist/rest/index.js +19 -0
- package/dist/rest/index.js.map +1 -0
- package/dist/rest/issues.js +3 -0
- package/dist/rest/issues.js.map +1 -0
- package/dist/utils/index.js +18 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/util.js +3 -0
- package/dist/utils/util.js.map +1 -0
- package/package.json +46 -0
- package/types/index.d.ts +4 -0
- package/types/index.d.ts.map +1 -0
- package/types/payloads/client.d.ts +79 -0
- package/types/payloads/client.d.ts.map +1 -0
- package/types/payloads/index.d.ts +4 -0
- package/types/payloads/index.d.ts.map +1 -0
- package/types/payloads/post.d.ts +372 -0
- package/types/payloads/post.d.ts.map +1 -0
- package/types/payloads/user.d.ts +339 -0
- package/types/payloads/user.d.ts.map +1 -0
- package/types/payloads/util.d.ts +18 -0
- package/types/payloads/util.d.ts.map +1 -0
- package/types/rest/explore.d.ts +13 -0
- package/types/rest/explore.d.ts.map +1 -0
- package/types/rest/index.d.ts +3 -0
- package/types/rest/index.d.ts.map +1 -0
- package/types/rest/issues.d.ts +16 -0
- package/types/rest/issues.d.ts.map +1 -0
- package/types/utils/index.d.ts +2 -0
- package/types/utils/index.d.ts.map +1 -0
- package/types/utils/util.d.ts +53 -0
- package/types/utils/util.d.ts.map +1 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NICK_COLORS = exports.BAN_TYPES = exports.RANKS = exports.MESSAGING_PRIVACY_STATUS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* `public` anyone can create a direct message the user\
|
|
6
|
+
* `subscribers` only subscribers can create a direct message with the user\
|
|
7
|
+
* `closed` only the user can create direct messages\
|
|
8
|
+
* ? Backend does not check this status on requests as of 5/28/22
|
|
9
|
+
*/
|
|
10
|
+
var MESSAGING_PRIVACY_STATUS;
|
|
11
|
+
(function (MESSAGING_PRIVACY_STATUS) {
|
|
12
|
+
MESSAGING_PRIVACY_STATUS["PUBLIC"] = "public";
|
|
13
|
+
MESSAGING_PRIVACY_STATUS["SUBSCRIBERS"] = "subscribers";
|
|
14
|
+
MESSAGING_PRIVACY_STATUS["CLOSED"] = "closed";
|
|
15
|
+
})(MESSAGING_PRIVACY_STATUS = exports.MESSAGING_PRIVACY_STATUS || (exports.MESSAGING_PRIVACY_STATUS = {}));
|
|
16
|
+
/**
|
|
17
|
+
* All current MemeRanks from the API
|
|
18
|
+
*/
|
|
19
|
+
var RANKS;
|
|
20
|
+
(function (RANKS) {
|
|
21
|
+
RANKS["MEME_EXPLORER"] = "Meme explorer";
|
|
22
|
+
RANKS["MEME_BRO"] = "Meme bro";
|
|
23
|
+
RANKS["MEME_DADDY"] = "Meme daddy";
|
|
24
|
+
RANKS["DANK_MEMER"] = "Dank memer";
|
|
25
|
+
RANKS["MEME_MASTER_BAKER"] = "Meme master baker";
|
|
26
|
+
RANKS["DEEP_FRIED_MEMER"] = "Deep fried memer";
|
|
27
|
+
RANKS["SAUCY_MEMER"] = "Saucy memer";
|
|
28
|
+
RANKS["ORIGINAL_MEME_GANGSTER"] = "Original Meme Gangster";
|
|
29
|
+
RANKS["MEME_DEMON"] = "Meme demon";
|
|
30
|
+
RANKS["STEAL_BEAMS_OF_MEMES"] = "Steal beams of memes";
|
|
31
|
+
RANKS["MEME_DEALER"] = "Meme dealer";
|
|
32
|
+
RANKS["IFUNNY_VETERAN"] = "iFunny Veteran";
|
|
33
|
+
/**
|
|
34
|
+
* Final MemeExperience rank
|
|
35
|
+
*/
|
|
36
|
+
RANKS["CHEFS_MEME_AGENT"] = "Chef's meme agent";
|
|
37
|
+
})(RANKS = exports.RANKS || (exports.RANKS = {}));
|
|
38
|
+
// TODO: Discover more ban types
|
|
39
|
+
/**
|
|
40
|
+
* Known ban types
|
|
41
|
+
*/
|
|
42
|
+
var BAN_TYPES;
|
|
43
|
+
(function (BAN_TYPES) {
|
|
44
|
+
BAN_TYPES["COLLECTIVE_SHADOW"] = "collective";
|
|
45
|
+
})(BAN_TYPES = exports.BAN_TYPES || (exports.BAN_TYPES = {}));
|
|
46
|
+
// TODO: Find all nick colors.
|
|
47
|
+
/**
|
|
48
|
+
* Known nick colors
|
|
49
|
+
*/
|
|
50
|
+
var NICK_COLORS;
|
|
51
|
+
(function (NICK_COLORS) {
|
|
52
|
+
NICK_COLORS["BRIGHT_GREEN"] = "55FF00";
|
|
53
|
+
NICK_COLORS["BETA_TESTER"] = "55FF00";
|
|
54
|
+
NICK_COLORS["MAROON"] = "660000";
|
|
55
|
+
NICK_COLORS["RED"] = "ff3e52";
|
|
56
|
+
NICK_COLORS["PURPLE"] = "a078f0";
|
|
57
|
+
NICK_COLORS["ORANGE"] = "e0b400";
|
|
58
|
+
})(NICK_COLORS = exports.NICK_COLORS || (exports.NICK_COLORS = {}));
|
|
59
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/payloads/user.ts"],"names":[],"mappings":";;;AAqIA;;;;;GAKG;AACH,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IACnC,6CAAiB,CAAA;IACjB,uDAA2B,CAAA;IAC3B,6CAAiB,CAAA;AAClB,CAAC,EAJW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAInC;AAgCD;;GAEG;AACH,IAAY,KAiBX;AAjBD,WAAY,KAAK;IAChB,wCAA+B,CAAA;IAC/B,8BAAqB,CAAA;IACrB,kCAAyB,CAAA;IACzB,kCAAyB,CAAA;IACzB,gDAAuC,CAAA;IACvC,8CAAqC,CAAA;IACrC,oCAA2B,CAAA;IAC3B,0DAAiD,CAAA;IACjD,kCAAyB,CAAA;IACzB,sDAA6C,CAAA;IAC7C,oCAA2B,CAAA;IAC3B,0CAAiC,CAAA;IACjC;;OAEG;IACH,+CAAsC,CAAA;AACvC,CAAC,EAjBW,KAAK,GAAL,aAAK,KAAL,aAAK,QAiBhB;AAID,gCAAgC;AAChC;;GAEG;AACH,IAAY,SAEX;AAFD,WAAY,SAAS;IACpB,6CAAgC,CAAA;AACjC,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAsHD,8BAA8B;AAC9B;;GAEG;AACH,IAAY,WAOX;AAPD,WAAY,WAAW;IACtB,sCAAuB,CAAA;IACvB,qCAA0B,CAAA;IAC1B,gCAAiB,CAAA;IACjB,6BAAc,CAAA;IACd,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AAClB,CAAC,EAPW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAOtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/payloads/util.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explore.js","sourceRoot":"","sources":["../../src/rest/explore.ts"],"names":[],"mappings":";;;AAMa,QAAA,eAAe,GAAG;IAC9B,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./explore"), exports);
|
|
18
|
+
__exportStar(require("./issues"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rest/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/rest/issues.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./util"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/utils/util.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ifunny/ifunny-api-types",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "iFunny API typings for use in bot library creaion.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "types",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build-js": "tsc",
|
|
9
|
+
"build": "npm run build-js && npm run changelog",
|
|
10
|
+
"changelog": "auto-changelog -p && git add CHANGELOG.md",
|
|
11
|
+
"test": "tsc --noEmit",
|
|
12
|
+
"link": "npm run build && npm link"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/ifunny-co/ifunny-api-types.git"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"ifunny",
|
|
20
|
+
"types",
|
|
21
|
+
"typescript"
|
|
22
|
+
],
|
|
23
|
+
"author": "MakeShiftArtist <makeshiftdevelopment@gmail.com> (https://github.com/makeshiftartist)",
|
|
24
|
+
"license": "CC0-1.0",
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": "https://github.com/ifunny-co/ifunny-api-types/issues"
|
|
27
|
+
},
|
|
28
|
+
"homepage": "https://github.com/ifunny-co/ifunny-api-types#readme",
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@types/node": "^17.0.36",
|
|
31
|
+
"auto-changelog": "^2.4.0",
|
|
32
|
+
"typescript": "^4.7.2"
|
|
33
|
+
},
|
|
34
|
+
"auto-changelog": {
|
|
35
|
+
"template": "changelog-template.hbs",
|
|
36
|
+
"hideEmptyReleases": true,
|
|
37
|
+
"commitLimit": false,
|
|
38
|
+
"unreleased": true,
|
|
39
|
+
"replaceText": {
|
|
40
|
+
"[Ff]eat:": "",
|
|
41
|
+
"[Ff]ix:": "",
|
|
42
|
+
"[Bb]reak:": "",
|
|
43
|
+
"[Dd]oc:": ""
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
package/types/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { APIUserBase } from "./user";
|
|
2
|
+
/**
|
|
3
|
+
* The user data retrieved from `/account`
|
|
4
|
+
*/
|
|
5
|
+
export interface APIClientUser extends APIUserBase {
|
|
6
|
+
/**
|
|
7
|
+
* Is the client blocked from using chats
|
|
8
|
+
*/
|
|
9
|
+
is_blocked_in_messenger: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Is safe mode enabled
|
|
12
|
+
*/
|
|
13
|
+
safe_mode: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Is the client a moderator of iFunny
|
|
16
|
+
*/
|
|
17
|
+
is_moderator: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Is the client an iFunny staff member
|
|
20
|
+
*/
|
|
21
|
+
is_ifunny_team_member: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Does the Client have unnotified bans
|
|
24
|
+
*/
|
|
25
|
+
have_unnotified_bans: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Does the client have unnotified strikes
|
|
28
|
+
*/
|
|
29
|
+
have_unnotified_strikes: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Does the client have unnotified achievements
|
|
32
|
+
*/
|
|
33
|
+
have_unnotified_achievements: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Does the client have unnotified levels
|
|
36
|
+
*/
|
|
37
|
+
have_unnotified_levels: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Does the client still need to set up their account
|
|
40
|
+
*/
|
|
41
|
+
need_account_setup: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Hometown of the client. Can be an empty string
|
|
44
|
+
*/
|
|
45
|
+
hometown: string;
|
|
46
|
+
/**
|
|
47
|
+
* Location of the client. Can be an empty string
|
|
48
|
+
*/
|
|
49
|
+
location: string;
|
|
50
|
+
/**
|
|
51
|
+
* The Clinet's sex
|
|
52
|
+
*/
|
|
53
|
+
sex: APIClientUserSex;
|
|
54
|
+
/**
|
|
55
|
+
* `YYYY-MM-DD`
|
|
56
|
+
*/
|
|
57
|
+
birth_date: string;
|
|
58
|
+
/**
|
|
59
|
+
* The email attached to the Client's account
|
|
60
|
+
*/
|
|
61
|
+
email: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* All current genders (sex) for the Client
|
|
65
|
+
*/
|
|
66
|
+
export declare enum API_SEX {
|
|
67
|
+
MALE = "male",
|
|
68
|
+
FEMALE = "female",
|
|
69
|
+
OTHER = "other"
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Possible sex types for the Client
|
|
73
|
+
*/
|
|
74
|
+
export declare type APIClientUserSex = `${API_SEX}`;
|
|
75
|
+
/**
|
|
76
|
+
* Alias for {@link APIClientUserSex}
|
|
77
|
+
*/
|
|
78
|
+
export declare type APIClientUserGender = APIClientUserSex;
|
|
79
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/payloads/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,WAAW;IACjD;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,4BAA4B,EAAE,OAAO,CAAC;IACtC;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,GAAG,EAAE,gBAAgB,CAAC;IACtB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,oBAAY,OAAO;IAClB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;CACf;AAED;;GAEG;AACH,oBAAY,gBAAgB,GAAG,GAAG,OAAO,EAAE,CAAC;AAE5C;;GAEG;AACH,oBAAY,mBAAmB,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payloads/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
import { HexCode, Size, Timestamp } from "../utils/util";
|
|
2
|
+
import { APIUser, APIUserNums } from "./user";
|
|
3
|
+
/**
|
|
4
|
+
* JSON data of an iFunny Post
|
|
5
|
+
*/
|
|
6
|
+
export interface APIPostBase<Type extends APIPostType = APIPostType> {
|
|
7
|
+
/**
|
|
8
|
+
* Unique id of the post.\
|
|
9
|
+
* Typically 9 characters long
|
|
10
|
+
*/
|
|
11
|
+
id: string;
|
|
12
|
+
/**
|
|
13
|
+
* The type of the post.
|
|
14
|
+
*/
|
|
15
|
+
type: Type;
|
|
16
|
+
/**
|
|
17
|
+
* Content url of the post.
|
|
18
|
+
*/
|
|
19
|
+
url: string;
|
|
20
|
+
/**
|
|
21
|
+
* If the post uses the old watermark or the new one
|
|
22
|
+
*/
|
|
23
|
+
old_watermark: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* In-app share url.
|
|
26
|
+
* @example
|
|
27
|
+
* `https://ifunny.co/picture/${post.id}`
|
|
28
|
+
* `https://ifunny.co/video/${post.id}`
|
|
29
|
+
*/
|
|
30
|
+
link: string;
|
|
31
|
+
/**
|
|
32
|
+
* The title of the post
|
|
33
|
+
*/
|
|
34
|
+
title: string;
|
|
35
|
+
/**
|
|
36
|
+
* Fixed title of the post
|
|
37
|
+
* @example
|
|
38
|
+
* `Gif memes ${post.id} by ${post.creator.nick}`
|
|
39
|
+
* `Picture memes ${post.id} by ${post.creator.nick}: ${post.num.comments} comments`
|
|
40
|
+
*/
|
|
41
|
+
fixed_title: string;
|
|
42
|
+
/**
|
|
43
|
+
* Array of tags on the post
|
|
44
|
+
*/
|
|
45
|
+
tags: string[];
|
|
46
|
+
/**
|
|
47
|
+
* The publish state of the post
|
|
48
|
+
*/
|
|
49
|
+
state: APIPostState;
|
|
50
|
+
/**
|
|
51
|
+
* {@link Timestamp} of when the post was created
|
|
52
|
+
*/
|
|
53
|
+
date_create: Timestamp;
|
|
54
|
+
/**
|
|
55
|
+
* {@link Timestamp} of when the Post was published
|
|
56
|
+
*/
|
|
57
|
+
publish_at: Timestamp;
|
|
58
|
+
/**
|
|
59
|
+
* Is the post smiled by the Client
|
|
60
|
+
*/
|
|
61
|
+
is_smiled: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Is the post unsmiled by the Client
|
|
64
|
+
*/
|
|
65
|
+
is_unsmiled: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Is the post removed by iFunny
|
|
68
|
+
*/
|
|
69
|
+
is_abused: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Is the post featured by iFunny
|
|
72
|
+
*/
|
|
73
|
+
is_featured: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Is the post republished by the Client
|
|
76
|
+
*/
|
|
77
|
+
is_republished: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Is the post pinned by the creator
|
|
80
|
+
*/
|
|
81
|
+
is_pinned: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Background color of the post.
|
|
84
|
+
*/
|
|
85
|
+
bg_color: HexCode;
|
|
86
|
+
/**
|
|
87
|
+
* The {@link APIPostThumbnail thumbnail} of the post
|
|
88
|
+
*/
|
|
89
|
+
thumb: APIPostThumbnail;
|
|
90
|
+
/**
|
|
91
|
+
* A post's {@link APIPostCopyright copyright} data
|
|
92
|
+
*/
|
|
93
|
+
copyright: APIPostCopyright;
|
|
94
|
+
/**
|
|
95
|
+
* The {@link APIPostNums numbers} on the post.
|
|
96
|
+
*/
|
|
97
|
+
num: APIPostNums;
|
|
98
|
+
/**
|
|
99
|
+
* The author of the post
|
|
100
|
+
*/
|
|
101
|
+
creator: APIPostCreator;
|
|
102
|
+
/**
|
|
103
|
+
* Size of the post
|
|
104
|
+
*/
|
|
105
|
+
size: Size;
|
|
106
|
+
/**
|
|
107
|
+
* The post's visibility
|
|
108
|
+
*/
|
|
109
|
+
visibility: APIPostVisibility;
|
|
110
|
+
/**
|
|
111
|
+
* ? Don't know what this is
|
|
112
|
+
*/
|
|
113
|
+
shot_status: APIPostShotStatus;
|
|
114
|
+
/**
|
|
115
|
+
* ? Don't know what this does
|
|
116
|
+
*/
|
|
117
|
+
fast_start: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* @example
|
|
120
|
+
* `https://ifunny.co/picture/${post.id}`
|
|
121
|
+
*/
|
|
122
|
+
canonical_url: string;
|
|
123
|
+
/**
|
|
124
|
+
* Can the post be boosted still
|
|
125
|
+
*/
|
|
126
|
+
can_be_boosted: boolean;
|
|
127
|
+
}
|
|
128
|
+
export declare enum POST_VISIBILITIES {
|
|
129
|
+
PUBLIC = "public"
|
|
130
|
+
}
|
|
131
|
+
export declare type APIPostVisibility = `${POST_VISIBILITIES}`;
|
|
132
|
+
export declare enum SHOT_STATUSES {
|
|
133
|
+
APPROVED = "approved"
|
|
134
|
+
}
|
|
135
|
+
export declare type APIPostShotStatus = `${SHOT_STATUSES}`;
|
|
136
|
+
/**
|
|
137
|
+
* All currently known post types
|
|
138
|
+
*/
|
|
139
|
+
export declare enum POST_TYPES {
|
|
140
|
+
PIC = "pic",
|
|
141
|
+
VIDEO_CLIP = "video_clip",
|
|
142
|
+
GIF = "gif",
|
|
143
|
+
GIF_CAPTION = "gif_caption",
|
|
144
|
+
CAPTION = "caption",
|
|
145
|
+
VINE = "vine",
|
|
146
|
+
COMICS = "comics",
|
|
147
|
+
MEME = "mem"
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Possible post types
|
|
151
|
+
*/
|
|
152
|
+
export declare type APIPostType = `${POST_TYPES}`;
|
|
153
|
+
export declare enum POST_STATES {
|
|
154
|
+
PUBLISHED = "published"
|
|
155
|
+
}
|
|
156
|
+
export declare type APIPostState = `${POST_STATES}`;
|
|
157
|
+
/**
|
|
158
|
+
* Author of a Post\
|
|
159
|
+
* Only includes info also in the user object
|
|
160
|
+
*/
|
|
161
|
+
export declare type APIPostCreatorBase = Pick<APIUser, "id" | "nick" | "photo" | "is_verified" | "is_banned" | "is_deleted" | "is_in_subscriptions" | "is_in_subscribers" | "is_blocked" | "nick_color" | "original_nick">;
|
|
162
|
+
/**
|
|
163
|
+
* The creator object for a post
|
|
164
|
+
*/
|
|
165
|
+
export interface APIPostCreator extends APIPostCreatorBase {
|
|
166
|
+
/**
|
|
167
|
+
* Only includes subscription and subscriber count
|
|
168
|
+
*/
|
|
169
|
+
num: APIPostCreatorNum;
|
|
170
|
+
/**
|
|
171
|
+
* Total amount of posts the creator has. For some reason this is not in the nums object for creators
|
|
172
|
+
*/
|
|
173
|
+
total_posts: number;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Alias for {@link APIPostCreator}
|
|
177
|
+
*/
|
|
178
|
+
export declare type APIPostAuthor = APIPostCreator;
|
|
179
|
+
/**
|
|
180
|
+
* Num object for Post Creator.\
|
|
181
|
+
* total_posts is in the creator object for some reason
|
|
182
|
+
*/
|
|
183
|
+
export declare type APIPostCreatorNum = Pick<APIUserNums, "subscribers" | "subscriptions">;
|
|
184
|
+
/**
|
|
185
|
+
* Numbers attatched to a post
|
|
186
|
+
*/
|
|
187
|
+
export interface APIPostNums {
|
|
188
|
+
/**
|
|
189
|
+
* The amount of smiles the post has
|
|
190
|
+
*/
|
|
191
|
+
smiles: number;
|
|
192
|
+
/**
|
|
193
|
+
* The amount of unsmiles the post has
|
|
194
|
+
*/
|
|
195
|
+
unsmiles: number;
|
|
196
|
+
/**
|
|
197
|
+
* How many smiles came from users visiting the creators profile
|
|
198
|
+
*/
|
|
199
|
+
guest_smiles: number;
|
|
200
|
+
/**
|
|
201
|
+
* How many comments are on the post
|
|
202
|
+
*/
|
|
203
|
+
comments: number;
|
|
204
|
+
/**
|
|
205
|
+
* How many views the post has
|
|
206
|
+
*/
|
|
207
|
+
views: number;
|
|
208
|
+
/**
|
|
209
|
+
* How many republishes the post has
|
|
210
|
+
*/
|
|
211
|
+
republished: number;
|
|
212
|
+
/**
|
|
213
|
+
* How many shares the post has.\
|
|
214
|
+
* ? Increases from the share url if the share url is different from the web_url
|
|
215
|
+
*/
|
|
216
|
+
shares: number;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Copyright data for a post.
|
|
220
|
+
*/
|
|
221
|
+
export interface APIPostCopyright {
|
|
222
|
+
/**
|
|
223
|
+
* Note about the copyright
|
|
224
|
+
*/
|
|
225
|
+
note?: string;
|
|
226
|
+
/**
|
|
227
|
+
* URL of original source
|
|
228
|
+
*/
|
|
229
|
+
url?: string;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* The Thumbnail object returned from the API\
|
|
233
|
+
* @example
|
|
234
|
+
* ```ts
|
|
235
|
+
* APIPostThumbnail.url = `https://imageproxy.ifunny.co/${params}/images/${content_id}.jpg`
|
|
236
|
+
* APIPostThumbnail.webp_url = `https://imageproxy.ifunny.co/${params}/images/${content_id}.webp
|
|
237
|
+
* ```
|
|
238
|
+
* Content URL params:\
|
|
239
|
+
* `crop:x-{number}` crops `number` pixels from bottom of the image\
|
|
240
|
+
* `crop:x+{number}` leaves `number` pixels at the top, and crops the rest\
|
|
241
|
+
* `crop:square` makes the image a square aspect ratio\
|
|
242
|
+
* `resize:{number}` changes the size of the image\
|
|
243
|
+
* `quality:{number}` changes the image quality\
|
|
244
|
+
*
|
|
245
|
+
*
|
|
246
|
+
* ? Bottom iFunny watermarks are 20 pixels tall\
|
|
247
|
+
* ? `crop:x-20` crops the watermakr from an image
|
|
248
|
+
*/
|
|
249
|
+
export interface APIPostThumbnail {
|
|
250
|
+
/**
|
|
251
|
+
* crop:x-20,crop:square,resize:65x,quality:90x75\
|
|
252
|
+
* `jpg`
|
|
253
|
+
*/
|
|
254
|
+
small_url: string;
|
|
255
|
+
/**
|
|
256
|
+
* crop:x-20,crop:square,resize:160x,quality:90x75\
|
|
257
|
+
* `jpg`
|
|
258
|
+
*/
|
|
259
|
+
url: string;
|
|
260
|
+
/**
|
|
261
|
+
* crop:x-20,crop:square,resize:320x,quality:90x75\
|
|
262
|
+
* `jpg`
|
|
263
|
+
*/
|
|
264
|
+
large_url: string;
|
|
265
|
+
/**
|
|
266
|
+
* crop:x-20,resize:640x,quality:90x75\
|
|
267
|
+
* `jpg`
|
|
268
|
+
*/
|
|
269
|
+
x640_url: string;
|
|
270
|
+
/**
|
|
271
|
+
* crop:x-20,resize:640x,quality:90x75
|
|
272
|
+
*/
|
|
273
|
+
webp_url: string;
|
|
274
|
+
/**
|
|
275
|
+
* crop:x-20,crop:square,resize:320x,quality:90
|
|
276
|
+
*/
|
|
277
|
+
large_webp_url: string;
|
|
278
|
+
/**
|
|
279
|
+
* crop:x-20,resize:640x,quality:90
|
|
280
|
+
*/
|
|
281
|
+
x640_webp_url: string;
|
|
282
|
+
/**
|
|
283
|
+
* crop:x-20,resize:320x,crop:x800,quality:90x75
|
|
284
|
+
*/
|
|
285
|
+
proportional_url: string;
|
|
286
|
+
/**
|
|
287
|
+
* crop:x-20,resize:320x,crop:x800,quality:90
|
|
288
|
+
*/
|
|
289
|
+
proportional_webp_url: string;
|
|
290
|
+
/**
|
|
291
|
+
* The proportional size of the image
|
|
292
|
+
*/
|
|
293
|
+
proportional_size: Size;
|
|
294
|
+
}
|
|
295
|
+
export interface APIPicturePost extends APIPostBase<"pic"> {
|
|
296
|
+
pic: {
|
|
297
|
+
/**
|
|
298
|
+
* webp format url of the post
|
|
299
|
+
*/
|
|
300
|
+
webp_url: string;
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* A video post object
|
|
305
|
+
*/
|
|
306
|
+
export interface APIVideoPost extends APIPostBase<"video_clip"> {
|
|
307
|
+
video_clip: APIPostVideoData;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* A gif post
|
|
311
|
+
*/
|
|
312
|
+
export interface APIGifPost extends APIPostBase<"gif"> {
|
|
313
|
+
gif: APIPostGifData;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* A gif caption post
|
|
317
|
+
*/
|
|
318
|
+
export interface APIGifCaptionPost extends APIPostBase<"gif_caption"> {
|
|
319
|
+
gif: APIPostGifCaptionData;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* A caption post
|
|
323
|
+
*/
|
|
324
|
+
export interface APICaptionPost extends APIPostBase<"caption"> {
|
|
325
|
+
caption: APIPostCaptionData;
|
|
326
|
+
}
|
|
327
|
+
export interface APIVinePost extends APIPostBase<"vine"> {
|
|
328
|
+
}
|
|
329
|
+
export interface APIComicsPost extends APIPostBase<"comics"> {
|
|
330
|
+
}
|
|
331
|
+
export interface APIMemePost extends APIPostBase<"mem"> {
|
|
332
|
+
}
|
|
333
|
+
export interface APIPostVideoData {
|
|
334
|
+
screen_url: string;
|
|
335
|
+
bytes: number;
|
|
336
|
+
source_type: "user";
|
|
337
|
+
duration: 0;
|
|
338
|
+
}
|
|
339
|
+
export declare enum VIDEO_SOURCE_TYPES {
|
|
340
|
+
USER = "user"
|
|
341
|
+
}
|
|
342
|
+
export declare type APIVideoPostSourceType = `${VIDEO_SOURCE_TYPES}`;
|
|
343
|
+
export declare type APIPostGifCaptionData = APIPostGifData & APIPostCaptionData;
|
|
344
|
+
export interface APIPostCaptionData {
|
|
345
|
+
/**
|
|
346
|
+
* The caption of the post
|
|
347
|
+
*/
|
|
348
|
+
caption: string;
|
|
349
|
+
}
|
|
350
|
+
export interface APIPostGifData {
|
|
351
|
+
/**
|
|
352
|
+
* JPEG url of the post
|
|
353
|
+
*/
|
|
354
|
+
screen_url: string;
|
|
355
|
+
/**
|
|
356
|
+
* How many bytes the post is
|
|
357
|
+
*/
|
|
358
|
+
bytes: number;
|
|
359
|
+
/**
|
|
360
|
+
* Url of the post in MP4 format
|
|
361
|
+
*/
|
|
362
|
+
mp4_url: string;
|
|
363
|
+
/**
|
|
364
|
+
* How many bytes the mp4 version is
|
|
365
|
+
*/
|
|
366
|
+
mp4_bytes: number;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* All possible Post Objects
|
|
370
|
+
*/
|
|
371
|
+
export declare type APIPost = APIPicturePost | APIVideoPost | APIGifPost | APIGifCaptionPost | APICaptionPost | APIVinePost | APIComicsPost | APIMemePost;
|
|
372
|
+
//# sourceMappingURL=post.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../src/payloads/post.ts"],"names":[],"mappings":"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"}
|