<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Martin Gregersen</title><description>Practical TypeScript, NestJS and software craft — helping you write better code and skill up as a developer.</description><link>https://www.mgregersen.dk/</link><item><title>3 reasons to use classes over constructor functions in Typescript</title><link>https://www.mgregersen.dk/3-reasons-to-use-classes-over-constructor-functions-in-typescript/</link><guid isPermaLink="true">https://www.mgregersen.dk/3-reasons-to-use-classes-over-constructor-functions-in-typescript/</guid><description>Have you ever spent any time working in Typescript (or Javascript, really), and found yourself wondering if you should use constructor functions – which is commonplace in Javascript – or use Classes? Well, look no further! In this article we’ll be going over just three reasons for using classes instead of constructor functions when building […]</description><pubDate>Mon, 02 Jan 2023 21:28:23 GMT</pubDate></item><item><title>Angular vs React: An Honest Review After 6 Years With Both</title><link>https://www.mgregersen.dk/angular-versus-react-honest-review/</link><guid isPermaLink="true">https://www.mgregersen.dk/angular-versus-react-honest-review/</guid><description>Angular vs React compared after 4 years with Angular and 2 with React. DI, state management, useEffect, ecosystem trade-offs. A real developer&apos;s verdict.</description><pubDate>Tue, 17 Mar 2026 14:42:54 GMT</pubDate></item><item><title>Arguments for why a team should use Typescript instead of Python</title><link>https://www.mgregersen.dk/arguments-for-why-a-team-should-use-typescript-instead-of-python/</link><guid isPermaLink="true">https://www.mgregersen.dk/arguments-for-why-a-team-should-use-typescript-instead-of-python/</guid><description>Typescript is statically typed and has compile time checks, which significantly boosts developer experience. I realize that is as close to what the official docs says as it can get without me quoting it directly, but I honestly don’t think you need to say more than that! So you would use Typescript over python, for […]</description><pubDate>Sun, 20 Nov 2022 19:06:53 GMT</pubDate></item><item><title>How to Migrate from the OpenAI SDK to Vercel AI SDK</title><link>https://www.mgregersen.dk/blog-migrate-openai-sdk-to-vercel-ai-sdk/</link><guid isPermaLink="true">https://www.mgregersen.dk/blog-migrate-openai-sdk-to-vercel-ai-sdk/</guid><description>We broke production migrating from OpenAI SDK to Vercel AI SDK. Here is every pattern, Zod fix, and lesson so you do not have to. Follow our tested guide.</description><pubDate>Sun, 29 Mar 2026 10:49:32 GMT</pubDate></item><item><title>Converting a Typescript project from CJS to ESM – the ultimate how-to</title><link>https://www.mgregersen.dk/converting-a-typescript-project-from-cjs-to-esm-the-ultimate-how-to/</link><guid isPermaLink="true">https://www.mgregersen.dk/converting-a-typescript-project-from-cjs-to-esm-the-ultimate-how-to/</guid><description>The dreaded CommonJS (CJS) to EcmaScript Modules (ESM) conversion. As the Javascript ecosystem continues to evolve and we continue to standardize, one unfortunate side-product for us NodeJS users, is the conversion to ESM.Admitted, as most things Node, since it isn’t running in the browser context we don’t have to convert to ESM, and it likely […]</description><pubDate>Thu, 20 Jun 2024 09:18:00 GMT</pubDate></item><item><title>Dockerizing and hosting a NestJS application</title><link>https://www.mgregersen.dk/dockerizing-and-hosting-a-nestjs-application/</link><guid isPermaLink="true">https://www.mgregersen.dk/dockerizing-and-hosting-a-nestjs-application/</guid><description>Part 1: Exploring and setting up NestJS Part 2: Dockerizing and hosting a NestJS application This is the second installment in my series about NestJS and becoming familiar with it. In this part of the series, I’d like to dive further into how and why I dockerized the setup. As with any new application, we […]</description><pubDate>Wed, 13 Aug 2025 07:45:13 GMT</pubDate></item><item><title>Enabling ESM with TS, without the headaches</title><link>https://www.mgregersen.dk/enabling-esm-with-ts-without-the-headaches/</link><guid isPermaLink="true">https://www.mgregersen.dk/enabling-esm-with-ts-without-the-headaches/</guid><description>This post was written from an optimistic standpoint, enabling ESM and TS on a new project, making it a straight forward thing to do.If you’re migrating an existing codebase, see my recent article on that topic right here, as that’s a much harder thing to do. Are you wanting to get on the latest trend […]</description><pubDate>Wed, 14 Jun 2023 11:56:47 GMT</pubDate></item><item><title>Exploring and setting up NestJS</title><link>https://www.mgregersen.dk/exploring-and-setting-up-nestjs/</link><guid isPermaLink="true">https://www.mgregersen.dk/exploring-and-setting-up-nestjs/</guid><description>I recently decided to do some more exploration of NestJS, as its a framework I’ve been interested in for a few years, and even dabbled in a bit. I have used it for a small project and built some services with it back in 2021 to test out how well we could implement a microservice […]</description><pubDate>Tue, 11 Mar 2025 09:20:31 GMT</pubDate></item><item><title>Fix ERR_MODULE_NOT_FOUND in TypeScript ESM Projects</title><link>https://www.mgregersen.dk/fix-err-module-not-found-typescript-esm/</link><guid isPermaLink="true">https://www.mgregersen.dk/fix-err-module-not-found-typescript-esm/</guid><description>Hit ERR_MODULE_NOT_FOUND in TypeScript ESM? Diagnose the root cause with this decision tree, covering file extensions, tsconfig, and runtime fixes.</description><pubDate>Mon, 06 Apr 2026 07:26:56 GMT</pubDate></item><item><title>Am I a high agency individual?</title><link>https://www.mgregersen.dk/high-agency/</link><guid isPermaLink="true">https://www.mgregersen.dk/high-agency/</guid><pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate></item><item><title>How I Built and Published My First Angular Library</title><link>https://www.mgregersen.dk/how-i-built-and-published-my-first-angular-library/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-i-built-and-published-my-first-angular-library/</guid><description>I’ve always been curious about how writing code for a library differs from writing code for regular application. How is it different from writing normal application code. Is the setup more complicated, because you need to transpile to different versions? Is it vastly different between a frontend (React, Angular, etc.) library versus a NodeJS library? […]</description><pubDate>Sat, 22 Feb 2025 15:39:53 GMT</pubDate></item><item><title>How I debugged Chaos in our CI pipeline</title><link>https://www.mgregersen.dk/how-i-debugged-chaos-in-our-ci-pipeline/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-i-debugged-chaos-in-our-ci-pipeline/</guid><description>The story of how one seemingly innocent PR, caused all hell to break loose in our CI/CD flows. Just about a week ago, a colleague of mine had to pull me in to have a look at some weird issues he was seeing.Our CI pipeline, specifically a Github action, that spins up a Docker container […]</description><pubDate>Mon, 27 Oct 2025 13:33:52 GMT</pubDate></item><item><title>How I reverse engineered the runner&apos;s high</title><link>https://www.mgregersen.dk/how-i-reverse-engineered-the-runners-high/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-i-reverse-engineered-the-runners-high/</guid><description>My personal recipe for consistently triggering a runner&apos;s high — sunny weather, a song I feel strongly about, a hard pace, and beautiful scenery.</description><pubDate>Wed, 01 Dec 2021 00:00:00 GMT</pubDate></item><item><title>3 libraries for how to best setup Typescript compilation with Javascript rerendering</title><link>https://www.mgregersen.dk/how-to-best-setup-typescript-compilation-with-javascript-rerendering/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-best-setup-typescript-compilation-with-javascript-rerendering/</guid><description>This post was updated in May 2024, to include a new contender with fewer tools as a potential winner as my personal preference. For Javascript, we are lucky to have an extremely popular library titled nodemon. For Typescript, we’re not quite as lucky. But we do have a few options! In this short article, I’ll […]</description><pubDate>Wed, 01 Mar 2023 21:39:58 GMT</pubDate></item><item><title>How to Fix the “Nest Can’t Resolve Dependencies” Error in NestJS</title><link>https://www.mgregersen.dk/how-to-fix-the-nest-cant-resolve-dependencies-error-in-nestjs/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-fix-the-nest-cant-resolve-dependencies-error-in-nestjs/</guid><description>Getting &quot;Nest can&apos;t resolve dependencies&quot; error? This guide covers all 7 causes with examples: missing providers, circular deps and more.</description><pubDate>Fri, 16 Jan 2026 20:51:36 GMT</pubDate></item><item><title>How to fix “Uncaught ReferenceError: process is not defined” error</title><link>https://www.mgregersen.dk/how-to-fix-uncaught-referenceerror-process-is-not-defined-error/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-fix-uncaught-referenceerror-process-is-not-defined-error/</guid><description>Updated November 5th, 2025 Ever run into this dreaded issue when working with Javascript or – preferably – Typescript?Nothing is more frustrating than happily coding away, deciding you want to increase the security abstraction layer a bit – or perhaps you subscribe to the 12 Factor App – only to get met with this error. […]</description><pubDate>Mon, 08 May 2023 06:51:04 GMT</pubDate></item><item><title>How to get better at Typescript Generics</title><link>https://www.mgregersen.dk/how-to-get-better-at-generics/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-get-better-at-generics/</guid><description>Generics are hard! Or at least, many of us seem to think that way. It is a viewpoint I have seen shared many times over, partially implying that “Generics” is a concept, much more difficult than most other Typescript concepts. I’m here to tell you, it’s not! It’s easy for that all-too-common imposter syndrome to […]</description><pubDate>Wed, 07 Dec 2022 20:35:12 GMT</pubDate></item><item><title>How to get started with Typescript</title><link>https://www.mgregersen.dk/how-to-get-started-with-typescript/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-get-started-with-typescript/</guid><description>So, you’ve decided that Javascript is the language you want to pursue and learn. Upon googling “how to learn javascript” you quickly start seeing “Typescript” appearing again and again. Intrigued you wonder “what is Typescript? Is that something I need to know? Should I learn that instead?”. A bit worried you continue your quest for […]</description><pubDate>Wed, 13 Sep 2023 19:25:07 GMT</pubDate></item><item><title>How to handle exceptions in Typescript</title><link>https://www.mgregersen.dk/how-to-handle-exceptions-in-typescript/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-handle-exceptions-in-typescript/</guid><description>In Typescript, exceptions can be a bit weird. This is especially true if you’re writing library code or a VSCode plugin. Because almost surely you’ll want to output nice and custom error messages to the end user. Typescript doesn’t allow for a try/catch block to catch type errors, like it would for runtime errors. So […]</description><pubDate>Wed, 29 Mar 2023 07:53:50 GMT</pubDate></item><item><title>How to manage consistent types using extract</title><link>https://www.mgregersen.dk/how-to-manage-consistent-types-using-extract/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-manage-consistent-types-using-extract/</guid><description>As we start unfolding Typescript and start to maintain an ever-increasing amount of types in our codebase, we might want to start doing things smarter at some point. I’m a very pragmatic person and that makes me subscribe to the idea of DRY; especially when it comes to managing types. I really do not want […]</description><pubDate>Sun, 25 Jun 2023 11:35:18 GMT</pubDate></item><item><title>How to properly use a .d.ts files</title><link>https://www.mgregersen.dk/how-to-properly-use-a-d-ts-file-to-extend-interfaces/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-properly-use-a-d-ts-file-to-extend-interfaces/</guid><description>If you’ve ever need a global type to be available or perhaps already have a few, then There are several cases in Node where we may want to extend interfaces, a common such example is when using the library passport that often recommends appending a user object to our express Request object. Using Typescript, this […]</description><pubDate>Mon, 22 May 2023 07:03:22 GMT</pubDate></item><item><title>How to tell Typescript a function always returns something</title><link>https://www.mgregersen.dk/how-to-tell-typescript-a-function-always-returns-something/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-tell-typescript-a-function-always-returns-something/</guid><description>Nothing is more frustrating than having the Typescript compiler complain about something that obviously worked fine in Javascript, what the hell man!? However, as frustrating as it seems, Typescript is actually trying to protect us from… Well, ourselves! Sometimes we know more than Typescript and we can safely ignore such warnings, for example by declaring […]</description><pubDate>Wed, 25 Jan 2023 20:14:58 GMT</pubDate></item><item><title>How to work with union types that can be undefined</title><link>https://www.mgregersen.dk/how-to-work-with-union-types-that-can-be-undefined/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-work-with-union-types-that-can-be-undefined/</guid><description>Ever struggled with figuring out how to deal with undefined? Or spent a good cup of coffee (and a half) to stop the Typescript compiler from screaming at you? In Typescript we often come across values that can have multiple values, called union types, and in some cases one of those values is undefined. If […]</description><pubDate>Mon, 14 Aug 2023 08:26:23 GMT</pubDate></item><item><title>How to write a function with a conditionally required parameter</title><link>https://www.mgregersen.dk/how-to-write-a-function-with-a-conditionally-required-parameter/</link><guid isPermaLink="true">https://www.mgregersen.dk/how-to-write-a-function-with-a-conditionally-required-parameter/</guid><description>Functions are the bread and butter of Javascript. It leans more strongly into a functional programming paradigm than any modern language today. But functions can be weird! Then, on top of that, let’s add the added layer of complexity that is Typescript. How do we start defining types for weird functions? What if I wanted […]</description><pubDate>Tue, 21 Feb 2023 08:54:37 GMT</pubDate></item><item><title>“I love Typescript, but I hate the configuration”</title><link>https://www.mgregersen.dk/i-love-typescript-but-i-hate-the-configuration/</link><guid isPermaLink="true">https://www.mgregersen.dk/i-love-typescript-but-i-hate-the-configuration/</guid><description>Back upright, posture checked, fingers have just been cracked, you’ve got some good music playing and you’re ready to sit down and start coding on your new cool idea. Whilst ideas begin to unfold in your mind and you’re about to burst with creativity you envision “hey, this would be a cool opportunity to get […]</description><pubDate>Mon, 26 Jun 2023 20:47:17 GMT</pubDate></item><item><title>I used to hate Typescript. Here’s why I love it now</title><link>https://www.mgregersen.dk/i-used-to-hate-typescript-heres-why-i-love-it-now/</link><guid isPermaLink="true">https://www.mgregersen.dk/i-used-to-hate-typescript-heres-why-i-love-it-now/</guid><description>While Typescript has a high rate of adoption and it is generally very well-regarded in the community, there are still many developers that – despite Typescripts many advantages – still prefer Javascript. I myself had a preference for Javascript well into 2021, before I finally succumbed to the allures of Typescript, and decided to give […]</description><pubDate>Tue, 07 Feb 2023 22:51:25 GMT</pubDate></item><item><title>The dreaded JS-to-TS Migration: Partial progress or full migration?</title><link>https://www.mgregersen.dk/javascript-to-typescript-migration/</link><guid isPermaLink="true">https://www.mgregersen.dk/javascript-to-typescript-migration/</guid><description>I write a lot about Typescript. I write a lot about why I think it’s better than Javascript. And perhaps I’ve convinced you too! Maybe you want to start converting some JS projects to TS and see what the fuzz is all about. The only thing blocking you is… How the hell do I get […]</description><pubDate>Mon, 01 May 2023 20:53:14 GMT</pubDate></item><item><title>Taking the ‘Patch’ Out of Monkeypatching: Adding Properties in TypeScript</title><link>https://www.mgregersen.dk/monkeypatching-adding-properties-in-typescript/</link><guid isPermaLink="true">https://www.mgregersen.dk/monkeypatching-adding-properties-in-typescript/</guid><description>Let’s dive in. It’s a common scenario. You’re coding away in TypeScript, enjoying the safety net of static types. Then, you hit a snag. You need to attach a new property to an existing object, and TypeScript, in all its type-safe glory, is telling you, “Nope, sorry, that’s not going to happen.” In your case, […]</description><pubDate>Sat, 13 May 2023 08:45:14 GMT</pubDate></item><item><title>Some reasons to stick with Javascript instead of using Typescript</title><link>https://www.mgregersen.dk/some-reasons-to-stick-with-javascript-instead-of-using-typescript/</link><guid isPermaLink="true">https://www.mgregersen.dk/some-reasons-to-stick-with-javascript-instead-of-using-typescript/</guid><description>There are many reasons that a developer may want to stick with Javascript, instead of applying Typescript to their codebase. That last one is a bit tongue-in-cheek; but to some extend Typescript does force you to do more work (even if just a little), on top of regular Javascript. But let’s dive in and take […]</description><pubDate>Mon, 09 Jan 2023 20:05:14 GMT</pubDate></item><item><title>Speed vs robustness when coding in Typescript</title><link>https://www.mgregersen.dk/speed-vs-robustness-when-coding-in-typescript/</link><guid isPermaLink="true">https://www.mgregersen.dk/speed-vs-robustness-when-coding-in-typescript/</guid><description>At the risk of sounding like a cliché I thought I’d share some thoughts on striking a balance between “speed” and “robustness”, working as a Typescript developer. I’ve always been a firm believer in picking the right tool for the job, whether that is applying the appropriate programming language, framework, library or delivery vehicle (ie. […]</description><pubDate>Tue, 14 Jan 2025 08:29:00 GMT</pubDate></item><item><title>Switching from JS to TS as an experienced programmer</title><link>https://www.mgregersen.dk/switching-from-js-to-ts-as-an-experienced-programmer/</link><guid isPermaLink="true">https://www.mgregersen.dk/switching-from-js-to-ts-as-an-experienced-programmer/</guid><description>Few programmers start their journey with Typescript. There’s a wide variety of languages we could start with and while it isn’t all that important, a common denominator despite how we learn the web, is Javascript. Most developers encounter javascript at some point or another, as part of making their websites interactive, adding a little bit […]</description><pubDate>Sat, 18 Mar 2023 11:22:59 GMT</pubDate></item><item><title>The game of business, from the perspective of a technical founder</title><link>https://www.mgregersen.dk/the-game-of-business-from-the-perspective-of-a-technical-founder/</link><guid isPermaLink="true">https://www.mgregersen.dk/the-game-of-business-from-the-perspective-of-a-technical-founder/</guid><description>This post will be less about Typescript and more about programming in general, specifically from the point of view of being a technical founder. If you’ve ever dabbled in server administration, fiddled with a raspberry pi, been curious about new technology outside work, or you identify as someone with an explorative or entrepreneurial gene, this […]</description><pubDate>Tue, 07 May 2024 09:10:50 GMT</pubDate></item><item><title>To framework, or not to framework, that is the decision</title><link>https://www.mgregersen.dk/to-framework-or-not-to-framework-that-is-the-decision/</link><guid isPermaLink="true">https://www.mgregersen.dk/to-framework-or-not-to-framework-that-is-the-decision/</guid><description>Lately I’ve found myself with renewed urge to learn new things through building new. Usually that starts with a good idea “damn, it would be cool to build X!” – you know the feeling. But being a bit of a perfectionist (it’s something I’m working on), the dreams of features quickly becomes consumed by other […]</description><pubDate>Mon, 01 Apr 2024 10:56:24 GMT</pubDate></item><item><title>TS Debugging that doesn’t suck</title><link>https://www.mgregersen.dk/ts-debugging-that-doesnt-suck/</link><guid isPermaLink="true">https://www.mgregersen.dk/ts-debugging-that-doesnt-suck/</guid><description>Unfortunately, at some point or another you are going to create a bug in your system. The larger it grows the more likely it is that you will create that bug. Or an exception! Lean more on how to deal with those here. So what do we do about it? Well, we need to arm […]</description><pubDate>Tue, 11 Apr 2023 08:31:01 GMT</pubDate></item><item><title>Type safety and generics do not have to be complicated!</title><link>https://www.mgregersen.dk/type-safety-and-generics-do-not-have-to-be-complicated/</link><guid isPermaLink="true">https://www.mgregersen.dk/type-safety-and-generics-do-not-have-to-be-complicated/</guid><description>Ever find yourself consuming a third party library, or API, with Typescript? Ever been in a situation where whatever you’re working with, isn’t exactly strongly typed, entirely neglecting one of the advantages of Typescript? Me too! But fret not, there are things we can do to ensure type safety even when working with libraries, objects […]</description><pubDate>Sun, 22 Jan 2023 12:24:25 GMT</pubDate></item><item><title>Understanding ‘this’ in Builder classes</title><link>https://www.mgregersen.dk/understanding-this-in-builder-classes/</link><guid isPermaLink="true">https://www.mgregersen.dk/understanding-this-in-builder-classes/</guid><description>Builder classes are an interesting pattern. Originating from the OOP world, they seem to have found a good place in the Javascript (and Typescript) ecosystem. Builders can be incredibly helpful in assisting us in creating complex objects, often step-by-step. They are at their best in code-bases where we often need similar, yet different, complex objects […]</description><pubDate>Mon, 30 Jan 2023 08:17:05 GMT</pubDate></item><item><title>Upgrading Prisma to Rust-free client in NestJS</title><link>https://www.mgregersen.dk/upgrading-prisma-to-rust-free-client-in-nestjs/</link><guid isPermaLink="true">https://www.mgregersen.dk/upgrading-prisma-to-rust-free-client-in-nestjs/</guid><description>Updated January 15, 2026 to reflect Prisma 7.x stable releases and common issues encountered in production upgrades.If you want to skip ahead, there’s a minimal reproduction repo here, you can reference. Prisma 7 shipped with a significant architectural change: the query engine was rewritten from Rust to TypeScript. This sounds like a minor internal detail, […]</description><pubDate>Sat, 20 Sep 2025 08:48:27 GMT</pubDate></item><item><title>What are Javascript “pure functions”?</title><link>https://www.mgregersen.dk/what-are-javascript-pure-functions/</link><guid isPermaLink="true">https://www.mgregersen.dk/what-are-javascript-pure-functions/</guid><description>Ever hear of ‘pure functions’ in Javascript – and Typescript by extension – and wonder what they are? Pure functions, can simply be described as functions that do not modify their inputs or create side effects. This is important because in Javascript where everything is dynamic by default, it is easy to completely change the […]</description><pubDate>Mon, 06 Jan 2025 20:15:31 GMT</pubDate></item><item><title>What the F are dotfiles and why should I care?</title><link>https://www.mgregersen.dk/what-the-f-are-dotfiles-and-why-should-i-care/</link><guid isPermaLink="true">https://www.mgregersen.dk/what-the-f-are-dotfiles-and-why-should-i-care/</guid><description>I’m sure we’ve all shared this sort of experience: You grab your recently delivered brand new shiny computer. You’re excited! It’s time to get that baby running, so you plug in the charger and quickly boot it up. Oh snap. It’s faaaaast! Nice! After sprinting through the system configuration and creating a user account, you […]</description><pubDate>Sat, 02 Mar 2024 11:35:22 GMT</pubDate></item><item><title>What’s a good use case for using Partial&lt;T&gt;?</title><link>https://www.mgregersen.dk/whats-a-good-use-case-for-using-partial/</link><guid isPermaLink="true">https://www.mgregersen.dk/whats-a-good-use-case-for-using-partial/</guid><description>The Partial keyword in Typescript has many uses, but when is actually a good use case for using it? Well I’ve got a few quick ones so let’s dive in! Extending types to reduce maintenance Familiar with the DTO pattern? No? If not, this section is definitely for you! Popularized by Java – at least […]</description><pubDate>Mon, 13 Feb 2023 19:24:26 GMT</pubDate></item><item><title>When to use .d.ts type files for global types</title><link>https://www.mgregersen.dk/when-and-how-to-use-d-ts-type-files/</link><guid isPermaLink="true">https://www.mgregersen.dk/when-and-how-to-use-d-ts-type-files/</guid><description>If you don’t already know what a .d.ts file is, I recommend reading my other post on the topic. Writing and managing types for a Typescript project is a cumbersome issue, and one that is often handled differently from project to project. A common pattern that has evolved is to “place types where they are […]</description><pubDate>Sat, 07 Oct 2023 14:26:41 GMT</pubDate></item><item><title>Why ‘optional’ is powerful in Typescript</title><link>https://www.mgregersen.dk/why-optional-is-powerful-in-typescript/</link><guid isPermaLink="true">https://www.mgregersen.dk/why-optional-is-powerful-in-typescript/</guid><description>Coming from another language, feeling like the optional type is pointless? Like many others, perhaps you have also noticed that it is indeed possible to define a class or even an interface with a sub-interface. This prevents you from creating the object without defining all the properties, they’re not even nullable and that’s great! Let’s […]</description><pubDate>Wed, 30 Nov 2022 18:22:47 GMT</pubDate></item><item><title>Why pure functions are just better in TS</title><link>https://www.mgregersen.dk/why-pure-functions-are-just-better-in-ts/</link><guid isPermaLink="true">https://www.mgregersen.dk/why-pure-functions-are-just-better-in-ts/</guid><description>When writing code in TS there are various design choices and patterns that we use, some occurring on purpose and others just happening with little or no thought. One such example is “pure functions” a concept from Javascript that is in my opinion, even more important in Typescript. Pure functions are a simple concept that […]</description><pubDate>Sun, 23 Apr 2023 09:44:29 GMT</pubDate></item><item><title>Why ‘satisfies’ is a BIG deal</title><link>https://www.mgregersen.dk/why-satisfies-is-a-big-deal/</link><guid isPermaLink="true">https://www.mgregersen.dk/why-satisfies-is-a-big-deal/</guid><description>With the most recent Typescript version as of today – 4.9 – among a bunch of features (that I’ll make sure to cover in other posts) we are getting access to the satisfies keyword and that is a big deal! Bigger than you think, at least. At its core level the purpose of the satisfies […]</description><pubDate>Sat, 11 Feb 2023 11:12:55 GMT</pubDate></item></channel></rss>