diff --git a/polyglot/adapter.json b/polyglot/adapter.json index 85aa6a0..46d3aec 100644 --- a/polyglot/adapter.json +++ b/polyglot/adapter.json @@ -189,7 +189,86 @@ "to": { "length": 10485760 } - } + }, + [ + "deconstructArrayIntoArrayType", + { + "arrayDependency": { + "type": "or", + "values": [ + { + "type": "and", + "values": [ + { + "key": "type", + "value": "array" + }, + { + "key": "childType", + "value": "array" + } + ] + }, + { + "type": "and", + "values": [ + { + "key": "type", + "value": "array" + }, + { + "key": "childType", + "value": "list" + } + ] + }, + { + "type": "and", + "values": [ + { + "key": "type", + "value": "array" + }, + { + "key": "childType", + "value": "set" + } + ] + }, + { + "type": "and", + "values": [ + { + "key": "type", + "value": "array" + }, + { + "key": "childType", + "value": "tuple" + } + ] + } + ] + }, + "childDependency": { + "type": "not", + "values": { + "type": "or", + "values": [ + { + "key": "type", + "value": "document" + }, + { + "key": "type", + "value": "array" + } + ] + } + }, + "keyword": "array_type" + } + ] ] }, "postConvert": { diff --git a/polyglot/convertAdapter.json b/polyglot/convertAdapter.json index 1b08bb1..4745dc5 100644 --- a/polyglot/convertAdapter.json +++ b/polyglot/convertAdapter.json @@ -76,7 +76,18 @@ "to": { "hasMaxLength": true } - } + }, + [ + "constructArrayFromArrayType", + { + "dependency": { + "key": "array_type", + "exist": true + }, + "keywordOfArrayType": "array_type", + "typeOfPolyglotArray": "array" + } + ] ] } }