summaryrefslogtreecommitdiff
path: root/examples/ssr/src/api.ts
blob: 9fd7d06831325456a0ee0142cde08ad12dd0808c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
interface Product {
	id: number;
	name: string;
	price: number;
	image: string;
}

//let origin: string;
const { mode } = import.meta.env;
const origin = mode === 'develeopment' ?
	`http://localhost:3000` :
	`http://localhost:8085`;

async function get<T>(endpoint: string, cb: (response: Response) => Promise<T>): Promise<T> {
	const response = await fetch(`${origin}${endpoint}`);
	if(!response.ok) {
		// TODO make this better...
		return null;
	}
	return cb(response);
}

export async function getProducts(): Promise<Product[]> {
	return get<Product[]>('/api/products', async response => {
		const products: Product[] = await response.json();
		return products;
	});
}

export async function getProduct(id: number): Promise<Product> {
	return get<Product>(`/api/products/${id}`, async response => {
		const product: Product = await response.json();
		return product;
	});
}
xt?h=ansg191/server-identity-CN&id=16a08010585d407ae63982892304b2c077001a9d&follow=1'>Format cmakelists + increase stack sizeGravatar Jarred Sumner 1-123/+182 2023-10-27Fix debug logGravatar Jarred Sumner 1-2/+2 2023-10-27fix(ci): typoGravatar dave caruso 4-19/+8 2023-10-27Fix fallback to copyfileGravatar Jarred Sumner 1-5/+9 2023-10-27Fix warningGravatar Jarred Sumner 1-3/+6 2023-10-27feat: Windows + CMake Build System (#4410)Gravatar Jarred Sumner 396-60458/+13083 2023-10-27Fix running `Bun.spawn` on Vercel and GCP (#6724)Gravatar Jarred Sumner 9-155/+444 2023-10-26Add EdgeDB guideGravatar Colin McDonnell 2-1/+228 2023-10-26fix: emit close on stdin stream end (#6720)Gravatar Liz 4-9/+47 2023-10-26fix(requestIP): fix type cast from binary to text format for IPv4. (#6725)Gravatar Hanaasagi 1-5/+4 2023-10-25Add test for custom thenables in AsyncLocalStorage and fix flaky test and mak...Gravatar Jarred Sumner 19-71/+226 2023-10-25docs: fixed typo in guides, install and runtime folder (#6718)Gravatar Susheel Thapa 5-5/+5 2023-10-25fix cli create from local template (#6670)Gravatar Pierre CM 4-105/+135 2023-10-25fix bun add drizzle to bun add drizzle-orm (#6703)Gravatar Jasper Kelder 1-1/+1 2023-10-25Update drizzle guideGravatar Colin McDonnell 1-2/+3 2023-10-25Updates to drizzleGravatar Colin McDonnell 1-6/+6 2023-10-25Implement `mock.module` in bun:test (#6685)Gravatar Jarred Sumner 27-84/+664 2023-10-25Fix `setTimeout(() => {}, 0)` and align `setImmediate` behavior with Node.js ...Gravatar Jarred Sumner 9-30/+169 2023-10-24fix(runtime): remove env variable limit (#6697)Gravatar dave caruso 3-12/+31 2023-10-24Remove unnecessary lineGravatar Colin McDonnell 1-1/+0