I hereby claim:
- I am akoenig on github.
- I am andrekoenig (https://keybase.io/andrekoenig) on keybase.
- I have a public key ASAP9kw2P5vzONNZiY8kA4JgNR_tAq7sahvVNtBXnZ3-ewo
To claim this, I am signing this object:
| // path: resolvers/helmet.ts | |
| import { FatalError } from "./errors/FatalError"; | |
| const helmet = (resolver) => async (...args) => { | |
| try { | |
| // | |
| // Try to execute the actual resolver and return | |
| // the result immediately. | |
| // |
| // path: resolvers/mutation/index.ts | |
| import { helmet } from "../helmet"; | |
| import { login } from "./login"; | |
| const Mutation = { | |
| login: helmet(login) | |
| // ... | |
| }; |
| mkdir telemetry-consumer && cd $_ | |
| # Create directory for the binding | |
| mkdir binding | |
| # Install the `graphql-cli` locally | |
| yarn add graphql-cli | |
| yarn graphql init | |
| ? Enter project name (Enter to skip): telemetry-consumer |
| telemetry-consumer: | |
| schemaPath: ./binding/telemetry.graphql | |
| extensions: | |
| + prepare-binding: | |
| + output: ./binding/telemetry.ts | |
| + generator: binding-ts | |
| endpoints: | |
| telemetry: 'https://kqxrmk1pr7.lp.gql.zone/graphql' |
| const aFieldResolver = (parent, args, context, info) => "beeeeeeeeep"; | |
| const myCustomMiddleware = async (parent, args, context, info) => { | |
| // Will be executed before the resolver | |
| }; | |
| const middleware = (middlewares, resolver) => async (...args) => { | |
| for (const middleware of middlewares) { | |
| await middleware(...args); |
I hereby claim:
To claim this, I am signing this object:
| // | |
| // This is a code example from the blog post: | |
| // | |
| // https://andrekoenig.de/articles/pattern-matching-in-typescript | |
| // | |
| import { P, match } from "ts-pattern"; | |
| type ProductWasAddedToCartEvent = Readonly<{ | |
| type: "ProductWasAddedToCart"; |
| import { Config, Effect, LayerMap, ManagedRuntime, Schema } from "effect"; | |
| import { LibsqlClient } from "@effect/sql-libsql"; | |
| import { SqlClient, SqlSchema } from "@effect/sql"; | |
| // | |
| // Database Manager which returns a different "SQLite database connection" for each user. | |
| // | |
| class DatabaseManager extends LayerMap.Service<DatabaseManager>()( | |
| "DatabaseManager", | |
| { |