1
//native
2
type Buttondown = {
3
token: string;
4
};
5
/**
6
* Retrieve Items
7
*
8
*/
9
export async function main(
10
auth: Buttondown,
11
id: string,
12
expand: string | undefined,
13
) {
14
const url = new URL(
15
`https://api.buttondown.com/v1/external_feeds/${id}/items`,
16
);
17
for (const [k, v] of [["expand", expand]]) {
18
if (v !== undefined && v !== "" && k !== undefined) {
19
url.searchParams.append(k, v);
20
}
21
22
const response = await fetch(url, {
23
method: "GET",
24
headers: {
25
Authorization: "Token " + auth.token,
26
},
27
body: undefined,
28
});
29
if (!response.ok) {
30
const text = await response.text();
31
throw new Error(`${response.status} ${text}`);
32
33
return await response.json();
34
35