@accordproject/concerto-cto 4.2.0 → 5.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/esm/chunk-ADOFOC62.mjs +381 -0
  2. package/dist/esm/chunk-ADOFOC62.mjs.map +7 -0
  3. package/dist/esm/chunk-ADZEFNZ5.mjs +46 -0
  4. package/dist/esm/chunk-ADZEFNZ5.mjs.map +7 -0
  5. package/dist/esm/chunk-AKCFZ6K2.mjs +53 -0
  6. package/dist/esm/chunk-AKCFZ6K2.mjs.map +7 -0
  7. package/dist/esm/chunk-L6QXUSLL.mjs +819 -0
  8. package/dist/esm/chunk-L6QXUSLL.mjs.map +7 -0
  9. package/dist/esm/chunk-WNU2QZFD.mjs +40 -0
  10. package/dist/esm/chunk-WNU2QZFD.mjs.map +7 -0
  11. package/dist/esm/chunk-Z274WV22.mjs +11851 -0
  12. package/dist/esm/chunk-Z274WV22.mjs.map +7 -0
  13. package/dist/esm/external.mjs +15 -0
  14. package/dist/esm/external.mjs.map +7 -0
  15. package/dist/esm/index.mjs +23 -0
  16. package/dist/esm/index.mjs.map +7 -0
  17. package/dist/esm/parseexception.mjs +12 -0
  18. package/dist/esm/parseexception.mjs.map +7 -0
  19. package/dist/esm/parserMain.mjs +16 -0
  20. package/dist/esm/parserMain.mjs.map +7 -0
  21. package/dist/esm/printer.mjs +12 -0
  22. package/dist/esm/printer.mjs.map +7 -0
  23. package/dist/esm-browser/chunk-5Z2F6LHO.mjs +933 -0
  24. package/dist/esm-browser/chunk-5Z2F6LHO.mjs.map +7 -0
  25. package/dist/esm-browser/chunk-E5UYTZNO.mjs +1696 -0
  26. package/dist/esm-browser/chunk-E5UYTZNO.mjs.map +7 -0
  27. package/dist/esm-browser/chunk-HZQXVGUH.mjs +56 -0
  28. package/dist/esm-browser/chunk-HZQXVGUH.mjs.map +7 -0
  29. package/dist/esm-browser/chunk-MSZDQHW6.mjs +66 -0
  30. package/dist/esm-browser/chunk-MSZDQHW6.mjs.map +7 -0
  31. package/dist/esm-browser/chunk-OMK4IF4X.mjs +48 -0
  32. package/dist/esm-browser/chunk-OMK4IF4X.mjs.map +7 -0
  33. package/dist/esm-browser/chunk-TQPDAJQB.mjs +11851 -0
  34. package/dist/esm-browser/chunk-TQPDAJQB.mjs.map +7 -0
  35. package/dist/esm-browser/chunk-W7LTTM2O.mjs +385 -0
  36. package/dist/esm-browser/chunk-W7LTTM2O.mjs.map +7 -0
  37. package/dist/esm-browser/external.mjs +14 -0
  38. package/dist/esm-browser/external.mjs.map +7 -0
  39. package/dist/esm-browser/index.mjs +27 -0
  40. package/dist/esm-browser/index.mjs.map +7 -0
  41. package/dist/esm-browser/parseexception.mjs +10 -0
  42. package/dist/esm-browser/parseexception.mjs.map +7 -0
  43. package/dist/esm-browser/parserMain.mjs +15 -0
  44. package/dist/esm-browser/parserMain.mjs.map +7 -0
  45. package/dist/esm-browser/printer.mjs +11 -0
  46. package/dist/esm-browser/printer.mjs.map +7 -0
  47. package/dist/external.d.ts +11 -5
  48. package/dist/external.js +6 -2
  49. package/dist/external.js.map +1 -1
  50. package/dist/index.d.ts +4 -4
  51. package/dist/index.js +11 -8
  52. package/dist/index.js.map +1 -1
  53. package/dist/parseexception.d.ts +2 -1
  54. package/dist/parseexception.js +6 -4
  55. package/dist/parseexception.js.map +1 -1
  56. package/dist/parser.js +379 -176
  57. package/dist/parser.js.map +1 -1
  58. package/dist/parserMain.d.ts +5 -5
  59. package/dist/parserMain.js +47 -6
  60. package/dist/parserMain.js.map +1 -1
  61. package/dist/printer.d.ts +3 -3
  62. package/dist/printer.js +40 -8
  63. package/dist/printer.js.map +1 -1
  64. package/package.json +19 -11
  65. package/dist/concerto-cto.js +0 -2
  66. package/dist/concerto-cto.js.LICENSE.txt +0 -12
package/dist/parser.js CHANGED
@@ -762,18 +762,18 @@ function peg$parse(input, options) {
762
762
  }
763
763
  return result;
764
764
  };
