<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Infer on Dev &amp; Platform Engineering Hub</title><link>https://rhidayat.work/topics/infer/</link><description>Recent content in Infer 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:15:00 +0000</lastBuildDate><atom:link href="https://rhidayat.work/topics/infer/index.xml" rel="self" type="application/rss+xml"/><item><title>TS Ep 49: Recursive Types</title><link>https://rhidayat.work/series/typescript/advanced/09-recursive-types/</link><pubDate>Sun, 09 Aug 2026 13:15:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/advanced/09-recursive-types/</guid><description>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 How do you type a JSON object? A JSON object can contain arrays of objects, which can contain arrays of objects, infinitely down. You cannot hardcode this depth. You need a &lt;strong&gt;Recursive Type&lt;/strong&gt;.
&lt;/div&gt;</description></item><item><title>TS Ep 46: Inferring Tuples and Arrays</title><link>https://rhidayat.work/series/typescript/advanced/06-infer-with-tuples-and-arrays/</link><pubDate>Sun, 09 Aug 2026 13:00:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/advanced/06-infer-with-tuples-and-arrays/</guid><description>Pattern matching with &lt;code&gt;infer&lt;/code&gt; isn&amp;rsquo;t just for Promises and Objects. You can deconstruct Tuples and Arrays element by element in Type Space, mirroring the exact syntax of JavaScript&amp;rsquo;s array destructuring and spread operators.</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><item><title>TS Ep 44: The `infer` Keyword (Pattern Matching)</title><link>https://rhidayat.work/series/typescript/advanced/04-the-infer-keyword/</link><pubDate>Sun, 09 Aug 2026 12:50:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/advanced/04-the-infer-keyword/</guid><description>If conditional types are the if-else statements of Type Space, the &lt;code&gt;infer&lt;/code&gt; keyword is the variable declaration (&lt;code&gt;let x = ...&lt;/code&gt;). Learn how to extract types dynamically via pattern matching, rebuild &lt;code&gt;ReturnType&lt;/code&gt;, and parse Template Literal Strings at compile time.</description></item><item><title>TS Ep 37: Built-in Utility Types (`ReturnType` &amp; `Parameters`)</title><link>https://rhidayat.work/series/typescript/intermediate/13-utility-type-returntype-parameters/</link><pubDate>Sun, 09 Aug 2026 12:15:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/intermediate/13-utility-type-returntype-parameters/</guid><description>An in-depth guide to &lt;code&gt;ReturnType&amp;lt;T&amp;gt;&lt;/code&gt; and &lt;code&gt;Parameters&amp;lt;T&amp;gt;&lt;/code&gt;. Learn how to reverse-engineer third-party library functions, the requirement of &lt;code&gt;typeof&lt;/code&gt;, tuple indexing to extract specific arguments, and the underlying &lt;code&gt;infer&lt;/code&gt; keyword mechanics powering these utilities.</description></item></channel></rss>