@ifc-lite/codegen 1.15.12 → 1.17.0

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 (119) hide show
  1. package/dist/express-parser.js +43 -51
  2. package/dist/express-parser.js.map +1 -1
  3. package/dist/generated/ifc2x3/entities.d.ts +5244 -0
  4. package/dist/generated/ifc2x3/entities.d.ts.map +1 -0
  5. package/dist/generated/ifc2x3/entities.js +8 -0
  6. package/dist/generated/ifc2x3/entities.js.map +1 -0
  7. package/dist/generated/ifc2x3/enums.d.ts +1809 -0
  8. package/dist/generated/ifc2x3/enums.d.ts.map +1 -0
  9. package/dist/generated/ifc2x3/enums.js +1973 -0
  10. package/dist/generated/ifc2x3/enums.js.map +1 -0
  11. package/dist/generated/ifc2x3/index.d.ts +13 -0
  12. package/dist/generated/ifc2x3/index.d.ts.map +1 -0
  13. package/dist/generated/ifc2x3/index.js +16 -0
  14. package/dist/generated/ifc2x3/index.js.map +1 -0
  15. package/dist/generated/ifc2x3/schema-registry.d.ts +50 -0
  16. package/dist/generated/ifc2x3/schema-registry.d.ts.map +1 -0
  17. package/dist/generated/ifc2x3/schema-registry.js +50052 -0
  18. package/dist/generated/ifc2x3/schema-registry.js.map +1 -0
  19. package/dist/generated/ifc2x3/selects.d.ts +102 -0
  20. package/dist/generated/ifc2x3/selects.d.ts.map +1 -0
  21. package/dist/generated/ifc2x3/selects.js +8 -0
  22. package/dist/generated/ifc2x3/selects.js.map +1 -0
  23. package/dist/generated/ifc2x3/serializers.d.ts +12 -0
  24. package/dist/generated/ifc2x3/serializers.d.ts.map +1 -0
  25. package/dist/generated/ifc2x3/serializers.js +30 -0
  26. package/dist/generated/ifc2x3/serializers.js.map +1 -0
  27. package/dist/generated/ifc2x3/type-ids.d.ts +692 -0
  28. package/dist/generated/ifc2x3/type-ids.d.ts.map +1 -0
  29. package/dist/generated/ifc2x3/type-ids.js +1425 -0
  30. package/dist/generated/ifc2x3/type-ids.js.map +1 -0
  31. package/dist/generated/ifc2x3/types.d.ts +241 -0
  32. package/dist/generated/ifc2x3/types.d.ts.map +1 -0
  33. package/dist/generated/ifc2x3/types.js +8 -0
  34. package/dist/generated/ifc2x3/types.js.map +1 -0
  35. package/dist/generated/ifc4/entities.d.ts +6221 -0
  36. package/dist/generated/ifc4/entities.d.ts.map +1 -0
  37. package/dist/generated/ifc4/entities.js +8 -0
  38. package/dist/generated/ifc4/entities.js.map +1 -0
  39. package/dist/generated/ifc4/enums.d.ts +2260 -0
  40. package/dist/generated/ifc4/enums.d.ts.map +1 -0
  41. package/dist/generated/ifc4/enums.js +2467 -0
  42. package/dist/generated/ifc4/enums.js.map +1 -0
  43. package/dist/generated/ifc4/index.d.ts +13 -0
  44. package/dist/generated/ifc4/index.d.ts.map +1 -0
  45. package/dist/generated/ifc4/index.js +16 -0
  46. package/dist/generated/ifc4/index.js.map +1 -0
  47. package/dist/generated/ifc4/schema-registry.d.ts +50 -0
  48. package/dist/generated/ifc4/schema-registry.d.ts.map +1 -0
  49. package/dist/generated/ifc4/schema-registry.js +62999 -0
  50. package/dist/generated/ifc4/schema-registry.js.map +1 -0
  51. package/dist/generated/ifc4/selects.d.ts +130 -0
  52. package/dist/generated/ifc4/selects.d.ts.map +1 -0
  53. package/dist/generated/ifc4/selects.js +8 -0
  54. package/dist/generated/ifc4/selects.js.map +1 -0
  55. package/dist/generated/ifc4/serializers.d.ts +12 -0
  56. package/dist/generated/ifc4/serializers.d.ts.map +1 -0
  57. package/dist/generated/ifc4/serializers.js +30 -0
  58. package/dist/generated/ifc4/serializers.js.map +1 -0
  59. package/dist/generated/ifc4/type-ids.d.ts +815 -0
  60. package/dist/generated/ifc4/type-ids.d.ts.map +1 -0
  61. package/dist/generated/ifc4/type-ids.js +1671 -0
  62. package/dist/generated/ifc4/type-ids.js.map +1 -0
  63. package/dist/generated/ifc4/types.d.ts +268 -0
  64. package/dist/generated/ifc4/types.d.ts.map +1 -0
  65. package/dist/generated/ifc4/types.js +8 -0
  66. package/dist/generated/ifc4/types.js.map +1 -0
  67. package/dist/generated/ifc4x3/entities.d.ts +6982 -0
  68. package/dist/generated/ifc4x3/entities.d.ts.map +1 -0
  69. package/dist/generated/ifc4x3/entities.js +8 -0
  70. package/dist/generated/ifc4x3/entities.js.map +1 -0
  71. package/dist/generated/ifc4x3/enums.d.ts +2853 -0
  72. package/dist/generated/ifc4x3/enums.d.ts.map +1 -0
  73. package/dist/generated/ifc4x3/enums.js +3096 -0
  74. package/dist/generated/ifc4x3/enums.js.map +1 -0
  75. package/dist/generated/ifc4x3/index.d.ts +13 -0
  76. package/dist/generated/ifc4x3/index.d.ts.map +1 -0
  77. package/dist/generated/ifc4x3/index.js +16 -0
  78. package/dist/generated/ifc4x3/index.js.map +1 -0
  79. package/dist/generated/ifc4x3/schema-registry.d.ts +50 -0
  80. package/dist/generated/ifc4x3/schema-registry.d.ts.map +1 -0
  81. package/dist/generated/ifc4x3/schema-registry.js +71299 -0
  82. package/dist/generated/ifc4x3/schema-registry.js.map +1 -0
  83. package/dist/generated/ifc4x3/selects.d.ts +131 -0
  84. package/dist/generated/ifc4x3/selects.d.ts.map +1 -0
  85. package/dist/generated/ifc4x3/selects.js +8 -0
  86. package/dist/generated/ifc4x3/selects.js.map +1 -0
  87. package/dist/generated/ifc4x3/serializers.d.ts +12 -0
  88. package/dist/generated/ifc4x3/serializers.d.ts.map +1 -0
  89. package/dist/generated/ifc4x3/serializers.js +30 -0
  90. package/dist/generated/ifc4x3/serializers.js.map +1 -0
  91. package/dist/generated/ifc4x3/type-ids.d.ts +915 -0
  92. package/dist/generated/ifc4x3/type-ids.d.ts.map +1 -0
  93. package/dist/generated/ifc4x3/type-ids.js +1871 -0
  94. package/dist/generated/ifc4x3/type-ids.js.map +1 -0
  95. package/dist/generated/ifc4x3/types.d.ts +272 -0
  96. package/dist/generated/ifc4x3/types.d.ts.map +1 -0
  97. package/dist/generated/ifc4x3/types.js +8 -0
  98. package/dist/generated/ifc4x3/types.js.map +1 -0
  99. package/dist/generator.d.ts +1 -1
  100. package/dist/generator.d.ts.map +1 -1
  101. package/dist/generator.js +7 -1
  102. package/dist/generator.js.map +1 -1
  103. package/dist/index.d.ts +1 -0
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +3 -0
  106. package/dist/index.js.map +1 -1
  107. package/dist/rust-generator.d.ts.map +1 -1
  108. package/dist/rust-generator.js +2 -14
  109. package/dist/rust-generator.js.map +1 -1
  110. package/dist/rust-type-name-parser.d.ts +4 -0
  111. package/dist/rust-type-name-parser.d.ts.map +1 -0
  112. package/dist/rust-type-name-parser.js +27 -0
  113. package/dist/rust-type-name-parser.js.map +1 -0
  114. package/dist/schema-hierarchy.d.ts +57 -0
  115. package/dist/schema-hierarchy.d.ts.map +1 -0
  116. package/dist/schema-hierarchy.js +69 -0
  117. package/dist/schema-hierarchy.js.map +1 -0
  118. package/package.json +33 -5
  119. package/schemas/IFC2X3_TC1.exp +9569 -0
