@nymphjs/client 1.0.0-beta.13 → 1.0.0-beta.130
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/CHANGELOG.md +546 -0
- package/README.md +12 -8
- package/asyncitertest.js +53 -0
- package/dist/Entity.d.ts +156 -0
- package/{lib → dist}/Entity.js +244 -118
- package/dist/Entity.js.map +1 -0
- package/dist/Entity.types.d.ts +216 -0
- package/dist/Entity.types.js +2 -0
- package/{lib → dist}/EntityWeakCache.d.ts +1 -1
- package/{lib → dist}/EntityWeakCache.js +5 -9
- package/dist/EntityWeakCache.js.map +1 -0
- package/{lib → dist}/HttpRequester.d.ts +18 -4
- package/dist/HttpRequester.js +365 -0
- package/dist/HttpRequester.js.map +1 -0
- package/{lib → dist}/Nymph.d.ts +48 -11
- package/{lib → dist}/Nymph.js +172 -56
- package/dist/Nymph.js.map +1 -0
- package/dist/Nymph.types.d.ts +227 -0
- package/dist/Nymph.types.js +45 -0
- package/dist/Nymph.types.js.map +1 -0
- package/{lib → dist}/PubSub.d.ts +16 -10
- package/{lib → dist}/PubSub.js +207 -135
- package/dist/PubSub.js.map +1 -0
- package/{lib → dist}/PubSub.types.d.ts +19 -6
- package/dist/PubSub.types.js +2 -0
- package/{lib → dist}/entityRefresh.d.ts +1 -1
- package/{lib → dist}/entityRefresh.js +21 -13
- package/dist/entityRefresh.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/{lib → dist}/utils.d.ts +2 -1
- package/dist/utils.js +145 -0
- package/dist/utils.js.map +1 -0
- package/jest.config.js +31 -5
- package/package.json +36 -32
- package/src/Entity.ts +229 -129
- package/src/Entity.types.ts +37 -57
- package/src/EntityWeakCache.ts +8 -6
- package/src/HttpRequester.ts +268 -31
- package/src/Nymph.ts +203 -96
- package/src/Nymph.types.ts +98 -2
- package/src/PubSub.ts +264 -181
- package/src/PubSub.types.ts +33 -19
- package/src/entityRefresh.ts +6 -6
- package/src/index.ts +10 -10
- package/src/utils.ts +67 -14
- package/tsconfig.json +7 -4
- package/typedoc.json +4 -0
- package/dist/index.js.LICENSE.txt +0 -8
- package/lib/Entity.d.ts +0 -51
- package/lib/Entity.js.map +0 -1
- package/lib/Entity.types.d.ts +0 -65
- package/lib/Entity.types.js +0 -3
- package/lib/EntityWeakCache.js.map +0 -1
- package/lib/HttpRequester.js +0 -190
- package/lib/HttpRequester.js.map +0 -1
- package/lib/Nymph.js.map +0 -1
- package/lib/Nymph.types.d.ts +0 -98
- package/lib/Nymph.types.js +0 -3
- package/lib/Nymph.types.js.map +0 -1
- package/lib/PubSub.js.map +0 -1
- package/lib/PubSub.types.js +0 -3
- package/lib/entityRefresh.js.map +0 -1
- package/lib/index.d.ts +0 -13
- package/lib/index.js +0 -34
- package/lib/index.js.map +0 -1
- package/lib/utils.js +0 -86
- package/lib/utils.js.map +0 -1
- package/webpack.config.js +0 -28
- /package/{lib → dist}/Entity.types.js.map +0 -0
- /package/{lib → dist}/PubSub.types.js.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpRequester.js","sourceRoot":"","sources":["../src/HttpRequester.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AA+BpC,MAAM,CAAC,OAAO,OAAO,aAAa;IACxB,KAAK,CAAqC;IAC1C,gBAAgB,GAAmC,EAAE,CAAC;IACtD,iBAAiB,GAAoC,EAAE,CAAC;IACxD,iBAAiB,GAAoC,EAAE,CAAC;IAEhE,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,IAA0B;QACpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,GAAG,CAAC;QACb,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,GAAG;gBACD,GAAG;oBACH,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACrC,kBAAkB,CAAC,GAAG,CAAC;oBACvB,GAAG;oBACH,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAY,SAA8C;QACxD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,EAAE,CACA,KAAQ,EACR,QAMa;QAEb,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,WAAW,CAMpB,CAAC;QACd,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CACD,KAAQ,EACR,QAMa;QAEb,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,WAAW,CAMpB,CAAC;QACd,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,iEAAiE;QACjE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACX,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAgC;QACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAgC;QACzC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAgC;QAClD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAgC;QACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAgC;QAC1C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAgC;QAC3C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAmD,EACnD,GAAgC;QAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QAClB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,kCAAkC;YAClC,8BAA8B;YAC9B,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,OAAO,GAAgB;YAC3B,MAAM;YACN,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;YAC1B,WAAW,EAAE,SAAS;SACvB,CAAC;QAEF,IAAI,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,OAAkC,CAAC,cAAc,CAAC;gBACzD,kBAAkB,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;QAC5B,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,oBAAoB,CAC5B,kDAAkD,CACnD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,MAAM,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;YAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,GAAG;oBACP,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAChC,MAAM,QAAQ,CAAC,MAAM,GAAG,GAAG;gBACzB,CAAC,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAC1C,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;oBACrB,CAAC,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC;oBACpC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;wBACrB,CAAC,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC;wBACrC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;4BACrB,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC;4BACnC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,MAAM,IAAI,oBAAoB,CAC5B,+BAA+B,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACvD,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAAmD,EACnD,GAAgC;QAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QAClB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,kCAAkC;YAClC,8BAA8B;YAC9B,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;QAC7C,MAAM,OAAO,GAA2B,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAE1D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC/C,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,IAAI,mBAA0C,CAAC;QAC/C,IAAI,wBAAwB,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;YACvD,mBAAmB,GAAG,GAAG,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,cAAwB,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QAEnC,gBAAgB,CAAC,GAAG,EAAE;YACpB,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;YAEjB,MAAM;YACN,OAAO;YACP,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM;YAEnB,KAAK,CAAC,MAAM,CAAC,QAAQ;gBACnB,cAAc,GAAG,QAAQ,CAAC;gBAC1B,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,sBAAsB,EAAE,CAAC;wBACpE,MAAM,IAAI,oBAAoB,CAC5B,yCAAyC,CAC1C,CAAC;oBACJ,CAAC;oBAED,qCAAqC;oBACrC,OAAO;gBACT,CAAC;gBAED,IAAI,IAAI,GAAW,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC/B,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,qBAAqB;gBACvB,CAAC;gBAED,IAAI,MAAM,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC;wBAChC,MAAM,CAAC,CAAC;oBACV,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,MAAM,GAAG;wBACP,UAAU,EAAE,QAAQ,CAAC,UAAU;qBAChC,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAChC,MAAM,QAAQ,CAAC,MAAM,GAAG,GAAG;oBACzB,CAAC,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAC1C,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;wBACrB,CAAC,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC;wBACpC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;4BACrB,CAAC,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC;4BACrC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;gCACrB,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC;gCACnC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;YAED,SAAS,CAAC,KAAK;gBACb,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBAC3B,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;oBAEtB,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;wBAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;4BACjB,SAAS,CAAC,IAAI,CACZ,IAAI,oBAAoB,CAAC,4BAA4B,CAAC,CACvD,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC;gCACH,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;4BACnC,CAAC;4BAAC,OAAO,CAAM,EAAE,CAAC;gCAChB,IAAI,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC;oCAChC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCACpB,CAAC;qCAAM,CAAC;oCACN,SAAS,CAAC,IAAI,CACZ,IAAI,oBAAoB,CACtB,+BAA+B,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACvD,CACF,CAAC;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBACnC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;oBAEtB,IAAI,MAAM,CAAC;oBACX,IAAI,CAAC;wBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAChB,IAAI,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE,CAAC;4BAChC,MAAM,CAAC,CAAC;wBACV,CAAC;oBACH,CAAC;oBAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC/B,MAAM,GAAG;4BACP,MAAM,EAAE,GAAG;4BACX,UAAU,EAAE,gBAAgB;yBAC7B,CAAC;oBACJ,CAAC;oBACD,SAAS,CAAC,IAAI,CACZ,MAAM,CAAC,MAAM,GAAG,GAAG;wBACjB,CAAC,CAAC,IAAI,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC;wBAChD,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG;4BACnB,CAAC,CAAC,IAAI,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;4BAC1C,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG;gCACnB,CAAC,CAAC,IAAI,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC;gCAC3C,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG;oCACnB,CAAC,CAAC,IAAI,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC;oCACzC,CAAC,CAAC,IAAI,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAClD,CAAC;gBACJ,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBACtC,aAAa,GAAG,IAAI,CAAC;gBACvB,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBAClC,2BAA2B;oBAC3B,OAAO;gBACT,CAAC;gBAED,MAAM,OAAO,GAAG,mBAAmB,CAAC;gBACpC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,wBAAwB,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;wBACnD,mBAAmB,GAAG,GAAG,CAAC;oBAC5B,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,wDAAwD;gBACxD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO;gBACL,SAAS,CAAC,IAAI,CACZ,IAAI,iCAAiC,CACnC,uDAAuD,CACxD,CACF,CAAC;gBAEF,aAAa,GAAG,IAAI,CAAC;gBACrB,mBAAmB,EAAE,CAAC;YACxB,CAAC;YAED,OAAO,CAAC,GAAG;gBACT,iCAAiC;gBACjC,MAAM,GAAG,CAAC;YACZ,CAAC;SACF,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,SAAS,CAAC,IAAI,CACZ,IAAI,eAAe,CAAC,2CAA2C,GAAG,GAAG,CAAC,CACvE,CAAC;YAEF,aAAa,GAAG,IAAI,CAAC;YACrB,mBAAmB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAA2B;YACvC,eAAe,EAAE,IAAI;YACrB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC3B,GAAG,CAAC;oBACF,MAAM,wBAAwB,CAAC;oBAE/B,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;wBACxB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;oBAC1B,CAAC;gBACH,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC3B,CAAC;SACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IAC1D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,MAAM,CAAS;IACf,UAAU,CAAS;IAEnB,YACE,IAAY,EACZ,QAAkB,EAClB,MAA8B;QAE9B,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,QAAkB,EAAE,MAA8B;QAC5D,KAAK,CAAC,oBAAoB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,QAAkB,EAAE,MAA8B;QAC5D,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,QAAkB,EAAE,MAA8B;QAC5D,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YAAY,QAAkB,EAAE,MAA8B;QAC5D,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YAAY,QAAkB,EAAE,MAA8B;QAC5D,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;CACF"}
|
package/{lib → dist}/Nymph.d.ts
RENAMED
|
@@ -1,19 +1,56 @@
|
|
|
1
|
-
import Entity from './Entity';
|
|
2
|
-
import { EntityConstructor, EntityInterface, EntityJson, ServerCallResponse, ServerCallStaticResponse } from './Entity.types';
|
|
3
|
-
import EntityWeakCache from './EntityWeakCache';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
1
|
+
import Entity, { type EntityInstanceType } from './Entity.js';
|
|
2
|
+
import type { EntityConstructor, EntityInterface, EntityJson, ServerCallResponse, ServerCallStaticResponse } from './Entity.types.js';
|
|
3
|
+
import EntityWeakCache from './EntityWeakCache.js';
|
|
4
|
+
import type { AbortableAsyncIterator } from './HttpRequester.js';
|
|
5
|
+
import type { EventType, NymphOptions, Options, RequestCallback, ResponseCallback, Selector } from './Nymph.types.js';
|
|
6
|
+
import type PubSub from './PubSub.js';
|
|
6
7
|
export default class Nymph {
|
|
8
|
+
/**
|
|
9
|
+
* And optional PubSub client instance.
|
|
10
|
+
*/
|
|
7
11
|
pubsub: PubSub | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* A simple map of names to Entity classes.
|
|
14
|
+
*/
|
|
8
15
|
private entityClasses;
|
|
16
|
+
/**
|
|
17
|
+
* The entity class for this instance of Nymph.
|
|
18
|
+
*/
|
|
9
19
|
Entity: typeof Entity;
|
|
10
20
|
private requestCallbacks;
|
|
11
21
|
private responseCallbacks;
|
|
12
22
|
private restUrl;
|
|
13
23
|
private weakCache;
|
|
24
|
+
/**
|
|
25
|
+
* Headers that will be sent with every request.
|
|
26
|
+
*
|
|
27
|
+
* These are used by Tilmeld for authentication.
|
|
28
|
+
*/
|
|
29
|
+
headers: {
|
|
30
|
+
[k: string]: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* The entity cache.
|
|
34
|
+
*/
|
|
14
35
|
cache: EntityWeakCache;
|
|
36
|
+
/**
|
|
37
|
+
* Return `null` or empty array instead of error when entity/ies not found.
|
|
38
|
+
*/
|
|
39
|
+
returnNullOnNotFound: boolean;
|
|
15
40
|
constructor(NymphOptions: NymphOptions);
|
|
41
|
+
/**
|
|
42
|
+
* Add your class to this instance.
|
|
43
|
+
*
|
|
44
|
+
* This will create a class that extends your class within this instance of
|
|
45
|
+
* Nymph and return it. You can then use this class's constructor and methods,
|
|
46
|
+
* which will use this instance of Nymph.
|
|
47
|
+
*
|
|
48
|
+
* Because this creates a subclass, don't use the class returned from
|
|
49
|
+
* `getEntityClass` to check with `instanceof`. Instead, use the base class
|
|
50
|
+
* that you passed into this method.
|
|
51
|
+
*/
|
|
16
52
|
addEntityClass<T extends EntityConstructor>(entityClass: T): T;
|
|
53
|
+
getEntityClass<T extends EntityConstructor>(className: T): T;
|
|
17
54
|
getEntityClass(className: string): EntityConstructor;
|
|
18
55
|
newUID(name: string): Promise<number>;
|
|
19
56
|
setUID(name: string, value: number): Promise<any>;
|
|
@@ -30,14 +67,14 @@ export default class Nymph {
|
|
|
30
67
|
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
31
68
|
return: 'guid';
|
|
32
69
|
}, ...selectors: Selector[]): Promise<string | null>;
|
|
33
|
-
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<
|
|
70
|
+
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<EntityInstanceType<T> | null>;
|
|
34
71
|
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
35
72
|
return: 'count';
|
|
36
73
|
}, guid: string): Promise<number>;
|
|
37
74
|
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
38
75
|
return: 'guid';
|
|
39
76
|
}, guid: string): Promise<string | null>;
|
|
40
|
-
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<
|
|
77
|
+
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<EntityInstanceType<T> | null>;
|
|
41
78
|
getEntityData<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
42
79
|
return: 'count';
|
|
43
80
|
}, ...selectors: Selector[]): Promise<number>;
|
|
@@ -58,18 +95,18 @@ export default class Nymph {
|
|
|
58
95
|
getEntities<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
59
96
|
return: 'guid';
|
|
60
97
|
}, ...selectors: Selector[]): Promise<string[]>;
|
|
61
|
-
getEntities<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<
|
|
62
|
-
initEntity<T extends EntityConstructor = EntityConstructor>(entityJSON: EntityJson<T>):
|
|
63
|
-
getEntityFromCache<T extends EntityConstructor = EntityConstructor>(EntityClass: EntityConstructor, guid: string):
|
|
98
|
+
getEntities<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<EntityInstanceType<T>[]>;
|
|
99
|
+
initEntity<T extends EntityConstructor = EntityConstructor>(entityJSON: EntityJson<T>): EntityInstanceType<T>;
|
|
100
|
+
getEntityFromCache<T extends EntityConstructor = EntityConstructor>(EntityClass: EntityConstructor, guid: string): EntityInstanceType<T> | null;
|
|
64
101
|
setEntityToCache(EntityClass: EntityConstructor, entity: EntityInterface): void;
|
|
65
102
|
initEntitiesFromData<T extends any>(item: T): T;
|
|
66
103
|
deleteEntity(entity: EntityInterface | EntityInterface[], _plural?: boolean): Promise<any>;
|
|
67
104
|
deleteEntities(entities: EntityInterface[]): Promise<any>;
|
|
68
105
|
serverCall(entity: EntityInterface, method: string, params: any[], stateless?: boolean): Promise<ServerCallResponse>;
|
|
69
106
|
serverCallStatic(className: string, method: string, params: any[]): Promise<ServerCallStaticResponse>;
|
|
107
|
+
serverCallStaticIterator(className: string, method: string, params: any[]): Promise<AbortableAsyncIterator<ServerCallStaticResponse>>;
|
|
70
108
|
on<T extends EventType>(event: T, callback: T extends 'request' ? RequestCallback : T extends 'response' ? ResponseCallback : never): () => boolean;
|
|
71
109
|
off<T extends EventType>(event: T, callback: T extends 'request' ? RequestCallback : T extends 'response' ? ResponseCallback : never): boolean;
|
|
72
|
-
setXsrfToken(token: string | null): void;
|
|
73
110
|
}
|
|
74
111
|
export declare class ClassNotAvailableError extends Error {
|
|
75
112
|
constructor(message: string);
|
package/{lib → dist}/Nymph.js
RENAMED
|
@@ -1,27 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.InvalidRequestError = exports.ClassNotAvailableError = void 0;
|
|
7
|
-
const Entity_1 = __importDefault(require("./Entity"));
|
|
8
|
-
const EntityWeakCache_1 = __importDefault(require("./EntityWeakCache"));
|
|
9
|
-
const HttpRequester_1 = __importDefault(require("./HttpRequester"));
|
|
10
|
-
const utils_1 = require("./utils");
|
|
1
|
+
import Entity from './Entity.js';
|
|
2
|
+
import EntityWeakCache from './EntityWeakCache.js';
|
|
3
|
+
import HttpRequester, { ClientError } from './HttpRequester.js';
|
|
4
|
+
import { classNamesToEntityConstructors, entitiesToReferences, entityConstructorsToClassNames, } from './utils.js';
|
|
11
5
|
let requester;
|
|
12
|
-
class Nymph {
|
|
6
|
+
export default class Nymph {
|
|
7
|
+
/**
|
|
8
|
+
* And optional PubSub client instance.
|
|
9
|
+
*/
|
|
10
|
+
pubsub = undefined;
|
|
11
|
+
/**
|
|
12
|
+
* A simple map of names to Entity classes.
|
|
13
|
+
*/
|
|
14
|
+
entityClasses = {};
|
|
15
|
+
/**
|
|
16
|
+
* The entity class for this instance of Nymph.
|
|
17
|
+
*/
|
|
18
|
+
Entity;
|
|
19
|
+
requestCallbacks = [];
|
|
20
|
+
responseCallbacks = [];
|
|
21
|
+
restUrl = '';
|
|
22
|
+
weakCache = false;
|
|
23
|
+
/**
|
|
24
|
+
* Headers that will be sent with every request.
|
|
25
|
+
*
|
|
26
|
+
* These are used by Tilmeld for authentication.
|
|
27
|
+
*/
|
|
28
|
+
headers = {};
|
|
29
|
+
/**
|
|
30
|
+
* The entity cache.
|
|
31
|
+
*/
|
|
32
|
+
cache = new EntityWeakCache();
|
|
33
|
+
/**
|
|
34
|
+
* Return `null` or empty array instead of error when entity/ies not found.
|
|
35
|
+
*/
|
|
36
|
+
returnNullOnNotFound = false;
|
|
13
37
|
constructor(NymphOptions) {
|
|
14
|
-
this.pubsub = undefined;
|
|
15
|
-
this.entityClasses = {};
|
|
16
|
-
this.requestCallbacks = [];
|
|
17
|
-
this.responseCallbacks = [];
|
|
18
|
-
this.restUrl = '';
|
|
19
|
-
this.weakCache = false;
|
|
20
|
-
this.cache = new EntityWeakCache_1.default();
|
|
21
38
|
this.restUrl = NymphOptions.restUrl;
|
|
39
|
+
// @ts-ignore TS doesn't know about WeakRef.
|
|
22
40
|
this.weakCache = !!NymphOptions.weakCache && typeof WeakRef !== 'undefined';
|
|
23
|
-
|
|
24
|
-
|
|
41
|
+
if ('returnNullOnNotFound' in NymphOptions &&
|
|
42
|
+
NymphOptions.returnNullOnNotFound != null) {
|
|
43
|
+
this.returnNullOnNotFound = NymphOptions.returnNullOnNotFound;
|
|
44
|
+
}
|
|
45
|
+
this.Entity = this.addEntityClass(Entity);
|
|
46
|
+
requester = new HttpRequester('fetch' in NymphOptions ? NymphOptions.fetch : undefined);
|
|
47
|
+
if ('renewTokens' in NymphOptions && !NymphOptions.renewTokens) {
|
|
48
|
+
this.headers['X-Tilmeld-Token-Renewal'] = 'off';
|
|
49
|
+
}
|
|
25
50
|
requester.on('request', (_requester, url, options) => {
|
|
26
51
|
for (let i = 0; i < this.requestCallbacks.length; i++) {
|
|
27
52
|
this.requestCallbacks[i] && this.requestCallbacks[i](url, options);
|
|
@@ -33,26 +58,45 @@ class Nymph {
|
|
|
33
58
|
}
|
|
34
59
|
});
|
|
35
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Add your class to this instance.
|
|
63
|
+
*
|
|
64
|
+
* This will create a class that extends your class within this instance of
|
|
65
|
+
* Nymph and return it. You can then use this class's constructor and methods,
|
|
66
|
+
* which will use this instance of Nymph.
|
|
67
|
+
*
|
|
68
|
+
* Because this creates a subclass, don't use the class returned from
|
|
69
|
+
* `getEntityClass` to check with `instanceof`. Instead, use the base class
|
|
70
|
+
* that you passed into this method.
|
|
71
|
+
*/
|
|
36
72
|
addEntityClass(entityClass) {
|
|
37
73
|
const nymph = this;
|
|
38
74
|
class NymphEntity extends entityClass {
|
|
75
|
+
static nymph = nymph;
|
|
39
76
|
constructor(...args) {
|
|
40
77
|
super(...args);
|
|
41
78
|
}
|
|
42
79
|
}
|
|
43
|
-
NymphEntity.nymph = nymph;
|
|
44
80
|
this.entityClasses[entityClass.class] = NymphEntity;
|
|
45
81
|
return NymphEntity;
|
|
46
82
|
}
|
|
47
83
|
getEntityClass(className) {
|
|
48
|
-
|
|
49
|
-
|
|
84
|
+
let key = null;
|
|
85
|
+
if (typeof className === 'string') {
|
|
86
|
+
key = className;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
key = className.class;
|
|
50
90
|
}
|
|
51
|
-
|
|
91
|
+
if (key in this.entityClasses) {
|
|
92
|
+
return this.entityClasses[key];
|
|
93
|
+
}
|
|
94
|
+
throw new ClassNotAvailableError('Tried to use class: ' + key);
|
|
52
95
|
}
|
|
53
96
|
async newUID(name) {
|
|
54
97
|
const data = await requester.POST({
|
|
55
98
|
url: this.restUrl,
|
|
99
|
+
headers: { ...this.headers },
|
|
56
100
|
dataType: 'text',
|
|
57
101
|
data: { action: 'uid', data: name },
|
|
58
102
|
});
|
|
@@ -61,6 +105,7 @@ class Nymph {
|
|
|
61
105
|
async setUID(name, value) {
|
|
62
106
|
return await requester.PUT({
|
|
63
107
|
url: this.restUrl,
|
|
108
|
+
headers: { ...this.headers },
|
|
64
109
|
dataType: 'json',
|
|
65
110
|
data: { action: 'uid', data: { name, value } },
|
|
66
111
|
});
|
|
@@ -68,6 +113,7 @@ class Nymph {
|
|
|
68
113
|
async getUID(name) {
|
|
69
114
|
const data = await requester.GET({
|
|
70
115
|
url: this.restUrl,
|
|
116
|
+
headers: { ...this.headers },
|
|
71
117
|
dataType: 'text',
|
|
72
118
|
data: { action: 'uid', data: name },
|
|
73
119
|
});
|
|
@@ -76,6 +122,7 @@ class Nymph {
|
|
|
76
122
|
async deleteUID(name) {
|
|
77
123
|
return await requester.DELETE({
|
|
78
124
|
url: this.restUrl,
|
|
125
|
+
headers: { ...this.headers },
|
|
79
126
|
dataType: 'text',
|
|
80
127
|
data: { action: 'uid', data: name },
|
|
81
128
|
});
|
|
@@ -121,6 +168,7 @@ class Nymph {
|
|
|
121
168
|
async requestWithMethod(entity, method, data, plural) {
|
|
122
169
|
const response = await requester[method]({
|
|
123
170
|
url: this.restUrl,
|
|
171
|
+
headers: { ...this.headers },
|
|
124
172
|
dataType: 'json',
|
|
125
173
|
data: {
|
|
126
174
|
action: plural ? 'entities' : 'entity',
|
|
@@ -129,18 +177,32 @@ class Nymph {
|
|
|
129
177
|
});
|
|
130
178
|
if (plural && Array.isArray(entity) && entity.length === response.length) {
|
|
131
179
|
return entity.map((e, i) => response[i] &&
|
|
132
|
-
|
|
180
|
+
response[i].guid != null &&
|
|
133
181
|
(e.guid == null || e.guid === response[i].guid)
|
|
134
182
|
? e.$init(response[i])
|
|
135
183
|
: e);
|
|
136
184
|
}
|
|
137
|
-
else if (!Array.isArray(entity) &&
|
|
185
|
+
else if (!Array.isArray(entity) && response.guid != null) {
|
|
138
186
|
return entity.$init(response);
|
|
139
187
|
}
|
|
140
188
|
throw new Error('Server error');
|
|
141
189
|
}
|
|
142
190
|
async getEntity(options, ...selectors) {
|
|
143
|
-
|
|
191
|
+
let data = null;
|
|
192
|
+
try {
|
|
193
|
+
// @ts-ignore: Implementation signatures of overloads are not externally visible.
|
|
194
|
+
data = (await this.getEntityData(options, ...selectors));
|
|
195
|
+
}
|
|
196
|
+
catch (e) {
|
|
197
|
+
if (this.returnNullOnNotFound &&
|
|
198
|
+
e instanceof ClientError &&
|
|
199
|
+
e.status === 404) {
|
|
200
|
+
data = null;
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
throw e;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
144
206
|
if (options.return && options.return === 'count') {
|
|
145
207
|
return Number(data ?? 0);
|
|
146
208
|
}
|
|
@@ -155,20 +217,22 @@ class Nymph {
|
|
|
155
217
|
return null;
|
|
156
218
|
}
|
|
157
219
|
async getEntityData(options, ...selectors) {
|
|
158
|
-
if (options.class
|
|
220
|
+
if (options.class instanceof Entity) {
|
|
159
221
|
throw new InvalidRequestError("You can't make REST requests with the base Entity class.");
|
|
160
222
|
}
|
|
223
|
+
// Set up options and selectors.
|
|
161
224
|
if (typeof selectors[0] === 'string') {
|
|
162
225
|
selectors = [{ type: '&', guid: selectors[0] }];
|
|
163
226
|
}
|
|
164
227
|
const data = await requester.GET({
|
|
165
228
|
url: this.restUrl,
|
|
229
|
+
headers: { ...this.headers },
|
|
166
230
|
dataType: 'json',
|
|
167
231
|
data: {
|
|
168
232
|
action: 'entity',
|
|
169
233
|
data: [
|
|
170
|
-
|
|
171
|
-
...
|
|
234
|
+
entityConstructorsToClassNames(options),
|
|
235
|
+
...entityConstructorsToClassNames(entitiesToReferences(selectors)),
|
|
172
236
|
],
|
|
173
237
|
},
|
|
174
238
|
});
|
|
@@ -178,19 +242,36 @@ class Nymph {
|
|
|
178
242
|
return null;
|
|
179
243
|
}
|
|
180
244
|
async getEntities(options, ...selectors) {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
245
|
+
let data = null;
|
|
246
|
+
try {
|
|
247
|
+
data = await requester.GET({
|
|
248
|
+
url: this.restUrl,
|
|
249
|
+
headers: { ...this.headers },
|
|
250
|
+
dataType: 'json',
|
|
251
|
+
data: {
|
|
252
|
+
action: 'entities',
|
|
253
|
+
data: [
|
|
254
|
+
entityConstructorsToClassNames(options),
|
|
255
|
+
...entityConstructorsToClassNames(entitiesToReferences(selectors)),
|
|
256
|
+
],
|
|
257
|
+
},
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
catch (e) {
|
|
261
|
+
if (this.returnNullOnNotFound &&
|
|
262
|
+
e instanceof ClientError &&
|
|
263
|
+
e.status === 404) {
|
|
264
|
+
data = null;
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
throw e;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
192
270
|
if (options.return && options.return === 'count') {
|
|
193
|
-
return Number(data);
|
|
271
|
+
return Number(data ?? 0);
|
|
272
|
+
}
|
|
273
|
+
if (data == null) {
|
|
274
|
+
return [];
|
|
194
275
|
}
|
|
195
276
|
if (options.return && options.return === 'guid') {
|
|
196
277
|
return data;
|
|
@@ -198,12 +279,13 @@ class Nymph {
|
|
|
198
279
|
return data.map((e) => this.initEntity(e));
|
|
199
280
|
}
|
|
200
281
|
initEntity(entityJSON) {
|
|
201
|
-
const EntityClass = this
|
|
282
|
+
const EntityClass = classNamesToEntityConstructors(this, entityJSON.class);
|
|
202
283
|
if (!EntityClass) {
|
|
203
284
|
throw new ClassNotAvailableError(entityJSON.class + ' class cannot be found.');
|
|
204
285
|
}
|
|
205
286
|
let entity = EntityClass.factorySync();
|
|
206
287
|
if (this.weakCache) {
|
|
288
|
+
// Try to get it from cache.
|
|
207
289
|
const entityFromCache = this.cache.get(EntityClass, entityJSON.guid || '');
|
|
208
290
|
if (entityFromCache != null) {
|
|
209
291
|
entity = entityFromCache;
|
|
@@ -225,30 +307,33 @@ class Nymph {
|
|
|
225
307
|
}
|
|
226
308
|
initEntitiesFromData(item) {
|
|
227
309
|
if (Array.isArray(item)) {
|
|
310
|
+
// Recurse into lower arrays.
|
|
228
311
|
return item.map((entry) => this.initEntitiesFromData(entry));
|
|
229
312
|
}
|
|
230
|
-
else if (item instanceof Object &&
|
|
231
|
-
!(item instanceof this.getEntityClass('Entity'))) {
|
|
313
|
+
else if (item instanceof Object && !(item instanceof Entity)) {
|
|
232
314
|
if (item.hasOwnProperty('class') &&
|
|
233
315
|
item.hasOwnProperty('guid') &&
|
|
234
316
|
item.hasOwnProperty('cdate') &&
|
|
235
317
|
item.hasOwnProperty('mdate') &&
|
|
236
318
|
item.hasOwnProperty('tags') &&
|
|
237
319
|
item.hasOwnProperty('data') &&
|
|
238
|
-
this
|
|
320
|
+
classNamesToEntityConstructors(this, item.class) != null) {
|
|
239
321
|
return this.initEntity(item);
|
|
240
322
|
}
|
|
241
323
|
else {
|
|
242
324
|
for (let [key, value] of Object.entries(item)) {
|
|
325
|
+
// @ts-ignore: Key comes from the object. It's fine.
|
|
243
326
|
item[key] = this.initEntitiesFromData(value);
|
|
244
327
|
}
|
|
245
328
|
}
|
|
246
329
|
}
|
|
330
|
+
// Not an entity or array, just return it.
|
|
247
331
|
return item;
|
|
248
332
|
}
|
|
249
333
|
async deleteEntity(entity, _plural = false) {
|
|
250
334
|
return await requester.DELETE({
|
|
251
335
|
url: this.restUrl,
|
|
336
|
+
headers: { ...this.headers },
|
|
252
337
|
dataType: 'json',
|
|
253
338
|
data: {
|
|
254
339
|
action: _plural ? 'entities' : 'entity',
|
|
@@ -270,6 +355,7 @@ class Nymph {
|
|
|
270
355
|
async serverCall(entity, method, params, stateless = false) {
|
|
271
356
|
const data = await requester.POST({
|
|
272
357
|
url: this.restUrl,
|
|
358
|
+
headers: { ...this.headers },
|
|
273
359
|
dataType: 'json',
|
|
274
360
|
data: {
|
|
275
361
|
action: 'method',
|
|
@@ -277,7 +363,7 @@ class Nymph {
|
|
|
277
363
|
entity,
|
|
278
364
|
stateless,
|
|
279
365
|
method,
|
|
280
|
-
params: (
|
|
366
|
+
params: entityConstructorsToClassNames(entitiesToReferences(params)),
|
|
281
367
|
},
|
|
282
368
|
},
|
|
283
369
|
});
|
|
@@ -289,6 +375,7 @@ class Nymph {
|
|
|
289
375
|
async serverCallStatic(className, method, params) {
|
|
290
376
|
const data = await requester.POST({
|
|
291
377
|
url: this.restUrl,
|
|
378
|
+
headers: { ...this.headers },
|
|
292
379
|
dataType: 'json',
|
|
293
380
|
data: {
|
|
294
381
|
action: 'method',
|
|
@@ -296,17 +383,50 @@ class Nymph {
|
|
|
296
383
|
class: className,
|
|
297
384
|
static: true,
|
|
298
385
|
method: method,
|
|
299
|
-
params: (
|
|
386
|
+
params: entityConstructorsToClassNames(entitiesToReferences(params)),
|
|
300
387
|
},
|
|
301
388
|
},
|
|
302
389
|
});
|
|
303
390
|
return this.initEntitiesFromData(data);
|
|
304
391
|
}
|
|
392
|
+
async serverCallStaticIterator(className, method, params) {
|
|
393
|
+
const iterable = await requester.POST_ITERATOR({
|
|
394
|
+
url: this.restUrl,
|
|
395
|
+
headers: { ...this.headers },
|
|
396
|
+
dataType: 'json',
|
|
397
|
+
data: {
|
|
398
|
+
action: 'method',
|
|
399
|
+
data: {
|
|
400
|
+
class: className,
|
|
401
|
+
static: true,
|
|
402
|
+
method: method,
|
|
403
|
+
iterator: true,
|
|
404
|
+
params: entityConstructorsToClassNames(entitiesToReferences(params)),
|
|
405
|
+
},
|
|
406
|
+
},
|
|
407
|
+
});
|
|
408
|
+
const that = this;
|
|
409
|
+
const iterator = {
|
|
410
|
+
abortController: iterable.abortController,
|
|
411
|
+
async *[Symbol.asyncIterator]() {
|
|
412
|
+
for await (let response of iterable) {
|
|
413
|
+
if (response instanceof Error) {
|
|
414
|
+
yield response;
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
yield that.initEntitiesFromData(response);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
},
|
|
421
|
+
};
|
|
422
|
+
return iterator;
|
|
423
|
+
}
|
|
305
424
|
on(event, callback) {
|
|
306
425
|
const prop = (event + 'Callbacks');
|
|
307
426
|
if (!(prop in this)) {
|
|
308
427
|
throw new Error('Invalid event type.');
|
|
309
428
|
}
|
|
429
|
+
// @ts-ignore: The callback should always be the right type here.
|
|
310
430
|
this[prop].push(callback);
|
|
311
431
|
return () => this.off(event, callback);
|
|
312
432
|
}
|
|
@@ -315,29 +435,25 @@ class Nymph {
|
|
|
315
435
|
if (!(prop in this)) {
|
|
316
436
|
return false;
|
|
317
437
|
}
|
|
438
|
+
// @ts-ignore: The callback should always be the right type here.
|
|
318
439
|
const i = this[prop].indexOf(callback);
|
|
319
440
|
if (i > -1) {
|
|
441
|
+
// @ts-ignore: The callback should always be the right type here.
|
|
320
442
|
this[prop].splice(i, 1);
|
|
321
443
|
}
|
|
322
444
|
return true;
|
|
323
445
|
}
|
|
324
|
-
setXsrfToken(token) {
|
|
325
|
-
requester.setXsrfToken(token);
|
|
326
|
-
}
|
|
327
446
|
}
|
|
328
|
-
|
|
329
|
-
class ClassNotAvailableError extends Error {
|
|
447
|
+
export class ClassNotAvailableError extends Error {
|
|
330
448
|
constructor(message) {
|
|
331
449
|
super(message);
|
|
332
450
|
this.name = 'ClassNotAvailableError';
|
|
333
451
|
}
|
|
334
452
|
}
|
|
335
|
-
|
|
336
|
-
class InvalidRequestError extends Error {
|
|
453
|
+
export class InvalidRequestError extends Error {
|
|
337
454
|
constructor(message) {
|
|
338
455
|
super(message);
|
|
339
456
|
this.name = 'InvalidRequestError';
|
|
340
457
|
}
|
|
341
458
|
}
|
|
342
|
-
exports.InvalidRequestError = InvalidRequestError;
|
|
343
459
|
//# sourceMappingURL=Nymph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Nymph.js","sourceRoot":"","sources":["../src/Nymph.ts"],"names":[],"mappings":"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"}
|