Skip to content

Instantly share code, notes, and snippets.

@nemmtor
nemmtor / nestjs-custom-dynamic-module-mongodb-example.md
Last active September 29, 2025 15:05
NestJS - custom dynamic modules - mongodb example

NestJs has built in ConfigurableModuleBuilder, it is very powerful and satisfies most of cases for dynamic modules:

import { ConfigurableModuleBuilder, Module } from '@nestjs/common';
import { MongoClient } from 'mongodb';

type MongoClientModuleOptions = {
  host: string;
  name: string;
  port: number;
  user: string;
@nemmtor
nemmtor / Pipe.ts
Last active November 20, 2021 01:48
type LastPipeReturn<T extends any[], U = any> = T extends [...infer I, infer L] ? L extends (...args: any) => U ? ReturnType<L> : never : never;
type PipeArgsRecursive<T extends readonly any[], Result extends any[] = [], HeadArg = undefined> =
T extends readonly [infer Head, ...infer Tail] ?
Head extends (arg: HeadArg) => infer HeadReturn ?
PipeArgsRecursive<Tail, [...Result, Head], HeadReturn> : never : Result;
const pipe = <Args extends ((arg: any) => any)[], Return extends LastPipeReturn<Args> = LastPipeReturn<Args>>(...pipes: PipeArgsRecursive<Args>): Return => {
@nemmtor
nemmtor / machine.js
Created July 16, 2021 09:10
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@nemmtor
nemmtor / .prettierrc
Created October 25, 2020 10:30
my prettier config
{
"trailingComma": "all",
"tabWidth": 2,
"semi": true,
"singleQuote": true,
"endOfLine": "auto"
}