@@ -131,74 +131,66 @@ function parseAttribute(name, typeStr, optional) {
131
131
  // Also handle nested collections: LIST [2:?] OF LIST [2:?] OF IfcCartesianPoint
132
132
  if (typeStr.includes('LIST')) {
133
133
  attr.isList = true;
134
- const listMatch = typeStr.match(/LIST\s+\[(\d+|\?):(\d+|\?)\]\s+OF\s+(.*)/);
135
- if (listMatch) {
136
- attr.arrayBounds = [
137
- listMatch[1] === '?' ? Infinity : parseInt(listMatch[1]),
138
- listMatch[2] === '?' ? Infinity : parseInt(listMatch[2])
139
- ];
140
- const innerType = listMatch[3].trim();
141
- // Recursively parse nested collection
142
- attr.type = parseNestedCollection(innerType);
143
- }
144
- else {
145
- // Fallback if regex doesn't match
146
- attr.type = typeStr.replace(/LIST\s+\[.*?\]\s+OF\s+/, '').trim();
147
- }
134
+ applyAggregate(attr, typeStr, 'LIST');
148
135
  }
149
136
  else if (typeStr.includes('ARRAY')) {
150
137
  attr.isArray = true;
151
- const arrayMatch = typeStr.match(/ARRAY\s+\[(\d+|\?):(\d+|\?)\]\s+OF\s+(.*)/);
152
- if (arrayMatch) {
153
- attr.arrayBounds = [
154
- arrayMatch[1] === '?' ? Infinity : parseInt(arrayMatch[1]),
155
- arrayMatch[2] === '?' ? Infinity : parseInt(arrayMatch[2])
156
- ];
157
- const innerType = arrayMatch[3].trim();
158
- // Recursively parse nested collection
159
- attr.type = parseNestedCollection(innerType);
160
- }
161
- else {
162
- // Fallback if regex doesn't match
163
- attr.type = typeStr.replace(/ARRAY\s+\[.*?\]\s+OF\s+/, '').trim();
164
- }
138
+ applyAggregate(attr, typeStr, 'ARRAY');
165
139
  }
166
140
  else if (typeStr.includes('SET')) {
167
141
  attr.isSet = true;
168
- const setMatch = typeStr.match(/SET\s+\[(\d+|\?):(\d+|\?)\]\s+OF\s+(.*)/);
169
- if (setMatch) {
170
- attr.arrayBounds = [
171
- setMatch[1] === '?' ? Infinity : parseInt(setMatch[1]),
172
- setMatch[2] === '?' ? Infinity : parseInt(setMatch[2])
173
- ];
174
- const innerType = setMatch[3].trim();
175
- // Recursively parse nested collection
176
- attr.type = parseNestedCollection(innerType);
177
- }
178
- else {
179
- // Fallback if regex doesn't match
180
- attr.type = typeStr.replace(/SET\s+\[.*?\]\s+OF\s+/, '').trim();
181
- }
142
+ applyAggregate(attr, typeStr, 'SET');
182
143
  }
183
144
  else {
184
145
  attr.type = typeStr;
185
146
  }
186
147
  return attr;
187
148
  }
