@itwin/ecschema-metadata 5.10.0-dev.19 → 5.10.0-dev.21
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.
- package/lib/cjs/SchemaView.d.ts +653 -0
- package/lib/cjs/SchemaView.d.ts.map +1 -0
- package/lib/cjs/SchemaView.js +1204 -0
- package/lib/cjs/SchemaView.js.map +1 -0
- package/lib/cjs/SchemaViewBinaryReader.d.ts +16 -0
- package/lib/cjs/SchemaViewBinaryReader.d.ts.map +1 -0
- package/lib/cjs/SchemaViewBinaryReader.js +610 -0
- package/lib/cjs/SchemaViewBinaryReader.js.map +1 -0
- package/lib/cjs/SchemaViewInterfaces.d.ts +220 -0
- package/lib/cjs/SchemaViewInterfaces.d.ts.map +1 -0
- package/lib/cjs/SchemaViewInterfaces.js +69 -0
- package/lib/cjs/SchemaViewInterfaces.js.map +1 -0
- package/lib/cjs/ecschema-metadata.d.ts +3 -0
- package/lib/cjs/ecschema-metadata.d.ts.map +1 -1
- package/lib/cjs/ecschema-metadata.js +3 -0
- package/lib/cjs/ecschema-metadata.js.map +1 -1
- package/lib/esm/SchemaView.d.ts +653 -0
- package/lib/esm/SchemaView.d.ts.map +1 -0
- package/lib/esm/SchemaView.js +1199 -0
- package/lib/esm/SchemaView.js.map +1 -0
- package/lib/esm/SchemaViewBinaryReader.d.ts +16 -0
- package/lib/esm/SchemaViewBinaryReader.d.ts.map +1 -0
- package/lib/esm/SchemaViewBinaryReader.js +607 -0
- package/lib/esm/SchemaViewBinaryReader.js.map +1 -0
- package/lib/esm/SchemaViewInterfaces.d.ts +220 -0
- package/lib/esm/SchemaViewInterfaces.d.ts.map +1 -0
- package/lib/esm/SchemaViewInterfaces.js +66 -0
- package/lib/esm/SchemaViewInterfaces.js.map +1 -0
- package/lib/esm/ecschema-metadata.d.ts +3 -0
- package/lib/esm/ecschema-metadata.d.ts.map +1 -1
- package/lib/esm/ecschema-metadata.js +3 -0
- package/lib/esm/ecschema-metadata.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaViewBinaryReader.js","sourceRoot":"","sources":["../../src/SchemaViewBinaryReader.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAc,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAA4B,SAAS,EAA6B,uBAAuB,EAA2B,MAAM,wBAAwB,CAAC;AAE1J;yFACyF;AACzF,IAAK,GAOJ;AAPD,WAAK,GAAG;IACN,sDAAuB,CAAA;IACvB,4CAAkB,CAAA;IAClB,wCAAgB,CAAA;IAChB,sCAAe,CAAA;IACf,8CAAmB,CAAA;IACnB,0CAAiB,CAAA;AACnB,CAAC,EAPI,GAAG,KAAH,GAAG,QAOP;AAED,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,SAAS;AAEnC,uDAAuD;AACvD,MAAM,YAAY;IACR,KAAK,CAAW;IAChB,MAAM,CAAa;IACnB,IAAI,CAAS;IACb,QAAQ,CAAW;IAE3B,YAAY,IAAgB;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YACjC,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IACM,OAAO,KAAa,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO,KAAa,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO,KAAa,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/F,OAAO,KAAa,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxG,IAAW,GAAG,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAW,GAAG,CAAC,CAAS,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAE5C,gFAAgF;IACzE,QAAQ;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC7B,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,oCAAoC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACvH,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;8FAC0F;IACnF,aAAa,CAAC,KAAa,EAAE,gBAAwB,EAAE,SAAiB;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACjD,IAAI,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,UAAU,KAAK,8BAA8B,SAAS,SAAS,CAAC,CAAC;IAClH,CAAC;IAED,kDAAkD;IAC3C,gBAAgB,CAAC,MAAc;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YAC7B,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,gCAAgC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACtH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,4FAA4F;QAC5F,8FAA8F;QAC9F,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACjD,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,8BAA8B,SAAS,SAAS,CAAC,CAAC;QAC/G,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI;oBACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,eAAe,GAAG,aAAa,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,eAAe,CAAC,CAAC;gBAClI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;gBACpF,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;CACF;AAED,mEAAmE;AACnE,SAAS,eAAe,CAAC,MAAoB;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AA4DD,wEAAwE;AACxE,SAAS,SAAS,CAAC,MAAoB,EAAE,QAAa;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAC5B,IAAI,GAAG,KAAK,QAAQ;QAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3H,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgB,EAAE,WAAoB;IACxE,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtC,uDAAuD;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,IAAI,KAAK,KAAK,KAAK;QACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9G,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAChC,IAAI,OAAO,KAAK,uBAAuB;QACrC,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,cAAc,uBAAuB,EAAE,CAAC,CAAC;IAC7G,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAClC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAExC,6DAA6D;IAC7D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAElD,sDAAsD;IACtD,MAAM,WAAW,GAAoF,EAAE,CAAC;IAExG,wDAAwD;IACxD,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IAEvC,qDAAqD;IACrD,MAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,6BAA6B;IAC7B,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAClC,0FAA0F;IAC1F,iGAAiG;IACjG,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACtD,MAAM,aAAa,GAAmB,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,aAAa,CAAC,CAAC,CAAC,GAAG;YACjB,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;YACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YACrB,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE;YAC/B,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC1B,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE;YAC3B,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE;YAClC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE;YAC1B,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE;YAC1B,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC;YACvC,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC;YACvC,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE;YAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;YAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;YACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;YAC/B,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC/B,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAClC,YAAY;YACZ,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;YACzC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YAC3C,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YAC3C,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC;YACvD,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YACjC,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;YAC/B,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC7B,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC7B,QAAQ;SACT,CAAC,CAAC;QACH,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC7C,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnD,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,kEAAkE;IAClE,SAAS,SAAS,CAAC,UAAkB,EAAE,SAAiB,EAAE,MAAgB,EAAE,MAAgB;QAC1F,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,SAAS,KAAK,SAAS;YACzB,MAAM,IAAI,KAAK,CAAC,gDAAgD,UAAU,EAAE,CAAC,CAAC;QAChF,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YACzB,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;QAChC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sBAAsB;IACtB,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAE/E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAEvC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAChD,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,gEAAgE;gBAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAmH,CAAC;gBACzJ,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;oBAC5E,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC;oBAChF,OAAO,CAAC,aAAa,CAAC;wBACpB,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;wBACzC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;wBACpD,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;wBACzD,KAAK;qBACN,CAAC,CAAC;oBACH,eAAe,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,UAAU,CAAC,8BAA8B,EAAE,8CAA8C,KAAK,MAAM,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;YAClC,YAAY,EAAE,aAAa;YAC3B,SAAS;YACT,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YAC1C,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;YAC5C,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YACjD,aAAa,EAAE,SAAS;YACxB,QAAQ,EAAE,SAAS;YACnB,eAAe;YACf,eAAe;SAChB,CAAC,CAAC;QACH,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAqB;IACrB,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACvC,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QAE7E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;YAC1B,YAAY,EAAE,aAAa;YAC3B,SAAS;YACT,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YAC1C,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;YAC5C,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YACjD,wBAAwB,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;YACzD,4BAA4B,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;YAC9D,aAAa,EAAE,SAAS;SACzB,CAAC,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,yBAAyB;IACzB,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACvC,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QAE7E,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAExC,MAAM,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC;YACxC,YAAY,EAAE,cAAc;YAC5B,SAAS;YACT,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;YAC3C,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;YAC7C,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;YAClD,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,uBAAuB;IACvB,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,WAAW,GAAiB,YAAY,CAAC,WAAW,CAAC;QACzD,IAAI,cAAc,GAAsB,iBAAiB,CAAC,OAAO,CAAC;QAClE,IAAI,KAAK,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC;YACrC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACvC,0GAA0G;QAC1G,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,SAAS,GAAwB,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAExG,gCAAgC;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,WAAW,GAAsE,EAAE,CAAC;QAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,WAAW,CAAC,IAAI,CAAC;gBACf,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE;gBAC7B,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE;gBAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;aACzB,CAAC,CAAC;QACL,CAAC;QAED,iCAAiC;QACjC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC;gBACZ,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE;gBAC3B,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvD,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE;gBAC1B,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,uDAAuD;QACvD,MAAM,WAAW,GAAwB,EAAE,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACvC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAErC,sCAAsC;gBACtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,iBAAiB,GAAqD,EAAE,CAAC;gBAC/E,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;oBACpC,iBAAiB,CAAC,IAAI,CAAC;wBACrB,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE;wBAC7B,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAED,WAAW,CAAC,IAAI,CAAC;oBACf,MAAM,EAAE,KAAK;oBACb,aAAa,EAAE,QAAQ;oBACvB,iBAAiB,EAAE,WAAW;oBAC9B,iBAAiB,EAAE,WAAW;oBAC9B,SAAS,EAAE,WAAW;oBACtB,kBAAkB,EAAE,WAAW;oBAC/B,iBAAiB,EAAE,UAAU;oBAC7B,iBAAiB;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAChC,YAAY,EAAE,aAAa;YAC3B,SAAS;YACT,aAAa;YACb,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;YAC5C,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YACjD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,CAAC,CAAC;YAChB,aAAa,EAAE,CAAC,CAAC;YACjB,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,WAAW;YACrB,iBAAiB,EAAE,cAAc;YACjC,mBAAmB,EAAE,CAAC,CAAC;YACvB,mBAAmB,EAAE,CAAC,CAAC;YACvB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC7D,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE7C,cAAc,CAAC,IAAI,CAAC;YAClB,SAAS;YACT,QAAQ;YACR,YAAY,EAAE,aAAa;YAC3B,aAAa;YACb,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;YAC5C,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YACjD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,SAAS;YACnB,WAAW;YACX,cAAc;YACd,WAAW;YACX,QAAQ;YACR,WAAW;YACX,UAAU,EAAE,UAAU,CAAC,IAAI;YAC3B,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE;YAC5B,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;YACnC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;YACtC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;YACjC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;YACtC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc;YAC7C,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,6FAA6F;IAC7F,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;YACjC,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClB,YAAY,CAAC,IAAI,CAAC,8CAA8C,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC1F,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;YACjC,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClB,YAAY,CAAC,IAAI,CAAC,kDAAkD,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC9F,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;QACjB,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,IAAI,OAAO,KAAK,CAAC,CAAC;gBAChB,YAAY,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;QAChB,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;YACtB,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnD,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QACrB,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;YACtB,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAExD,MAAM,GAAG,GAAgB;YACvB,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;YAC/C,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;YAC7D,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC;YACrD,OAAO;YACP,MAAM;YACN,cAAc;YACd,cAAc;YACd,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW;YACX,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC;QAEF,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,gDAAgD;IAChD,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAChC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAEhF,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;QACtB,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU;oBAC/B,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,kBAAkB,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;gBACvF,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,aAAa,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;oBAChF,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC7B,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC9C,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;gBAC9B,SAAS;YACX,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,MAAM,KAAK,SAAS;gBACtB,SAAS;YACX,OAAO,CAAC,cAAc,CAAC;gBACrB,YAAY,EAAE,EAAE,CAAC,YAAY;gBAC7B,MAAM;gBACN,cAAc,EAAE,EAAE,CAAC,cAAc;gBACjC,QAAQ,EAAE,EAAE,CAAC,QAAQ;aACtB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,iBAAiB;gBAC5D,CAAC,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE;gBAClF,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,MAAM;gBAC9B,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,2BAA2B,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAElH,MAAM,aAAa,GAAG,OAAO,CAAC,uBAAuB,CAAC;YACtD,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC7E,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,wBAAwB,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC3F,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBACrC,aAAa,EAAE,CAAC;YAClB,CAAC;YAED,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;gBAC7C,qBAAqB,EAAE,WAAW;gBAClC,WAAW,EAAE,GAAG,CAAC,aAAa;gBAC9B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,kBAAkB,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;gBACvD,aAAa;gBACb,aAAa;aACd,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAClB,mBAAmB,GAAG,aAAa,CAAC;;gBAEpC,mBAAmB,GAAG,aAAa,CAAC;QACxC,CAAC;QAED,MAAM,YAAY,GAAc;YAC9B,YAAY,EAAE,EAAE,CAAC,YAAY;YAC7B,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,aAAa,EAAE,EAAE,CAAC,aAAa;YAC/B,cAAc,EAAE,EAAE,CAAC,cAAc;YACjC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB;YAC7C,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,YAAY;YACZ,aAAa;YACb,UAAU;YACV,YAAY;YACZ,YAAY,EAAE,OAAO,CAAC,gBAAgB,GAAG,YAAY;YACrD,QAAQ,EAAE,EAAE,CAAC,WAAW;YACxB,iBAAiB,EAAE,EAAE,CAAC,cAAc;YACpC,mBAAmB;YACnB,mBAAmB;YACnB,QAAQ,EAAE,EAAE,CAAC,QAAQ;SACtB,CAAC;QACF,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,YAAY,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC;QACvI,MAAM,CAAC,UAAU,CAAC,8BAA8B,EAAE,GAAG,YAAY,CAAC,MAAM,yFAAyF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzL,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Schema\r\n */\r\n\r\nimport { BentleyError, Logger } from \"@itwin/core-bentley\";\r\nimport { SchemaView, SchemaViewBuilder } from \"./SchemaView\";\r\nimport { StrengthDirection, StrengthType } from \"./ECObjects\";\r\nimport { ClassData, ClassModifier, ClassType, PropertyDef, PropertyKind, schemaViewFormatVersion, SchemaViewPrimitiveType } from \"./SchemaViewInterfaces\";\r\n\r\n/** Binary record tags for the SchemaView blob format.\r\n * Each tag marks a flat, count-prefixed table. Must stay in sync with the C++ writer. */\r\nenum Tag {\r\n PropertyDefTable = 0x0A,\r\n SchemaTable = 0x10,\r\n EnumTable = 0x20,\r\n KoQTable = 0x30,\r\n PropCatTable = 0x31,\r\n ClassTable = 0x40,\r\n}\r\n\r\nconst MAGIC = 0x43534348; // \"CSCH\"\r\n\r\n/** Low-level binary reader for the SchemaView blob. */\r\nclass BinaryReader {\r\n private _view: DataView;\r\n private _bytes: Uint8Array;\r\n private _pos: number;\r\n private _strings: string[];\r\n\r\n constructor(data: Uint8Array) {\r\n this._bytes = data;\r\n this._view = new DataView(data.buffer, data.byteOffset, data.byteLength);\r\n this._pos = 0;\r\n this._strings = [];\r\n }\r\n\r\n public readU8(): number {\r\n if (this._pos >= this._bytes.length)\r\n throw new Error(`SchemaView blob truncated: cannot read u8 at offset ${this._pos} (length ${this._bytes.length})`);\r\n return this._bytes[this._pos++];\r\n }\r\n public readU16(): number { const v = this._view.getUint16(this._pos, true); this._pos += 2; return v; }\r\n public readU32(): number { const v = this._view.getUint32(this._pos, true); this._pos += 4; return v; }\r\n public readI32(): number { const v = this._view.getInt32(this._pos, true); this._pos += 4; return v; }\r\n public readF64(): number { const v = this._view.getFloat64(this._pos, true); this._pos += 8; return v; }\r\n public get pos(): number { return this._pos; }\r\n public set pos(v: number) { this._pos = v; }\r\n\r\n /** Read a string-table reference (U32 index) and return the original string. */\r\n public readSRef(): string {\r\n const idx = this.readU32();\r\n if (idx >= this._strings.length)\r\n throw new Error(`SchemaView blob: string reference ${idx} out of range (string table size ${this._strings.length})`);\r\n return this._strings[idx];\r\n }\r\n\r\n /** Validate a count-prefixed table header: the declared count cannot exceed what the remaining\r\n * buffer could plausibly hold. Each entry consumes at least `minBytesPerEntry` bytes. */\r\n public validateCount(count: number, minBytesPerEntry: number, tableName: string): void {\r\n const remaining = this._bytes.length - this._pos;\r\n if (count > remaining / Math.max(1, minBytesPerEntry))\r\n throw new Error(`SchemaView blob: ${tableName} count ${count} exceeds remaining buffer (${remaining} bytes)`);\r\n }\r\n\r\n /** Parse the string table at the given offset. */\r\n public parseStringTable(offset: number): void {\r\n if (offset > this._bytes.length)\r\n throw new Error(`SchemaView blob: stringTable offset ${offset} is past end of blob (length ${this._bytes.length})`);\r\n const saved = this._pos;\r\n this._pos = offset;\r\n const count = this.readU32();\r\n // Each entry is at minimum a 4-byte length prefix - a count larger than the remaining bytes\r\n // cannot possibly be valid and would cause a huge `new Array` allocation on a malformed blob.\r\n const remaining = this._bytes.length - this._pos;\r\n if (count > remaining / 4)\r\n throw new Error(`SchemaView blob: stringTable count ${count} exceeds remaining buffer (${remaining} bytes)`);\r\n this._strings = new Array(count);\r\n const decoder = new TextDecoder();\r\n for (let i = 0; i < count; i++) {\r\n const len = this.readU32();\r\n if (len === 0) {\r\n this._strings[i] = \"\";\r\n } else {\r\n if (len > this._bytes.length - this._pos)\r\n throw new Error(`SchemaView blob: string entry ${i} has length ${len} but only ${this._bytes.length - this._pos} bytes remain`);\r\n this._strings[i] = decoder.decode(this._bytes.subarray(this._pos, this._pos + len));\r\n this._pos += len;\r\n }\r\n }\r\n this._pos = saved;\r\n }\r\n}\r\n\r\n/** Read a U32 that uses 0xFFFFFFFF as a sentinel for \"not set\". */\r\nfunction readOptionalU32(reader: BinaryReader): number | undefined {\r\n const v = reader.readU32();\r\n return v === 0xFFFFFFFF ? undefined : v;\r\n}\r\n\r\n/** Temporary per-class data collected during parsing, before cross-references are resolved. */\r\ninterface PendingClass {\r\n schemaIdx: number;\r\n classIdx: number;\r\n ecInstanceId: number;\r\n nameStringIdx: number;\r\n labelStringIdx: number;\r\n descriptionStringIdx: number;\r\n type: ClassType;\r\n modifier: ClassModifier;\r\n relStrength: StrengthType;\r\n relStrengthDir: StrengthDirection;\r\n baseClasses: Array<{ schemaName: string; className: string; ordinal: number }>;\r\n propRefs: PendingPropRef[];\r\n constraints: PendingConstraint[];\r\n schemaName: string;\r\n isHidden: boolean | undefined;\r\n}\r\n\r\n/** A property reference from the binary PropertyDefTable. During parsing, `preDefIdx` stores the\r\n * index into the pre-parsed def array; during resolution it's mapped to the builder's deduped defIdx. */\r\ninterface PendingPropRef {\r\n preDefIdx: number; // index into preParsedDefs (mapped to builder defIdx during resolution)\r\n ecInstanceId: number;\r\n labelStringIdx: number;\r\n priority: number;\r\n}\r\n\r\n/** Pre-parsed property definition from the binary PropertyDefTable, with row ID cross-refs. */\r\ninterface PreParsedDef {\r\n name: string;\r\n description: string;\r\n kind: PropertyKind;\r\n primitiveType: SchemaViewPrimitiveType;\r\n extType: string;\r\n enumRowId: number; // ec_Enumeration.Id (0 = none)\r\n structClassRowId: number; // ec_Class.Id for struct type (0 = none)\r\n koqRowId: number; // ec_KindOfQuantity.Id (0 = none)\r\n catRowId: number; // ec_PropertyCategory.Id (0 = none)\r\n arrayMinOccurs: number | undefined;\r\n arrayMaxOccurs: number | undefined;\r\n navRelClassRowId: number; // ec_Class.Id for nav relationship (0 = none)\r\n navDirection: StrengthDirection;\r\n isReadonly: boolean;\r\n isHidden: boolean;\r\n}\r\n\r\ninterface PendingConstraint {\r\n relEnd: number; // 0=source, 1=target\r\n isPolymorphic: boolean;\r\n multiplicityLower: number;\r\n multiplicityUpper: number;\r\n roleLabel: string;\r\n abstractSchemaName: string;\r\n abstractClassName: string;\r\n constraintClasses: Array<{ schemaName: string; className: string }>;\r\n}\r\n\r\n/** Helper: read a tag byte and validate it matches the expected tag. */\r\nfunction expectTag(reader: BinaryReader, expected: Tag): void {\r\n const tag = reader.readU8();\r\n if (tag !== expected)\r\n throw new Error(`Expected tag 0x${expected.toString(16)} but found 0x${tag.toString(16)} at offset ${reader.pos - 1}`);\r\n}\r\n\r\n/** Parse a schema view blob (binary format) into a `SchemaView`.\r\n *\r\n * Layout: Header, PropertyDefTable, SchemaTable, EnumTable, KoQTable, PropCatTable, ClassTable, StringTable.\r\n * Each table is count-prefixed. Schema items carry their schema's ecInstanceId for ownership resolution.\r\n * Classes have count-prefixed inline sub-items (base classes, property refs, constraints).\r\n *\r\n * Consumers should call `SchemaView.fromBinary` instead - this function is the low-level\r\n * implementation behind it.\r\n * @internal\r\n */\r\nexport function parseSchemaViewBlob(data: Uint8Array, schemaToken?: string): SchemaView {\r\n const reader = new BinaryReader(data);\r\n\r\n // Header: magic(4) + version(1) + stringTableOffset(4)\r\n const magic = reader.readU32();\r\n if (magic !== MAGIC)\r\n throw new Error(`Invalid SchemaView blob magic: 0x${magic.toString(16)}, expected 0x${MAGIC.toString(16)}`);\r\n const version = reader.readU8();\r\n if (version !== schemaViewFormatVersion)\r\n throw new Error(`Unsupported schema view format version: ${version}, expected ${schemaViewFormatVersion}`);\r\n const stOffset = reader.readU32();\r\n reader.parseStringTable(stOffset);\r\n\r\n const builder = new SchemaViewBuilder();\r\n\r\n // Cross-reference maps (ecInstanceId -> builder array index)\r\n const schemaEcIdToIdx = new Map<number, number>();\r\n const enumRowIdToIdx = new Map<number, number>();\r\n const koqRowIdToIdx = new Map<number, number>();\r\n const catRowIdToIdx = new Map<number, number>();\r\n const classRowIdToIdx = new Map<number, number>();\r\n\r\n // Per-schema metadata for name-based class resolution\r\n const schemaInfos: Array<{ name: string; schemaIdx: number; classNameToIdx: Map<string, number> }> = [];\r\n\r\n // Per-schema item range tracking (indexed by schemaIdx)\r\n const schemaEnumStarts: number[] = [];\r\n const schemaEnumCounts: number[] = [];\r\n const schemaKoqStarts: number[] = [];\r\n const schemaKoqCounts: number[] = [];\r\n const schemaCatStarts: number[] = [];\r\n const schemaCatCounts: number[] = [];\r\n const schemaClassStarts: number[] = [];\r\n const schemaClassCounts: number[] = [];\r\n\r\n // Deferred class data for cross-reference resolution\r\n const pendingClasses: PendingClass[] = [];\r\n\r\n // ---- PropertyDefTable ----\r\n expectTag(reader, Tag.PropertyDefTable);\r\n const defCount = reader.readU32();\r\n // Each PreParsedDef consumes at least ~30 bytes (mix of u8/u16/u32 fields + string refs).\r\n // Use a conservative lower bound of 8 bytes to catch wildly oversized counts on malformed blobs.\r\n reader.validateCount(defCount, 8, \"PropertyDefTable\");\r\n const preParsedDefs: PreParsedDef[] = new Array(defCount);\r\n for (let i = 0; i < defCount; i++) {\r\n preParsedDefs[i] = {\r\n name: reader.readSRef(),\r\n kind: reader.readU8(),\r\n primitiveType: reader.readU16(),\r\n extType: reader.readSRef(),\r\n enumRowId: reader.readU32(),\r\n structClassRowId: reader.readU32(),\r\n koqRowId: reader.readU32(),\r\n catRowId: reader.readU32(),\r\n arrayMinOccurs: readOptionalU32(reader),\r\n arrayMaxOccurs: readOptionalU32(reader),\r\n navRelClassRowId: reader.readU32(),\r\n navDirection: reader.readU8(),\r\n isReadonly: reader.readU8() !== 0,\r\n isHidden: reader.readU8() !== 0,\r\n description: reader.readSRef(),\r\n };\r\n }\r\n\r\n // ---- SchemaTable ----\r\n expectTag(reader, Tag.SchemaTable);\r\n const schemaCount = reader.readU32();\r\n reader.validateCount(schemaCount, 8, \"SchemaTable\");\r\n for (let i = 0; i < schemaCount; i++) {\r\n const name = reader.readSRef();\r\n const vRead = reader.readU16();\r\n const vWrite = reader.readU16();\r\n const vMinor = reader.readU16();\r\n const alias = reader.readSRef();\r\n const label = reader.readSRef();\r\n const description = reader.readSRef();\r\n const ecInstanceId = reader.readU32();\r\n const isHidden = reader.readU8() !== 0;\r\n\r\n const schemaIdx = builder.addSchema({\r\n ecInstanceId,\r\n nameStringIdx: builder.internString(name),\r\n aliasStringIdx: builder.internString(alias),\r\n labelStringIdx: builder.internString(label),\r\n descriptionStringIdx: builder.internString(description),\r\n versionRead: vRead,\r\n versionWrite: vWrite,\r\n versionMinor: vMinor,\r\n classRangeStart: 0, classCount: 0,\r\n enumRangeStart: 0, enumCount: 0,\r\n koqRangeStart: 0, koqCount: 0,\r\n catRangeStart: 0, catCount: 0,\r\n isHidden,\r\n });\r\n schemaEcIdToIdx.set(ecInstanceId, schemaIdx);\r\n schemaInfos.push({ name, schemaIdx, classNameToIdx: new Map() });\r\n schemaEnumStarts.push(0); schemaEnumCounts.push(0);\r\n schemaKoqStarts.push(0); schemaKoqCounts.push(0);\r\n schemaCatStarts.push(0); schemaCatCounts.push(0);\r\n schemaClassStarts.push(0); schemaClassCounts.push(0);\r\n }\r\n\r\n /** Track an item's schema ownership and update range counters. */\r\n function trackItem(schemaEcId: number, globalIdx: number, starts: number[], counts: number[]): number {\r\n const schemaIdx = schemaEcIdToIdx.get(schemaEcId);\r\n if (schemaIdx === undefined)\r\n throw new Error(`SchemaView blob: unknown schema ecInstanceId ${schemaEcId}`);\r\n if (counts[schemaIdx] === 0)\r\n starts[schemaIdx] = globalIdx;\r\n counts[schemaIdx]++;\r\n return schemaIdx;\r\n }\r\n\r\n // ---- EnumTable ----\r\n expectTag(reader, Tag.EnumTable);\r\n const enumTotalCount = reader.readU32();\r\n reader.validateCount(enumTotalCount, 8, \"EnumTable\");\r\n for (let i = 0; i < enumTotalCount; i++) {\r\n const schemaEcId = reader.readU32();\r\n const schemaIdx = trackItem(schemaEcId, i, schemaEnumStarts, schemaEnumCounts);\r\n\r\n const eName = reader.readSRef();\r\n const ePrimType = reader.readU8();\r\n const eIsStrict = reader.readU8() !== 0;\r\n const eLabel = reader.readSRef();\r\n const eDesc = reader.readSRef();\r\n const eValuesJson = reader.readSRef();\r\n const eEcInstanceId = reader.readU32();\r\n\r\n const enumeratorStart = builder.enumeratorCount;\r\n let enumeratorCount = 0;\r\n if (eValuesJson) {\r\n try {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n const values = JSON.parse(eValuesJson) as Array<{ Name?: string; IntValue?: number; StringValue?: string; DisplayLabel?: string; Description?: string }>;\r\n for (const v of values) {\r\n const value = v.IntValue !== undefined ? v.IntValue : (v.StringValue ?? \"\");\r\n const name = v.Name ?? (typeof value === \"string\" ? value : `${eName}${value}`);\r\n builder.addEnumerator({\r\n nameStringIdx: builder.internString(name),\r\n labelStringIdx: builder.internString(v.DisplayLabel),\r\n descriptionStringIdx: builder.internString(v.Description),\r\n value,\r\n });\r\n enumeratorCount++;\r\n }\r\n } catch (e) {\r\n Logger.logWarning(\"ecschema-metadata.SchemaView\", `Malformed EnumValues JSON for enumeration \"${eName}\": ${BentleyError.getErrorMessage(e)}`);\r\n }\r\n }\r\n\r\n const eIdx = builder.addEnumeration({\r\n ecInstanceId: eEcInstanceId,\r\n schemaIdx,\r\n nameStringIdx: builder.internString(eName),\r\n labelStringIdx: builder.internString(eLabel),\r\n descriptionStringIdx: builder.internString(eDesc),\r\n primitiveType: ePrimType,\r\n isStrict: eIsStrict,\r\n enumeratorStart,\r\n enumeratorCount,\r\n });\r\n enumRowIdToIdx.set(eEcInstanceId, eIdx);\r\n }\r\n\r\n // ---- KoQTable ----\r\n expectTag(reader, Tag.KoQTable);\r\n const koqTotalCount = reader.readU32();\r\n reader.validateCount(koqTotalCount, 8, \"KoQTable\");\r\n for (let i = 0; i < koqTotalCount; i++) {\r\n const schemaEcId = reader.readU32();\r\n const schemaIdx = trackItem(schemaEcId, i, schemaKoqStarts, schemaKoqCounts);\r\n\r\n const kName = reader.readSRef();\r\n const kLabel = reader.readSRef();\r\n const kDesc = reader.readSRef();\r\n const kPersUnit = reader.readSRef();\r\n const kRelError = reader.readF64();\r\n const kPresUnits = reader.readSRef();\r\n const kEcInstanceId = reader.readU32();\r\n\r\n const kIdx = builder.addKoq({\r\n ecInstanceId: kEcInstanceId,\r\n schemaIdx,\r\n nameStringIdx: builder.internString(kName),\r\n labelStringIdx: builder.internString(kLabel),\r\n descriptionStringIdx: builder.internString(kDesc),\r\n persistenceUnitStringIdx: builder.internString(kPersUnit),\r\n presentationFormatsStringIdx: builder.internString(kPresUnits),\r\n relativeError: kRelError,\r\n });\r\n koqRowIdToIdx.set(kEcInstanceId, kIdx);\r\n }\r\n\r\n // ---- PropCatTable ----\r\n expectTag(reader, Tag.PropCatTable);\r\n const catTotalCount = reader.readU32();\r\n reader.validateCount(catTotalCount, 8, \"PropCatTable\");\r\n for (let i = 0; i < catTotalCount; i++) {\r\n const schemaEcId = reader.readU32();\r\n const schemaIdx = trackItem(schemaEcId, i, schemaCatStarts, schemaCatCounts);\r\n\r\n const pcName = reader.readSRef();\r\n const pcLabel = reader.readSRef();\r\n const pcDesc = reader.readSRef();\r\n const pcPriority = reader.readI32();\r\n const pcEcInstanceId = reader.readU32();\r\n\r\n const pcIdx = builder.addPropertyCategory({\r\n ecInstanceId: pcEcInstanceId,\r\n schemaIdx,\r\n nameStringIdx: builder.internString(pcName),\r\n labelStringIdx: builder.internString(pcLabel),\r\n descriptionStringIdx: builder.internString(pcDesc),\r\n priority: pcPriority,\r\n });\r\n catRowIdToIdx.set(pcEcInstanceId, pcIdx);\r\n }\r\n\r\n // ---- ClassTable ----\r\n expectTag(reader, Tag.ClassTable);\r\n const classTotalCount = reader.readU32();\r\n reader.validateCount(classTotalCount, 8, \"ClassTable\");\r\n for (let i = 0; i < classTotalCount; i++) {\r\n const schemaEcId = reader.readU32();\r\n const schemaIdx = trackItem(schemaEcId, i, schemaClassStarts, schemaClassCounts);\r\n const schemaInfo = schemaInfos[schemaIdx];\r\n\r\n const cName = reader.readSRef();\r\n const cType = reader.readU8();\r\n const cModifier = reader.readU8();\r\n const cLabel = reader.readSRef();\r\n const cDesc = reader.readSRef();\r\n let relStrength: StrengthType = StrengthType.Referencing;\r\n let relStrengthDir: StrengthDirection = StrengthDirection.Forward;\r\n if (cType === ClassType.Relationship) {\r\n relStrength = reader.readU8();\r\n relStrengthDir = reader.readU8();\r\n }\r\n const cEcInstanceId = reader.readU32();\r\n // Tri-state hidden: 0=undefined (no CA, schema doesn't hide), 1=true (hidden), 2=false (explicitly shown)\r\n const cHiddenByte = reader.readU8();\r\n const cIsHidden: boolean | undefined = cHiddenByte === 1 ? true : cHiddenByte === 2 ? false : undefined;\r\n\r\n // Base classes (count-prefixed)\r\n const baseCount = reader.readU16();\r\n const baseClasses: Array<{ schemaName: string; className: string; ordinal: number }> = [];\r\n for (let b = 0; b < baseCount; b++) {\r\n baseClasses.push({\r\n schemaName: reader.readSRef(),\r\n className: reader.readSRef(),\r\n ordinal: reader.readU8(),\r\n });\r\n }\r\n\r\n // Property refs (count-prefixed)\r\n const propRefCount = reader.readU16();\r\n const propRefs: PendingPropRef[] = [];\r\n for (let p = 0; p < propRefCount; p++) {\r\n propRefs.push({\r\n preDefIdx: reader.readU32(),\r\n labelStringIdx: builder.internString(reader.readSRef()),\r\n priority: reader.readI32(),\r\n ecInstanceId: reader.readU32(),\r\n });\r\n }\r\n\r\n // Constraints (count-prefixed, only for relationships)\r\n const constraints: PendingConstraint[] = [];\r\n if (cType === ClassType.Relationship) {\r\n const constrCount = reader.readU8();\r\n for (let c = 0; c < constrCount; c++) {\r\n const rcEnd = reader.readU8();\r\n const rcMultLower = reader.readU32();\r\n const rcMultUpper = reader.readU32();\r\n const rcIsPoly = reader.readU8() !== 0;\r\n const rcRoleLabel = reader.readSRef();\r\n const rcAbsSchema = reader.readSRef();\r\n const rcAbsClass = reader.readSRef();\r\n\r\n // Constraint classes (count-prefixed)\r\n const ccCount = reader.readU8();\r\n const constraintClasses: Array<{ schemaName: string; className: string }> = [];\r\n for (let cc = 0; cc < ccCount; cc++) {\r\n constraintClasses.push({\r\n schemaName: reader.readSRef(),\r\n className: reader.readSRef(),\r\n });\r\n }\r\n\r\n constraints.push({\r\n relEnd: rcEnd,\r\n isPolymorphic: rcIsPoly,\r\n multiplicityLower: rcMultLower,\r\n multiplicityUpper: rcMultUpper,\r\n roleLabel: rcRoleLabel,\r\n abstractSchemaName: rcAbsSchema,\r\n abstractClassName: rcAbsClass,\r\n constraintClasses,\r\n });\r\n }\r\n }\r\n\r\n const nameStringIdx = builder.internString(cName);\r\n const classIdx = builder.addClass({\r\n ecInstanceId: cEcInstanceId,\r\n schemaIdx,\r\n nameStringIdx,\r\n labelStringIdx: builder.internString(cLabel),\r\n descriptionStringIdx: builder.internString(cDesc),\r\n type: cType,\r\n modifier: cModifier,\r\n baseClassIdx: -1,\r\n mixinStartIdx: -1,\r\n mixinCount: 0,\r\n ownPropStart: 0,\r\n ownPropCount: 0,\r\n strength: relStrength,\r\n strengthDirection: relStrengthDir,\r\n sourceConstraintIdx: -1,\r\n targetConstraintIdx: -1,\r\n isHidden: cIsHidden,\r\n });\r\n schemaInfo.classNameToIdx.set(cName.toLowerCase(), classIdx);\r\n classRowIdToIdx.set(cEcInstanceId, classIdx);\r\n\r\n pendingClasses.push({\r\n schemaIdx,\r\n classIdx,\r\n ecInstanceId: cEcInstanceId,\r\n nameStringIdx,\r\n labelStringIdx: builder.internString(cLabel),\r\n descriptionStringIdx: builder.internString(cDesc),\r\n type: cType,\r\n modifier: cModifier,\r\n relStrength,\r\n relStrengthDir,\r\n baseClasses,\r\n propRefs,\r\n constraints,\r\n schemaName: schemaInfo.name,\r\n isHidden: cIsHidden,\r\n });\r\n }\r\n\r\n // ---- Finalize per-schema item ranges ----\r\n for (let i = 0; i < schemaCount; i++) {\r\n builder.updateSchemaRanges(i, {\r\n classRangeStart: schemaClassStarts[i] ?? 0,\r\n classCount: schemaClassCounts[i] ?? 0,\r\n enumRangeStart: schemaEnumStarts[i] ?? 0,\r\n enumCount: schemaEnumCounts[i] ?? 0,\r\n koqRangeStart: schemaKoqStarts[i] ?? 0,\r\n koqCount: schemaKoqCounts[i] ?? 0,\r\n catRangeStart: schemaCatStarts[i] ?? 0,\r\n catCount: schemaCatCounts[i] ?? 0,\r\n });\r\n }\r\n\r\n // Build a global name resolver: \"SchemaName:ClassName\" -> classIdx\r\n const classResolver = new Map<string, number>();\r\n for (const s of schemaInfos) {\r\n for (const [lowerName, idx] of s.classNameToIdx)\r\n classResolver.set(`${s.name.toLowerCase()}:${lowerName}`, idx);\r\n }\r\n\r\n // Resolve pre-parsed defs to PropertyDef objects. Maps preParsedDef index -> builder defIdx.\r\n const danglingRefs: string[] = [];\r\n const resolvedDefMap = new Map<number, number>();\r\n const brokenDefs = new Set<number>();\r\n\r\n for (let i = 0; i < preParsedDefs.length; i++) {\r\n const prDef = preParsedDefs[i];\r\n\r\n let structClassIdx = -1;\r\n if (prDef.structClassRowId !== 0) {\r\n structClassIdx = classRowIdToIdx.get(prDef.structClassRowId) ?? -1;\r\n if (structClassIdx === -1) {\r\n brokenDefs.add(i);\r\n danglingRefs.push(`Dropped properties with struct class rowId ${prDef.structClassRowId}`);\r\n continue;\r\n }\r\n }\r\n\r\n let navRelClassIdx = -1;\r\n if (prDef.navRelClassRowId !== 0) {\r\n navRelClassIdx = classRowIdToIdx.get(prDef.navRelClassRowId) ?? -1;\r\n if (navRelClassIdx === -1) {\r\n brokenDefs.add(i);\r\n danglingRefs.push(`Dropped properties with nav relationship rowId ${prDef.navRelClassRowId}`);\r\n continue;\r\n }\r\n }\r\n\r\n let enumIdx = -1;\r\n if (prDef.enumRowId !== 0) {\r\n enumIdx = enumRowIdToIdx.get(prDef.enumRowId) ?? -1;\r\n if (enumIdx === -1)\r\n danglingRefs.push(`Unresolved enum rowId ${prDef.enumRowId}`);\r\n }\r\n\r\n let koqIdx = -1;\r\n if (prDef.koqRowId !== 0)\r\n koqIdx = koqRowIdToIdx.get(prDef.koqRowId) ?? -1;\r\n\r\n let categoryIdx = -1;\r\n if (prDef.catRowId !== 0)\r\n categoryIdx = catRowIdToIdx.get(prDef.catRowId) ?? -1;\r\n\r\n const def: PropertyDef = {\r\n nameStringIdx: builder.internString(prDef.name),\r\n descriptionStringIdx: builder.internString(prDef.description),\r\n kind: prDef.kind,\r\n primitiveType: prDef.primitiveType,\r\n extTypeStringIdx: builder.internString(prDef.extType),\r\n enumIdx,\r\n koqIdx,\r\n structClassIdx,\r\n navRelClassIdx,\r\n navDirection: prDef.navDirection,\r\n categoryIdx,\r\n isReadOnly: prDef.isReadonly,\r\n isHidden: prDef.isHidden,\r\n arrayMinOccurs: prDef.arrayMinOccurs,\r\n arrayMaxOccurs: prDef.arrayMaxOccurs,\r\n };\r\n\r\n resolvedDefMap.set(i, builder.addPropertyDef(def));\r\n }\r\n\r\n // Resolve cross-references and finalize classes\r\n for (const pc of pendingClasses) {\r\n pc.baseClasses.sort((a, b) => a.ordinal - b.ordinal);\r\n const classFullName = `${pc.schemaName}:${builder.getString(pc.nameStringIdx)}`;\r\n\r\n let baseClassIdx = -1;\r\n const mixinStartIdx = pc.baseClasses.length > 1 ? builder.classMixinCount : -1;\r\n let mixinCount = 0;\r\n\r\n for (const bc of pc.baseClasses) {\r\n const bcKey = `${bc.schemaName.toLowerCase()}:${bc.className.toLowerCase()}`;\r\n const bcIdx = classResolver.get(bcKey) ?? -1;\r\n if (bc.ordinal === 0) {\r\n if (bcIdx === -1 && bc.schemaName)\r\n danglingRefs.push(`${classFullName} -> base class ${bc.schemaName}:${bc.className}`);\r\n baseClassIdx = bcIdx;\r\n } else {\r\n if (bcIdx === -1) {\r\n danglingRefs.push(`${classFullName} -> mixin ${bc.schemaName}:${bc.className}`);\r\n continue;\r\n }\r\n builder.addClassMixin(bcIdx);\r\n mixinCount++;\r\n }\r\n }\r\n\r\n const ownPropStart = builder.propertyRefCount;\r\n for (const pr of pc.propRefs) {\r\n if (brokenDefs.has(pr.preDefIdx))\r\n continue;\r\n const defIdx = resolvedDefMap.get(pr.preDefIdx);\r\n if (defIdx === undefined)\r\n continue;\r\n builder.addPropertyRef({\r\n ecInstanceId: pr.ecInstanceId,\r\n defIdx,\r\n labelStringIdx: pr.labelStringIdx,\r\n priority: pr.priority,\r\n });\r\n }\r\n\r\n let sourceConstraintIdx = -1;\r\n let targetConstraintIdx = -1;\r\n for (const con of pc.constraints) {\r\n const absKey = con.abstractSchemaName && con.abstractClassName\r\n ? `${con.abstractSchemaName.toLowerCase()}:${con.abstractClassName.toLowerCase()}`\r\n : \"\";\r\n const absClassIdx = absKey ? (classResolver.get(absKey) ?? -1) : -1;\r\n if (absClassIdx === -1 && absKey)\r\n danglingRefs.push(`${classFullName} constraint -> abstract ${con.abstractSchemaName}:${con.abstractClassName}`);\r\n\r\n const classRefStart = builder.constraintClassRefCount;\r\n let classRefCount = 0;\r\n for (const cc of con.constraintClasses) {\r\n const ccKey = `${cc.schemaName.toLowerCase()}:${cc.className.toLowerCase()}`;\r\n const ccIdx = classResolver.get(ccKey) ?? -1;\r\n if (ccIdx === -1) {\r\n danglingRefs.push(`${classFullName} constraint -> class ${cc.schemaName}:${cc.className}`);\r\n continue;\r\n }\r\n builder.addConstraintClassRef(ccIdx);\r\n classRefCount++;\r\n }\r\n\r\n const constraintIdx = builder.addRelConstraint({\r\n abstractConstraintIdx: absClassIdx,\r\n polymorphic: con.isPolymorphic,\r\n multiplicityLower: con.multiplicityLower,\r\n multiplicityUpper: con.multiplicityUpper,\r\n roleLabelStringIdx: builder.internString(con.roleLabel),\r\n classRefStart,\r\n classRefCount,\r\n });\r\n\r\n if (con.relEnd === 0)\r\n sourceConstraintIdx = constraintIdx;\r\n else\r\n targetConstraintIdx = constraintIdx;\r\n }\r\n\r\n const updatedClass: ClassData = {\r\n ecInstanceId: pc.ecInstanceId,\r\n schemaIdx: pc.schemaIdx,\r\n nameStringIdx: pc.nameStringIdx,\r\n labelStringIdx: pc.labelStringIdx,\r\n descriptionStringIdx: pc.descriptionStringIdx,\r\n type: pc.type,\r\n modifier: pc.modifier,\r\n baseClassIdx,\r\n mixinStartIdx,\r\n mixinCount,\r\n ownPropStart,\r\n ownPropCount: builder.propertyRefCount - ownPropStart,\r\n strength: pc.relStrength,\r\n strengthDirection: pc.relStrengthDir,\r\n sourceConstraintIdx,\r\n targetConstraintIdx,\r\n isHidden: pc.isHidden,\r\n };\r\n builder.updateClass(pc.classIdx, updatedClass);\r\n }\r\n\r\n if (danglingRefs.length > 0) {\r\n const cap = 20;\r\n const lines = danglingRefs.length <= cap ? danglingRefs : [...danglingRefs.slice(0, cap), `... and ${danglingRefs.length - cap} more`];\r\n Logger.logWarning(\"ecschema-metadata.SchemaView\", `${danglingRefs.length} unresolved cross-reference(s) in schema view blob (likely from excluded schemas):\\n ${lines.join(\"\\n \")}`);\r\n }\r\n\r\n return builder.build(schemaToken);\r\n}\r\n\r\n"]}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Schema
|
|
3
|
+
*/
|
|
4
|
+
/** The binary format version that this TS reader supports.
|
|
5
|
+
* The C++ writer in imodel-native must produce this version (or negotiate down to it).
|
|
6
|
+
* Frontend callers should always request this version explicitly via `PRAGMA schema_view(N)`.
|
|
7
|
+
* Backend callers may omit it since native and backend are bundled together.
|
|
8
|
+
* @beta
|
|
9
|
+
*/
|
|
10
|
+
export declare const schemaViewFormatVersion = 1;
|
|
11
|
+
/** Matches ec_Class.Type values in ECDb.
|
|
12
|
+
* @beta
|
|
13
|
+
*/
|
|
14
|
+
export declare enum ClassType {
|
|
15
|
+
Entity = 0,
|
|
16
|
+
Relationship = 1,
|
|
17
|
+
Struct = 2,
|
|
18
|
+
CustomAttribute = 3,
|
|
19
|
+
/** Not stored in ec_Class.Type - synthesized from IsMixin CA during cache population. */
|
|
20
|
+
Mixin = 4,
|
|
21
|
+
/** Synthesized from the QueryView custom attribute. */
|
|
22
|
+
View = 5
|
|
23
|
+
}
|
|
24
|
+
/** Matches ec_Class.Modifier values.
|
|
25
|
+
* @beta
|
|
26
|
+
*/
|
|
27
|
+
export declare enum ClassModifier {
|
|
28
|
+
None = 0,
|
|
29
|
+
Abstract = 1,
|
|
30
|
+
Sealed = 2
|
|
31
|
+
}
|
|
32
|
+
/** Matches ec_Property.Kind values.
|
|
33
|
+
* @beta
|
|
34
|
+
*/
|
|
35
|
+
export declare enum PropertyKind {
|
|
36
|
+
Primitive = 0,
|
|
37
|
+
Struct = 1,
|
|
38
|
+
PrimitiveArray = 2,
|
|
39
|
+
StructArray = 3,
|
|
40
|
+
Navigation = 4
|
|
41
|
+
}
|
|
42
|
+
/** Matches ec_ PrimitiveType values.
|
|
43
|
+
* @beta
|
|
44
|
+
*/
|
|
45
|
+
export declare enum SchemaViewPrimitiveType {
|
|
46
|
+
Uninitialized = 0,
|
|
47
|
+
Binary = 257,
|
|
48
|
+
Boolean = 513,
|
|
49
|
+
DateTime = 769,
|
|
50
|
+
Double = 1025,
|
|
51
|
+
Integer = 1281,
|
|
52
|
+
Long = 1537,
|
|
53
|
+
Point2d = 1793,
|
|
54
|
+
Point3d = 2049,
|
|
55
|
+
String = 2305,
|
|
56
|
+
IGeometry = 2561
|
|
57
|
+
}
|
|
58
|
+
import { StrengthDirection, StrengthType } from "./ECObjects";
|
|
59
|
+
/** Internal storage for a schema. Schemas own contiguous ranges of classes, enums, KoQs, and categories.
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
export interface SchemaData {
|
|
63
|
+
/** Row ID from ec_Schema - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECSchemaDef WHERE ECInstanceId = ?`. */
|
|
64
|
+
readonly ecInstanceId: number;
|
|
65
|
+
readonly nameStringIdx: number;
|
|
66
|
+
readonly aliasStringIdx: number;
|
|
67
|
+
readonly labelStringIdx: number;
|
|
68
|
+
readonly descriptionStringIdx: number;
|
|
69
|
+
readonly versionRead: number;
|
|
70
|
+
readonly versionWrite: number;
|
|
71
|
+
readonly versionMinor: number;
|
|
72
|
+
readonly classRangeStart: number;
|
|
73
|
+
readonly classCount: number;
|
|
74
|
+
readonly enumRangeStart: number;
|
|
75
|
+
readonly enumCount: number;
|
|
76
|
+
readonly koqRangeStart: number;
|
|
77
|
+
readonly koqCount: number;
|
|
78
|
+
readonly catRangeStart: number;
|
|
79
|
+
readonly catCount: number;
|
|
80
|
+
readonly isHidden: boolean;
|
|
81
|
+
}
|
|
82
|
+
/** Internal storage for a class.
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
export interface ClassData {
|
|
86
|
+
/** Row ID from ec_Class - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECClassDef WHERE ECInstanceId = ?`. */
|
|
87
|
+
readonly ecInstanceId: number;
|
|
88
|
+
readonly schemaIdx: number;
|
|
89
|
+
readonly nameStringIdx: number;
|
|
90
|
+
readonly labelStringIdx: number;
|
|
91
|
+
readonly descriptionStringIdx: number;
|
|
92
|
+
readonly type: ClassType;
|
|
93
|
+
readonly modifier: ClassModifier;
|
|
94
|
+
readonly baseClassIdx: number;
|
|
95
|
+
readonly mixinStartIdx: number;
|
|
96
|
+
readonly mixinCount: number;
|
|
97
|
+
readonly ownPropStart: number;
|
|
98
|
+
readonly ownPropCount: number;
|
|
99
|
+
readonly strength: StrengthType;
|
|
100
|
+
readonly strengthDirection: StrengthDirection;
|
|
101
|
+
readonly sourceConstraintIdx: number;
|
|
102
|
+
readonly targetConstraintIdx: number;
|
|
103
|
+
/** Tri-state hidden status from the `HiddenClass` / `HiddenSchema` custom attributes.
|
|
104
|
+
*
|
|
105
|
+
* This is the *direct* status of this class. It does NOT propagate through class
|
|
106
|
+
* inheritance. Use `SchemaView.Class.isEffectivelyHidden` for hierarchy-aware checks.
|
|
107
|
+
*
|
|
108
|
+
* - `true`: `HiddenClass(Show!=true)` is applied, OR the owning schema has
|
|
109
|
+
* `HiddenSchema(ShowClasses!=true)` and this class does not override with `HiddenClass(Show=true)`.
|
|
110
|
+
* - `false`: `HiddenClass(Show=true)` is explicitly applied. This overrides schema-level
|
|
111
|
+
* hiding and breaks the inheritance chain for `isEffectivelyHidden` on derived classes.
|
|
112
|
+
* - `undefined`: No `HiddenClass` CA and the schema does not hide its classes. Neutral -
|
|
113
|
+
* `isEffectivelyHidden` will look up the base class chain to decide.
|
|
114
|
+
*
|
|
115
|
+
* Binary encoding: 0 = undefined, 1 = true, 2 = false.
|
|
116
|
+
*/
|
|
117
|
+
readonly isHidden: boolean | undefined;
|
|
118
|
+
}
|
|
119
|
+
/** Shared, deduplicated property definition. Many properties may reference the same def.
|
|
120
|
+
* The definition holds the structural shape of a property - name, kind, type, cross-references.
|
|
121
|
+
* Per-class overrides (label, priority) live in `PropertyRef`, not here, so that properties
|
|
122
|
+
* with identical shape but different labels still share a single definition.
|
|
123
|
+
* @internal
|
|
124
|
+
*/
|
|
125
|
+
export interface PropertyDef {
|
|
126
|
+
readonly nameStringIdx: number;
|
|
127
|
+
readonly descriptionStringIdx: number;
|
|
128
|
+
readonly kind: PropertyKind;
|
|
129
|
+
readonly primitiveType: SchemaViewPrimitiveType;
|
|
130
|
+
readonly extTypeStringIdx: number;
|
|
131
|
+
readonly enumIdx: number;
|
|
132
|
+
readonly koqIdx: number;
|
|
133
|
+
readonly structClassIdx: number;
|
|
134
|
+
readonly navRelClassIdx: number;
|
|
135
|
+
readonly navDirection: StrengthDirection;
|
|
136
|
+
readonly categoryIdx: number;
|
|
137
|
+
readonly isReadOnly: boolean;
|
|
138
|
+
readonly isHidden: boolean;
|
|
139
|
+
readonly arrayMinOccurs: number | undefined;
|
|
140
|
+
readonly arrayMaxOccurs: number | undefined;
|
|
141
|
+
}
|
|
142
|
+
/** A reference from a specific class to a shared property definition.
|
|
143
|
+
* Label and priority are per-reference (not per-definition) because EC allows class overrides
|
|
144
|
+
* of these attributes. A property displayed in ClassA may have a different label than in ClassB
|
|
145
|
+
* even though the underlying definition (name, type, etc.) is identical.
|
|
146
|
+
*
|
|
147
|
+
* `ecInstanceId` is the ec_Property.Id row ID, stored here (not on PropertyDef) because each
|
|
148
|
+
* class-property pair has a unique row even when the structural definition is deduplicated.
|
|
149
|
+
* @internal
|
|
150
|
+
*/
|
|
151
|
+
export interface PropertyRef {
|
|
152
|
+
/** Row ID from ec_Property - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECPropertyDef WHERE ECInstanceId = ?`. */
|
|
153
|
+
readonly ecInstanceId: number;
|
|
154
|
+
readonly defIdx: number;
|
|
155
|
+
readonly labelStringIdx: number;
|
|
156
|
+
readonly priority: number;
|
|
157
|
+
}
|
|
158
|
+
/** Internal storage for a relationship constraint.
|
|
159
|
+
* @internal
|
|
160
|
+
*/
|
|
161
|
+
export interface RelConstraintData {
|
|
162
|
+
readonly abstractConstraintIdx: number;
|
|
163
|
+
readonly polymorphic: boolean;
|
|
164
|
+
readonly multiplicityLower: number;
|
|
165
|
+
readonly multiplicityUpper: number;
|
|
166
|
+
readonly roleLabelStringIdx: number;
|
|
167
|
+
readonly classRefStart: number;
|
|
168
|
+
readonly classRefCount: number;
|
|
169
|
+
}
|
|
170
|
+
/** Internal storage for an enumeration.
|
|
171
|
+
* @internal
|
|
172
|
+
*/
|
|
173
|
+
export interface EnumerationData {
|
|
174
|
+
/** Row ID from ec_Enumeration - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECEnumerationDef WHERE ECInstanceId = ?`. */
|
|
175
|
+
readonly ecInstanceId: number;
|
|
176
|
+
readonly schemaIdx: number;
|
|
177
|
+
readonly nameStringIdx: number;
|
|
178
|
+
readonly labelStringIdx: number;
|
|
179
|
+
readonly descriptionStringIdx: number;
|
|
180
|
+
readonly primitiveType: SchemaViewPrimitiveType;
|
|
181
|
+
readonly isStrict: boolean;
|
|
182
|
+
readonly enumeratorStart: number;
|
|
183
|
+
readonly enumeratorCount: number;
|
|
184
|
+
}
|
|
185
|
+
/** Internal storage for an enumerator.
|
|
186
|
+
* @internal
|
|
187
|
+
*/
|
|
188
|
+
export interface EnumeratorData {
|
|
189
|
+
readonly nameStringIdx: number;
|
|
190
|
+
readonly labelStringIdx: number;
|
|
191
|
+
readonly descriptionStringIdx: number;
|
|
192
|
+
readonly value: number | string;
|
|
193
|
+
}
|
|
194
|
+
/** Internal storage for a KindOfQuantity.
|
|
195
|
+
* @internal
|
|
196
|
+
*/
|
|
197
|
+
export interface KoqData {
|
|
198
|
+
/** Row ID from ec_KindOfQuantity - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECKindOfQuantityDef WHERE ECInstanceId = ?`. */
|
|
199
|
+
readonly ecInstanceId: number;
|
|
200
|
+
readonly schemaIdx: number;
|
|
201
|
+
readonly nameStringIdx: number;
|
|
202
|
+
readonly labelStringIdx: number;
|
|
203
|
+
readonly descriptionStringIdx: number;
|
|
204
|
+
readonly persistenceUnitStringIdx: number;
|
|
205
|
+
readonly presentationFormatsStringIdx: number;
|
|
206
|
+
readonly relativeError: number;
|
|
207
|
+
}
|
|
208
|
+
/** Internal storage for a PropertyCategory.
|
|
209
|
+
* @internal
|
|
210
|
+
*/
|
|
211
|
+
export interface PropCategoryData {
|
|
212
|
+
/** Row ID from ec_PropertyCategory - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECPropertyCategoryDef WHERE ECInstanceId = ?`. */
|
|
213
|
+
readonly ecInstanceId: number;
|
|
214
|
+
readonly schemaIdx: number;
|
|
215
|
+
readonly nameStringIdx: number;
|
|
216
|
+
readonly labelStringIdx: number;
|
|
217
|
+
readonly descriptionStringIdx: number;
|
|
218
|
+
readonly priority: number;
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=SchemaViewInterfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaViewInterfaces.d.ts","sourceRoot":"","sources":["../../src/SchemaViewInterfaces.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;GAEG;AACH,oBAAY,SAAS;IACnB,MAAM,IAAI;IACV,YAAY,IAAI;IAChB,MAAM,IAAI;IACV,eAAe,IAAI;IACnB,yFAAyF;IACzF,KAAK,IAAI;IACT,uDAAuD;IACvD,IAAI,IAAI;CACT;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,IAAI,IAAI;IACR,QAAQ,IAAI;IACZ,MAAM,IAAI;CACX;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,SAAS,IAAI;IACb,MAAM,IAAI;IACV,cAAc,IAAI;IAClB,WAAW,IAAI;IACf,UAAU,IAAI;CACf;AAED;;GAEG;AACH,oBAAY,uBAAuB;IACjC,aAAa,IAAO;IACpB,MAAM,MAAQ;IACd,OAAO,MAAQ;IACf,QAAQ,MAAQ;IAChB,MAAM,OAAQ;IACd,OAAO,OAAQ;IACf,IAAI,OAAQ;IACZ,OAAO,OAAQ;IACf,OAAO,OAAQ;IACf,MAAM,OAAQ;IACd,SAAS,OAAQ;CAClB;AAED,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uHAAuH;IACvH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,qHAAqH;IACrH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,2HAA2H;IAC3H,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iIAAiI;IACjI,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,uIAAuI;IACvI,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2IAA2I;IAC3I,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Schema
|
|
7
|
+
*/
|
|
8
|
+
/** The binary format version that this TS reader supports.
|
|
9
|
+
* The C++ writer in imodel-native must produce this version (or negotiate down to it).
|
|
10
|
+
* Frontend callers should always request this version explicitly via `PRAGMA schema_view(N)`.
|
|
11
|
+
* Backend callers may omit it since native and backend are bundled together.
|
|
12
|
+
* @beta
|
|
13
|
+
*/
|
|
14
|
+
export const schemaViewFormatVersion = 1;
|
|
15
|
+
/** Matches ec_Class.Type values in ECDb.
|
|
16
|
+
* @beta
|
|
17
|
+
*/
|
|
18
|
+
export var ClassType;
|
|
19
|
+
(function (ClassType) {
|
|
20
|
+
ClassType[ClassType["Entity"] = 0] = "Entity";
|
|
21
|
+
ClassType[ClassType["Relationship"] = 1] = "Relationship";
|
|
22
|
+
ClassType[ClassType["Struct"] = 2] = "Struct";
|
|
23
|
+
ClassType[ClassType["CustomAttribute"] = 3] = "CustomAttribute";
|
|
24
|
+
/** Not stored in ec_Class.Type - synthesized from IsMixin CA during cache population. */
|
|
25
|
+
ClassType[ClassType["Mixin"] = 4] = "Mixin";
|
|
26
|
+
/** Synthesized from the QueryView custom attribute. */
|
|
27
|
+
ClassType[ClassType["View"] = 5] = "View";
|
|
28
|
+
})(ClassType || (ClassType = {}));
|
|
29
|
+
/** Matches ec_Class.Modifier values.
|
|
30
|
+
* @beta
|
|
31
|
+
*/
|
|
32
|
+
export var ClassModifier;
|
|
33
|
+
(function (ClassModifier) {
|
|
34
|
+
ClassModifier[ClassModifier["None"] = 0] = "None";
|
|
35
|
+
ClassModifier[ClassModifier["Abstract"] = 1] = "Abstract";
|
|
36
|
+
ClassModifier[ClassModifier["Sealed"] = 2] = "Sealed";
|
|
37
|
+
})(ClassModifier || (ClassModifier = {}));
|
|
38
|
+
/** Matches ec_Property.Kind values.
|
|
39
|
+
* @beta
|
|
40
|
+
*/
|
|
41
|
+
export var PropertyKind;
|
|
42
|
+
(function (PropertyKind) {
|
|
43
|
+
PropertyKind[PropertyKind["Primitive"] = 0] = "Primitive";
|
|
44
|
+
PropertyKind[PropertyKind["Struct"] = 1] = "Struct";
|
|
45
|
+
PropertyKind[PropertyKind["PrimitiveArray"] = 2] = "PrimitiveArray";
|
|
46
|
+
PropertyKind[PropertyKind["StructArray"] = 3] = "StructArray";
|
|
47
|
+
PropertyKind[PropertyKind["Navigation"] = 4] = "Navigation";
|
|
48
|
+
})(PropertyKind || (PropertyKind = {}));
|
|
49
|
+
/** Matches ec_ PrimitiveType values.
|
|
50
|
+
* @beta
|
|
51
|
+
*/
|
|
52
|
+
export var SchemaViewPrimitiveType;
|
|
53
|
+
(function (SchemaViewPrimitiveType) {
|
|
54
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["Uninitialized"] = 0] = "Uninitialized";
|
|
55
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["Binary"] = 257] = "Binary";
|
|
56
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["Boolean"] = 513] = "Boolean";
|
|
57
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["DateTime"] = 769] = "DateTime";
|
|
58
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["Double"] = 1025] = "Double";
|
|
59
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["Integer"] = 1281] = "Integer";
|
|
60
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["Long"] = 1537] = "Long";
|
|
61
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["Point2d"] = 1793] = "Point2d";
|
|
62
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["Point3d"] = 2049] = "Point3d";
|
|
63
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["String"] = 2305] = "String";
|
|
64
|
+
SchemaViewPrimitiveType[SchemaViewPrimitiveType["IGeometry"] = 2561] = "IGeometry";
|
|
65
|
+
})(SchemaViewPrimitiveType || (SchemaViewPrimitiveType = {}));
|
|
66
|
+
//# sourceMappingURL=SchemaViewInterfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaViewInterfaces.js","sourceRoot":"","sources":["../../src/SchemaViewInterfaces.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,6CAAU,CAAA;IACV,yDAAgB,CAAA;IAChB,6CAAU,CAAA;IACV,+DAAmB,CAAA;IACnB,yFAAyF;IACzF,2CAAS,CAAA;IACT,uDAAuD;IACvD,yCAAQ,CAAA;AACV,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,yDAAY,CAAA;IACZ,qDAAU,CAAA;AACZ,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,yDAAa,CAAA;IACb,mDAAU,CAAA;IACV,mEAAkB,CAAA;IAClB,6DAAe,CAAA;IACf,2DAAc,CAAA;AAChB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,uBAYX;AAZD,WAAY,uBAAuB;IACjC,uFAAoB,CAAA;IACpB,2EAAc,CAAA;IACd,6EAAe,CAAA;IACf,+EAAgB,CAAA;IAChB,4EAAc,CAAA;IACd,8EAAe,CAAA;IACf,wEAAY,CAAA;IACZ,8EAAe,CAAA;IACf,8EAAe,CAAA;IACf,4EAAc,CAAA;IACd,kFAAiB,CAAA;AACnB,CAAC,EAZW,uBAAuB,KAAvB,uBAAuB,QAYlC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Schema\r\n */\r\n\r\n/** The binary format version that this TS reader supports.\r\n * The C++ writer in imodel-native must produce this version (or negotiate down to it).\r\n * Frontend callers should always request this version explicitly via `PRAGMA schema_view(N)`.\r\n * Backend callers may omit it since native and backend are bundled together.\r\n * @beta\r\n */\r\nexport const schemaViewFormatVersion = 1;\r\n\r\n/** Matches ec_Class.Type values in ECDb.\r\n * @beta\r\n */\r\nexport enum ClassType {\r\n Entity = 0,\r\n Relationship = 1,\r\n Struct = 2,\r\n CustomAttribute = 3,\r\n /** Not stored in ec_Class.Type - synthesized from IsMixin CA during cache population. */\r\n Mixin = 4,\r\n /** Synthesized from the QueryView custom attribute. */\r\n View = 5,\r\n}\r\n\r\n/** Matches ec_Class.Modifier values.\r\n * @beta\r\n */\r\nexport enum ClassModifier {\r\n None = 0,\r\n Abstract = 1,\r\n Sealed = 2,\r\n}\r\n\r\n/** Matches ec_Property.Kind values.\r\n * @beta\r\n */\r\nexport enum PropertyKind {\r\n Primitive = 0,\r\n Struct = 1,\r\n PrimitiveArray = 2,\r\n StructArray = 3,\r\n Navigation = 4,\r\n}\r\n\r\n/** Matches ec_ PrimitiveType values.\r\n * @beta\r\n */\r\nexport enum SchemaViewPrimitiveType {\r\n Uninitialized = 0x00,\r\n Binary = 0x101,\r\n Boolean = 0x201,\r\n DateTime = 0x301,\r\n Double = 0x401,\r\n Integer = 0x501,\r\n Long = 0x601,\r\n Point2d = 0x701,\r\n Point3d = 0x801,\r\n String = 0x901,\r\n IGeometry = 0xa01,\r\n}\r\n\r\nimport { StrengthDirection, StrengthType } from \"./ECObjects\";\r\n\r\n/** Internal storage for a schema. Schemas own contiguous ranges of classes, enums, KoQs, and categories.\r\n * @internal\r\n */\r\nexport interface SchemaData {\r\n /** Row ID from ec_Schema - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECSchemaDef WHERE ECInstanceId = ?`. */\r\n readonly ecInstanceId: number;\r\n readonly nameStringIdx: number;\r\n readonly aliasStringIdx: number;\r\n readonly labelStringIdx: number;\r\n readonly descriptionStringIdx: number;\r\n readonly versionRead: number;\r\n readonly versionWrite: number;\r\n readonly versionMinor: number;\r\n readonly classRangeStart: number;\r\n readonly classCount: number;\r\n readonly enumRangeStart: number;\r\n readonly enumCount: number;\r\n readonly koqRangeStart: number;\r\n readonly koqCount: number;\r\n readonly catRangeStart: number;\r\n readonly catCount: number;\r\n readonly isHidden: boolean;\r\n}\r\n\r\n/** Internal storage for a class.\r\n * @internal\r\n */\r\nexport interface ClassData {\r\n /** Row ID from ec_Class - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECClassDef WHERE ECInstanceId = ?`. */\r\n readonly ecInstanceId: number;\r\n readonly schemaIdx: number;\r\n readonly nameStringIdx: number;\r\n readonly labelStringIdx: number;\r\n readonly descriptionStringIdx: number;\r\n readonly type: ClassType;\r\n readonly modifier: ClassModifier;\r\n readonly baseClassIdx: number;\r\n readonly mixinStartIdx: number;\r\n readonly mixinCount: number;\r\n readonly ownPropStart: number;\r\n readonly ownPropCount: number;\r\n readonly strength: StrengthType;\r\n readonly strengthDirection: StrengthDirection;\r\n readonly sourceConstraintIdx: number;\r\n readonly targetConstraintIdx: number;\r\n /** Tri-state hidden status from the `HiddenClass` / `HiddenSchema` custom attributes.\r\n *\r\n * This is the *direct* status of this class. It does NOT propagate through class\r\n * inheritance. Use `SchemaView.Class.isEffectivelyHidden` for hierarchy-aware checks.\r\n *\r\n * - `true`: `HiddenClass(Show!=true)` is applied, OR the owning schema has\r\n * `HiddenSchema(ShowClasses!=true)` and this class does not override with `HiddenClass(Show=true)`.\r\n * - `false`: `HiddenClass(Show=true)` is explicitly applied. This overrides schema-level\r\n * hiding and breaks the inheritance chain for `isEffectivelyHidden` on derived classes.\r\n * - `undefined`: No `HiddenClass` CA and the schema does not hide its classes. Neutral -\r\n * `isEffectivelyHidden` will look up the base class chain to decide.\r\n *\r\n * Binary encoding: 0 = undefined, 1 = true, 2 = false.\r\n */\r\n readonly isHidden: boolean | undefined;\r\n}\r\n\r\n/** Shared, deduplicated property definition. Many properties may reference the same def.\r\n * The definition holds the structural shape of a property - name, kind, type, cross-references.\r\n * Per-class overrides (label, priority) live in `PropertyRef`, not here, so that properties\r\n * with identical shape but different labels still share a single definition.\r\n * @internal\r\n */\r\nexport interface PropertyDef {\r\n readonly nameStringIdx: number;\r\n readonly descriptionStringIdx: number;\r\n readonly kind: PropertyKind;\r\n readonly primitiveType: SchemaViewPrimitiveType;\r\n readonly extTypeStringIdx: number;\r\n readonly enumIdx: number;\r\n readonly koqIdx: number;\r\n readonly structClassIdx: number;\r\n readonly navRelClassIdx: number;\r\n readonly navDirection: StrengthDirection;\r\n readonly categoryIdx: number;\r\n readonly isReadOnly: boolean;\r\n readonly isHidden: boolean;\r\n readonly arrayMinOccurs: number | undefined;\r\n readonly arrayMaxOccurs: number | undefined;\r\n}\r\n\r\n/** A reference from a specific class to a shared property definition.\r\n * Label and priority are per-reference (not per-definition) because EC allows class overrides\r\n * of these attributes. A property displayed in ClassA may have a different label than in ClassB\r\n * even though the underlying definition (name, type, etc.) is identical.\r\n *\r\n * `ecInstanceId` is the ec_Property.Id row ID, stored here (not on PropertyDef) because each\r\n * class-property pair has a unique row even when the structural definition is deduplicated.\r\n * @internal\r\n */\r\nexport interface PropertyRef {\r\n /** Row ID from ec_Property - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECPropertyDef WHERE ECInstanceId = ?`. */\r\n readonly ecInstanceId: number;\r\n readonly defIdx: number;\r\n readonly labelStringIdx: number;\r\n readonly priority: number;\r\n}\r\n\r\n/** Internal storage for a relationship constraint.\r\n * @internal\r\n */\r\nexport interface RelConstraintData {\r\n readonly abstractConstraintIdx: number;\r\n readonly polymorphic: boolean;\r\n readonly multiplicityLower: number;\r\n readonly multiplicityUpper: number;\r\n readonly roleLabelStringIdx: number;\r\n readonly classRefStart: number;\r\n readonly classRefCount: number;\r\n}\r\n\r\n/** Internal storage for an enumeration.\r\n * @internal\r\n */\r\nexport interface EnumerationData {\r\n /** Row ID from ec_Enumeration - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECEnumerationDef WHERE ECInstanceId = ?`. */\r\n readonly ecInstanceId: number;\r\n readonly schemaIdx: number;\r\n readonly nameStringIdx: number;\r\n readonly labelStringIdx: number;\r\n readonly descriptionStringIdx: number;\r\n readonly primitiveType: SchemaViewPrimitiveType;\r\n readonly isStrict: boolean;\r\n readonly enumeratorStart: number;\r\n readonly enumeratorCount: number;\r\n}\r\n\r\n/** Internal storage for an enumerator.\r\n * @internal\r\n */\r\nexport interface EnumeratorData {\r\n readonly nameStringIdx: number;\r\n readonly labelStringIdx: number;\r\n readonly descriptionStringIdx: number;\r\n readonly value: number | string;\r\n}\r\n\r\n/** Internal storage for a KindOfQuantity.\r\n * @internal\r\n */\r\nexport interface KoqData {\r\n /** Row ID from ec_KindOfQuantity - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECKindOfQuantityDef WHERE ECInstanceId = ?`. */\r\n readonly ecInstanceId: number;\r\n readonly schemaIdx: number;\r\n readonly nameStringIdx: number;\r\n readonly labelStringIdx: number;\r\n readonly descriptionStringIdx: number;\r\n readonly persistenceUnitStringIdx: number;\r\n readonly presentationFormatsStringIdx: number;\r\n readonly relativeError: number;\r\n}\r\n\r\n/** Internal storage for a PropertyCategory.\r\n * @internal\r\n */\r\nexport interface PropCategoryData {\r\n /** Row ID from ec_PropertyCategory - use with ECDbMeta queries, e.g. `SELECT * FROM meta.ECPropertyCategoryDef WHERE ECInstanceId = ?`. */\r\n readonly ecInstanceId: number;\r\n readonly schemaIdx: number;\r\n readonly nameStringIdx: number;\r\n readonly labelStringIdx: number;\r\n readonly descriptionStringIdx: number;\r\n readonly priority: number;\r\n}\r\n"]}
|
|
@@ -41,6 +41,9 @@ export * from "./IncrementalLoading/ECSqlSchemaLocater";
|
|
|
41
41
|
export * from "./IncrementalLoading/IncrementalSchemaLocater";
|
|
42
42
|
export { CustomAttribute, CustomAttributeContainerProps } from "./Metadata/CustomAttribute";
|
|
43
43
|
export { SchemaGraph } from "./utils/SchemaGraph";
|
|
44
|
+
export * from "./SchemaViewBinaryReader";
|
|
45
|
+
export * from "./SchemaView";
|
|
46
|
+
export * from "./SchemaViewInterfaces";
|
|
44
47
|
/** @docs-package-description
|
|
45
48
|
* The ecschema-metadata package contains classes for working with ECSchemas that can be used in both [frontend]($docs/learning/frontend/index.md) and [backend]($docs/learning/backend/index.md).
|
|
46
49
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecschema-metadata.d.ts","sourceRoot":"","sources":["../../src/ecschema-metadata.ts"],"names":[],"mappings":"AAKA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,QAAQ,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,cAAc,EACxF,mBAAmB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAC3G,oBAAoB,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,2BAA2B,GACjG,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,6BAA6B,
|
|
1
|
+
{"version":3,"file":"ecschema-metadata.d.ts","sourceRoot":"","sources":["../../src/ecschema-metadata.ts"],"names":[],"mappings":"AAKA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,QAAQ,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,cAAc,EACxF,mBAAmB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAC3G,oBAAoB,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,2BAA2B,GACjG,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AAEvC;;GAEG;AACH;;;GAGG;AACH;;;GAGG"}
|
|
@@ -44,6 +44,9 @@ export * from "./Formatting/FormatSetFormatsProvider";
|
|
|
44
44
|
export * from "./IncrementalLoading/ECSqlSchemaLocater";
|
|
45
45
|
export * from "./IncrementalLoading/IncrementalSchemaLocater";
|
|
46
46
|
export { SchemaGraph } from "./utils/SchemaGraph";
|
|
47
|
+
export * from "./SchemaViewBinaryReader";
|
|
48
|
+
export * from "./SchemaView";
|
|
49
|
+
export * from "./SchemaViewInterfaces";
|
|
47
50
|
/** @docs-package-description
|
|
48
51
|
* The ecschema-metadata package contains classes for working with ECSchemas that can be used in both [frontend]($docs/learning/frontend/index.md) and [backend]($docs/learning/backend/index.md).
|
|
49
52
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecschema-metadata.js","sourceRoot":"","sources":["../../src/ecschema-metadata.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAiB,WAAW,EAAc,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,QAAQ,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,cAAc,EACxF,mBAAmB,EAAE,wBAAwB,EAAE,kBAAkB,EACX,aAAa,EAAE,2BAA2B,GACjG,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ecschema-metadata.js","sourceRoot":"","sources":["../../src/ecschema-metadata.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAiB,WAAW,EAAc,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,QAAQ,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,cAAc,EACxF,mBAAmB,EAAE,wBAAwB,EAAE,kBAAkB,EACX,aAAa,EAAE,2BAA2B,GACjG,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AAEvC;;GAEG;AACH;;;GAGG;AACH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./Constants\";\r\nexport * from \"./Context\";\r\nexport * from \"./DelayedPromise\";\r\nexport * from \"./Deserialization/SchemaGraphUtil\";\r\nexport * from \"./Deserialization/JsonProps\";\r\nexport * from \"./Deserialization/Helper\";\r\nexport * from \"./Deserialization/XmlParser\";\r\nexport * from \"./ECName\";\r\nexport * from \"./ECObjects\";\r\nexport * from \"./Exception\";\r\nexport * from \"./Interfaces\";\r\nexport { ECClass, StructClass } from \"./Metadata/Class\";\r\nexport { Constant } from \"./Metadata/Constant\";\r\nexport { CustomAttributeClass } from \"./Metadata/CustomAttributeClass\";\r\nexport { EntityClass } from \"./Metadata/EntityClass\";\r\nexport { AnyEnumerator, Enumeration, Enumerator } from \"./Metadata/Enumeration\";\r\nexport { Format } from \"./Metadata/Format\";\r\nexport { InvertedUnit } from \"./Metadata/InvertedUnit\";\r\nexport { KindOfQuantity } from \"./Metadata/KindOfQuantity\";\r\nexport { Mixin } from \"./Metadata/Mixin\";\r\nexport * from \"./Metadata/OverrideFormat\";\r\nexport { Phenomenon } from \"./Metadata/Phenomenon\";\r\nexport {\r\n Property, PrimitiveProperty, PrimitiveArrayProperty, EnumerationProperty, StructProperty,\r\n StructArrayProperty, EnumerationArrayProperty, NavigationProperty, AnyArrayProperty, AnyEnumerationProperty,\r\n AnyPrimitiveProperty, AnyProperty, AnyStructProperty, ArrayProperty, PrimitiveOrEnumPropertyBase,\r\n} from \"./Metadata/Property\";\r\nexport { PropertyCategory } from \"./Metadata/PropertyCategory\";\r\nexport { RelationshipClass, RelationshipConstraint, RelationshipMultiplicity } from \"./Metadata/RelationshipClass\";\r\nexport { Schema } from \"./Metadata/Schema\";\r\nexport * from \"./Metadata/SchemaItem\";\r\nexport { Unit } from \"./Metadata/Unit\";\r\nexport { UnitSystem } from \"./Metadata/UnitSystem\";\r\nexport * from \"./PropertyTypes\";\r\nexport * from \"./SchemaJsonLocater\";\r\nexport * from \"./SchemaKey\";\r\nexport * from \"./SchemaLoader\";\r\nexport * from \"./UnitConversion/UnitConverter\";\r\nexport * from \"./UnitProvider/SchemaUnitProvider\";\r\nexport * from \"./Validation/SchemaWalker\";\r\nexport * from \"./SchemaPartVisitorDelegate\";\r\nexport * from \"./Formatting/SchemaFormatsProvider\";\r\nexport * from \"./Formatting/FormatSetFormatsProvider\";\r\nexport * from \"./IncrementalLoading/ECSqlSchemaLocater\";\r\nexport * from \"./IncrementalLoading/IncrementalSchemaLocater\";\r\nexport { CustomAttribute, CustomAttributeContainerProps } from \"./Metadata/CustomAttribute\";\r\nexport { SchemaGraph } from \"./utils/SchemaGraph\";\r\nexport * from \"./SchemaViewBinaryReader\";\r\nexport * from \"./SchemaView\";\r\nexport * from \"./SchemaViewInterfaces\";\r\n\r\n/** @docs-package-description\r\n * The ecschema-metadata package contains classes for working with ECSchemas that can be used in both [frontend]($docs/learning/frontend/index.md) and [backend]($docs/learning/backend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Metadata\r\n * Definitions of classes and interfaces that represent all [EC elements]($docs/bis/ec/index.md).\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * A set of utility classes used throughout the package.\r\n */\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/ecschema-metadata",
|
|
3
|
-
"version": "5.10.0-dev.
|
|
3
|
+
"version": "5.10.0-dev.21",
|
|
4
4
|
"description": "ECObjects core concepts in typescript",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "lib/cjs/ecschema-metadata.js",
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
"rimraf": "^6.0.1",
|
|
42
42
|
"typescript": "~5.6.2",
|
|
43
43
|
"vitest": "^3.0.6",
|
|
44
|
-
"@itwin/build-tools": "5.10.0-dev.
|
|
45
|
-
"@itwin/core-bentley": "5.10.0-dev.
|
|
46
|
-
"@itwin/core-quantity": "5.10.0-dev.
|
|
44
|
+
"@itwin/build-tools": "5.10.0-dev.21",
|
|
45
|
+
"@itwin/core-bentley": "5.10.0-dev.21",
|
|
46
|
+
"@itwin/core-quantity": "5.10.0-dev.21"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@itwin/core-bentley": "5.10.0-dev.
|
|
50
|
-
"@itwin/core-quantity": "5.10.0-dev.
|
|
49
|
+
"@itwin/core-bentley": "5.10.0-dev.21",
|
|
50
|
+
"@itwin/core-quantity": "5.10.0-dev.21"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"build": "npm run -s build:cjs && npm run -s build:esm",
|