<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recursion on Dev &amp; Platform Engineering Hub</title><link>https://rhidayat.work/topics/recursion/</link><description>Recent content in Recursion on Dev &amp; Platform Engineering Hub</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Rachmat Hidayat</copyright><lastBuildDate>Sun, 09 Aug 2026 13:20:00 +0000</lastBuildDate><atom:link href="https://rhidayat.work/topics/recursion/index.xml" rel="self" type="application/rss+xml"/><item><title>TS Ep 50: DeepReadonly and DeepPartial</title><link>https://rhidayat.work/series/typescript/advanced/10-deep-readonly-and-deep-partial/</link><pubDate>Sun, 09 Aug 2026 13:20:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/advanced/10-deep-readonly-and-deep-partial/</guid><description>The built-in &lt;code&gt;Partial&lt;/code&gt; and &lt;code&gt;Readonly&lt;/code&gt; utilities are shallow. Learn how to write your own &lt;code&gt;DeepReadonly&lt;/code&gt; and &lt;code&gt;DeepPartial&lt;/code&gt; utilities that penetrate every layer of nested objects by combining Generics, Conditionals, &lt;code&gt;infer&lt;/code&gt;, Mapped Types, and Recursion simultaneously.</description></item><item><title>TS Ep 45: Inferring Promises (`Awaited`)</title><link>https://rhidayat.work/series/typescript/advanced/05-infer-with-promises-awaited/</link><pubDate>Sun, 09 Aug 2026 12:55:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/advanced/05-infer-with-promises-awaited/</guid><description>Learn how the built-in &lt;code&gt;Awaited&amp;lt;T&amp;gt;&lt;/code&gt; utility models the runtime &lt;code&gt;await&lt;/code&gt; keyword. We explore how to combine the &lt;code&gt;infer&lt;/code&gt; keyword with Recursive Type Aliases to drill down and unwrap Promises infinitely deep, and how to compose it with &lt;code&gt;ReturnType&lt;/code&gt; for async functions.</description></item></channel></rss>