declare const myStringSymbol: unique symbol; export type MyString = string & { [myStringSymbol]: never }; export function newMyString(s: string): MyString | null { // ... // return null if s is invalid return s as MyString; }
TypeScript (JavaScript) は Kotlin や C# にあるような拡張メソッドっぽいことができないんだよな……。もちろん無理やり突っ込めばいいんだけどそういうことじゃなくて……。結局 RxJS は pipe みたいなメソッドでごまかしたんだっけ……。 pipeline operator (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Pipeline_operator) は入りそうにないし……。
今日のコミット
- rust-atcoder 1 commit