Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20250116 関数型DDD 2

Avatar for saka saka
December 24, 2025
4

20250116 関数型DDD 2

Avatar for saka

saka

December 24, 2025

Transcript

  1. type ProductCode = string & { readonly __brand: unique symbol

    }; type SubCode = string & { readonly __brand: unique symbol }; const product: ProductCode = "ABC123" as ProductCode; const sub: SubCode = "DEF456" as SubCode; // Τϥʔ͕ൃੜ const productSub: ProductCode = sub;
  2. function handleCode(code: ProductCode | SubCode) { if (code.tag === "ProductCode")

    { console.log("ProductCode: " + code.value); } else if (code.tag === "SubCode") { console.log("SubCode: " + code.value); } }