Command line interface for ARRI-RPC
For full details visit the server docs
import { defineConfig } from "arri";
export default defineConfig({
srcDir: "src",
entry: "app.ts",
port: 3000,
generators: [
// client generators go here (can be imported from arri)
],
});
arri dev
arri build
// app-definition.ts
import { createAppDefinition } from "arri";
import { a } from "@arrirpc/schema";
export default createAppDefinition({
procedures: {
sayHello: {
transport: "http",
method: "post",
path: "/say-hello",
params: a.object({
name: a.string(),
}),
response: a.object({
message: a.string(),
}),
},
},
});
// arri.config.ts
import {
defineConfig,
typescriptClientGenerator,
dartClientGenerator,
kotlinClientGenerator,
} from "arri";
export default defineConfig({
generators: [
typescriptClientGenerator({
// options
}),
dartClientGenerator({
// options
}),
kotlinClientGenerator({
// options
}),
],
});
arri codegen ./app-definition.ts
// typescript
await client.sayHello({
name: "John Doe",
});
// dart
await client.sayHello(
SayHelloParams(
name: "John Doe",
),
);
// kotlin
client.sayHello(
SayHelloParams(
name = "John Doe"
)
)