765
- var peg$f69 = function (d, regex, length) {
765
+ var peg$f69 = function (d, validators) {
766
766
  const result = {
767
767
  $class: "concerto.metamodel@1.0.0.StringScalar",
768
768
  };
769
- if (d) {
769
+ if (d !== null) {
770
770
  result.defaultValue = d;
771
771
  }
772
- if (regex) {
773
- result.validator = regex;
772
+ if (validators.regex) {
773
+ result.validator = validators.regex;
774
774
  }
775
- if (length) {
776
- result.lengthValidator = length;
775
+ if (validators.length) {
776
+ result.lengthValidator = validators.length;
777
777
  }
778
778
  return result;
779
779
  };
@@ -781,7 +781,7 @@ function peg$parse(input, options) {
781
781
  const result = {
782
782
  $class: "concerto.metamodel@1.0.0.DateTimeScalar",
783
783
  };
784
- if (d) {
784
+ if (d !== null) {
785
785
  result.defaultValue = d;
786
786
  }
787
787
  return result;
@@ -830,7 +830,7 @@ function peg$parse(input, options) {
830
830
  isOptional: buildBoolean(optional),
831
831
  ...buildRange(location())
832
832
  };
833
- if (d) {
833
+ if (d !== null) {
834
834
  result.defaultValue = d;
835
835
  }
836
836
  if (decorators.length > 0) {
@@ -868,7 +868,7 @@ function peg$parse(input, options) {
868
868
  isOptional: buildBoolean(optional),
869
869
  ...buildRange(location())
870
870
  };
871
- if (d) {
871
+ if (d !== null) {
872
872
  result.defaultValue = d;
873
873
  }
874
874
  if (decorators.length > 0) {
@@ -879,7 +879,7 @@ function peg$parse(input, options) {
879
879
  }
880
880
  return result;
881
881
  };
882
- var peg$f81 = function (decorators, array, id, d, regex, length, size, optional) {
882
+ var peg$f81 = function (decorators, array, id, d, validators, optional) {
883
883
  const result = {
884
884
  $class: "concerto.metamodel@1.0.0.StringProperty",
885
885
  name: id.name,
@@ -887,20 +887,20 @@ function peg$parse(input, options) {
887
887
  isOptional: buildBoolean(optional),
888
888
  ...buildRange(location())
889
889
  };
890
- if (d) {
890
+ if (d !== null) {
891
891
  result.defaultValue = d;
892
892
  }
893
893
  if (decorators.length > 0) {
894
894
  result.decorators = decorators;
895
895
  }
896
- if (regex) {
897
- result.validator = regex;
896
+ if (validators.regex) {
897
+ result.validator = validators.regex;
898
898
  }
899
- if (length) {
900
- result.lengthValidator = length;
899
+ if (validators.length) {
900
+ result.lengthValidator = validators.length;
901
901
  }
902
- if (size) {
903
- result.sizeValidator = size;
902
+ if (validators.size) {
903
+ result.sizeValidator = validators.size;
904
904
  }
905
905
  return result;
906
906
  };
@@ -967,7 +967,43 @@ function peg$parse(input, options) {
967
967
  }
968
968
  return result;
969
969
  };
970
- var peg$f88 = function (decorators, propertyType, array, id, d, range, size, optional) {
970
+ var peg$f88 = function (v) { return v; };
971
+ var peg$f89 = function (items) {
972
+ return bucketValidators(items, {
973
+ [`${metamodelNamespace}.StringRegexValidator`]: 'regex',
974
+ [`${metamodelNamespace}.StringLengthValidator`]: 'length',
975
+ });
976
+ };
977
+ var peg$f90 = function (v) { return v; };
978
+ var peg$f91 = function (items) {
979
+ return bucketValidators(items, {
980
+ [`${metamodelNamespace}.StringRegexValidator`]: 'regex',
981
+ [`${metamodelNamespace}.StringLengthValidator`]: 'length',
982
+ [`${metamodelNamespace}.CollectionSizeValidator`]: 'size',
983
+ });
984
+ };
985
+ var peg$f92 = function (v) { return v; };
986
+ var peg$f93 = function (items) {
987
+ return bucketValidators(items, {
988
+ [`${metamodelNamespace}.DoubleDomainValidator`]: 'range',
989
+ [`${metamodelNamespace}.CollectionSizeValidator`]: 'size',
990
+ });
991
+ };
992
+ var peg$f94 = function (v) { return v; };
993
+ var peg$f95 = function (items) {
994
+ return bucketValidators(items, {
995
+ [`${metamodelNamespace}.IntegerDomainValidator`]: 'range',
996
+ [`${metamodelNamespace}.CollectionSizeValidator`]: 'size',
997
+ });
998
+ };
999
+ var peg$f96 = function (v) { return v; };
1000
+ var peg$f97 = function (items) {
1001
+ return bucketValidators(items, {
1002
+ [`${metamodelNamespace}.LongDomainValidator`]: 'range',
1003
+ [`${metamodelNamespace}.CollectionSizeValidator`]: 'size',
1004
+ });
1005
+ };
1006
+ var peg$f98 = function (decorators, propertyType, array, id, d, validators, optional) {
971
1007
  const result = {
972
1008
  $class: "concerto.metamodel@1.0.0.DoubleProperty",
973
1009
  name: id.name,
@@ -981,15 +1017,15 @@ function peg$parse(input, options) {
981
1017
  if (decorators.length > 0) {
982
1018
  result.decorators = decorators;
983
1019
  }
984
- if (range) {
985
- result.validator = range;
1020
+ if (validators.range) {
1021
+ result.validator = validators.range;
986
1022
  }
987
- if (size) {
988
- result.sizeValidator = size;
1023
+ if (validators.size) {
1024
+ result.sizeValidator = validators.size;
989
1025
  }
990
1026
  return result;
991
1027
  };
992
- var peg$f89 = function (decorators, propertyType, array, id, d, range, size, optional) {
1028
+ var peg$f99 = function (decorators, propertyType, array, id, d, validators, optional) {
993
1029
  const result = {
994
1030
  $class: "concerto.metamodel@1.0.0.IntegerProperty",
995
1031
  name: id.name,
@@ -1003,15 +1039,15 @@ function peg$parse(input, options) {
1003
1039
  if (decorators.length > 0) {
1004
1040
  result.decorators = decorators;
1005
1041
  }
1006
- if (range) {
1007
- result.validator = range;
1042
+ if (validators.range) {
1043
+ result.validator = validators.range;
1008
1044
  }
1009
- if (size) {
1010
- result.sizeValidator = size;
1045
+ if (validators.size) {
1046
+ result.sizeValidator = validators.size;
1011
1047
  }
1012
1048
  return result;
1013
1049
  };
1014
- var peg$f90 = function (decorators, propertyType, array, id, d, range, size, optional) {
1050
+ var peg$f100 = function (decorators, propertyType, array, id, d, validators, optional) {
1015
1051
  const result = {
1016
1052
  $class: "concerto.metamodel@1.0.0.LongProperty",
1017
1053
  name: id.name,
@@ -1025,15 +1061,15 @@ function peg$parse(input, options) {
1025
1061
  if (decorators.length > 0) {
1026
1062
  result.decorators = decorators;
1027
1063
  }
1028
- if (range) {
1029
- result.validator = range;
1064
+ if (validators.range) {
1065
+ result.validator = validators.range;
1030
1066
  }
1031
- if (size) {
1032
- result.sizeValidator = size;
1067
+ if (validators.size) {
1068
+ result.sizeValidator = validators.size;
1033
1069
  }
1034
1070
  return result;
1035
1071
  };
1036
- var peg$f91 = function (decorators, id, body) {
1072
+ var peg$f101 = function (decorators, id, body) {
1037
1073
  const result = {
1038
1074
  $class: "concerto.metamodel@1.0.0.MapDeclaration",
1039
1075
  name: id.name,
@@ -1046,13 +1082,13 @@ function peg$parse(input, options) {
1046
1082
  }
1047
1083
  return result;
1048
1084
  };
1049
- var peg$f92 = function (key, value) {
1085
+ var peg$f102 = function (key, value) {
1050
1086
  return {
1051
1087
  type: "MapDeclarationBody",
1052
1088
  declarations: optionalList([key, value])
1053
1089
  };
1054
1090
  };
1055
- var peg$f93 = function (decorators) {
1091
+ var peg$f103 = function (decorators) {
1056
1092
  const result = {
1057
1093
  $class: "concerto.metamodel@1.0.0.StringMapKeyType",
1058
1094
  ...buildRange(location())
@@ -1062,7 +1098,7 @@ function peg$parse(input, options) {
1062
1098
  }
1063
1099
  return result;
1064
1100
  };
1065
- var peg$f94 = function (decorators) {
1101
+ var peg$f104 = function (decorators) {
1066
1102
  const result = {
1067
1103
  $class: "concerto.metamodel@1.0.0.DateTimeMapKeyType",
1068
1104
  ...buildRange(location())
@@ -1072,7 +1108,7 @@ function peg$parse(input, options) {
1072
1108
  }
1073
1109
  return result;
1074
1110
  };
1075
- var peg$f95 = function (decorators, propertyType) {
1111
+ var peg$f105 = function (decorators, propertyType) {
1076
1112
  const result = {
1077
1113
  $class: "concerto.metamodel@1.0.0.ObjectMapKeyType",
1078
1114
  type: propertyType,
@@ -1083,7 +1119,7 @@ function peg$parse(input, options) {
1083
1119
  }
1084
1120
  return result;
1085
1121
  };
1086
- var peg$f96 = function (decorators) {
1122
+ var peg$f106 = function (decorators) {
1087
1123
  const result = {
1088
1124
  $class: "concerto.metamodel@1.0.0.BooleanMapValueType",
1089
1125
  ...buildRange(location())
@@ -1093,7 +1129,7 @@ function peg$parse(input, options) {
1093
1129
  }
1094
1130
  return result;
1095
1131
  };
1096
- var peg$f97 = function (decorators) {
1132
+ var peg$f107 = function (decorators) {
1097
1133
  const result = {
1098
1134
  $class: "concerto.metamodel@1.0.0.DateTimeMapValueType",
1099
1135
  ...buildRange(location())
@@ -1103,7 +1139,7 @@ function peg$parse(input, options) {
1103
1139
  }
1104
1140
  return result;
1105
1141
  };
1106
- var peg$f98 = function (decorators) {
1142
+ var peg$f108 = function (decorators) {
1107
1143
  const result = {
1108
1144
  $class: "concerto.metamodel@1.0.0.StringMapValueType",
1109
1145
  ...buildRange(location())
@@ -1113,7 +1149,7 @@ function peg$parse(input, options) {
1113
1149
  }
1114
1150
  return result;
1115
1151
  };
1116
- var peg$f99 = function (decorators) {
1152
+ var peg$f109 = function (decorators) {
1117
1153
  const result = {
1118
1154
  $class: "concerto.metamodel@1.0.0.IntegerMapValueType",
1119
1155
  ...buildRange(location())
@@ -1123,7 +1159,7 @@ function peg$parse(input, options) {
1123
1159
  }
1124
1160
  return result;
1125
1161
  };
1126
- var peg$f100 = function (decorators) {
1162
+ var peg$f110 = function (decorators) {
1127
1163
  const result = {
1128
1164
  $class: "concerto.metamodel@1.0.0.LongMapValueType",
1129
1165
  ...buildRange(location())
@@ -1133,7 +1169,7 @@ function peg$parse(input, options) {
1133
1169
  }
1134
1170
  return result;
1135
1171
  };
1136
- var peg$f101 = function (decorators) {
1172
+ var peg$f111 = function (decorators) {
1137
1173
  const result = {
1138
1174
  $class: "concerto.metamodel@1.0.0.DoubleMapValueType",
1139
1175
  ...buildRange(location())
@@ -1143,7 +1179,7 @@ function peg$parse(input, options) {
1143
1179
  }
1144
1180
  return result;
1145
1181
  };
1146
- var peg$f102 = function (decorators, symbol, propertyType) {
1182
+ var peg$f112 = function (decorators, symbol, propertyType) {
1147
1183
  const result = {
1148
1184
  $class: "concerto.metamodel@1.0.0.ObjectMapValueType",
1149
1185
  type: propertyType,
@@ -1157,7 +1193,7 @@ function peg$parse(input, options) {
1157
1193
  }
1158
1194
  return result;
1159
1195
  };
1160
- var peg$f103 = function (decorators, id, body) {
1196
+ var peg$f113 = function (decorators, id, body) {
1161
1197
  const result = {
1162
1198
  $class: "concerto.metamodel@1.0.0.EnumDeclaration",
1163
1199
  name: id.name,
@@ -1169,13 +1205,13 @@ function peg$parse(input, options) {
1169
1205
  }
1170
1206
  return result;
1171
1207
  };
1172
- var peg$f104 = function (decls) {
1208
+ var peg$f114 = function (decls) {
1173
1209
  return {
1174
1210
  type: "EnumDeclarationBody",
1175
1211
  declarations: optionalList(decls)
1176
1212
  };
1177
1213
  };
1178
- var peg$f105 = function (decorators, id) {
1214
+ var peg$f115 = function (decorators, id) {
1179
1215
  const result = {
1180
1216
  $class: "concerto.metamodel@1.0.0.EnumProperty",
1181
1217
  name: id.name,
@@ -1186,7 +1222,7 @@ function peg$parse(input, options) {
1186
1222
  }
1187
1223
  return result;
1188
1224
  };
1189
- var peg$f106 = function (decorators, propertyType, array, id, size, optional) {
1225
+ var peg$f116 = function (decorators, propertyType, array, id, size, optional) {
1190
1226
  const result = {
1191
1227
  $class: "concerto.metamodel@1.0.0.RelationshipProperty",
1192
1228
  name: id.name,
@@ -1203,22 +1239,22 @@ function peg$parse(input, options) {
1203
1239
  }
1204
1240
  return result;
1205
1241
  };
1206
- var peg$f107 = function (first, rest) {
1242
+ var peg$f117 = function (first, rest) {
1207
1243
  return first.concat(JSON.stringify(rest).replace(/['"]+/g, ''));
1208
1244
  };
1209
- var peg$f108 = function (ns, version, name) {
1245
+ var peg$f118 = function (ns, version, name) {
1210
1246
  return `${ns}@${version}${name}`;
1211
1247
  };
1212
- var peg$f109 = function (ns, version) {
1248
+ var peg$f119 = function (ns, version) {
1213
1249
  return `${ns}@${version}`;
1214
1250
  };
1215
- var peg$f110 = function (ns) {
1251
+ var peg$f120 = function (ns) {
1216
1252
  return ns;
1217
1253
  };
1218
- var peg$f111 = function (u) {
1254
+ var peg$f121 = function (u) {
1219
1255
  return u;
1220
1256
  };
1221
- var peg$f112 = function (ns, u) {
1257
+ var peg$f122 = function (ns, u) {
1222
1258
  const { namespace, name } = fullyQualifiedName(ns);
1223
1259
  const result = {
1224
1260
  $class: `${metamodelNamespace}.ImportType`,
@@ -1228,7 +1264,7 @@ function peg$parse(input, options) {
1228
1264
  u && (result.uri = u);
1229
1265
  return result;
1230
1266
  };
1231
- var peg$f113 = function (ns, types, u) {
1267
+ var peg$f123 = function (ns, types, u) {
1232
1268
  const { aliasedTypes, typesNames } = types.reduce((acc, type) => {
1233
1269
  if (type.$class === "concerto.metamodel@1.0.0.AliasedType") {
1234
1270
  acc.aliasedTypes.push(type);
@@ -1248,7 +1284,7 @@ function peg$parse(input, options) {
1248
1284
  u && (result.uri = u);
1249
1285
  return result;
1250
1286
  };
1251
- var peg$f114 = function (name, aliasedName) {
1287
+ var peg$f124 = function (name, aliasedName) {
1252
1288
  if (isPrimitiveType(aliasedName)) {
1253
1289
  throw new Error(`A type cannot be aliased to a Primitive type, here "${name}" is being aliased as "${aliasedName}".`);
1254
1290
  }
@@ -1258,13 +1294,13 @@ function peg$parse(input, options) {
1258
1294
  aliasedName
1259
1295
  };
1260
1296
  };
1261
- var peg$f115 = function (head, tail) {
1297
+ var peg$f125 = function (head, tail) {
1262
1298
  return [head, ...tail.map(t => t[2])];
1263
1299
  };
1264
- var peg$f116 = function (version) {
1300
+ var peg$f126 = function (version) {
1265
1301
  return version.value;
1266
1302
  };
1267
- var peg$f117 = function (version, decorators, ns, imports, body) {
1303
+ var peg$f127 = function (version, decorators, ns, imports, body) {
1268
1304
  const result = {
1269
1305
  $class: "concerto.metamodel@1.0.0.Model",
1270
1306
  decorators: optionalList(decorators),
@@ -1277,10 +1313,10 @@ function peg$parse(input, options) {
1277
1313
  }
1278
1314
  return result;
1279
1315
  };
1280
- var peg$f118 = function (first, rest) {
1316
+ var peg$f128 = function (first, rest) {
1281
1317
  return buildList(first, rest, 1);
1282
1318
  };
1283
- var peg$f119 = function (first, rest) {
1319
+ var peg$f129 = function (first, rest) {
1284
1320
  return buildList(first, rest, 1);
1285
1321
  };
1286
1322
  var peg$currPos = 0;
@@ -9669,7 +9705,7 @@ function peg$parse(input, options) {
9669
9705
  return s0;
9670
9706
  }
9671
9707
  function peg$parseStringScalar() {
9672
- var s0, s1, s2, s3, s4, s5, s6, s7, s8;
9708
+ var s0, s1, s2, s3, s4, s5;
9673
9709
  s0 = peg$currPos;
9674
9710
  s1 = peg$parseStringType();
9675
9711
  if (s1 !== peg$FAILED) {
@@ -9678,19 +9714,10 @@ function peg$parse(input, options) {
9678
9714
  if (s3 === peg$FAILED) {
9679
9715
  s3 = null;
9680
9716
  }
9681
- s4 = peg$parse__();
9682
- s5 = peg$parseStringRegexValidator();
9683
- if (s5 === peg$FAILED) {
9684
- s5 = null;
9685
- }
9686
- s6 = peg$parse__();
9687
- s7 = peg$parseStringLengthValidator();
9688
- if (s7 === peg$FAILED) {
9689
- s7 = null;
9690
- }
9691
- s8 = peg$parse__();
9717
+ s4 = peg$parseStringScalarValidators();
9718
+ s5 = peg$parse__();
9692
9719
  peg$savedPos = s0;
9693
- s0 = peg$f69(s3, s5, s7);
9720
+ s0 = peg$f69(s3, s4);
9694
9721
  }
9695
9722
  else {
9696
9723
  peg$currPos = s0;
@@ -10275,7 +10302,7 @@ function peg$parse(input, options) {
10275
10302
  return s0;
10276
10303
  }
10277
10304
  function peg$parseStringFieldDeclaration() {
10278
- var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20;
10305
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;
10279
10306
  s0 = peg$currPos;
10280
10307
  s1 = peg$parseDecorators();
10281
10308
  s2 = peg$parse__();
@@ -10315,29 +10342,15 @@ function peg$parse(input, options) {
10315
10342
  if (s11 === peg$FAILED) {
10316
10343
  s11 = null;
10317
10344
  }
10318
- s12 = peg$parse__();
10319
- s13 = peg$parseStringRegexValidator();
10320
- if (s13 === peg$FAILED) {
10321
- s13 = null;
10345
+ s12 = peg$parseStringFieldValidators();
10346
+ s13 = peg$parse__();
10347
+ s14 = peg$parseOptional();
10348
+ if (s14 === peg$FAILED) {
10349
+ s14 = null;
10322
10350
  }
10323
- s14 = peg$parse__();
10324
- s15 = peg$parseStringLengthValidator();
10325
- if (s15 === peg$FAILED) {
10326
- s15 = null;
10327
- }
10328
- s16 = peg$parse__();
10329
- s17 = peg$parseCollectionSizeValidator();
10330
- if (s17 === peg$FAILED) {
10331
- s17 = null;
10332
- }
10333
- s18 = peg$parse__();
10334
- s19 = peg$parseOptional();
10335
- if (s19 === peg$FAILED) {
10336
- s19 = null;
10337
- }
10338
- s20 = peg$parse__();
10351
+ s15 = peg$parse__();
10339
10352
  peg$savedPos = s0;
10340
- s0 = peg$f81(s1, s7, s9, s11, s13, s15, s17, s19);
10353
+ s0 = peg$f81(s1, s7, s9, s11, s12, s14);
10341
10354
  }
10342
10355
  else {
10343
10356
  peg$currPos = s0;
@@ -10928,8 +10941,214 @@ function peg$parse(input, options) {
10928
10941
  }
10929
10942
  return s0;
10930
10943
  }
10944
+ function peg$parseStringScalarValidators() {
10945
+ var s0, s1, s2, s3, s4;
10946
+ s0 = peg$currPos;
10947
+ s1 = [];
10948
+ s2 = peg$currPos;
10949
+ s3 = peg$parse__();
10950
+ s4 = peg$parseStringRegexValidator();
10951
+ if (s4 === peg$FAILED) {
10952
+ s4 = peg$parseStringLengthValidator();
10953
+ }
10954
+ if (s4 !== peg$FAILED) {
10955
+ peg$savedPos = s2;
10956
+ s2 = peg$f88(s4);
10957
+ }
10958
+ else {
10959
+ peg$currPos = s2;
10960
+ s2 = peg$FAILED;
10961
+ }
10962
+ while (s2 !== peg$FAILED) {
10963
+ s1.push(s2);
10964
+ s2 = peg$currPos;
10965
+ s3 = peg$parse__();
10966
+ s4 = peg$parseStringRegexValidator();
10967
+ if (s4 === peg$FAILED) {
10968
+ s4 = peg$parseStringLengthValidator();
10969
+ }
10970
+ if (s4 !== peg$FAILED) {
10971
+ peg$savedPos = s2;
10972
+ s2 = peg$f88(s4);
10973
+ }
10974
+ else {
10975
+ peg$currPos = s2;
10976
+ s2 = peg$FAILED;
10977
+ }
10978
+ }
10979
+ peg$savedPos = s0;
10980
+ s1 = peg$f89(s1);
10981
+ s0 = s1;
10982
+ return s0;
10983
+ }
10984
+ function peg$parseStringFieldValidators() {
10985
+ var s0, s1, s2, s3, s4;
10986
+ s0 = peg$currPos;
10987
+ s1 = [];
10988
+ s2 = peg$currPos;
10989
+ s3 = peg$parse__();
10990
+ s4 = peg$parseStringRegexValidator();
10991
+ if (s4 === peg$FAILED) {
10992
+ s4 = peg$parseStringLengthValidator();
10993
+ if (s4 === peg$FAILED) {
10994
+ s4 = peg$parseCollectionSizeValidator();
10995
+ }
10996
+ }
10997
+ if (s4 !== peg$FAILED) {
10998
+ peg$savedPos = s2;
10999
+ s2 = peg$f90(s4);
11000
+ }
11001
+ else {
11002
+ peg$currPos = s2;
11003
+ s2 = peg$FAILED;
11004
+ }
11005
+ while (s2 !== peg$FAILED) {
11006
+ s1.push(s2);
11007
+ s2 = peg$currPos;
11008
+ s3 = peg$parse__();
11009
+ s4 = peg$parseStringRegexValidator();
11010
+ if (s4 === peg$FAILED) {
11011
+ s4 = peg$parseStringLengthValidator();
11012
+ if (s4 === peg$FAILED) {
11013
+ s4 = peg$parseCollectionSizeValidator();
11014
+ }
11015
+ }
11016
+ if (s4 !== peg$FAILED) {
11017
+ peg$savedPos = s2;
11018
+ s2 = peg$f90(s4);
11019
+ }
11020
+ else {
11021
+ peg$currPos = s2;
11022
+ s2 = peg$FAILED;
11023
+ }
11024
+ }
11025
+ peg$savedPos = s0;
11026
+ s1 = peg$f91(s1);
11027
+ s0 = s1;
11028
+ return s0;
11029
+ }
11030
+ function peg$parseRealFieldValidators() {
11031
+ var s0, s1, s2, s3, s4;
11032
+ s0 = peg$currPos;
11033
+ s1 = [];
11034
+ s2 = peg$currPos;
11035
+ s3 = peg$parse__();
11036
+ s4 = peg$parseRealDomainValidator();
11037
+ if (s4 === peg$FAILED) {
11038
+ s4 = peg$parseCollectionSizeValidator();
11039
+ }
11040
+ if (s4 !== peg$FAILED) {
11041
+ peg$savedPos = s2;
11042
+ s2 = peg$f92(s4);
11043
+ }
11044
+ else {
11045
+ peg$currPos = s2;
11046
+ s2 = peg$FAILED;
11047
+ }
11048
+ while (s2 !== peg$FAILED) {
11049
+ s1.push(s2);
11050
+ s2 = peg$currPos;
11051
+ s3 = peg$parse__();
11052
+ s4 = peg$parseRealDomainValidator();
11053
+ if (s4 === peg$FAILED) {
11054
+ s4 = peg$parseCollectionSizeValidator();
11055
+ }
11056
+ if (s4 !== peg$FAILED) {
11057
+ peg$savedPos = s2;
11058
+ s2 = peg$f92(s4);
11059
+ }
11060
+ else {
11061
+ peg$currPos = s2;
11062
+ s2 = peg$FAILED;
11063
+ }
11064
+ }
11065
+ peg$savedPos = s0;
11066
+ s1 = peg$f93(s1);
11067
+ s0 = s1;
11068
+ return s0;
11069
+ }
11070
+ function peg$parseIntegerFieldValidators() {
11071
+ var s0, s1, s2, s3, s4;
11072
+ s0 = peg$currPos;
11073
+ s1 = [];
11074
+ s2 = peg$currPos;
11075
+ s3 = peg$parse__();
11076
+ s4 = peg$parseIntegerDomainValidator();
11077
+ if (s4 === peg$FAILED) {
11078
+ s4 = peg$parseCollectionSizeValidator();
11079
+ }
11080
+ if (s4 !== peg$FAILED) {
11081
+ peg$savedPos = s2;
11082
+ s2 = peg$f94(s4);
11083
+ }
11084
+ else {
11085
+ peg$currPos = s2;
11086
+ s2 = peg$FAILED;
11087
+ }
11088
+ while (s2 !== peg$FAILED) {
11089
+ s1.push(s2);
11090
+ s2 = peg$currPos;
11091
+ s3 = peg$parse__();
11092
+ s4 = peg$parseIntegerDomainValidator();
11093
+ if (s4 === peg$FAILED) {
11094
+ s4 = peg$parseCollectionSizeValidator();
11095
+ }
11096
+ if (s4 !== peg$FAILED) {
11097
+ peg$savedPos = s2;
11098
+ s2 = peg$f94(s4);
11099
+ }
11100
+ else {
11101
+ peg$currPos = s2;
11102
+ s2 = peg$FAILED;
11103
+ }
11104
+ }
11105
+ peg$savedPos = s0;
11106
+ s1 = peg$f95(s1);
11107
+ s0 = s1;
11108
+ return s0;
11109
+ }
11110
+ function peg$parseLongFieldValidators() {
11111
+ var s0, s1, s2, s3, s4;
11112
+ s0 = peg$currPos;
11113
+ s1 = [];
11114
+ s2 = peg$currPos;
11115
+ s3 = peg$parse__();
11116
+ s4 = peg$parseLongDomainValidator();
11117
+ if (s4 === peg$FAILED) {
11118
+ s4 = peg$parseCollectionSizeValidator();
11119
+ }
11120
+ if (s4 !== peg$FAILED) {
11121
+ peg$savedPos = s2;
11122
+ s2 = peg$f96(s4);
11123
+ }
11124
+ else {
11125
+ peg$currPos = s2;
11126
+ s2 = peg$FAILED;
11127
+ }
11128
+ while (s2 !== peg$FAILED) {
11129
+ s1.push(s2);
11130
+ s2 = peg$currPos;
11131
+ s3 = peg$parse__();
11132
+ s4 = peg$parseLongDomainValidator();
11133
+ if (s4 === peg$FAILED) {
11134
+ s4 = peg$parseCollectionSizeValidator();
11135
+ }
11136
+ if (s4 !== peg$FAILED) {
11137
+ peg$savedPos = s2;
11138
+ s2 = peg$f96(s4);
11139
+ }
11140
+ else {
11141
+ peg$currPos = s2;
11142
+ s2 = peg$FAILED;
11143
+ }
11144
+ }
11145
+ peg$savedPos = s0;
11146
+ s1 = peg$f97(s1);
11147
+ s0 = s1;
11148
+ return s0;
11149
+ }
10931
11150
  function peg$parseRealFieldDeclaration() {
10932
- var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18;
11151
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;
10933
11152
  s0 = peg$currPos;
10934
11153
  s1 = peg$parseDecorators();
10935
11154
  s2 = peg$parse__();
@@ -10969,24 +11188,15 @@ function peg$parse(input, options) {
10969
11188
  if (s11 === peg$FAILED) {
10970
11189
  s11 = null;
10971
11190
  }
10972
- s12 = peg$parse__();
10973
- s13 = peg$parseRealDomainValidator();
10974
- if (s13 === peg$FAILED) {
10975
- s13 = null;
11191
+ s12 = peg$parseRealFieldValidators();
11192
+ s13 = peg$parse__();
11193
+ s14 = peg$parseOptional();
11194
+ if (s14 === peg$FAILED) {
11195
+ s14 = null;
10976
11196
  }
10977
- s14 = peg$parse__();
10978
- s15 = peg$parseCollectionSizeValidator();
10979
- if (s15 === peg$FAILED) {
10980
- s15 = null;
10981
- }
10982
- s16 = peg$parse__();
10983
- s17 = peg$parseOptional();
10984
- if (s17 === peg$FAILED) {
10985
- s17 = null;
10986
- }
10987
- s18 = peg$parse__();
11197
+ s15 = peg$parse__();
10988
11198
  peg$savedPos = s0;
10989
- s0 = peg$f88(s1, s5, s7, s9, s11, s13, s15, s17);
11199
+ s0 = peg$f98(s1, s5, s7, s9, s11, s12, s14);
10990
11200
  }
10991
11201
  else {
10992
11202
  peg$currPos = s0;
@@ -11005,7 +11215,7 @@ function peg$parse(input, options) {
11005
11215
  return s0;
11006
11216
  }
11007
11217
  function peg$parseIntegerFieldDeclaration() {
11008
- var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18;
11218
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;
11009
11219
  s0 = peg$currPos;
11010
11220
  s1 = peg$parseDecorators();
11011
11221
  s2 = peg$parse__();
@@ -11045,24 +11255,15 @@ function peg$parse(input, options) {
11045
11255
  if (s11 === peg$FAILED) {
11046
11256
  s11 = null;
11047
11257
  }
11048
- s12 = peg$parse__();
11049
- s13 = peg$parseIntegerDomainValidator();
11050
- if (s13 === peg$FAILED) {
11051
- s13 = null;
11052
- }
11053
- s14 = peg$parse__();
11054
- s15 = peg$parseCollectionSizeValidator();
11055
- if (s15 === peg$FAILED) {
11056
- s15 = null;
11258
+ s12 = peg$parseIntegerFieldValidators();
11259
+ s13 = peg$parse__();
11260
+ s14 = peg$parseOptional();
11261
+ if (s14 === peg$FAILED) {
11262
+ s14 = null;
11057
11263
  }
11058
- s16 = peg$parse__();
11059
- s17 = peg$parseOptional();
11060
- if (s17 === peg$FAILED) {
11061
- s17 = null;
11062
- }
11063
- s18 = peg$parse__();
11264
+ s15 = peg$parse__();
11064
11265
  peg$savedPos = s0;
11065
- s0 = peg$f89(s1, s5, s7, s9, s11, s13, s15, s17);
11266
+ s0 = peg$f99(s1, s5, s7, s9, s11, s12, s14);
11066
11267
  }
11067
11268
  else {
11068
11269
  peg$currPos = s0;
@@ -11081,7 +11282,7 @@ function peg$parse(input, options) {
11081
11282
  return s0;
11082
11283
  }
11083
11284
  function peg$parseLongFieldDeclaration() {
11084
- var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18;
11285
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;
11085
11286
  s0 = peg$currPos;
11086
11287
  s1 = peg$parseDecorators();
11087
11288
  s2 = peg$parse__();
@@ -11121,24 +11322,15 @@ function peg$parse(input, options) {
11121
11322
  if (s11 === peg$FAILED) {
11122
11323
  s11 = null;
11123
11324
  }
11124
- s12 = peg$parse__();
11125
- s13 = peg$parseLongDomainValidator();
11126
- if (s13 === peg$FAILED) {
11127
- s13 = null;
11128
- }
11129
- s14 = peg$parse__();
11130
- s15 = peg$parseCollectionSizeValidator();
11131
- if (s15 === peg$FAILED) {
11132
- s15 = null;
11133
- }
11134
- s16 = peg$parse__();
11135
- s17 = peg$parseOptional();
11136
- if (s17 === peg$FAILED) {
11137
- s17 = null;
11325
+ s12 = peg$parseLongFieldValidators();
11326
+ s13 = peg$parse__();
11327
+ s14 = peg$parseOptional();
11328
+ if (s14 === peg$FAILED) {
11329
+ s14 = null;
11138
11330
  }
11139
- s18 = peg$parse__();
11331
+ s15 = peg$parse__();
11140
11332
  peg$savedPos = s0;
11141
- s0 = peg$f90(s1, s5, s7, s9, s11, s13, s15, s17);
11333
+ s0 = peg$f100(s1, s5, s7, s9, s11, s12, s14);
11142
11334
  }
11143
11335
  else {
11144
11336
  peg$currPos = s0;
@@ -11194,7 +11386,7 @@ function peg$parse(input, options) {
11194
11386
  }
11195
11387
  if (s11 !== peg$FAILED) {
11196
11388
  peg$savedPos = s0;
11197
- s0 = peg$f91(s1, s5, s9);
11389
+ s0 = peg$f101(s1, s5, s9);
11198
11390
  }
11199
11391
  else {
11200
11392
  peg$currPos = s0;
@@ -11231,7 +11423,7 @@ function peg$parse(input, options) {
11231
11423
  s3 = peg$parseMapValueType();
11232
11424
  if (s3 !== peg$FAILED) {
11233
11425
  peg$savedPos = s0;
11234
- s0 = peg$f92(s1, s3);
11426
+ s0 = peg$f102(s1, s3);
11235
11427
  }
11236
11428
  else {
11237
11429
  peg$currPos = s0;
@@ -11265,7 +11457,7 @@ function peg$parse(input, options) {
11265
11457
  if (s5 !== peg$FAILED) {
11266
11458
  s6 = peg$parse__();
11267
11459
  peg$savedPos = s0;
11268
- s0 = peg$f93(s1);
11460
+ s0 = peg$f103(s1);
11269
11461
  }
11270
11462
  else {
11271
11463
  peg$currPos = s0;
@@ -11299,7 +11491,7 @@ function peg$parse(input, options) {
11299
11491
  if (s5 !== peg$FAILED) {
11300
11492
  s6 = peg$parse__();
11301
11493
  peg$savedPos = s0;
11302
- s0 = peg$f94(s1);
11494
+ s0 = peg$f104(s1);
11303
11495
  }
11304
11496
  else {
11305
11497
  peg$currPos = s0;
@@ -11333,7 +11525,7 @@ function peg$parse(input, options) {
11333
11525
  if (s5 !== peg$FAILED) {
11334
11526
  s6 = peg$parse__();
11335
11527
  peg$savedPos = s0;
11336
- s0 = peg$f95(s1, s5);
11528
+ s0 = peg$f105(s1, s5);
11337
11529
  }
11338
11530
  else {
11339
11531
  peg$currPos = s0;
@@ -11378,7 +11570,7 @@ function peg$parse(input, options) {
11378
11570
  if (s5 !== peg$FAILED) {
11379
11571
  s6 = peg$parse__();
11380
11572
  peg$savedPos = s0;
11381
- s0 = peg$f96(s1);
11573
+ s0 = peg$f106(s1);
11382
11574
  }
11383
11575
  else {
11384
11576
  peg$currPos = s0;
@@ -11412,7 +11604,7 @@ function peg$parse(input, options) {
11412
11604
  if (s5 !== peg$FAILED) {
11413
11605
  s6 = peg$parse__();
11414
11606
  peg$savedPos = s0;
11415
- s0 = peg$f97(s1);
11607
+ s0 = peg$f107(s1);
11416
11608
  }
11417
11609
  else {
11418
11610
  peg$currPos = s0;
@@ -11446,7 +11638,7 @@ function peg$parse(input, options) {
11446
11638
  if (s5 !== peg$FAILED) {
11447
11639
  s6 = peg$parse__();
11448
11640
  peg$savedPos = s0;
11449
- s0 = peg$f98(s1);
11641
+ s0 = peg$f108(s1);
11450
11642
  }
11451
11643
  else {
11452
11644
  peg$currPos = s0;
@@ -11480,7 +11672,7 @@ function peg$parse(input, options) {
11480
11672
  if (s5 !== peg$FAILED) {
11481
11673
  s6 = peg$parse__();
11482
11674
  peg$savedPos = s0;
11483
- s0 = peg$f99(s1);
11675
+ s0 = peg$f109(s1);
11484
11676
  }
11485
11677
  else {
11486
11678
  peg$currPos = s0;
@@ -11514,7 +11706,7 @@ function peg$parse(input, options) {
11514
11706
  if (s5 !== peg$FAILED) {
11515
11707
  s6 = peg$parse__();
11516
11708
  peg$savedPos = s0;
11517
- s0 = peg$f100(s1);
11709
+ s0 = peg$f110(s1);
11518
11710
  }
11519
11711
  else {
11520
11712
  peg$currPos = s0;
@@ -11548,7 +11740,7 @@ function peg$parse(input, options) {
11548
11740
  if (s5 !== peg$FAILED) {
11549
11741
  s6 = peg$parse__();
11550
11742
  peg$savedPos = s0;
11551
- s0 = peg$f101(s1);
11743
+ s0 = peg$f111(s1);
11552
11744
  }
11553
11745
  else {
11554
11746
  peg$currPos = s0;
@@ -11594,7 +11786,7 @@ function peg$parse(input, options) {
11594
11786
  if (s5 !== peg$FAILED) {
11595
11787
  s6 = peg$parse__();
11596
11788
  peg$savedPos = s0;
11597
- s0 = peg$f102(s1, s3, s5);
11789
+ s0 = peg$f112(s1, s3, s5);
11598
11790
  }
11599
11791
  else {
11600
11792
  peg$currPos = s0;
@@ -11667,7 +11859,7 @@ function peg$parse(input, options) {
11667
11859
  }
11668
11860
  if (s11 !== peg$FAILED) {
11669
11861
  peg$savedPos = s0;
11670
- s0 = peg$f103(s1, s5, s9);
11862
+ s0 = peg$f113(s1, s5, s9);
11671
11863
  }
11672
11864
  else {
11673
11865
  peg$currPos = s0;
@@ -11700,7 +11892,7 @@ function peg$parse(input, options) {
11700
11892
  s2 = peg$parseEnumPropertyDeclaration();
11701
11893
  }
11702
11894
  peg$savedPos = s0;
11703
- s1 = peg$f104(s1);
11895
+ s1 = peg$f114(s1);
11704
11896
  s0 = s1;
11705
11897
  return s0;
11706
11898
  }
@@ -11725,7 +11917,7 @@ function peg$parse(input, options) {
11725
11917
  if (s5 !== peg$FAILED) {
11726
11918
  s6 = peg$parse__();
11727
11919
  peg$savedPos = s0;
11728
- s0 = peg$f105(s1, s5);
11920
+ s0 = peg$f115(s1, s5);
11729
11921
  }
11730
11922
  else {
11731
11923
  peg$currPos = s0;
@@ -11786,7 +11978,7 @@ function peg$parse(input, options) {
11786
11978
  }
11787
11979
  s14 = peg$parse__();
11788
11980
  peg$savedPos = s0;
11789
- s0 = peg$f106(s1, s5, s7, s9, s11, s13);
11981
+ s0 = peg$f116(s1, s5, s7, s9, s11, s13);
11790
11982
  }
11791
11983
  else {
11792
11984
  peg$currPos = s0;
@@ -11875,7 +12067,7 @@ function peg$parse(input, options) {
11875
12067
  }
11876
12068
  s2 = input.substring(s2, peg$currPos);
11877
12069
  peg$savedPos = s0;
11878
- s0 = peg$f107(s1, s2);
12070
+ s0 = peg$f117(s1, s2);
11879
12071
  }
11880
12072
  else {
11881
12073
  peg$currPos = s0;
@@ -11918,7 +12110,7 @@ function peg$parse(input, options) {
11918
12110
  }
11919
12111
  if (s4 !== peg$FAILED) {
11920
12112
  peg$savedPos = s0;
11921
- s0 = peg$f108(s1, s3, s4);
12113
+ s0 = peg$f118(s1, s3, s4);
11922
12114
  }
11923
12115
  else {
11924
12116
  peg$currPos = s0;
@@ -11967,7 +12159,7 @@ function peg$parse(input, options) {
11967
12159
  }
11968
12160
  if (s3 !== peg$FAILED) {
11969
12161
  peg$savedPos = s0;
11970
- s0 = peg$f109(s1, s3);
12162
+ s0 = peg$f119(s1, s3);
11971
12163
  }
11972
12164
  else {
11973
12165
  peg$currPos = s0;
@@ -12011,7 +12203,7 @@ function peg$parse(input, options) {
12011
12203
  if (s3 !== peg$FAILED) {
12012
12204
  s4 = peg$parse__();
12013
12205
  peg$savedPos = s0;
12014
- s0 = peg$f110(s3);
12206
+ s0 = peg$f120(s3);
12015
12207
  }
12016
12208
  else {
12017
12209
  peg$currPos = s0;
@@ -12041,7 +12233,7 @@ function peg$parse(input, options) {
12041
12233
  if (s3 !== peg$FAILED) {
12042
12234
  s4 = peg$parse__();
12043
12235
  peg$savedPos = s0;
12044
- s0 = peg$f111(s3);
12236
+ s0 = peg$f121(s3);
12045
12237
  }
12046
12238
  else {
12047
12239
  peg$currPos = s0;
@@ -12068,7 +12260,7 @@ function peg$parse(input, options) {
12068
12260
  s5 = null;
12069
12261
  }
12070
12262
  peg$savedPos = s0;
12071
- s0 = peg$f112(s3, s5);
12263
+ s0 = peg$f122(s3, s5);
12072
12264
  }
12073
12265
  else {
12074
12266
  peg$currPos = s0;
@@ -12121,7 +12313,7 @@ function peg$parse(input, options) {
12121
12313
  s10 = null;
12122
12314
  }
12123
12315
  peg$savedPos = s0;
12124
- s0 = peg$f113(s3, s6, s10);
12316
+ s0 = peg$f123(s3, s6, s10);
12125
12317
  }
12126
12318
  else {
12127
12319
  peg$currPos = s0;
@@ -12182,7 +12374,7 @@ function peg$parse(input, options) {
12182
12374
  }
12183
12375
  if (s5 !== peg$FAILED) {
12184
12376
  peg$savedPos = s0;
12185
- s0 = peg$f114(s1, s5);
12377
+ s0 = peg$f124(s1, s5);
12186
12378
  }
12187
12379
  else {
12188
12380
  peg$currPos = s0;
@@ -12280,7 +12472,7 @@ function peg$parse(input, options) {
12280
12472
  }
12281
12473
  }
12282
12474
  peg$savedPos = s0;
12283
- s0 = peg$f115(s1, s3);
12475
+ s0 = peg$f125(s1, s3);
12284
12476
  }
12285
12477
  else {
12286
12478
  peg$currPos = s0;
@@ -12309,7 +12501,7 @@ function peg$parse(input, options) {
12309
12501
  if (s5 !== peg$FAILED) {
12310
12502
  s6 = peg$parse__();
12311
12503
  peg$savedPos = s0;
12312
- s0 = peg$f116(s5);
12504
+ s0 = peg$f126(s5);
12313
12505
  }
12314
12506
  else {
12315
12507
  peg$currPos = s0;
@@ -12346,7 +12538,7 @@ function peg$parse(input, options) {
12346
12538
  s5 = null;
12347
12539
  }
12348
12540
  peg$savedPos = s0;
12349
- s0 = peg$f117(s1, s2, s3, s4, s5);
12541
+ s0 = peg$f127(s1, s2, s3, s4, s5);
12350
12542
  }
12351
12543
  else {
12352
12544
  peg$currPos = s0;
@@ -12386,7 +12578,7 @@ function peg$parse(input, options) {
12386
12578
  }
12387
12579
  }
12388
12580
  peg$savedPos = s0;
12389
- s0 = peg$f118(s1, s2);
12581
+ s0 = peg$f128(s1, s2);
12390
12582
  }
12391
12583
  else {
12392
12584
  peg$currPos = s0;
@@ -12426,7 +12618,7 @@ function peg$parse(input, options) {
12426
12618
  }
12427
12619
  }
12428
12620
  peg$savedPos = s0;
12429
- s0 = peg$f119(s1, s2);
12621
+ s0 = peg$f129(s1, s2);
12430
12622
  }
12431
12623
  else {
12432
12624
  peg$currPos = s0;
@@ -12535,6 +12727,17 @@ function peg$parse(input, options) {
12535
12727
  const primitiveTypes = ['Boolean', 'String', 'DateTime', 'Double', 'Integer', 'Long'];
12536
12728
  return (primitiveTypes.indexOf(typeName) >= 0);
12537
12729
  }
12730
+ function bucketValidators(items, kindByClass) {
12731
+ const result = {};
12732
+ for (const v of items) {
12733
+ const kind = kindByClass[v.$class];
12734
+ if (result[kind]) {
12735
+ error(`Duplicate ${kind} validator`);
12736
+ }
12737
+ result[kind] = v;
12738
+ }
12739
+ return result;
12740
+ }
12538
12741
  peg$result = peg$startRuleFunction();
12539
12742
  if (peg$result !== peg$FAILED && peg$currPos === input.length) {
12540
12743
  return peg$result;