149
+ /**
150
+ * The tail of an EXPRESS aggregate declaration: optional bounds, then OF and
151
+ * the element type. Bounds may be absent ("LIST OF UNIQUE IfcGridAxis") and
152
+ * need not be numeric ("ARRAY [0:UUpper] OF ..."), so they are matched loosely
153
+ * and only become arrayBounds when both ends turn out to be numeric. One
154
+ * pattern shared by every caller, so no aggregate shape can reach the element
155
+ * type by a route that skips parseNestedCollection, where qualifiers drop.
156
+ */
157
+ const AGGREGATE_TAIL = String.raw `\s*(?:\[([^\]]*)\])?\s+OF\s+([\s\S]*)`;
158
+ const AGGREGATE_RE = {
159
+ LIST: new RegExp(`LIST${AGGREGATE_TAIL}`),
160
+ ARRAY: new RegExp(`ARRAY${AGGREGATE_TAIL}`),
161
+ SET: new RegExp(`SET${AGGREGATE_TAIL}`),
162
+ };
163
+ const NESTED_AGGREGATE_RE = new RegExp(`^(?:LIST|ARRAY|SET)${AGGREGATE_TAIL}`);
164
+ const NUMERIC_BOUNDS = /^\s*(\d+|\?)\s*:\s*(\d+|\?)\s*$/;
165
+ /** Record an aggregate's bounds and element type on `attr`. */
166
+ function applyAggregate(attr, typeStr, keyword) {
167
+ const match = typeStr.match(AGGREGATE_RE[keyword]);
168
+ if (!match) {
169
+ // Not an aggregate declaration despite containing the keyword.
170
+ attr.type = typeStr;
171
+ return;
172
+ }
173
+ const numeric = match[1]?.match(NUMERIC_BOUNDS);
174
+ if (numeric) {
175
+ attr.arrayBounds = [
176
+ numeric[1] === '?' ? Infinity : parseInt(numeric[1]),
177
+ numeric[2] === '?' ? Infinity : parseInt(numeric[2]),
178
+ ];
179
+ }
180
+ attr.type = parseNestedCollection(match[2].trim());
181
+ }
188
182
  /**
189
183
  * Parse nested collection types, e.g. "LIST [2:?] OF IfcCartesianPoint" ->
190
- * "IfcCartesianPoint[]". A leading "UNIQUE" (e.g. "LIST [1:?] OF UNIQUE
191
- * IfcGridAxis") constrains the elements, not the element type — strip it.
184
+ * "IfcCartesianPoint[]". A leading "OPTIONAL" and/or "UNIQUE" (e.g. "LIST [1:?]
185
+ * OF UNIQUE IfcGridAxis") qualifies the elements, it is not part of the element
186
+ * type name, so strip it. Neither has a TypeScript type equivalent.
192
187
  */
