quickbase-js 2.1.0 → 2.2.1
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/README.md +700 -90
- package/bin/quickbase-js.js +54 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +5 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/ticket.d.ts +13 -0
- package/dist/auth/ticket.d.ts.map +1 -1
- package/dist/auth/ticket.js +103 -3
- package/dist/auth/ticket.js.map +1 -1
- package/dist/cli/schema.d.ts +23 -0
- package/dist/cli/schema.d.ts.map +1 -0
- package/dist/cli/schema.js +425 -0
- package/dist/cli/schema.js.map +1 -0
- package/dist/client/request.d.ts +2 -1
- package/dist/client/request.d.ts.map +1 -1
- package/dist/client/request.js +165 -18
- package/dist/client/request.js.map +1 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +4 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/errors.d.ts +17 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +32 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/schema.d.ts +37 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/schema.js +168 -0
- package/dist/core/schema.js.map +1 -0
- package/dist/core/transform.d.ts +36 -0
- package/dist/core/transform.d.ts.map +1 -0
- package/dist/core/transform.js +205 -0
- package/dist/core/transform.js.map +1 -0
- package/dist/core/types.d.ts +108 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/quickbase.esm.js +3 -3
- package/dist/quickbase.esm.js.map +4 -4
- package/dist/quickbase.min.js +3 -3
- package/dist/quickbase.min.js.map +4 -4
- package/dist/xml/codepages.d.ts +60 -0
- package/dist/xml/codepages.d.ts.map +1 -0
- package/dist/xml/codepages.js +88 -0
- package/dist/xml/codepages.js.map +1 -0
- package/dist/xml/dbvars.d.ts +39 -0
- package/dist/xml/dbvars.d.ts.map +1 -0
- package/dist/xml/dbvars.js +54 -0
- package/dist/xml/dbvars.js.map +1 -0
- package/dist/xml/errors.d.ts +64 -0
- package/dist/xml/errors.d.ts.map +1 -0
- package/dist/xml/errors.js +102 -0
- package/dist/xml/errors.js.map +1 -0
- package/dist/xml/fields.d.ts +45 -0
- package/dist/xml/fields.d.ts.map +1 -0
- package/dist/xml/fields.js +86 -0
- package/dist/xml/fields.js.map +1 -0
- package/dist/xml/groups.d.ts +196 -0
- package/dist/xml/groups.d.ts.map +1 -0
- package/dist/xml/groups.js +424 -0
- package/dist/xml/groups.js.map +1 -0
- package/dist/xml/html.d.ts +61 -0
- package/dist/xml/html.d.ts.map +1 -0
- package/dist/xml/html.js +110 -0
- package/dist/xml/html.js.map +1 -0
- package/dist/xml/index.d.ts +456 -0
- package/dist/xml/index.d.ts.map +1 -0
- package/dist/xml/index.js +747 -0
- package/dist/xml/index.js.map +1 -0
- package/dist/xml/metadata.d.ts +49 -0
- package/dist/xml/metadata.d.ts.map +1 -0
- package/dist/xml/metadata.js +84 -0
- package/dist/xml/metadata.js.map +1 -0
- package/dist/xml/records.d.ts +106 -0
- package/dist/xml/records.d.ts.map +1 -0
- package/dist/xml/records.js +220 -0
- package/dist/xml/records.js.map +1 -0
- package/dist/xml/request.d.ts +129 -0
- package/dist/xml/request.d.ts.map +1 -0
- package/dist/xml/request.js +190 -0
- package/dist/xml/request.js.map +1 -0
- package/dist/xml/roles.d.ts +117 -0
- package/dist/xml/roles.d.ts.map +1 -0
- package/dist/xml/roles.js +241 -0
- package/dist/xml/roles.js.map +1 -0
- package/dist/xml/schema.d.ts +94 -0
- package/dist/xml/schema.d.ts.map +1 -0
- package/dist/xml/schema.js +354 -0
- package/dist/xml/schema.js.map +1 -0
- package/dist/xml/transform.d.ts +154 -0
- package/dist/xml/transform.d.ts.map +1 -0
- package/dist/xml/transform.js +182 -0
- package/dist/xml/transform.js.map +1 -0
- package/dist/xml/types.d.ts +531 -0
- package/dist/xml/types.d.ts.map +1 -0
- package/dist/xml/types.js +22 -0
- package/dist/xml/types.js.map +1 -0
- package/dist/xml/users.d.ts +92 -0
- package/dist/xml/users.d.ts.map +1 -0
- package/dist/xml/users.js +166 -0
- package/dist/xml/users.js.map +1 -0
- package/dist/xml/webhooks.d.ts +98 -0
- package/dist/xml/webhooks.d.ts.map +1 -0
- package/dist/xml/webhooks.js +202 -0
- package/dist/xml/webhooks.js.map +1 -0
- package/package.json +6 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/xml/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElH,qDAAqD;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,qDAAqD;AACrD,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,8BAA8B,EAC9B,iCAAiC,EACjC,yBAAyB,EACzB,iCAAiC,EACjC,4BAA4B,EAC5B,2BAA2B,GAS5B,MAAM,gBAAgB,CAAC;AAyCxB,kCAAkC;AAClC,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,SAAS,IAAI,aAAa,EAC1B,WAAW,IAAI,eAAe,EAC9B,aAAa,IAAI,iBAAiB,EAClC,kBAAkB,IAAI,sBAAsB,EAC5C,cAAc,IAAI,kBAAkB,GACrC,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,WAAW,IAAI,eAAe,EAC9B,SAAS,IAAI,aAAa,EAC1B,eAAe,IAAI,mBAAmB,EACtC,eAAe,IAAI,mBAAmB,EACtC,cAAc,IAAI,kBAAkB,EACpC,mBAAmB,IAAI,uBAAuB,EAC9C,YAAY,IAAI,gBAAgB,EAChC,cAAc,IAAI,kBAAkB,EACpC,mBAAmB,IAAI,uBAAuB,EAC9C,aAAa,IAAI,iBAAiB,EAClC,kBAAkB,IAAI,sBAAsB,EAC5C,WAAW,IAAI,eAAe,EAC9B,cAAc,IAAI,kBAAkB,GACrC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,aAAa,IAAI,iBAAiB,EAClC,cAAc,IAAI,kBAAkB,EACpC,aAAa,IAAI,iBAAiB,EAClC,iBAAiB,IAAI,qBAAqB,GAC3C,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,YAAY,IAAI,gBAAgB,EAChC,SAAS,IAAI,aAAa,EAC1B,aAAa,IAAI,iBAAiB,EAClC,SAAS,IAAI,aAAa,GAC3B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,QAAQ,IAAI,YAAY,GACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,SAAS,IAAI,aAAa,EAC1B,gBAAgB,IAAI,oBAAoB,GACzC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,YAAY,IAAI,gBAAgB,EAChC,aAAa,IAAI,iBAAiB,EAClC,kBAAkB,IAAI,sBAAsB,EAC5C,aAAa,IAAI,iBAAiB,EAClC,SAAS,IAAI,aAAa,EAC1B,gBAAgB,IAAI,oBAAoB,GACzC,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,IAAI,kBAAkB,EACpC,YAAY,IAAI,gBAAgB,EAChC,cAAc,IAAI,kBAAkB,EACpC,gBAAgB,IAAI,oBAAoB,EACxC,kBAAkB,IAAI,sBAAsB,EAC5C,YAAY,IAAI,gBAAgB,GACjC,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,kBAAkB,IAAI,sBAAsB,EAC5C,WAAW,IAAI,eAAe,GAC/B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,IAAI,oBAAoB,EACxC,eAAe,IAAI,mBAAmB,EACtC,eAAe,IAAI,mBAAmB,GACvC,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,eAAe,IAAI,mBAAmB,EACtC,OAAO,IAAI,WAAW,GACvB,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,uBAAuB;IACvB,mBAAmB;IACnB,wBAAwB;IACxB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IAEvB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,yBAAyB;IACzB,oBAAoB;IACpB,yBAAyB;IACzB,eAAe;IACf,qBAAqB;IACrB,iBAAiB;IACjB,oBAAoB;IAEpB,YAAY;IACZ,cAAc;IAEd,aAAa;IACb,sBAAsB;IAEtB,SAAS;IACT,qBAAqB;IACrB,wBAAwB;IACxB,iBAAiB;IAEjB,WAAW;IACX,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,uBAAuB;IACvB,yBAAyB;IACzB,mBAAmB;IAEnB,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,sBAAsB;IACtB,kBAAkB;IAClB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAElB,8BAA8B;IAC9B,aAAa;CACd,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAcD;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACH,MAAM,CAAY;IAClB,QAAQ,CAAU;IAClB,MAAM,CAAkB;IAEzC,YAAY,MAAiB,EAAE,OAA0B;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC9B,mEAAmE;IACrE,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,QAAgB;QACnC,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,OAAe,EAAE,QAAyB;QAC7D,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,MAAc;QACtC,IAAI,IAAI,CAAC,QAAQ,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,MAAc,EAAE,IAAY;QACzD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,KAAa,EACb,MAAe,EACf,aAAuB;QAEvB,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACvF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,MAAc,EAAE,MAAc;QAC/D,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC5C,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,MAAc,EAAE,MAAc;QACpE,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;QACjD,OAAO,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,KAAa,EACb,MAAc,EACd,aAAqB,EACrB,SAAkB;QAElB,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IACrG,CAAC;IAED,+EAA+E;IAC/E,mBAAmB;IACnB,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,IAAY,EACZ,WAAoB,EACpB,SAAkB;QAElB,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CACb,OAAe,EACf,IAAa,EACb,WAAoB,EACpB,SAAkB;QAElB,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACxC,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,IAAa,EACb,WAAoB,EACpB,SAAkB;QAElB,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAC9C,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,eAAyB;QAC9D,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,MAAc,EACd,gBAA0B;QAE1B,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,MAAc;QACvD,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAClD,OAAO,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,OAAe;QAC/C,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,OAAe,EAAE,MAAc;QACjE,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,KAAa,EACb,OAAe,EACf,MAAc,EACd,QAAkB;QAElB,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAClD,OAAO,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnG,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,MAAe,EAAE,SAAmB;QACtD,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACtC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,iCAAiC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,UAAkB;QACnD,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,UAAkB;QACtD,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,KAAc;QAC9B,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,KAAa,EACb,KAAa,EACb,SAAiB,EACjB,QAAgB,EAChB,MAAe;QAEf,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC5C,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtG,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,QAAiB;QACnE,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,eAAuB;QACxD,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC5C,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC;IACnF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAe,EACf,QAAgB,EAChB,QAAgB;QAEhB,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;QAChD,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5F,CAAC;IAED,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,OAOhB;QACC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,WAAqB;QACpD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACtE,OAAO,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,+EAA+E;IAC/E,qBAAqB;IACrB,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,OAAe;QAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,OAAe,EAAE,KAAa;QAC1D,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACvC,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,+EAA+E;IAC/E,aAAa;IACb,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,YAA6B;QAC1D,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,QAAgB,EAChB,MAA0B,EAC1B,QAAkB,EAClB,QAAgB;QAEhB,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QAC/C,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3G,CAAC;IAED,+EAA+E;IAC/E,mBAAmB;IACnB,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,OAAwB,EACxB,OAAiB;QAEjB,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACjG,OAAO,8BAA8B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAe,EACf,OAAwB,EACxB,OAAiB;QAEjB,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACpG,OAAO,iCAAiC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,OAAwB;QACzD,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpE,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IACxE,CAAC;IAED,+EAA+E;IAC/E,qBAAqB;IACrB,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,KAAc;QAChD,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,QAAgB;QACnD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC/E,OAAO,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,QAAgB;QACxD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QACpF,OAAO,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,OAAe,EACf,OAMC;QAED,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,kDAAkD;QAClD,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YACrE,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,SAAS;gBAC9C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC;gBAC1D,CAAC,CAAC,SAAS;SACd,CAAC;QACF,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,QAAgB;QAC/C,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACxC,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,OAKC;QAED,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,+CAA+C;QAC/C,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS;gBACpC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC;gBACrD,CAAC,CAAC,SAAS;YACb,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;SAC1E,CAAC;QACF,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAC7E,CAAC;IAED,+EAA+E;IAC/E,eAAe;IACf,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,OAAO,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,+EAA+E;IAC/E,WAAW;IACX,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,OAA8B;QAClE,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAC9C,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,QAAgB,EAChB,OAA4B;QAE5B,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC5C,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,SAAmB;QACvD,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAC9C,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IAChF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,SAAmB;QACzD,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;QAChD,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IAClF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,SAAmB;QAC3D,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAClD,OAAO,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,QAAgB;QAClD,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC5C,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,MAAsD;QAEtD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC;YAC5C,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC,CAAC;QACJ,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,OAMC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC;YAChC,GAAG,OAAO;YACV,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YACrE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;SACtE,CAAC,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,OAKC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS;gBAC9B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC;gBAClD,CAAC,CAAC,SAAS;SACd,CAAC;QACF,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAC5E,CAAC;IAED,+EAA+E;IAC/E,iBAAiB;IACjB,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;CACF;AA6CD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAC7B,MAA2B,EAC3B,OAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAElC,iCAAiC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,+CAA+C;YAC/C,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAEtD,sDAAsD;IACtD,MAAM,MAAM,GAAc;QACxB,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK;QACzB,KAAK,EAAE,KAAK,EAAE,IAAY,EAAE,MAAc,EAAE,IAAY,EAAmB,EAAE;YAC3E,MAAM,GAAG,GAAG,WAAW,MAAM,CAAC,KAAK,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAEnF,iCAAiC;YACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEnE,+BAA+B;YAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAEtD,sCAAsC;YACtC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAEvE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE;oBAC1C,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,iBAAiB;wBACjC,kBAAkB,EAAE,MAAM;wBAC1B,eAAe,EAAE,UAAU;qBAC5B;oBACD,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,WAAW,EAAE,MAAM;iBACpB,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAEnC,yCAAyC;gBACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACvD,MAAM,IAAI,KAAK,CACb,oCAAoC,UAAU,IAAI,SAAS,UAAU,CACtE,CAAC;gBACJ,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC1D,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC/D,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;KACF,CAAC;IAEF,gFAAgF;IAChF,MAAM,eAAe,GAAqB;QACxC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK;QACvD,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM;KACzC,CAAC;IAEF,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XML API App Metadata
|
|
3
|
+
*
|
|
4
|
+
* Endpoints for getting app metadata and ancestry info.
|
|
5
|
+
*
|
|
6
|
+
* XML-API: Remove this file when QuickBase discontinues the XML API.
|
|
7
|
+
* To find all XML API code, search for: XML-API
|
|
8
|
+
*/
|
|
9
|
+
import type { XmlCaller, GetAppDTMInfoResult, GetAncestorInfoResult } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Get modification timestamps (fast, no auth required for some info).
|
|
12
|
+
*
|
|
13
|
+
* This is a lightweight call to check if data has changed.
|
|
14
|
+
*
|
|
15
|
+
* @see https://help.quickbase.com/docs/api-getappdtminfo
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const info = await getAppDTMInfo(caller, 'bqapp123');
|
|
20
|
+
* console.log(`Last modified: ${info.lastModifiedTime}`);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function getAppDTMInfo(caller: XmlCaller, appId: string): Promise<GetAppDTMInfoResult>;
|
|
24
|
+
/**
|
|
25
|
+
* Get app copy/template lineage info.
|
|
26
|
+
*
|
|
27
|
+
* @see https://help.quickbase.com/docs/api-getancestorinfo
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const info = await getAncestorInfo(caller, 'bqapp123');
|
|
32
|
+
* if (info.ancestorAppId) {
|
|
33
|
+
* console.log(`This app was copied from: ${info.ancestorAppId}`);
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function getAncestorInfo(caller: XmlCaller, appId: string): Promise<GetAncestorInfoResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Clear ticket cookie (browser-focused).
|
|
40
|
+
*
|
|
41
|
+
* @see https://help.quickbase.com/docs/api-signout
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* await signOut(caller);
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare function signOut(caller: XmlCaller): Promise<void>;
|
|
49
|
+
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/xml/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAWpB;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,mBAAmB,CAAC,CAuB9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,CAAC,CAWhC;AAED;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9D"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XML API App Metadata
|
|
3
|
+
*
|
|
4
|
+
* Endpoints for getting app metadata and ancestry info.
|
|
5
|
+
*
|
|
6
|
+
* XML-API: Remove this file when QuickBase discontinues the XML API.
|
|
7
|
+
* To find all XML API code, search for: XML-API
|
|
8
|
+
*/
|
|
9
|
+
import { checkError } from './errors.js';
|
|
10
|
+
import { buildRequest, escapeXml, parseBaseResponse, getTagContent, getAllElements, getAttribute, } from './request.js';
|
|
11
|
+
/**
|
|
12
|
+
* Get modification timestamps (fast, no auth required for some info).
|
|
13
|
+
*
|
|
14
|
+
* This is a lightweight call to check if data has changed.
|
|
15
|
+
*
|
|
16
|
+
* @see https://help.quickbase.com/docs/api-getappdtminfo
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const info = await getAppDTMInfo(caller, 'bqapp123');
|
|
21
|
+
* console.log(`Last modified: ${info.lastModifiedTime}`);
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export async function getAppDTMInfo(caller, appId) {
|
|
25
|
+
// GetAppDTMInfo is invoked on db/main with appId in the body
|
|
26
|
+
const inner = `<dbid>${escapeXml(appId)}</dbid>`;
|
|
27
|
+
const body = buildRequest(inner);
|
|
28
|
+
const xml = await caller.doXml('main', 'API_GetAppDTMInfo', body);
|
|
29
|
+
const base = parseBaseResponse(xml);
|
|
30
|
+
checkError(base);
|
|
31
|
+
// Parse tables
|
|
32
|
+
const tableElements = getAllElements(xml, 'table');
|
|
33
|
+
const tables = tableElements.map((tableXml) => ({
|
|
34
|
+
id: getAttribute(tableXml, 'id'),
|
|
35
|
+
lastModifiedTime: getTagContent(tableXml, 'lastModifiedTime') || undefined,
|
|
36
|
+
lastRecModTime: getTagContent(tableXml, 'lastRecModTime') || undefined,
|
|
37
|
+
}));
|
|
38
|
+
return {
|
|
39
|
+
appId: getTagContent(xml, 'app_id') || appId,
|
|
40
|
+
lastModifiedTime: getTagContent(xml, 'lastModifiedTime') || undefined,
|
|
41
|
+
lastRecModTime: getTagContent(xml, 'lastRecModTime') || undefined,
|
|
42
|
+
tables,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get app copy/template lineage info.
|
|
47
|
+
*
|
|
48
|
+
* @see https://help.quickbase.com/docs/api-getancestorinfo
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const info = await getAncestorInfo(caller, 'bqapp123');
|
|
53
|
+
* if (info.ancestorAppId) {
|
|
54
|
+
* console.log(`This app was copied from: ${info.ancestorAppId}`);
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export async function getAncestorInfo(caller, appId) {
|
|
59
|
+
const body = buildRequest('');
|
|
60
|
+
const xml = await caller.doXml(appId, 'API_GetAncestorInfo', body);
|
|
61
|
+
const base = parseBaseResponse(xml);
|
|
62
|
+
checkError(base);
|
|
63
|
+
return {
|
|
64
|
+
ancestorAppId: getTagContent(xml, 'ancestorappid') || undefined,
|
|
65
|
+
oldestAncestorAppId: getTagContent(xml, 'oldestancestorappid') || undefined,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Clear ticket cookie (browser-focused).
|
|
70
|
+
*
|
|
71
|
+
* @see https://help.quickbase.com/docs/api-signout
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* await signOut(caller);
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export async function signOut(caller) {
|
|
79
|
+
const body = buildRequest('');
|
|
80
|
+
const xml = await caller.doXml('main', 'API_SignOut', body);
|
|
81
|
+
const base = parseBaseResponse(xml);
|
|
82
|
+
checkError(base);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/xml/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,KAAa;IAEb,6DAA6D;IAC7D,MAAM,KAAK,GAAG,SAAS,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;IACjD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjB,eAAe;IACf,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9C,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChC,gBAAgB,EAAE,aAAa,CAAC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,SAAS;QAC1E,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,SAAS;KACvE,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,KAAK;QAC5C,gBAAgB,EAAE,aAAa,CAAC,GAAG,EAAE,kBAAkB,CAAC,IAAI,SAAS;QACrE,cAAc,EAAE,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,SAAS;QACjE,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,KAAa;IAEb,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjB,OAAO;QACL,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,SAAS;QAC/D,mBAAmB,EAAE,aAAa,CAAC,GAAG,EAAE,qBAAqB,CAAC,IAAI,SAAS;KAC5E,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAiB;IAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,UAAU,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XML API Record Information
|
|
3
|
+
*
|
|
4
|
+
* Endpoints for querying and managing record information.
|
|
5
|
+
*
|
|
6
|
+
* XML-API: Remove this file when QuickBase discontinues the XML API.
|
|
7
|
+
* To find all XML API code, search for: XML-API
|
|
8
|
+
*/
|
|
9
|
+
import type { XmlCaller, DoQueryCountResult, GetRecordInfoResult, ImportFromCSVResult, CopyMasterDetailResult } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Get count of matching records without fetching data.
|
|
12
|
+
*
|
|
13
|
+
* @see https://help.quickbase.com/docs/api-doquerycount
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const result = await doQueryCount(caller, 'bqtable123', "{'7'.XCT.'blue car'}");
|
|
18
|
+
* console.log(`Found ${result.numMatches} matching records`);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function doQueryCount(caller: XmlCaller, tableId: string, query?: string): Promise<DoQueryCountResult>;
|
|
22
|
+
/**
|
|
23
|
+
* Get a record with field metadata.
|
|
24
|
+
*
|
|
25
|
+
* Returns all fields for the specified record, including field names and types.
|
|
26
|
+
*
|
|
27
|
+
* @see https://help.quickbase.com/docs/api-getrecordinfo
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const result = await getRecordInfo(caller, 'bqtable123', 42);
|
|
32
|
+
* console.log(`Record ${result.recordId} has ${result.numFields} fields`);
|
|
33
|
+
* for (const field of result.fields) {
|
|
34
|
+
* console.log(` ${field.name}: ${field.value}`);
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function getRecordInfo(caller: XmlCaller, tableId: string, recordId: number): Promise<GetRecordInfoResult>;
|
|
39
|
+
/**
|
|
40
|
+
* Get a record by key field value.
|
|
41
|
+
*
|
|
42
|
+
* @see https://help.quickbase.com/docs/api-getrecordinfo
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const result = await getRecordInfoByKey(caller, 'bqtable123', 'ABC-123');
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function getRecordInfoByKey(caller: XmlCaller, tableId: string, keyValue: string): Promise<GetRecordInfoResult>;
|
|
50
|
+
/**
|
|
51
|
+
* Bulk import/update records from CSV data.
|
|
52
|
+
*
|
|
53
|
+
* You can add and update records in the same call.
|
|
54
|
+
* Leave Record ID empty to add new records.
|
|
55
|
+
*
|
|
56
|
+
* @see https://help.quickbase.com/docs/api-importfromcsv
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* const result = await importFromCSV(caller, 'bqtable123', {
|
|
61
|
+
* recordsCsv: 'Name,Email\nJohn,john@example.com\nJane,jane@example.com',
|
|
62
|
+
* clist: [7, 8],
|
|
63
|
+
* skipFirst: true,
|
|
64
|
+
* });
|
|
65
|
+
* console.log(`Added ${result.numRecsAdded}, updated ${result.numRecsUpdated}`);
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function importFromCSV(caller: XmlCaller, tableId: string, options: {
|
|
69
|
+
recordsCsv: string;
|
|
70
|
+
clist?: number[];
|
|
71
|
+
skipFirst?: boolean;
|
|
72
|
+
mergeFieldId?: number;
|
|
73
|
+
decimalPercent?: boolean;
|
|
74
|
+
}): Promise<ImportFromCSVResult>;
|
|
75
|
+
/**
|
|
76
|
+
* Execute a saved import definition.
|
|
77
|
+
*
|
|
78
|
+
* @see https://help.quickbase.com/docs/api-runimport
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const result = await runImport(caller, 'bqtable123', 5);
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare function runImport(caller: XmlCaller, tableId: string, importId: number): Promise<ImportFromCSVResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Copy a master record with its detail records.
|
|
88
|
+
*
|
|
89
|
+
* @see https://help.quickbase.com/docs/api-copymasterdetail
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* const result = await copyMasterDetail(caller, 'bqtable123', {
|
|
94
|
+
* rid: 42,
|
|
95
|
+
* recurse: true,
|
|
96
|
+
* });
|
|
97
|
+
* console.log(`Copied to record ${result.newRid}`);
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare function copyMasterDetail(caller: XmlCaller, tableId: string, options: {
|
|
101
|
+
rid: number;
|
|
102
|
+
copyfid?: number;
|
|
103
|
+
recurse?: boolean;
|
|
104
|
+
relfids?: number[];
|
|
105
|
+
}): Promise<CopyMasterDetailResult>;
|
|
106
|
+
//# sourceMappingURL=records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/xml/records.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,SAAS,EAET,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AA8BpB;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAiB9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAiB9B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CAAC,mBAAmB,CAAC,CAoC9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,GACA,OAAO,CAAC,sBAAsB,CAAC,CAuBjC"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XML API Record Information
|
|
3
|
+
*
|
|
4
|
+
* Endpoints for querying and managing record information.
|
|
5
|
+
*
|
|
6
|
+
* XML-API: Remove this file when QuickBase discontinues the XML API.
|
|
7
|
+
* To find all XML API code, search for: XML-API
|
|
8
|
+
*/
|
|
9
|
+
import { checkError } from './errors.js';
|
|
10
|
+
import { buildRequest, escapeXml, parseBaseResponse, getTagContent, getAttribute, getAllElements, parseXmlNumber, xmlElementCDATA, } from './request.js';
|
|
11
|
+
/**
|
|
12
|
+
* Parse a field element from GetRecordInfo response
|
|
13
|
+
*/
|
|
14
|
+
function parseRecordField(fieldXml) {
|
|
15
|
+
const field = {
|
|
16
|
+
id: parseXmlNumber(getTagContent(fieldXml, 'fid')),
|
|
17
|
+
name: getTagContent(fieldXml, 'name'),
|
|
18
|
+
type: getTagContent(fieldXml, 'type'),
|
|
19
|
+
value: getTagContent(fieldXml, 'value'),
|
|
20
|
+
};
|
|
21
|
+
const printable = getTagContent(fieldXml, 'printable');
|
|
22
|
+
if (printable)
|
|
23
|
+
field.printable = printable;
|
|
24
|
+
return field;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get count of matching records without fetching data.
|
|
28
|
+
*
|
|
29
|
+
* @see https://help.quickbase.com/docs/api-doquerycount
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const result = await doQueryCount(caller, 'bqtable123', "{'7'.XCT.'blue car'}");
|
|
34
|
+
* console.log(`Found ${result.numMatches} matching records`);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export async function doQueryCount(caller, tableId, query) {
|
|
38
|
+
let inner = '';
|
|
39
|
+
if (query) {
|
|
40
|
+
inner = `<query>${escapeXml(query)}</query>`;
|
|
41
|
+
}
|
|
42
|
+
const body = buildRequest(inner);
|
|
43
|
+
const xml = await caller.doXml(tableId, 'API_DoQueryCount', body);
|
|
44
|
+
const base = parseBaseResponse(xml);
|
|
45
|
+
checkError(base);
|
|
46
|
+
return {
|
|
47
|
+
numMatches: parseXmlNumber(getTagContent(xml, 'numMatches')),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get a record with field metadata.
|
|
52
|
+
*
|
|
53
|
+
* Returns all fields for the specified record, including field names and types.
|
|
54
|
+
*
|
|
55
|
+
* @see https://help.quickbase.com/docs/api-getrecordinfo
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* const result = await getRecordInfo(caller, 'bqtable123', 42);
|
|
60
|
+
* console.log(`Record ${result.recordId} has ${result.numFields} fields`);
|
|
61
|
+
* for (const field of result.fields) {
|
|
62
|
+
* console.log(` ${field.name}: ${field.value}`);
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export async function getRecordInfo(caller, tableId, recordId) {
|
|
67
|
+
const inner = `<rid>${recordId}</rid>`;
|
|
68
|
+
const body = buildRequest(inner);
|
|
69
|
+
const xml = await caller.doXml(tableId, 'API_GetRecordInfo', body);
|
|
70
|
+
const base = parseBaseResponse(xml);
|
|
71
|
+
checkError(base);
|
|
72
|
+
const fieldElements = getAllElements(xml, 'field');
|
|
73
|
+
const fields = fieldElements.map(parseRecordField);
|
|
74
|
+
return {
|
|
75
|
+
recordId: parseXmlNumber(getTagContent(xml, 'rid')),
|
|
76
|
+
numFields: parseXmlNumber(getTagContent(xml, 'num_fields')),
|
|
77
|
+
updateId: getTagContent(xml, 'update_id') || undefined,
|
|
78
|
+
fields,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get a record by key field value.
|
|
83
|
+
*
|
|
84
|
+
* @see https://help.quickbase.com/docs/api-getrecordinfo
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const result = await getRecordInfoByKey(caller, 'bqtable123', 'ABC-123');
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export async function getRecordInfoByKey(caller, tableId, keyValue) {
|
|
92
|
+
const inner = `<key>${escapeXml(keyValue)}</key>`;
|
|
93
|
+
const body = buildRequest(inner);
|
|
94
|
+
const xml = await caller.doXml(tableId, 'API_GetRecordInfo', body);
|
|
95
|
+
const base = parseBaseResponse(xml);
|
|
96
|
+
checkError(base);
|
|
97
|
+
const fieldElements = getAllElements(xml, 'field');
|
|
98
|
+
const fields = fieldElements.map(parseRecordField);
|
|
99
|
+
return {
|
|
100
|
+
recordId: parseXmlNumber(getTagContent(xml, 'rid')),
|
|
101
|
+
numFields: parseXmlNumber(getTagContent(xml, 'num_fields')),
|
|
102
|
+
updateId: getTagContent(xml, 'update_id') || undefined,
|
|
103
|
+
fields,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Bulk import/update records from CSV data.
|
|
108
|
+
*
|
|
109
|
+
* You can add and update records in the same call.
|
|
110
|
+
* Leave Record ID empty to add new records.
|
|
111
|
+
*
|
|
112
|
+
* @see https://help.quickbase.com/docs/api-importfromcsv
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* const result = await importFromCSV(caller, 'bqtable123', {
|
|
117
|
+
* recordsCsv: 'Name,Email\nJohn,john@example.com\nJane,jane@example.com',
|
|
118
|
+
* clist: [7, 8],
|
|
119
|
+
* skipFirst: true,
|
|
120
|
+
* });
|
|
121
|
+
* console.log(`Added ${result.numRecsAdded}, updated ${result.numRecsUpdated}`);
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
export async function importFromCSV(caller, tableId, options) {
|
|
125
|
+
let inner = xmlElementCDATA('records_csv', options.recordsCsv);
|
|
126
|
+
if (options.clist && options.clist.length > 0) {
|
|
127
|
+
inner += `<clist>${options.clist.join('.')}</clist>`;
|
|
128
|
+
}
|
|
129
|
+
if (options.skipFirst) {
|
|
130
|
+
inner += '<skipfirst>1</skipfirst>';
|
|
131
|
+
}
|
|
132
|
+
if (options.mergeFieldId !== undefined) {
|
|
133
|
+
inner += `<mergeFieldId>${options.mergeFieldId}</mergeFieldId>`;
|
|
134
|
+
}
|
|
135
|
+
if (options.decimalPercent) {
|
|
136
|
+
inner += '<decimalPercent>1</decimalPercent>';
|
|
137
|
+
}
|
|
138
|
+
const body = buildRequest(inner);
|
|
139
|
+
const xml = await caller.doXml(tableId, 'API_ImportFromCSV', body);
|
|
140
|
+
const base = parseBaseResponse(xml);
|
|
141
|
+
checkError(base);
|
|
142
|
+
// Parse record IDs
|
|
143
|
+
const ridElements = getAllElements(xml, 'rid');
|
|
144
|
+
const recordIds = ridElements.map((ridXml) => {
|
|
145
|
+
const rid = parseXmlNumber(ridXml.replace(/<rid[^>]*>/, '').replace(/<\/rid>/, ''));
|
|
146
|
+
const updateId = getAttribute(ridXml, 'update_id') || undefined;
|
|
147
|
+
return { recordId: rid, updateId };
|
|
148
|
+
});
|
|
149
|
+
return {
|
|
150
|
+
numRecsInput: parseXmlNumber(getTagContent(xml, 'num_recs_input')),
|
|
151
|
+
numRecsAdded: parseXmlNumber(getTagContent(xml, 'num_recs_added')),
|
|
152
|
+
numRecsUpdated: parseXmlNumber(getTagContent(xml, 'num_recs_updated')),
|
|
153
|
+
recordIds,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Execute a saved import definition.
|
|
158
|
+
*
|
|
159
|
+
* @see https://help.quickbase.com/docs/api-runimport
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* const result = await runImport(caller, 'bqtable123', 5);
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
export async function runImport(caller, tableId, importId) {
|
|
167
|
+
const inner = `<id>${importId}</id>`;
|
|
168
|
+
const body = buildRequest(inner);
|
|
169
|
+
const xml = await caller.doXml(tableId, 'API_RunImport', body);
|
|
170
|
+
const base = parseBaseResponse(xml);
|
|
171
|
+
checkError(base);
|
|
172
|
+
// Parse record IDs
|
|
173
|
+
const ridElements = getAllElements(xml, 'rid');
|
|
174
|
+
const recordIds = ridElements.map((ridXml) => {
|
|
175
|
+
const rid = parseXmlNumber(ridXml.replace(/<rid[^>]*>/, '').replace(/<\/rid>/, ''));
|
|
176
|
+
const updateId = getAttribute(ridXml, 'update_id') || undefined;
|
|
177
|
+
return { recordId: rid, updateId };
|
|
178
|
+
});
|
|
179
|
+
return {
|
|
180
|
+
numRecsInput: parseXmlNumber(getTagContent(xml, 'num_recs_input')),
|
|
181
|
+
numRecsAdded: parseXmlNumber(getTagContent(xml, 'num_recs_added')),
|
|
182
|
+
numRecsUpdated: parseXmlNumber(getTagContent(xml, 'num_recs_updated')),
|
|
183
|
+
recordIds,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Copy a master record with its detail records.
|
|
188
|
+
*
|
|
189
|
+
* @see https://help.quickbase.com/docs/api-copymasterdetail
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```typescript
|
|
193
|
+
* const result = await copyMasterDetail(caller, 'bqtable123', {
|
|
194
|
+
* rid: 42,
|
|
195
|
+
* recurse: true,
|
|
196
|
+
* });
|
|
197
|
+
* console.log(`Copied to record ${result.newRid}`);
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
export async function copyMasterDetail(caller, tableId, options) {
|
|
201
|
+
let inner = `<rid>${options.rid}</rid>`;
|
|
202
|
+
if (options.copyfid !== undefined) {
|
|
203
|
+
inner += `<copyfid>${options.copyfid}</copyfid>`;
|
|
204
|
+
}
|
|
205
|
+
if (options.recurse) {
|
|
206
|
+
inner += '<recurse>1</recurse>';
|
|
207
|
+
}
|
|
208
|
+
if (options.relfids && options.relfids.length > 0) {
|
|
209
|
+
inner += `<relfids>${options.relfids.join('.')}</relfids>`;
|
|
210
|
+
}
|
|
211
|
+
const body = buildRequest(inner);
|
|
212
|
+
const xml = await caller.doXml(tableId, 'API_CopyMasterDetail', body);
|
|
213
|
+
const base = parseBaseResponse(xml);
|
|
214
|
+
checkError(base);
|
|
215
|
+
return {
|
|
216
|
+
newRid: parseXmlNumber(getTagContent(xml, 'newrid')),
|
|
217
|
+
numCreated: parseXmlNumber(getTagContent(xml, 'num_created')),
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=records.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/xml/records.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XML API Request/Response Utilities
|
|
3
|
+
*
|
|
4
|
+
* Utilities for building XML requests and parsing XML responses
|
|
5
|
+
* for the legacy QuickBase XML API.
|
|
6
|
+
*
|
|
7
|
+
* XML-API: Remove this file when QuickBase discontinues the XML API.
|
|
8
|
+
* To find all XML API code, search for: XML-API
|
|
9
|
+
*/
|
|
10
|
+
import type { BaseResponse } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Build an XML API request body.
|
|
13
|
+
* Wraps the inner XML content in <qdbapi> tags.
|
|
14
|
+
*
|
|
15
|
+
* @param inner - The inner XML content (without qdbapi wrapper)
|
|
16
|
+
* @returns Complete XML request body
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* buildRequest('<userid>123</userid><roleid>10</roleid>')
|
|
20
|
+
* // Returns: '<qdbapi><userid>123</userid><roleid>10</roleid></qdbapi>'
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildRequest(inner: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* Inject an app token into an XML request body.
|
|
25
|
+
* The body is expected to have the format <qdbapi>...</qdbapi>.
|
|
26
|
+
* The apptoken is inserted right after the opening <qdbapi> tag.
|
|
27
|
+
*
|
|
28
|
+
* @param body - The XML request body
|
|
29
|
+
* @param appToken - The app token to inject
|
|
30
|
+
* @returns Body with apptoken element inserted
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* injectAppToken('<qdbapi><query>{}</query></qdbapi>', 'abc123')
|
|
34
|
+
* // Returns: '<qdbapi><apptoken>abc123</apptoken><query>{}</query></qdbapi>'
|
|
35
|
+
*/
|
|
36
|
+
export declare function injectAppToken(body: string, appToken: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Escape special characters for safe inclusion in XML.
|
|
39
|
+
*
|
|
40
|
+
* @param str - The string to escape
|
|
41
|
+
* @returns XML-escaped string
|
|
42
|
+
*/
|
|
43
|
+
export declare function escapeXml(str: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Extract text content from a single XML tag.
|
|
46
|
+
* Uses regex for simple extraction without DOM parsing.
|
|
47
|
+
*
|
|
48
|
+
* @param xml - The XML string to search
|
|
49
|
+
* @param tag - The tag name to extract
|
|
50
|
+
* @returns The text content or empty string if not found
|
|
51
|
+
*/
|
|
52
|
+
export declare function getTagContent(xml: string, tag: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* Extract text content with CDATA support.
|
|
55
|
+
* Some XML responses wrap content in CDATA blocks.
|
|
56
|
+
*
|
|
57
|
+
* @param xml - The XML string to search
|
|
58
|
+
* @param tag - The tag name to extract
|
|
59
|
+
* @returns The text content or empty string if not found
|
|
60
|
+
*/
|
|
61
|
+
export declare function getTagContentWithCDATA(xml: string, tag: string): string;
|
|
62
|
+
/**
|
|
63
|
+
* Extract an attribute value from an XML element.
|
|
64
|
+
*
|
|
65
|
+
* @param xml - The XML element string
|
|
66
|
+
* @param attr - The attribute name
|
|
67
|
+
* @returns The attribute value or empty string if not found
|
|
68
|
+
*/
|
|
69
|
+
export declare function getAttribute(xml: string, attr: string): string;
|
|
70
|
+
/**
|
|
71
|
+
* Extract all occurrences of a tag as an array of strings.
|
|
72
|
+
*
|
|
73
|
+
* @param xml - The XML string to search
|
|
74
|
+
* @param tag - The tag name to extract
|
|
75
|
+
* @returns Array of XML element strings (including tags)
|
|
76
|
+
*/
|
|
77
|
+
export declare function getAllElements(xml: string, tag: string): string[];
|
|
78
|
+
/**
|
|
79
|
+
* Parse the base response fields from an XML API response.
|
|
80
|
+
*
|
|
81
|
+
* @param xml - The XML response string
|
|
82
|
+
* @returns BaseResponse with action, errcode, errtext, errdetail
|
|
83
|
+
*/
|
|
84
|
+
export declare function parseBaseResponse(xml: string): BaseResponse;
|
|
85
|
+
/**
|
|
86
|
+
* Create an XML element with content.
|
|
87
|
+
* Escapes the content automatically.
|
|
88
|
+
*
|
|
89
|
+
* @param tag - The tag name
|
|
90
|
+
* @param content - The content (will be escaped)
|
|
91
|
+
* @returns XML element string
|
|
92
|
+
*/
|
|
93
|
+
export declare function xmlElement(tag: string, content: string | number): string;
|
|
94
|
+
/**
|
|
95
|
+
* Create an XML element with CDATA content.
|
|
96
|
+
* Use for large text content that may contain special characters.
|
|
97
|
+
*
|
|
98
|
+
* @param tag - The tag name
|
|
99
|
+
* @param content - The content (will be wrapped in CDATA)
|
|
100
|
+
* @returns XML element string with CDATA
|
|
101
|
+
*/
|
|
102
|
+
export declare function xmlElementCDATA(tag: string, content: string): string;
|
|
103
|
+
/**
|
|
104
|
+
* Create an XML element with an attribute.
|
|
105
|
+
*
|
|
106
|
+
* @param tag - The tag name
|
|
107
|
+
* @param attrName - The attribute name
|
|
108
|
+
* @param attrValue - The attribute value
|
|
109
|
+
* @param content - The content (will be escaped)
|
|
110
|
+
* @returns XML element string with attribute
|
|
111
|
+
*/
|
|
112
|
+
export declare function xmlElementWithAttr(tag: string, attrName: string, attrValue: string | number, content: string | number): string;
|
|
113
|
+
/**
|
|
114
|
+
* Parse a boolean-like value from XML.
|
|
115
|
+
* QuickBase uses "1" for true, "0" or empty for false.
|
|
116
|
+
*
|
|
117
|
+
* @param value - The string value to parse
|
|
118
|
+
* @returns boolean
|
|
119
|
+
*/
|
|
120
|
+
export declare function parseXmlBool(value: string): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Parse a numeric value from XML.
|
|
123
|
+
*
|
|
124
|
+
* @param value - The string value to parse
|
|
125
|
+
* @param defaultValue - Default value if parsing fails
|
|
126
|
+
* @returns number
|
|
127
|
+
*/
|
|
128
|
+
export declare function parseXmlNumber(value: string, defaultValue?: number): number;
|
|
129
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/xml/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CASrE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUvE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAQjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAQ3D;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,MAAM,CAGtE"}
|