<div class="chatlog__message-group"> <div id="chatlog__message-container-1224731114380197920" class="chatlog__message-container" data-message-id="1224731114380197920"> <div class="chatlog__message"> <div class="chatlog__message-aside"><img class="chatlog__avatar" src="https://cdn.discordapp.com/avatars/189711109966659584/95280765d1be73ce985dce15ea3585f6.png?size=512" alt="Avatar" loading="lazy"></div> <div class="chatlog__message-primary"> <div class="chatlog__header"><span class="chatlog__author" style="color:rgb(237,171,161)" title="omochimetaru" data-user-id="189711109966659584">omochimetaru</span> <a href="/channels/383442648012423179?category=main&channel=wasm&message_id=1224731255527182366"><span class="chatlog__timestamp" title="Tuesday, April 2, 2024 2:44 PM"></span></a><a href="#chatlog__message-container-1224731114380197920">4/2/2024 2:44 PM</a></div> <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">今できる安全なAPI設計は、 switch-caseする時用のenum型を専用に用意して <code class="chatlog__markdown-pre chatlog__markdown-pre--inline">enum JSValue.Switcher</code> とかにしておいて、 APIは <code class="chatlog__markdown-pre chatlog__markdown-pre--inline">struct JSValue</code> で全部通す、とかかな。 <code class="chatlog__markdown-pre chatlog__markdown-pre--inline">var JSValue.switcher: JSValue.Switcher { get }</code></span> <span class="chatlog__edited-timestamp" title="Tuesday, April 2, 2024 2:45 PM">(edited)</span></div> </div> </div> </div> <div id="chatlog__message-container-1224731255527182366" class="chatlog__message-container" data-message-id="1224731255527182366"> <div class="chatlog__message"> <div class="chatlog__message-aside"> <div class="chatlog__short-timestamp" title="Tuesday, April 2, 2024 2:44 PM">2:44 PM</div> </div> <div class="chatlog__message-primary"> <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">不正なSwitcherは作れるけどそれ以上伝搬しないので意味ない</span></div> </div> </div> </div> </div>