あるオブジェクトのこのフィールドを書き換えたいことあるでしょ。 type A: { x: X // => Yにしたい!!! } まあこういうときはA2 extends Aみたいなのを宣言するか,まあいろいろやりようはあると思うんですが,これがネストしてたりするわけですよ。5重とか…
久々にジムに行った。7km/hで30分走って帰ってきた。3.5km走ったことになる。途中でくたびれてきたが、なんとか走ることができたので良かった。 運動不足気味の人間が(7km/hとはいえ)30分も走り続けるには、忍耐しなければならない。忍耐は、自分が最も苦手…
オブジェクトからstring型のプロパティだけ取り出したいってことありませんか。僕はあります。何言ってんだという感じですがこういう感じです。 type EnumString = "foo" | "bar" | "piyo"; interface Mixed { a: string, b: number, c: object, d: EnumStri…
ない It is important to note that the schemas listed in an allOf, anyOf or oneOf array know nothing of one another. While it might be surprising, allOf can not be used to “extend” a schema to add more details to it in the sense of object-o…
JSON Schemaには,oneOfという便利な構文が用意されている。これは,与えられたスキーマのうちどれか1つだけがvalidなときvalidとする構文だ。 さて,そのoneOfの挙動で困ったのでメモする。具体的には,オブジェクト型Aと,別のオブジェクト型B,そしてAとB…
このスキーマ中の#abは無効になる。https://www.jsonschemavalidator.net/で検証してみるとよい。 { "definitions": { "a": { "$id": "#a", "additionalProperties": false, "type": "object", "required": ["a"], "properties": { "a": { "type": "number" …
(筆者は型入門者ですので,いい加減な事を書いていたらご指摘ください) ★追記: intersection typeとunion typeが逆だったので直した。 ★追記2: susisuくんにいいこと教えてもらったので追記した。 Intersection Types TypeScriptの型,とくにIntersection Ty…