@nmshd/transport 2.0.0-alpha.2 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +2 -2
  2. package/dist/buildInformation.js +5 -5
  3. package/dist/core/CoreIdHelper.d.ts +2 -1
  4. package/dist/core/CoreIdHelper.js +5 -0
  5. package/dist/core/CoreIdHelper.js.map +1 -1
  6. package/dist/core/Reference.d.ts +16 -0
  7. package/dist/core/Reference.js +69 -0
  8. package/dist/core/Reference.js.map +1 -0
  9. package/dist/core/Transport.d.ts +3 -1
  10. package/dist/core/Transport.js +2 -1
  11. package/dist/core/Transport.js.map +1 -1
  12. package/dist/core/TransportController.d.ts +9 -10
  13. package/dist/core/TransportController.js +17 -17
  14. package/dist/core/TransportController.js.map +1 -1
  15. package/dist/core/TransportIds.d.ts +0 -1
  16. package/dist/core/TransportIds.js +0 -1
  17. package/dist/core/TransportIds.js.map +1 -1
  18. package/dist/core/index.d.ts +1 -0
  19. package/dist/core/index.js +1 -0
  20. package/dist/core/index.js.map +1 -1
  21. package/dist/events/MessageDeliveredEvent.d.ts +6 -0
  22. package/dist/events/MessageDeliveredEvent.js +12 -0
  23. package/dist/events/MessageDeliveredEvent.js.map +1 -0
  24. package/dist/events/MessageReceivedEvent.d.ts +6 -0
  25. package/dist/events/MessageReceivedEvent.js +12 -0
  26. package/dist/events/MessageReceivedEvent.js.map +1 -0
  27. package/dist/events/MessageSentEvent.d.ts +6 -0
  28. package/dist/events/MessageSentEvent.js +12 -0
  29. package/dist/events/MessageSentEvent.js.map +1 -0
  30. package/dist/events/PeerRelationshipTemplateLoadedEvent.d.ts +6 -0
  31. package/dist/events/PeerRelationshipTemplateLoadedEvent.js +12 -0
  32. package/dist/events/PeerRelationshipTemplateLoadedEvent.js.map +1 -0
  33. package/dist/events/RelationshipChangedEvent.d.ts +6 -0
  34. package/dist/events/RelationshipChangedEvent.js +12 -0
  35. package/dist/events/RelationshipChangedEvent.js.map +1 -0
  36. package/dist/events/TransportDataEvent.d.ts +5 -0
  37. package/dist/events/TransportDataEvent.js +12 -0
  38. package/dist/events/TransportDataEvent.js.map +1 -0
  39. package/dist/events/index.d.ts +6 -0
  40. package/dist/events/index.js +23 -0
  41. package/dist/events/index.js.map +1 -0
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.js +1 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/modules/files/local/File.d.ts +1 -0
  46. package/dist/modules/files/local/File.js +5 -4
  47. package/dist/modules/files/local/File.js.map +1 -1
  48. package/dist/modules/files/transmission/FileReference.d.ts +4 -10
  49. package/dist/modules/files/transmission/FileReference.js +6 -44
  50. package/dist/modules/files/transmission/FileReference.js.map +1 -1
  51. package/dist/modules/index.d.ts +1 -0
  52. package/dist/modules/index.js +1 -0
  53. package/dist/modules/index.js.map +1 -1
  54. package/dist/modules/messages/MessageController.js +2 -0
  55. package/dist/modules/messages/MessageController.js.map +1 -1
  56. package/dist/modules/relationshipTemplates/RelationshipTemplateController.d.ts +3 -0
  57. package/dist/modules/relationshipTemplates/RelationshipTemplateController.js +13 -1
  58. package/dist/modules/relationshipTemplates/RelationshipTemplateController.js.map +1 -1
  59. package/dist/modules/relationshipTemplates/local/RelationshipTemplate.d.ts +3 -0
  60. package/dist/modules/relationshipTemplates/local/RelationshipTemplate.js +8 -0
  61. package/dist/modules/relationshipTemplates/local/RelationshipTemplate.js.map +1 -1
  62. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.d.ts +7 -0
  63. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.js +25 -0
  64. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateReference.js.map +1 -0
  65. package/dist/modules/relationships/RelationshipsController.js +3 -0
  66. package/dist/modules/relationships/RelationshipsController.js.map +1 -1
  67. package/dist/modules/sync/ExternalEventsProcessor.d.ts +4 -1
  68. package/dist/modules/sync/ExternalEventsProcessor.js +10 -2
  69. package/dist/modules/sync/ExternalEventsProcessor.js.map +1 -1
  70. package/dist/modules/sync/SyncController.js +2 -2
  71. package/dist/modules/sync/SyncController.js.map +1 -1
  72. package/dist/modules/tokens/local/Token.js +3 -6
  73. package/dist/modules/tokens/local/Token.js.map +1 -1
  74. package/dist/modules/tokens/transmission/TokenReference.d.ts +4 -10
  75. package/dist/modules/tokens/transmission/TokenReference.js +6 -44
  76. package/dist/modules/tokens/transmission/TokenReference.js.map +1 -1
  77. package/lib-web/nmshd.transport.js +2836 -3551
  78. package/lib-web/nmshd.transport.js.map +1 -1
  79. package/lib-web/nmshd.transport.min.js +1 -1
  80. package/lib-web/nmshd.transport.min.js.map +1 -1
  81. package/package.json +14 -14
package/README.md CHANGED
@@ -7,7 +7,7 @@ The transport library handles backbone communication and content encryption.
7
7
 
8
8
  ## Documentation
9
9
 