193
188
  function parseNestedCollection(typeStr) {
194
- const stripped = typeStr.replace(/^UNIQUE\s+/, '');
189
+ const stripped = typeStr.replace(/^(?:OPTIONAL\s+)?(?:UNIQUE\s+)?/, '');
195
190
  // Check if this is another collection: LIST|ARRAY|SET [min:max] OF <innerType>
196
- if (stripped.match(/^(LIST|ARRAY|SET)\s+\[/)) {
197
- const match = stripped.match(/^(?:LIST|ARRAY|SET)\s+\[(?:\d+|\?):(?:\d+|\?)\]\s+OF\s+(.*)/);
198
- if (match) {
199
- const innerType = match[1].trim();
200
- return `${parseNestedCollection(innerType)}[]`; // recursively parse and wrap in array
201
- }
191
+ const match = stripped.match(NESTED_AGGREGATE_RE);
192
+ if (match) {
193
+ return `${parseNestedCollection(match[2].trim())}[]`; // recursively parse and wrap in array
202
194
  }
203
195
  // Base case: return the type as-is
204
196
  return stripped;
@@ -1 +1 @@
1
- {"version":3,"file":"express-parser.js","sourceRoot":"","sources":["../src/express-parser.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAyE/D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,kBAAkB;IAClB,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAElC,sBAAsB;IACtB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5D,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ;QACR,KAAK;QACL,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,OAAe;IACrC,uCAAuC;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,qCAAqC;IACrC,MAAM,WAAW,GAAG,yCAAyC,CAAC;IAE9D,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC7C,MAAM,MAAM,GAAqB;QAC/B,IAAI;QACJ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,oBAAoB;IACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,mBAAmB;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC5D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC;aACnC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,8EAA8E;IAC9E,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAE7B,qCAAqC;IACrC,iGAAiG;IACjG,MAAM,cAAc,GAAG;QACrB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;KAC5B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAuB,CAAC;IAEhD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,0BAA0B;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC,CAAC;QACrE,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;IAED,wDAAwD;IACxD,2CAA2C;IAC3C,MAAM,cAAc,GAAG,6CAA6C,CAAC;IAErE,IAAI,SAAS,CAAC;IACd,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,oBAAoB;IACpB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IACvF,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC;aAC9B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,qBAAqB;IACrB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IACxF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC;aAChC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,OAAe,EAAE,QAAiB;IACtE,MAAM,IAAI,GAAwB;QAChC,IAAI;QACJ,IAAI,EAAE,EAAE;QACR,QAAQ;QACR,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;KACb,CAAC;IAEF,gDAAgD;IAChD,mFAAmF;IACnF,gFAAgF;IAChF,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC5E,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,GAAG;gBACjB,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxD,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACzD,CAAC;YACF,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,sCAAsC;YACtC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9E,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,GAAG;gBACjB,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1D,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAC3D,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,sCAAsC;YACtC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC1E,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,GAAG;gBACjB,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtD,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACvD,CAAC;YACF,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,sCAAsC;YACtC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACnD,+EAA+E;IAC/E,IAAI,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC5F,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,sCAAsC;QACxF,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,kEAAkE;IAClE,MAAM,SAAS,GAAG,kEAAkE,CAAC;IAErF,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjC,iEAAiE;QACjE,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE9E,+BAA+B;QAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,UAAU;YAC3B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;iBACV,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC,SAAS,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,cAAc;YACd,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,+CAA+C;IAC/C,MAAM,SAAS,GAAG,+EAA+E,CAAC;IAElG,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3B,4DAA4D;QAC5D,MAAM,MAAM,GAAG,SAAS;aACrB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7B,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,uCAAuC;IACvC,MAAM,WAAW,GAAG,qEAAqE,CAAC;IAE1F,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE1B,6DAA6D;QAC7D,MAAM,KAAK,GAAG,QAAQ;aACnB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,UAAU;YAChB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAwB,EACxB,MAAqB;IAErB,0DAA0D;IAC1D,8DAA8D;IAC9D,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,8DAA8D;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,OAAO,GAAiC,MAAM,CAAC;IACnD,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QAED,iBAAiB;QACjB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAQ,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAwB,EACxB,MAAqB;IAErB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,8DAA8D;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,OAAO,GAAiC,MAAM,CAAC;IACnD,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,eAAe;QAE7C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAQ,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"express-parser.js","sourceRoot":"","sources":["../src/express-parser.ts"],"names":[],"mappings":"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"}