Open
Description
目的
オブジェクトリテラルのプロパティ名に予約語も書けるようにしたい
現状
Misskeyの拡張APIにおいて、Ui:C:textInput
関数などの引数のプロパティにdefault
があるが、
AiScriptがバージョン1.0.0になるとdefault
が予約語となるため、既存のコードが動かなくなってしまう懸念がある。
例えば、Misskey Playだとこういうコードが動くが、
1.0.0になるとSyntax: unexpected token: DefaultKeyword
のエラーになる。
/// @ 0.19.0
Ui:render([
Ui:C:textInput({
default: 'text',
})
])
解決策
オブジェクトリテラルのキー名に予約語を使えるようになる。
JSON5の識別子(=ECMAScriptにおけるIdentifierName)では、一部の非ASCII文字・$・Unicodeエスケープシーケンス・予約語も使えるため、それに準拠してみる。
JSON5Identifier: https://spec.json5.org/#prod-JSON5Identifier
Metadata
Metadata
Assignees
Labels
No labels