10
- The documentation for this project is currently under construction.
10
+ You can find the documentation for Enmeshed on [enmeshed.eu](https://enmeshed.eu).
11
11
 
12
12
  ## Feedback
13
13
 
@@ -17,7 +17,7 @@ Share your feedback with the Enmeshed team by contributing to the [discussions](
17
17
 
18
18
  ## Contribute
19
19
 
20
- Currently contribution to this project is not possible. This will change soon.
20
+ Contribution to this project is highly apprecicated. Head over to our [contribution guide](https://github.com/nmshd/.github/blob/main/CONTRIBUTING.md) to learn more.
21
21
 
22
22
  ## License
23
23
 
@@ -4,11 +4,11 @@ exports.buildInformation = void 0;
4
4
  const ts_serval_1 = require("@js-soft/ts-serval");
5
5
  const crypto_1 = require("@nmshd/crypto");
6
6
  exports.buildInformation = {
7
- version: "2.0.0-alpha.2",
8
- build: "28",
9
- date: "2022-06-14T07:48:11+00:00",
10
- commit: "50fc95042643bfc779e34b2ff4e6a1c5495264c3",
11
- dependencies: {"@js-soft/docdb-access-abstractions":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/simple-logger":"1.0.1","@js-soft/ts-utils":"1.1.2","axios":"^0.27.2","deep-equal":"^2.0.5","fast-json-patch":"^3.1.1","form-data":"^4.0.0","json-stringify-safe":"^5.0.1","lodash":"^4.17.21","luxon":"^2.4.0","qs":"^6.10.5","reflect-metadata":"^0.1.13","ts-simple-nameof":"^1.3.1","uuid":"^8.3.2"},
7
+ version: "2.0.0-beta.2",
8
+ build: "33",
9
+ date: "2022-07-25T12:34:13+00:00",
10
+ commit: "80021ad94c61a8bb5697a7c1f0dabaf457d3b3c0",
11
+ dependencies: {"@js-soft/docdb-access-abstractions":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/simple-logger":"1.0.1","@js-soft/ts-utils":"2.0.1","axios":"^0.27.2","deep-equal":"^2.0.5","fast-json-patch":"^3.1.1","form-data":"^4.0.0","json-stringify-safe":"^5.0.1","lodash":"^4.17.21","luxon":"^3.0.1","qs":"^6.11.0","reflect-metadata":"^0.1.13","ts-simple-nameof":"^1.3.1","uuid":"^8.3.2"},
12
12
  libraries: {
13
13
  crypto: crypto_1.buildInformation,
14
14
  serval: ts_serval_1.buildInformation
@@ -5,5 +5,6 @@ export declare class CoreIdHelper {
5
5
  private readonly coreIdRegex;
6
6
  constructor(prefix: string, validateOnly?: boolean);
7
7
  generate(): Promise<CoreId>;
8
- validate(id: string): boolean;
8
+ generateUnsafe(): Promise<CoreId>;
9
+ validate(id: string | CoreId): boolean;
9
10
  }
@@ -15,7 +15,12 @@ class CoreIdHelper {
15
15
  }
16
16
  return await CoreId_1.CoreId.generate(this.prefix);
17
17
  }
18
+ async generateUnsafe() {
19
+ return await CoreId_1.CoreId.generate(this.prefix);
20
+ }
18
21
  validate(id) {
22
+ if (id instanceof CoreId_1.CoreId)
23
+ id = id.toString();
19
24
  return this.coreIdRegex.test(id);
20
25
  }
21
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CoreIdHelper.js","sourceRoot":"","sources":["../../src/core/CoreIdHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AACrD,2CAAuC;AAEvC,MAAa,YAAY;IAGrB,YAAmC,MAAc,EAAmB,eAAwB,KAAK;QAA9D,WAAM,GAAN,MAAM,CAAQ;QAAmB,iBAAY,GAAZ,YAAY,CAAiB;QAC7F,IAAI,CAAC,WAAW,GAAG,IAAI,MAAM,CAAC,GAAG,MAAM,IAAI,6BAAoB,CAAC,YAAY,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAC3G,CAAC;IAEM,KAAK,CAAC,QAAQ;QACjB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACtE;QAED,OAAO,MAAM,eAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAEM,QAAQ,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;CACJ;AAlBD,oCAkBC"}
1
+ {"version":3,"file":"CoreIdHelper.js","sourceRoot":"","sources":["../../src/core/CoreIdHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AACrD,2CAAuC;AAEvC,MAAa,YAAY;IAGrB,YAAmC,MAAc,EAAmB,eAAwB,KAAK;QAA9D,WAAM,GAAN,MAAM,CAAQ;QAAmB,iBAAY,GAAZ,YAAY,CAAiB;QAC7F,IAAI,CAAC,WAAW,GAAG,IAAI,MAAM,CAAC,GAAG,MAAM,IAAI,6BAAoB,CAAC,YAAY,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAC3G,CAAC;IAEM,KAAK,CAAC,QAAQ;QACjB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACtE;QAED,OAAO,MAAM,eAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAEM,KAAK,CAAC,cAAc;QACvB,OAAO,MAAM,eAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAEM,QAAQ,CAAC,EAAmB;QAC/B,IAAI,EAAE,YAAY,eAAM;YAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;QAE5C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;CACJ;AAxBD,oCAwBC"}
@@ -0,0 +1,16 @@
1
+ import { ISerializable, Serializable } from "@js-soft/ts-serval";
2
+ import { CryptoSecretKey, ICryptoSecretKey } from "@nmshd/crypto";
3
+ import { CoreIdHelper } from "./CoreIdHelper";
4
+ import { CoreId, ICoreId } from "./types/CoreId";
5
+ export interface IReference extends ISerializable {
6
+ id: ICoreId;
7
+ key: ICryptoSecretKey;
8
+ }
9
+ export declare class Reference extends Serializable implements IReference {
10
+ id: CoreId;
11
+ key: CryptoSecretKey;
12
+ truncate(): string;
13
+ static fromTruncated(value: string): Reference;
14
+ protected static validateId(value: any, helper: CoreIdHelper): void;
15
+ static from(value: IReference | string): Reference;
16
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Reference = void 0;
13
+ const ts_serval_1 = require("@js-soft/ts-serval");
14
+ const crypto_1 = require("@nmshd/crypto");
15
+ const TransportErrors_1 = require("./TransportErrors");
16
+ const CoreId_1 = require("./types/CoreId");
17
+ class Reference extends ts_serval_1.Serializable {
18
+ truncate() {
19
+ const truncatedReference = crypto_1.CoreBuffer.fromUtf8(`${this.id.toString()}|${this.key.algorithm}|${this.key.secretKey.toBase64URL()}`);
20
+ return truncatedReference.toBase64URL();
21
+ }
22
+ static fromTruncated(value) {
23
+ const truncatedBuffer = crypto_1.CoreBuffer.fromBase64URL(value);
24
+ const splitted = truncatedBuffer.toUtf8().split("|");
25
+ if (splitted.length !== 3) {
26
+ throw TransportErrors_1.TransportErrors.files.invalidTruncatedReference();
27
+ }
28
+ try {
29
+ const id = CoreId_1.CoreId.from(splitted[0]);
30
+ const alg = parseInt(splitted[1]);
31
+ const key = splitted[2];
32
+ const secretKey = crypto_1.CryptoSecretKey.from({
33
+ algorithm: alg,
34
+ secretKey: crypto_1.CoreBuffer.fromBase64URL(key)
35
+ });
36
+ return this.from({
37
+ id: CoreId_1.CoreId.from(id),
38
+ key: secretKey
39
+ });
40
+ }
41
+ catch (e) {
42
+ throw TransportErrors_1.TransportErrors.files.invalidTruncatedReference();
43
+ }
44
+ }
45
+ static validateId(value, helper) {
46
+ if (!(value === null || value === void 0 ? void 0 : value.id))
47
+ return;
48
+ if (!helper.validate(value.id)) {
49
+ throw new ts_serval_1.ValidationError(this.name, "id", `id must start with '${helper.prefix}' but is '${value.id}'`);
50
+ }
51
+ }
52
+ static from(value) {
53
+ if (typeof value === "string")
54
+ return this.fromTruncated(value);
55
+ return this.fromAny(value);
56
+ }
57
+ }
58
+ __decorate([
59
+ (0, ts_serval_1.validate)(),
60
+ (0, ts_serval_1.serialize)(),
61
+ __metadata("design:type", CoreId_1.CoreId)
62
+ ], Reference.prototype, "id", void 0);
63
+ __decorate([
64
+ (0, ts_serval_1.validate)(),
65
+ (0, ts_serval_1.serialize)(),
66
+ __metadata("design:type", crypto_1.CryptoSecretKey)
67
+ ], Reference.prototype, "key", void 0);
68
+ exports.Reference = Reference;
69
+ //# sourceMappingURL=Reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../src/core/Reference.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAsG;AACtG,0CAA6E;AAE7E,uDAAmD;AACnD,2CAAgD;AAOhD,MAAa,SAAU,SAAQ,wBAAY;IAShC,QAAQ;QACX,MAAM,kBAAkB,GAAG,mBAAU,CAAC,QAAQ,CAC1C,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CACpF,CAAA;QACD,OAAO,kBAAkB,CAAC,WAAW,EAAE,CAAA;IAC3C,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,KAAa;QACrC,MAAM,eAAe,GAAG,mBAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEpD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,MAAM,iCAAe,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAA;SAC1D;QAED,IAAI;YACA,MAAM,EAAE,GAAG,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACvB,MAAM,SAAS,GAAG,wBAAe,CAAC,IAAI,CAAC;gBACnC,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,mBAAU,CAAC,aAAa,CAAC,GAAG,CAAC;aAC3C,CAAC,CAAA;YAEF,OAAO,IAAI,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,GAAG,EAAE,SAAS;aACjB,CAAC,CAAA;SACL;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,iCAAe,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAA;SAC1D;IACL,CAAC;IAES,MAAM,CAAC,UAAU,CAAC,KAAU,EAAE,MAAoB;QACxD,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAA;YAAE,OAAM;QAEtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;YAC5B,MAAM,IAAI,2BAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,uBAAuB,MAAM,CAAC,MAAM,aAAa,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;SAC3G;IACL,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAA0B;QACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAE/D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ;AApDG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACD,eAAM;qCAAA;AAIjB;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACA,wBAAe;sCAAA;AAP/B,8BAuDC"}
@@ -2,6 +2,7 @@
2
2
  /// <reference types="node" />
3
3
  import { IDatabaseCollectionProvider, IDatabaseConnection } from "@js-soft/docdb-access-abstractions";
4
4
  import { ILoggerFactory } from "@js-soft/logging-abstractions";
5
+ import { EventBus } from "@js-soft/ts-utils";
5
6
  import { AgentOptions } from "http";
6
7
  import { AgentOptions as HTTPSAgentOptions } from "https";
7
8
  import { Realm } from "../modules/accounts/data/Identity";
@@ -36,11 +37,12 @@ export interface IConfigOverwrite {
36
37
  httpsAgent?: HTTPSAgentOptions;
37
38
  }
38
39
  export declare class Transport {
40
+ readonly eventBus: EventBus;
39
41
  private readonly databaseConnection;
40
42
  private readonly _config;
41
43
  get config(): IConfig;
42
44
  private static readonly defaultConfig;
43
- constructor(databaseConnection: IDatabaseConnection, customConfig: IConfigOverwrite, loggerFactory?: ILoggerFactory);
45
+ constructor(databaseConnection: IDatabaseConnection, customConfig: IConfigOverwrite, eventBus: EventBus, loggerFactory?: ILoggerFactory);
44
46
  init(): Promise<Transport>;
45
47
  createDatabase(name: string): Promise<IDatabaseCollectionProvider>;
46
48
  static get context(): TransportContext;
@@ -13,7 +13,8 @@ const TransportErrors_1 = require("./TransportErrors");
13
13
  const TransportLoggerFactory_1 = require("./TransportLoggerFactory");
14
14
  let log;
15
15
  class Transport {
16
- constructor(databaseConnection, customConfig, loggerFactory = new simple_logger_1.SimpleLoggerFactory()) {
16
+ constructor(databaseConnection, customConfig, eventBus, loggerFactory = new simple_logger_1.SimpleLoggerFactory()) {
17
+ this.eventBus = eventBus;
17
18
  this.databaseConnection = databaseConnection;
18
19
  this._config = lodash_1.default.defaultsDeep({}, customConfig, Transport.defaultConfig);
19
20
  TransportLoggerFactory_1.TransportLoggerFactory.init(loggerFactory);
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../src/core/Transport.ts"],"names":[],"mappings":";;;;;;AAEA,0DAA4D;AAC5D,0CAA6C;AAG7C,oDAAsB;AACtB,gEAAyD;AACzD,yDAAqD;AACrD,uDAAmD;AACnD,qEAAiE;AAEjE,IAAI,GAAY,CAAA;AAiChB,MAAa,SAAS;IA+BlB,YACI,kBAAuC,EACvC,YAA8B,EAC9B,gBAAgC,IAAI,mCAAmB,EAAE;QAEzD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,gBAAC,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;QAExE,+CAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1C,GAAG,GAAG,+CAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAEjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAChC,MAAM,iCAAe,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SACtE;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;YACpC,MAAM,iCAAe,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SAC1E;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACvB,MAAM,iCAAe,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SAC7D;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,0BAA0B,GAAG,CAAC,EAAE;YAC7C,MAAM,iCAAe,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SACxE;IACL,CAAC;IArDD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAqDM,KAAK,CAAC,IAAI;QACb,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QACtC,MAAM,sBAAa,CAAC,KAAK,EAAE,CAAA;QAC3B,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAElC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAEjC,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,IAAY;QACpC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAEM,MAAM,KAAK,OAAO;QACrB,OAAO,mCAAgB,CAAC,cAAc,EAAE,CAAA;IAC5C,CAAC;;AA3EL,8BA4EC;AApE2B,uBAAa,GAAY;IAC7C,0BAA0B,EAAE,CAAC;IAC7B,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,EAAE;IACpB,oBAAoB,EAAE,EAAE;IACxB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,EAAE;IACxB,8BAA8B,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAChD,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,gBAAK,CAAC,IAAI;IACjB,iBAAiB,EAAE,KAAK;IACxB,SAAS,EAAE;QACP,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;KACpB;IACD,UAAU,EAAE;QACR,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;KACpB;CACJ,CAAA"}
1
+ {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../src/core/Transport.ts"],"names":[],"mappings":";;;;;;AAEA,0DAA4D;AAE5D,0CAA6C;AAG7C,oDAAsB;AACtB,gEAAyD;AACzD,yDAAqD;AACrD,uDAAmD;AACnD,qEAAiE;AAEjE,IAAI,GAAY,CAAA;AAiChB,MAAa,SAAS;IA+BlB,YACI,kBAAuC,EACvC,YAA8B,EACd,QAAkB,EAClC,gBAAgC,IAAI,mCAAmB,EAAE;QADzC,aAAQ,GAAR,QAAQ,CAAU;QAGlC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,gBAAC,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;QAExE,+CAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1C,GAAG,GAAG,+CAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAEjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAChC,MAAM,iCAAe,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SACtE;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;YACpC,MAAM,iCAAe,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SAC1E;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACvB,MAAM,iCAAe,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SAC7D;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,0BAA0B,GAAG,CAAC,EAAE;YAC7C,MAAM,iCAAe,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;SACxE;IACL,CAAC;IAtDD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAsDM,KAAK,CAAC,IAAI;QACb,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QACtC,MAAM,sBAAa,CAAC,KAAK,EAAE,CAAA;QAC3B,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAElC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAEjC,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,IAAY;QACpC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAEM,MAAM,KAAK,OAAO;QACrB,OAAO,mCAAgB,CAAC,cAAc,EAAE,CAAA;IAC5C,CAAC;;AA5EL,8BA6EC;AArE2B,uBAAa,GAAY;IAC7C,0BAA0B,EAAE,CAAC;IAC7B,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,EAAE;IACpB,oBAAoB,EAAE,EAAE;IACxB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,EAAE;IACxB,8BAA8B,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAChD,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,gBAAK,CAAC,IAAI;IACjB,iBAAiB,EAAE,KAAK;IACxB,SAAS,EAAE;QACP,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;KACpB;IACD,UAAU,EAAE;QACR,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;KACpB;CACJ,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { IDatabaseCollectionProvider } from "@js-soft/docdb-access-abstractions";
2
2
  import { ILogger } from "@js-soft/logging-abstractions";
3
+ import { EventBus } from "@js-soft/ts-utils";
3
4
  import { AccountController } from "../modules/accounts/AccountController";
4
5
  import { CoreSerializable } from "./CoreSerializable";
5
6
  import { IConfig, Transport } from "./Transport";
@@ -28,22 +29,20 @@ export declare enum ControllerName {
28
29
  Token = "Token"
29
30
  }
30
31
  export declare class TransportController {
32
+ protected readonly _controllerName: ControllerName;
33
+ protected readonly _parent: AccountController;
34
+ protected _initialized: boolean;
35
+ get initialized(): boolean;
36
+ protected _dbClosed: boolean;
31
37
  protected _log: ILogger;
32
38
  get log(): ILogger;
33
- protected _config: IConfig;
39
+ get parent(): AccountController;
34
40
  get config(): IConfig;
35
- protected _db: IDatabaseCollectionProvider;
36
41
  get db(): IDatabaseCollectionProvider;
37
- protected _dbClosed: boolean;
38
- protected _transport: Transport;
39
42
  get transport(): Transport;
40
- protected _parent: AccountController;
41
- get parent(): AccountController;
42
- protected _initialized: boolean;
43
- get initialized(): boolean;
44
- protected _controllerName: ControllerName;
45
43
  get controllerName(): ControllerName;
46
- constructor(controllerName: ControllerName, parent: AccountController);
44
+ get eventBus(): EventBus;
45
+ constructor(_controllerName: ControllerName, _parent: AccountController);
47
46
  init(): Promise<TransportController>;
48
47
  protected parseArray<T extends CoreSerializable | CoreSerializable>(values: Object[], type: new () => T): Promise<T[]>;
49
48
  }
@@ -29,42 +29,42 @@ var ControllerName;
29
29
  ControllerName["Token"] = "Token";
30
30
  })(ControllerName = exports.ControllerName || (exports.ControllerName = {}));
31
31
  class TransportController {
32
- constructor(controllerName, parent) {
32
+ constructor(_controllerName, _parent) {
33
33
  var _a;
34
- this._dbClosed = false;
35
- this._controllerName = controllerName;
36
- this._transport = parent.transport;
37
- this._parent = parent;
38
- this._config = parent.config;
39
- this._db = parent.db;
34
+ this._controllerName = _controllerName;
35
+ this._parent = _parent;
40
36
  this._initialized = false;
41
- let loggerName = controllerName;
37
+ this._dbClosed = false;
38
+ let loggerName = _controllerName;
42
39
  if (this.config.debug && ((_a = this.parent.activeDeviceOrUndefined) === null || _a === void 0 ? void 0 : _a.deviceOrUndefined)) {
43
40
  loggerName += ` of ${this.parent.activeDevice.device.id}`;
44
41
  }
45
42
  this._log = TransportLoggerFactory_1.TransportLoggerFactory.getLogger(loggerName);
46
43
  }
44
+ get initialized() {
45
+ return this._initialized;
46
+ }
47
47
  get log() {
48
48
  return this._log;
49
49
  }
50
+ get parent() {
51
+ return this._parent;
52
+ }
50
53
  get config() {
51
- return this._config;
54
+ return this._parent.config;
52
55
  }
53
56
  get db() {
54
- return this._db;
57
+ return this._parent.db;
55
58
  }
56
59
  get transport() {
57
- return this._transport;
58
- }
59
- get parent() {
60
- return this._parent;
61
- }
62
- get initialized() {
63
- return this._initialized;
60
+ return this._parent.transport;
64
61
  }
65
62
  get controllerName() {
66
63
  return this._controllerName;
67
64
  }
65
+ get eventBus() {
66
+ return this.transport.eventBus;
67
+ }
68
68
  init() {
69
69
  if (this._initialized) {
70
70
  throw TransportErrors_1.TransportErrors.controller.alreadyInitialized(this.controllerName).logWith(this._log);
@@ -1 +1 @@
1
- {"version":3,"file":"TransportController.js","sourceRoot":"","sources":["../../src/core/TransportController.ts"],"names":[],"mappings":";;;AAKA,uDAAmD;AACnD,qEAAiE;AAEjE,IAAY,cAuBX;AAvBD,WAAY,cAAc;IACtB,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,yDAAuC,CAAA;IACvC,+DAA6C,CAAA;IAC7C,yCAAuB,CAAA;IACvB,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,+CAA6B,CAAA;IAC7B,+BAAa,CAAA;IACb,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;IACnB,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAC/B,+DAA6C,CAAA;IAC7C,6DAA2C,CAAA;IAC3C,iEAA+C,CAAA;IAC/C,2DAAyC,CAAA;IACzC,iEAA+C,CAAA;IAC/C,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,iCAAe,CAAA;AACnB,CAAC,EAvBW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAuBzB;AAED,MAAa,mBAAmB;IAsC5B,YAAmB,cAA8B,EAAE,MAAyB;;QAtBlE,cAAS,GAAG,KAAK,CAAA;QAuBvB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAA;QACrC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,UAAU,GAAW,cAAc,CAAA;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAI,MAAA,IAAI,CAAC,MAAM,CAAC,uBAAuB,0CAAE,iBAAiB,CAAA,EAAE;YAC7E,UAAU,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,CAAA;SAC5D;QACD,IAAI,CAAC,IAAI,GAAG,+CAAsB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IAC5D,CAAC;IAhDD,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAGD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAGD,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAA;IACnB,CAAC;IAKD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAGD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAGD,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAA;IAC5B,CAAC;IAGD,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC/B,CAAC;IAgBM,IAAI;QACP,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,iCAAe,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC9F;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAES,KAAK,CAAC,UAAU,CACtB,MAAgB,EAChB,IAAiB;QAEjB,MAAM,aAAa,GAAiB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,IAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5E,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC3C,CAAC;CACJ;AAnED,kDAmEC"}
1
+ {"version":3,"file":"TransportController.js","sourceRoot":"","sources":["../../src/core/TransportController.ts"],"names":[],"mappings":";;;AAMA,uDAAmD;AACnD,qEAAiE;AAEjE,IAAY,cAuBX;AAvBD,WAAY,cAAc;IACtB,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,yDAAuC,CAAA;IACvC,+DAA6C,CAAA;IAC7C,yCAAuB,CAAA;IACvB,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,+CAA6B,CAAA;IAC7B,+BAAa,CAAA;IACb,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;IACnB,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAC/B,+DAA6C,CAAA;IAC7C,6DAA2C,CAAA;IAC3C,iEAA+C,CAAA;IAC/C,2DAAyC,CAAA;IACzC,iEAA+C,CAAA;IAC/C,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,iCAAe,CAAA;AACnB,CAAC,EAvBW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAuBzB;AAED,MAAa,mBAAmB;IAqC5B,YACuB,eAA+B,EAC/B,OAA0B;;QAD1B,oBAAe,GAAf,eAAe,CAAgB;QAC/B,YAAO,GAAP,OAAO,CAAmB;QAtCvC,iBAAY,GAAG,KAAK,CAAA;QAKpB,cAAS,GAAG,KAAK,CAAA;QAmCvB,IAAI,UAAU,GAAW,eAAe,CAAA;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAI,MAAA,IAAI,CAAC,MAAM,CAAC,uBAAuB,0CAAE,iBAAiB,CAAA,EAAE;YAC7E,UAAU,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,CAAA;SAC5D;QACD,IAAI,CAAC,IAAI,GAAG,+CAAsB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IAC5D,CAAC;IA5CD,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAA;IAC5B,CAAC;IAKD,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;IAC1B,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;IACjC,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC/B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA;IAClC,CAAC;IAaM,IAAI;QACP,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,iCAAe,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC9F;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAES,KAAK,CAAC,UAAU,CACtB,MAAgB,EAChB,IAAiB;QAEjB,MAAM,aAAa,GAAiB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,IAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5E,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC3C,CAAC;CACJ;AA/DD,kDA+DC"}
@@ -5,5 +5,4 @@ export declare class TransportIds {
5
5
  static readonly relationshipSecret: CoreIdHelper;
6
6
  static readonly relationshipTemplateKey: CoreIdHelper;
7
7
  static readonly datawalletModification: CoreIdHelper;
8
- static readonly fileReference: CoreIdHelper;
9
8
  }
@@ -10,5 +10,4 @@ TransportIds.secret = new CoreIdHelper_1.CoreIdHelper("TRPSEC");
10
10
  TransportIds.relationshipSecret = new CoreIdHelper_1.CoreIdHelper("TRPRSE");
11
11
  TransportIds.relationshipTemplateKey = new CoreIdHelper_1.CoreIdHelper("TRPRTK");
12
12
  TransportIds.datawalletModification = new CoreIdHelper_1.CoreIdHelper("TRPDWM");
13
- TransportIds.fileReference = new CoreIdHelper_1.CoreIdHelper("TRPFRF");
14
13
  //# sourceMappingURL=TransportIds.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransportIds.js","sourceRoot":"","sources":["../../src/core/TransportIds.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAE7C,MAAa,YAAY;;AAAzB,oCAOC;AAN0B,oBAAO,GAAG,IAAI,2BAAY,CAAC,EAAE,CAAC,CAAA;AAC9B,mBAAM,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;AACnC,+BAAkB,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;AAC/C,oCAAuB,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;AACpD,mCAAsB,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;AACnD,0BAAa,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"TransportIds.js","sourceRoot":"","sources":["../../src/core/TransportIds.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAE7C,MAAa,YAAY;;AAAzB,oCAMC;AAL0B,oBAAO,GAAG,IAAI,2BAAY,CAAC,EAAE,CAAC,CAAA;AAC9B,mBAAM,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;AACnC,+BAAkB,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;AAC/C,oCAAuB,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;AACpD,mCAAsB,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA"}
@@ -8,6 +8,7 @@ export * from "./CoreSynchronizable";
8
8
  export * from "./CoreUtil";
9
9
  export * from "./DependencyOverrides";
10
10
  export * from "./ProgressReporter";
11
+ export * from "./Reference";
11
12
  export * from "./Transport";
12
13
  export * from "./TransportContext";
13
14
  export * from "./TransportController";
@@ -24,6 +24,7 @@ __exportStar(require("./CoreSynchronizable"), exports);
24
24
  __exportStar(require("./CoreUtil"), exports);
25
25
  __exportStar(require("./DependencyOverrides"), exports);
26
26
  __exportStar(require("./ProgressReporter"), exports);
27
+ __exportStar(require("./Reference"), exports);
27
28
  __exportStar(require("./Transport"), exports);
28
29
  __exportStar(require("./TransportContext"), exports);
29
30
  __exportStar(require("./TransportController"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,+CAA4B;AAC5B,8CAA2B;AAC3B,iDAA8B;AAC9B,qDAAkC;AAClC,0DAAuC;AACvC,uDAAoC;AACpC,6CAA0B;AAC1B,wDAAqC;AACrC,qDAAkC;AAClC,8CAA2B;AAC3B,qDAAkC;AAClC,wDAAqC;AACrC,oDAAiC;AACjC,iDAA8B;AAC9B,2DAAwC;AACxC,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,+CAA4B;AAC5B,8CAA2B;AAC3B,iDAA8B;AAC9B,qDAAkC;AAClC,0DAAuC;AACvC,uDAAoC;AACpC,6CAA0B;AAC1B,wDAAqC;AACrC,qDAAkC;AAClC,8CAA2B;AAC3B,8CAA2B;AAC3B,qDAAkC;AAClC,wDAAqC;AACrC,oDAAiC;AACjC,iDAA8B;AAC9B,2DAAwC;AACxC,0CAAuB"}
@@ -0,0 +1,6 @@
1
+ import { Message } from "../modules/messages/local/Message";
2
+ import { TransportDataEvent } from "./TransportDataEvent";
3
+ export declare class MessageDeliveredEvent extends TransportDataEvent<Message> {
4
+ static readonly namespace = "transport.messageDelivered";
5
+ constructor(eventTargetAddress: string, data: Message);
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageDeliveredEvent = void 0;
4
+ const TransportDataEvent_1 = require("./TransportDataEvent");
5
+ class MessageDeliveredEvent extends TransportDataEvent_1.TransportDataEvent {
6
+ constructor(eventTargetAddress, data) {
7
+ super(MessageDeliveredEvent.namespace, eventTargetAddress, data);
8
+ }
9
+ }
10
+ exports.MessageDeliveredEvent = MessageDeliveredEvent;
11
+ MessageDeliveredEvent.namespace = "transport.messageDelivered";
12
+ //# sourceMappingURL=MessageDeliveredEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageDeliveredEvent.js","sourceRoot":"","sources":["../../src/events/MessageDeliveredEvent.ts"],"names":[],"mappings":";;;AACA,6DAAyD;AAEzD,MAAa,qBAAsB,SAAQ,uCAA2B;IAGlE,YAAmB,kBAA0B,EAAE,IAAa;QACxD,KAAK,CAAC,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;IACpE,CAAC;;AALL,sDAMC;AAL0B,+BAAS,GAAG,4BAA4B,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Message } from "../modules/messages/local/Message";
2
+ import { TransportDataEvent } from "./TransportDataEvent";
3
+ export declare class MessageReceivedEvent extends TransportDataEvent<Message> {
4
+ static readonly namespace = "transport.messageReceived";
5
+ constructor(eventTargetAddress: string, data: Message);
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageReceivedEvent = void 0;
4
+ const TransportDataEvent_1 = require("./TransportDataEvent");
5
+ class MessageReceivedEvent extends TransportDataEvent_1.TransportDataEvent {
6
+ constructor(eventTargetAddress, data) {
7
+ super(MessageReceivedEvent.namespace, eventTargetAddress, data);
8
+ }
9
+ }
10
+ exports.MessageReceivedEvent = MessageReceivedEvent;
11
+ MessageReceivedEvent.namespace = "transport.messageReceived";
12
+ //# sourceMappingURL=MessageReceivedEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageReceivedEvent.js","sourceRoot":"","sources":["../../src/events/MessageReceivedEvent.ts"],"names":[],"mappings":";;;AACA,6DAAyD;AAEzD,MAAa,oBAAqB,SAAQ,uCAA2B;IAGjE,YAAmB,kBAA0B,EAAE,IAAa;QACxD,KAAK,CAAC,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;IACnE,CAAC;;AALL,oDAMC;AAL0B,8BAAS,GAAG,2BAA2B,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Message } from "../modules/messages/local/Message";
2
+ import { TransportDataEvent } from "./TransportDataEvent";
3
+ export declare class MessageSentEvent extends TransportDataEvent<Message> {
4
+ static readonly namespace = "transport.messageSent";
5
+ constructor(eventTargetAddress: string, data: Message);
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageSentEvent = void 0;
4
+ const TransportDataEvent_1 = require("./TransportDataEvent");
5
+ class MessageSentEvent extends TransportDataEvent_1.TransportDataEvent {
6
+ constructor(eventTargetAddress, data) {
7
+ super(MessageSentEvent.namespace, eventTargetAddress, data);
8
+ }
9
+ }
10
+ exports.MessageSentEvent = MessageSentEvent;
11
+ MessageSentEvent.namespace = "transport.messageSent";
12
+ //# sourceMappingURL=MessageSentEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageSentEvent.js","sourceRoot":"","sources":["../../src/events/MessageSentEvent.ts"],"names":[],"mappings":";;;AACA,6DAAyD;AAEzD,MAAa,gBAAiB,SAAQ,uCAA2B;IAG7D,YAAmB,kBAA0B,EAAE,IAAa;QACxD,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;IAC/D,CAAC;;AALL,4CAMC;AAL0B,0BAAS,GAAG,uBAAuB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { RelationshipTemplate } from "../modules/relationshipTemplates/local/RelationshipTemplate";
2
+ import { TransportDataEvent } from "./TransportDataEvent";
3
+ export declare class PeerRelationshipTemplateLoadedEvent extends TransportDataEvent<RelationshipTemplate> {
4
+ static readonly namespace = "transport.peerRelationshipTemplateLoaded";
5
+ constructor(eventTargetAddress: string, data: RelationshipTemplate);
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PeerRelationshipTemplateLoadedEvent = void 0;
4
+ const TransportDataEvent_1 = require("./TransportDataEvent");
5
+ class PeerRelationshipTemplateLoadedEvent extends TransportDataEvent_1.TransportDataEvent {
6
+ constructor(eventTargetAddress, data) {
7
+ super(PeerRelationshipTemplateLoadedEvent.namespace, eventTargetAddress, data);
8
+ }
9
+ }
10
+ exports.PeerRelationshipTemplateLoadedEvent = PeerRelationshipTemplateLoadedEvent;
11
+ PeerRelationshipTemplateLoadedEvent.namespace = "transport.peerRelationshipTemplateLoaded";
12
+ //# sourceMappingURL=PeerRelationshipTemplateLoadedEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PeerRelationshipTemplateLoadedEvent.js","sourceRoot":"","sources":["../../src/events/PeerRelationshipTemplateLoadedEvent.ts"],"names":[],"mappings":";;;AACA,6DAAyD;AAEzD,MAAa,mCAAoC,SAAQ,uCAAwC;IAG7F,YAAmB,kBAA0B,EAAE,IAA0B;QACrE,KAAK,CAAC,mCAAmC,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;IAClF,CAAC;;AALL,kFAMC;AAL0B,6CAAS,GAAG,0CAA0C,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Relationship } from "../modules/relationships/local/Relationship";
2
+ import { TransportDataEvent } from "./TransportDataEvent";
3
+ export declare class RelationshipChangedEvent extends TransportDataEvent<Relationship> {
4
+ static readonly namespace = "transport.relationshipChanged";
5
+ constructor(eventTargetAddress: string, data: Relationship);
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelationshipChangedEvent = void 0;
4
+ const TransportDataEvent_1 = require("./TransportDataEvent");
5
+ class RelationshipChangedEvent extends TransportDataEvent_1.TransportDataEvent {
6
+ constructor(eventTargetAddress, data) {
7
+ super(RelationshipChangedEvent.namespace, eventTargetAddress, data);
8
+ }
9
+ }
10
+ exports.RelationshipChangedEvent = RelationshipChangedEvent;
11
+ RelationshipChangedEvent.namespace = "transport.relationshipChanged";
12
+ //# sourceMappingURL=RelationshipChangedEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationshipChangedEvent.js","sourceRoot":"","sources":["../../src/events/RelationshipChangedEvent.ts"],"names":[],"mappings":";;;AACA,6DAAyD;AAEzD,MAAa,wBAAyB,SAAQ,uCAAgC;IAG1E,YAAmB,kBAA0B,EAAE,IAAkB;QAC7D,KAAK,CAAC,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;IACvE,CAAC;;AALL,4DAMC;AAL0B,kCAAS,GAAG,+BAA+B,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { DataEvent } from "@js-soft/ts-utils";
2
+ export declare abstract class TransportDataEvent<T> extends DataEvent<T> {
3
+ readonly eventTargetAddress: string;
4
+ constructor(namespace: string, eventTargetAddress: string, data: T);
5
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransportDataEvent = void 0;
4
+ const ts_utils_1 = require("@js-soft/ts-utils");
5
+ class TransportDataEvent extends ts_utils_1.DataEvent {
6
+ constructor(namespace, eventTargetAddress, data) {
7
+ super(namespace, data);
8
+ this.eventTargetAddress = eventTargetAddress;
9
+ }
10
+ }
11
+ exports.TransportDataEvent = TransportDataEvent;
12
+ //# sourceMappingURL=TransportDataEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransportDataEvent.js","sourceRoot":"","sources":["../../src/events/TransportDataEvent.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAE7C,MAAsB,kBAAsB,SAAQ,oBAAY;IAC5D,YAAmB,SAAiB,EAAkB,kBAA0B,EAAE,IAAO;QACrF,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAD4B,uBAAkB,GAAlB,kBAAkB,CAAQ;IAEhF,CAAC;CACJ;AAJD,gDAIC"}
@@ -0,0 +1,6 @@
1
+ export * from "./MessageDeliveredEvent";
2
+ export * from "./MessageReceivedEvent";
3
+ export * from "./MessageSentEvent";
4
+ export * from "./PeerRelationshipTemplateLoadedEvent";
5
+ export * from "./RelationshipChangedEvent";
6
+ export * from "./TransportDataEvent";
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./MessageDeliveredEvent"), exports);
18
+ __exportStar(require("./MessageReceivedEvent"), exports);
19
+ __exportStar(require("./MessageSentEvent"), exports);
20
+ __exportStar(require("./PeerRelationshipTemplateLoadedEvent"), exports);
21
+ __exportStar(require("./RelationshipChangedEvent"), exports);
22
+ __exportStar(require("./TransportDataEvent"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,yDAAsC;AACtC,qDAAkC;AAClC,wEAAqD;AACrD,6DAA0C;AAC1C,uDAAoC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./buildInformation";
2
2
  export * from "./core";
3
+ export * from "./events";
3
4
  export * from "./modules";
4
5
  export * from "./util";
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./buildInformation"), exports);
18
18
  __exportStar(require("./core"), exports);
19
+ __exportStar(require("./events"), exports);
19
20
  __exportStar(require("./modules"), exports);
20
21
  __exportStar(require("./util"), exports);
21
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,yCAAsB;AACtB,4CAAyB;AACzB,yCAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,yCAAsB;AACtB,2CAAwB;AACxB,4CAAyB;AACzB,yCAAsB"}
@@ -21,6 +21,7 @@ export declare class File extends CoreSynchronizable implements IFile {
21
21
  metadataModifiedAt?: CoreDate;
22
22
  static from(value: IFile): File;
23
23
  toFileReference(): FileReference;
24
+ truncate(): string;
24
25
  setCache(cache: CachedFile): this;
25
26
  setMetadata(metadata: any): this;
26
27
  }
@@ -34,10 +34,11 @@ let File = class File extends core_1.CoreSynchronizable {
34
34
  return this.fromAny(value);
35
35
  }
36
36
  toFileReference() {
37
- return FileReference_1.FileReference.from({
38
- id: this.id,
39
- key: this.secretKey
40
- });
37
+ return FileReference_1.FileReference.from({ id: this.id, key: this.secretKey });
38
+ }
39
+ truncate() {
40
+ const reference = this.toFileReference();
41
+ return reference.truncate();
41
42
  }
42
43
  setCache(cache) {
43
44
  this.cache = cache;
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","sourceRoot":"","sources":["../../../../src/modules/files/local/File.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,0CAAiE;AACjE,uDAAyC;AACzC,wCAA4F;AAC5F,iEAA6D;AAC7D,6CAAsD;AAYtD,IAAa,IAAI,GAAjB,MAAa,IAAK,SAAQ,yBAAkB;IAA5C;;QAC6B,wBAAmB,GAAG;YAC3C,OAAO;YACP,UAAU;YACV,IAAA,yBAAM,EAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAChC,IAAA,yBAAM,EAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SAC/B,CAAA;QACwB,uBAAkB,GAAG;YAC1C,IAAA,yBAAM,EAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/B,IAAA,yBAAM,EAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;SAC5C,CAAA;IAgDL,CAAC;IAtBU,MAAM,CAAC,IAAI,CAAC,KAAY;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAEM,eAAe;QAClB,OAAO,6BAAa,CAAC,IAAI,CAAC;YACtB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,EAAE,IAAI,CAAC,SAAS;SACtB,CAAC,CAAA;IACN,CAAC;IAEM,QAAQ,CAAC,KAAiB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,eAAQ,CAAC,GAAG,EAAE,CAAA;QAC9B,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,WAAW,CAAC,QAAa;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,kBAAkB,GAAG,eAAQ,CAAC,GAAG,EAAE,CAAA;QACxC,OAAO,IAAI,CAAA;IACf,CAAC;CACJ,CAAA;AA5CG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACM,wBAAe;uCAAA;AAIjC;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;mCACS;AAIrB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACG,uBAAU;mCAAA;AAIzB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACM,eAAQ;sCAAA;AAI1B;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;sCACS;AAIrB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACgB,eAAQ;gDAAA;AAlC3B,IAAI;IADhB,IAAA,gBAAI,EAAC,MAAM,CAAC;GACA,IAAI,CA0DhB;AA1DY,oBAAI"}
1
+ {"version":3,"file":"File.js","sourceRoot":"","sources":["../../../../src/modules/files/local/File.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,0CAAiE;AACjE,uDAAyC;AACzC,wCAA4F;AAC5F,iEAA6D;AAC7D,6CAAsD;AAYtD,IAAa,IAAI,GAAjB,MAAa,IAAK,SAAQ,yBAAkB;IAA5C;;QAC6B,wBAAmB,GAAG;YAC3C,OAAO;YACP,UAAU;YACV,IAAA,yBAAM,EAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAChC,IAAA,yBAAM,EAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SAC/B,CAAA;QACwB,uBAAkB,GAAG;YAC1C,IAAA,yBAAM,EAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/B,IAAA,yBAAM,EAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;SAC5C,CAAA;IAkDL,CAAC;IAxBU,MAAM,CAAC,IAAI,CAAC,KAAY;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAEM,eAAe;QAClB,OAAO,6BAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IACnE,CAAC;IAEM,QAAQ;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QACxC,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAA;IAC/B,CAAC;IAEM,QAAQ,CAAC,KAAiB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,eAAQ,CAAC,GAAG,EAAE,CAAA;QAC9B,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,WAAW,CAAC,QAAa;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,kBAAkB,GAAG,eAAQ,CAAC,GAAG,EAAE,CAAA;QACxC,OAAO,IAAI,CAAA;IACf,CAAC;CACJ,CAAA;AA9CG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACM,wBAAe;uCAAA;AAIjC;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;mCACS;AAIrB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACG,uBAAU;mCAAA;AAIzB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACM,eAAQ;sCAAA;AAI1B;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;sCACS;AAIrB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACgB,eAAQ;gDAAA;AAlC3B,IAAI;IADhB,IAAA,gBAAI,EAAC,MAAM,CAAC;GACA,IAAI,CA4DhB;AA5DY,oBAAI"}