Add new limit option to limit the requested amount of posts from the Reddit API (#203)
All checks were successful
Test / build (push) Successful in 8s
All checks were successful
Test / build (push) Successful in 8s
- Add the limit option - Valid number between 1 and 100 - Defaults to 100 - Updated documentation to mention this #137 Reviewed-on: #203 Reviewed-by: VylpesTester <tester@vylpes.com> Co-authored-by: Ethan Lane <ethan@vylpes.com> Co-committed-by: Ethan Lane <ethan@vylpes.com>
This commit is contained in:
parent
6f0109ae6e
commit
2b3e65302b
12 changed files with 170 additions and 17 deletions
24
src/index.ts
24
src/index.ts
|
@ -7,8 +7,23 @@ import { ErrorCode } from "./constants/ErrorCode";
|
|||
import ErrorMessages from "./constants/ErrorMessages";
|
||||
import ImageHelper from "./helpers/imageHelper";
|
||||
|
||||
export default async function randomBunny(subreddit: string, sortBy: "new" | "hot" | "top" = 'hot'): Promise<IReturnResult> {
|
||||
const result = await fetch(`https://reddit.com/r/${subreddit}/${sortBy}.json?limit=100`)
|
||||
export default async function randomBunny(subreddit: string, sortBy: "new" | "hot" | "top" = 'hot', limit: number = 100): Promise<IReturnResult> {
|
||||
if (limit < 1 || limit > 100) {
|
||||
return {
|
||||
IsSuccess: false,
|
||||
Query: {
|
||||
subreddit: subreddit,
|
||||
sortBy: sortBy,
|
||||
limit: limit,
|
||||
},
|
||||
Error: {
|
||||
Code: ErrorCode.LimitOutOfRange,
|
||||
Message: ErrorMessages.LimitOutOfRange,
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const result = await fetch(`https://reddit.com/r/${subreddit}/${sortBy}.json?limit=${limit}`)
|
||||
.then((res) => {
|
||||
return res;
|
||||
})
|
||||
|
@ -22,6 +37,7 @@ export default async function randomBunny(subreddit: string, sortBy: "new" | "ho
|
|||
Query: {
|
||||
subreddit: subreddit,
|
||||
sortBy: sortBy,
|
||||
limit: limit,
|
||||
},
|
||||
Error: {
|
||||
Code: ErrorCode.FailedToFetchReddit,
|
||||
|
@ -38,6 +54,7 @@ export default async function randomBunny(subreddit: string, sortBy: "new" | "ho
|
|||
Query: {
|
||||
subreddit: subreddit,
|
||||
sortBy: sortBy,
|
||||
limit: limit,
|
||||
},
|
||||
Error: {
|
||||
Code: ErrorCode.UnableToParseJSON,
|
||||
|
@ -60,6 +77,7 @@ export default async function randomBunny(subreddit: string, sortBy: "new" | "ho
|
|||
Query: {
|
||||
subreddit: subreddit,
|
||||
sortBy: sortBy,
|
||||
limit: limit,
|
||||
},
|
||||
Error: {
|
||||
Code: ErrorCode.NoImageResultsFound,
|
||||
|
@ -85,6 +103,7 @@ export default async function randomBunny(subreddit: string, sortBy: "new" | "ho
|
|||
Query: {
|
||||
subreddit: subreddit,
|
||||
sortBy: sortBy,
|
||||
limit: limit,
|
||||
},
|
||||
Error: {
|
||||
Code: ErrorCode.NoImageResultsFound,
|
||||
|
@ -115,6 +134,7 @@ export default async function randomBunny(subreddit: string, sortBy: "new" | "ho
|
|||
Query: {
|
||||
subreddit: subreddit,
|
||||
sortBy: sortBy,
|
||||
limit: limit,
|
||||
},
|
||||
Result: redditResult
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue