trpc-azure-adapter

1.0.1 • Public • Published

tRPC adapter for Azure Functions

This is a simple adapter for Azure Functions that allows you to use tRPC with Azure Functions.

[!WARNING]

This package only supports the v4 programming model of Azure Functions, and there's no plan for supporting older versions.

[!NOTE]

This package only supports tRPC v11, which is still a work in progress, but its functionality is stable and can be used in production. To install tRPC v11, you can use the following command:

npm install @trpc/server@next

# remember to also install @trpc/client@next on your client side
npm install @trpc/client@next

Installation

Install the package using your preferred package manager:

npm install trpc-azure-adapter       # npm
yarn add trpc-azure-adapter          # yarn
pnpm add trpc-azure-adapter          # pnpm

Usage

import { app } from '@azure/functions';
import { initTRPC } from '@trpc/server';
import { z } from 'zod';
// 1. Import the `createAzureApiHandler` function from the package:
import { createAzureApiHandler } from 'trpc-azure-adapter';

const t = initTRPC.create();

// 2. Create a new tRPC router:
const appRouter = t.router({
  greeting: t.procedure
    .input(
      z.object({
        name: z.string(),
      })
    )
    .query(async ({ input }) => {
      return { msg: `Hello ${input.name}` };
    }),
});

export type AppRouter = typeof appRouter;

// 3. Use the `createAzureApiHandler` function to create a new Azure Functions handler passing in the tRPC router:
app.http('trpc', {
  methods: ['GET', 'POST'],
  authLevel: 'anonymous',
  route: '{trpc}',
  handler: createAzureApiHandler({
    router: appRouter,
  }),
});

TODOs

  • [ ] Create example app

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Readme

Keywords

none

Package Sidebar

Install

npm i trpc-azure-adapter

Weekly Downloads

9

Version

1.0.1

License

MIT

Unpacked Size

28.5 kB

Total Files

15

Last publish

Collaborators

  • heitorlisboa