Схема JSON для элементов массива, разрешающая один тип только один раз в любом порядке - PullRequest
0 голосов
/ 09 июля 2019

Мне было интересно, как определить схему для массива, которая позволила бы разрешить типу только один раз, но также разрешить любые другие типы n несколько раз (или разрешить любой другой тип несколько раз) независимо от порядка.

Действительно:

[ allowMany, allowMany, allowOnce, allowMany, allowOther]
[ allowOnce allowMany, allowMany, allowMany, allowOther]
[ allowOther, allowOnce, allowMany, allowOther]

Invalid:

[allowOnce, allowMany, allowOther, allowOnce]
[allowOnce, allowOnce]

Я посмотрел на contains и попытался придумать схему items. Проблема в том, что меня не волнует порядок, поэтому опция кортежа не работает. И определение схемы items не учитывает типы, появляющиеся несколько раз.

У кого-нибудь есть предложение?

...