feat: update docs
This commit is contained in:
25
README.md
25
README.md
@@ -39,10 +39,11 @@ After creating our first route we mount it onto our relay instance.
|
|||||||
|
|
||||||
```ts
|
```ts
|
||||||
import { Relay } from "@valkyr/relay";
|
import { Relay } from "@valkyr/relay";
|
||||||
|
import { adapter } from "@valkyr/relay/http";
|
||||||
|
|
||||||
import route from "./path/to/route.ts";
|
import route from "./path/to/route.ts";
|
||||||
|
|
||||||
export const relay = new Relay([
|
export const relay = new Relay({ url: "http://localhost:3000/api", adapter }, [
|
||||||
route
|
route
|
||||||
]);
|
]);
|
||||||
```
|
```
|
||||||
@@ -54,19 +55,21 @@ We have now finished defining our initial relay setup which we can now utilize i
|
|||||||
To be able to successfully execute our user create route we need to attach a handler in our `api`. Lets start off by defining our handler.
|
To be able to successfully execute our user create route we need to attach a handler in our `api`. Lets start off by defining our handler.
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
import { UnprocessableContentError } from "@valkyr/relay";
|
import { Api, UnprocessableContentError } from "@valkyr/relay";
|
||||||
|
|
||||||
import { relay } from "~project/relay/mod.ts";
|
import { relay } from "~project/relay/mod.ts";
|
||||||
|
|
||||||
relay
|
export const api = new Api([
|
||||||
.route("POST", "/users")
|
relay
|
||||||
.handle(async ({ name, email }) => {
|
.route("POST", "/users")
|
||||||
const user = await db.users.insert({ name, email });
|
.handle(async ({ name, email }) => {
|
||||||
if (user === undefined) {
|
const user = await db.users.insert({ name, email });
|
||||||
return new UnprocessableContentError();
|
if (user === undefined) {
|
||||||
}
|
return new UnprocessableContentError();
|
||||||
return user.id;
|
}
|
||||||
});
|
return user.id;
|
||||||
|
})
|
||||||
|
]);
|
||||||
```
|
```
|
||||||
|
|
||||||
We now have a `POST` handler for the `/users` path.
|
We now have a `POST` handler for the `/users` path.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { RequestInput } from "../libraries/relay.ts";
|
import { RequestInput } from "../libraries/relay.ts";
|
||||||
import { RelayAdapter } from "../mod.ts";
|
import { RelayAdapter } from "../mod.ts";
|
||||||
|
|
||||||
export const http: RelayAdapter = {
|
export const adapter: RelayAdapter = {
|
||||||
async fetch({ method, url, search, body }: RequestInput) {
|
async fetch({ method, url, search, body }: RequestInput) {
|
||||||
const res = await fetch(`${url}${search}`, { method, headers: { "content-type": "application/json" }, body });
|
const res = await fetch(`${url}${search}`, { method, headers: { "content-type": "application/json" }, body });
|
||||||
const data = await res.text();
|
const data = await res.text();
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
"name": "@valkyr/relay",
|
"name": "@valkyr/relay",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": "./mod.ts"
|
".": "./mod.ts",
|
||||||
|
"./http": "./adapters/http.ts"
|
||||||
},
|
},
|
||||||
"publish": {
|
"publish": {
|
||||||
"exclude": [
|
"exclude": [
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import z from "zod";
|
import z from "zod";
|
||||||
|
|
||||||
import { http } from "../../adapters/http.ts";
|
import { adapter } from "../../adapters/http.ts";
|
||||||
import { Relay } from "../../libraries/relay.ts";
|
import { Relay } from "../../libraries/relay.ts";
|
||||||
import { route } from "../../libraries/route.ts";
|
import { route } from "../../libraries/route.ts";
|
||||||
import { UserSchema } from "./user.ts";
|
import { UserSchema } from "./user.ts";
|
||||||
|
|
||||||
export const relay = new Relay({ url: "http://localhost:36573", adapter: http }, [
|
export const relay = new Relay({ url: "http://localhost:36573", adapter }, [
|
||||||
route
|
route
|
||||||
.post("/users")
|
.post("/users")
|
||||||
.body(UserSchema.omit({ id: true, createdAt: true }))
|
.body(UserSchema.omit({ id: true, createdAt: true }))
|
||||||
|
|||||||
Reference in New Issue
Block a user