@nmshd/runtime 1.3.5 → 2.0.0-alpha.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.
Files changed (75) hide show
  1. package/dist/Runtime.js +1 -4
  2. package/dist/Runtime.js.map +1 -1
  3. package/dist/buildInformation.js +5 -5
  4. package/dist/dataViews/DataViewExpander.d.ts +4 -4
  5. package/dist/dataViews/DataViewExpander.js +1 -1
  6. package/dist/dataViews/DataViewExpander.js.map +1 -1
  7. package/dist/events/consumption/RequestReceivedEvent.d.ts +3 -3
  8. package/dist/events/consumption/RequestReceivedEvent.js.map +1 -1
  9. package/dist/extensibility/facades/transport/AccountFacade.d.ts +3 -3
  10. package/dist/extensibility/facades/transport/AccountFacade.js +4 -4
  11. package/dist/extensibility/facades/transport/AccountFacade.js.map +1 -1
  12. package/dist/modules/MessageModule.js +2 -2
  13. package/dist/modules/MessageModule.js.map +1 -1
  14. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByIdAndKey.js +2 -2
  15. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByIdAndKey.js.map +1 -1
  16. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByTruncatedReference.js +1 -1
  17. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByTruncatedReference.js.map +1 -1
  18. package/dist/useCases/common/Schemas.d.ts +2 -0
  19. package/dist/useCases/common/Schemas.js +30 -4
  20. package/dist/useCases/common/Schemas.js.map +1 -1
  21. package/dist/useCases/common/UseCase.js +1 -1
  22. package/dist/useCases/common/UseCase.js.map +1 -1
  23. package/dist/useCases/consumption/drafts/UpdateDraft.js +1 -1
  24. package/dist/useCases/consumption/drafts/UpdateDraft.js.map +1 -1
  25. package/dist/useCases/consumption/relationshipInfo/CreateRelationshipInfo.js +2 -2
  26. package/dist/useCases/consumption/relationshipInfo/CreateRelationshipInfo.js.map +1 -1
  27. package/dist/useCases/consumption/relationshipInfo/UpdateRelationshipInfo.js +1 -1
  28. package/dist/useCases/consumption/relationshipInfo/UpdateRelationshipInfo.js.map +1 -1
  29. package/dist/useCases/consumption/settings/UpdateSetting.js +1 -1
  30. package/dist/useCases/consumption/settings/UpdateSetting.js.map +1 -1
  31. package/dist/useCases/consumption/sharedItems/CreateSharedItem.js +1 -1
  32. package/dist/useCases/consumption/sharedItems/CreateSharedItem.js.map +1 -1
  33. package/dist/useCases/transport/account/SyncDatawallet.d.ts +5 -2
  34. package/dist/useCases/transport/account/SyncDatawallet.js +2 -2
  35. package/dist/useCases/transport/account/SyncDatawallet.js.map +1 -1
  36. package/dist/useCases/transport/account/SyncEverything.d.ts +5 -2
  37. package/dist/useCases/transport/account/SyncEverything.js +4 -4
  38. package/dist/useCases/transport/account/SyncEverything.js.map +1 -1
  39. package/dist/useCases/transport/challenges/ValidateChallange.js +8 -8
  40. package/dist/useCases/transport/challenges/ValidateChallange.js.map +1 -1
  41. package/dist/useCases/transport/devices/CreateDeviceOnboardingToken.js +2 -2
  42. package/dist/useCases/transport/devices/CreateDeviceOnboardingToken.js.map +1 -1
  43. package/dist/useCases/transport/devices/DeviceMapper.d.ts +1 -1
  44. package/dist/useCases/transport/devices/DeviceMapper.js +6 -6
  45. package/dist/useCases/transport/devices/DeviceMapper.js.map +1 -1
  46. package/dist/useCases/transport/files/CreateTokenForFile.js +2 -2
  47. package/dist/useCases/transport/files/CreateTokenForFile.js.map +1 -1
  48. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js +2 -2
  49. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js.map +1 -1
  50. package/dist/useCases/transport/files/LoadPeerFile.js +1 -1
  51. package/dist/useCases/transport/files/LoadPeerFile.js.map +1 -1
  52. package/dist/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.js +2 -2
  53. package/dist/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.js.map +1 -1
  54. package/dist/useCases/transport/relationshipTemplates/CreateTokenQrCodeForOwnRelationshipTemplate.js +2 -2
  55. package/dist/useCases/transport/relationshipTemplates/CreateTokenQrCodeForOwnRelationshipTemplate.js.map +1 -1
  56. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js +1 -1
  57. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js.map +1 -1
  58. package/dist/useCases/transport/tokens/CreateOwnToken.js +2 -2
  59. package/dist/useCases/transport/tokens/CreateOwnToken.js.map +1 -1
  60. package/dist/useCases/transport/tokens/GetQRCodeForToken.js +1 -1
  61. package/dist/useCases/transport/tokens/GetQRCodeForToken.js.map +1 -1
  62. package/dist/useCases/transport/tokens/GetToken.js +1 -1
  63. package/dist/useCases/transport/tokens/GetToken.js.map +1 -1
  64. package/dist/useCases/transport/tokens/GetTokens.js +1 -1
  65. package/dist/useCases/transport/tokens/GetTokens.js.map +1 -1
  66. package/dist/useCases/transport/tokens/LoadPeerToken.js +2 -2
  67. package/dist/useCases/transport/tokens/LoadPeerToken.js.map +1 -1
  68. package/dist/useCases/transport/tokens/TokenMapper.d.ts +2 -2
  69. package/dist/useCases/transport/tokens/TokenMapper.js +4 -4
  70. package/dist/useCases/transport/tokens/TokenMapper.js.map +1 -1
  71. package/lib-web/nmshd.runtime.js +148 -107
  72. package/lib-web/nmshd.runtime.js.map +1 -1
  73. package/lib-web/nmshd.runtime.min.js +3 -3
  74. package/lib-web/nmshd.runtime.min.js.map +1 -1
  75. package/package.json +20 -20
@@ -160,9 +160,6 @@ class Runtime {
160
160
  typescript_ioc_1.Container.bind(consumption_1.RelationshipInfoController)
161
161
  .factory(() => this.getConsumptionController().relationshipInfo)
162
162
  .scope(typescript_ioc_1.Scope.Request);
163
- typescript_ioc_1.Container.bind(consumption_1.RequestsController)
164
- .factory(() => this.getConsumptionController().requests)
165
- .scope(typescript_ioc_1.Scope.Request);
166
163
  typescript_ioc_1.Container.bind(consumption_1.SettingsController)
167
164
  .factory(() => this.getConsumptionController().settings)
168
165
  .scope(typescript_ioc_1.Scope.Request);
@@ -184,7 +181,7 @@ class Runtime {
184
181
  const moduleConfiguration = this.runtimeConfig.modules[moduleName];
185
182
  moduleConfiguration.name = moduleName;
186
183
  if (!moduleConfiguration.enabled) {
187
- this.logger.info(`Skip loading module '${this.getModuleName(moduleConfiguration)}' because it is not enabled.`);
184
+ this.logger.debug(`Skip loading module '${this.getModuleName(moduleConfiguration)}' because it is not enabled.`);
188
185
  continue;
189
186
  }
190
187
  if (!moduleConfiguration.location) {
@@ -329,11 +326,11 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
329
326
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
330
327
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
331
328
  exports.buildInformation = {
332
- version: "1.3.5",
333
- build: "42",
334
- date: "2022-03-07T13:33:00+00:00",
335
- commit: "7a1d5dd76b14400cc424e8f35eeb4a0b956e9472",
336
- dependencies: {"@js-soft/docdb-querytranslator":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"1.0.2","@js-soft/ts-utils":"^1.1.1","@nmshd/consumption":"1.0.14","@nmshd/content":"1.1.5","@nmshd/crypto":"1.0.8","@nmshd/transport":"1.1.10","ajv":"^8.10.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","fluent-ts-validator":"3.0.3","json-stringify-safe":"^5.0.1","luxon":"^2.3.1","qrcode":"1.5.0","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
329
+ version: "2.0.0-alpha.1",
330
+ build: "46",
331
+ date: "2022-04-25T10:08:06+00:00",
332
+ commit: "0474534cfade1d0850bede8b45b1fc266c34616e",
333
+ dependencies: {"@js-soft/docdb-querytranslator":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.3","@js-soft/ts-utils":"^1.1.1","@nmshd/consumption":"2.0.0-alpha.2","@nmshd/content":"2.0.0-alpha.8","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-alpha.1","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","fluent-ts-validator":"3.0.3","json-stringify-safe":"^5.0.1","luxon":"^2.3.2","qrcode":"1.5.0","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
337
334
  libraries: {
338
335
  serval: ts_serval_1.buildInformation,
339
336
  consumption: consumption_1.buildInformation,
@@ -403,7 +400,7 @@ let DataViewExpander = class DataViewExpander {
403
400
  return await this.expandMessageDTOs(content);
404
401
  }
405
402
  return await this.expandMessageDTO(content);
406
- case "Request":
403
+ case "AttributesRequest":
407
404
  if (content instanceof Array) {
408
405
  return await this.expandUnknownRequests(content);
409
406
  }
@@ -2480,11 +2477,11 @@ let AccountFacade = class AccountFacade {
2480
2477
  async registerPushNotificationToken(request) {
2481
2478
  return await this.registerPushNotificationTokenUseCase.execute(request);
2482
2479
  }
2483
- async syncDatawallet() {
2484
- return await this.syncDatawalletUseCase.execute();
2480
+ async syncDatawallet(request = {}) {
2481
+ return await this.syncDatawalletUseCase.execute(request);
2485
2482
  }
2486
- async syncEverything() {
2487
- return await this.syncEverythingUseCase.execute();
2483
+ async syncEverything(request = {}) {
2484
+ return await this.syncEverythingUseCase.execute(request);
2488
2485
  }
2489
2486
  async getSyncInfo() {
2490
2487
  return await this.getSyncInfoUseCase.execute();
@@ -3248,13 +3245,13 @@ class MessageModule extends RuntimeModule_1.RuntimeModule {
3248
3245
  let event;
3249
3246
  switch (type) {
3250
3247
  case "Mail":
3251
- const mail = await content_1.Mail.from(message.content);
3248
+ const mail = content_1.Mail.from(message.content);
3252
3249
  event = new MailReceivedEvent_1.MailReceivedEvent(messageReceivedEvent.eventTargetAddress, mail, message);
3253
3250
  this.runtime.eventBus.publish(event);
3254
3251
  this.logger.trace(`Published MailReceivedEvent for ${message.id}`);
3255
3252
  break;
3256
3253
  case "RequestMail":
3257
- const requestMail = await content_1.RequestMail.from(message.content);
3254
+ const requestMail = content_1.RequestMail.from(message.content);
3258
3255
  event = new RequestMailReceivedEvent_1.RequestMailReceivedEvent(messageReceivedEvent.eventTargetAddress, requestMail, message);
3259
3256
  this.runtime.eventBus.publish(event);
3260
3257
  this.logger.trace(`Published RequestMailReceivedEvent for ${message.id}`);
@@ -3771,9 +3768,9 @@ let LoadPeerTokenAnonymousByIdAndKeyUseCase = class LoadPeerTokenAnonymousByIdAn
3771
3768
  this.anonymousTokenController = anonymousTokenController;
3772
3769
  }
3773
3770
  async executeInternal(request) {
3774
- const key = await crypto_1.CryptoSecretKey.fromBase64(request.secretKey);
3771
+ const key = crypto_1.CryptoSecretKey.fromBase64(request.secretKey);
3775
3772
  const createdToken = await this.anonymousTokenController.loadPeerToken(transport_1.CoreId.from(request.id), key);
3776
- return ts_utils_1.Result.ok(await TokenMapper_1.TokenMapper.toTokenDTO(createdToken, true));
3773
+ return ts_utils_1.Result.ok(TokenMapper_1.TokenMapper.toTokenDTO(createdToken, true));
3777
3774
  }
3778
3775
  };
3779
3776
  LoadPeerTokenAnonymousByIdAndKeyUseCase = __decorate([
@@ -3826,7 +3823,7 @@ let LoadPeerTokenAnonymousByTruncatedReferenceUseCase = class LoadPeerTokenAnony
3826
3823
  }
3827
3824
  async executeInternal(request) {
3828
3825
  const createdToken = await this.anonymousTokenController.loadPeerTokenByTruncated(request.reference);
3829
- return ts_utils_1.Result.ok(await TokenMapper_1.TokenMapper.toTokenDTO(createdToken, true));
3826
+ return ts_utils_1.Result.ok(TokenMapper_1.TokenMapper.toTokenDTO(createdToken, true));
3830
3827
  }
3831
3828
  };
3832
3829
  LoadPeerTokenAnonymousByTruncatedReferenceUseCase = __decorate([
@@ -4239,8 +4236,8 @@ exports.JsonSchema = JsonSchema;
4239
4236
  "use strict";
4240
4237
 
4241
4238
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4242
- exports.GetDeviceOnboardingInfoRequest = exports.GetDeviceRequest = exports.DeleteDeviceRequest = exports.CreateDeviceOnboardingTokenRequest = exports.CreateDeviceRequest = exports.ValidateChallengeRequest = exports.CreateChallengeRequest = exports.CreateDeviceChallengeRequest = exports.CreateIdentityChallengeRequest = exports.CreateRelationshipChallengeRequest = exports.DownloadAttachmentRequest = exports.DownloadFileRequest = exports.RegisterPushNotificationTokenRequest = exports.UpdateSharedItemRequest = exports.GetSharedItemsSharedWithAddressRequest = exports.GetSharedItemsSharedByAddressRequest = exports.GetSharedItemsByReferenceRequest = exports.GetSharedItemsByAddressRequest = exports.GetSharedItemsRequest = exports.GetSharedItemRequest = exports.DeleteSharedItemRequest = exports.CreateSharedItemRequest = exports.UpdateSettingRequest = exports.GetSettingsRequest = exports.GetSettingRequest = exports.DeleteSettingRequest = exports.CreateSettingRequest = exports.UpdateRelationshipInfoRequest = exports.GetRelationshipInfoByRelationshipRequest = exports.GetRelationshipInfoRequest = exports.DeleteRelationshipInfoByRelationshipRequest = exports.DeleteRelationshipInfoRequest = exports.CreateRelationshipInfoRequest = exports.UpdateDraftRequest = exports.GetDraftsRequest = exports.GetDraftRequest = exports.DeleteDraftRequest = exports.CreateDraftRequest = exports.UpdateAttributeRequest = exports.SucceedAttributeRequest = exports.GetHistoryByNameRequest = exports.GetAttributesRequest = exports.GetAttributeByNameRequest = exports.GetAttributeRequest = exports.DeleteAttributeByNameRequest = exports.DeleteAttributeRequest = exports.CreateAttributeRequest = exports.GetAttributesByNamesRequest = exports.LoadPeerTokenAnonymousByTruncatedReferenceRequest = exports.LoadPeerTokenAnonymousByIdAndKeyRequest = void 0;
4243
- exports.LoadPeerTokenRequest = exports.GetTokensRequest = exports.GetTokenRequest = exports.GetQRCodeForTokenRequest = exports.CreateOwnTokenRequest = exports.LoadPeerRelationshipTemplateRequest = exports.GetRelationshipTemplatesRequest = exports.GetRelationshipTemplateRequest = exports.CreateTokenQrCodeForOwnTemplateRequest = exports.CreateTokenForOwnTemplateRequest = exports.CreateOwnRelationshipTemplateRequest = exports.RevokeRelationshipChangeRequest = exports.RejectRelationshipChangeRequest = exports.GetRelationshipsRequest = exports.GetRelationshipByAddressRequest = exports.GetRelationshipRequest = exports.CreateRelationshipChangeRequest = exports.CreateRelationshipRequest = exports.AcceptRelationshipChangeRequest = exports.SendMessageRequest = exports.GetMessagesRequest = exports.GetMessageRequest = exports.GetAttachmentMetadataRequest = exports.CheckIdentityRequest = exports.UploadOwnFileRequest = exports.LoadPeerFileRequest = exports.LoadPeerFileViaReferenceRequest = exports.LoadPeerFileViaSecretRequest = exports.GetFilesRequest = exports.GetFileRequest = exports.CreateTokenQrCodeForFileRequest = exports.CreateTokenForFileRequest = exports.UpdateDeviceRequest = void 0;
4239
+ exports.DeleteDeviceRequest = exports.CreateDeviceOnboardingTokenRequest = exports.CreateDeviceRequest = exports.ValidateChallengeRequest = exports.CreateChallengeRequest = exports.CreateDeviceChallengeRequest = exports.CreateIdentityChallengeRequest = exports.CreateRelationshipChallengeRequest = exports.SyncEverythingRequest = exports.DownloadAttachmentRequest = exports.DownloadFileRequest = exports.SyncDatawalletRequest = exports.RegisterPushNotificationTokenRequest = exports.UpdateSharedItemRequest = exports.GetSharedItemsSharedWithAddressRequest = exports.GetSharedItemsSharedByAddressRequest = exports.GetSharedItemsByReferenceRequest = exports.GetSharedItemsByAddressRequest = exports.GetSharedItemsRequest = exports.GetSharedItemRequest = exports.DeleteSharedItemRequest = exports.CreateSharedItemRequest = exports.UpdateSettingRequest = exports.GetSettingsRequest = exports.GetSettingRequest = exports.DeleteSettingRequest = exports.CreateSettingRequest = exports.UpdateRelationshipInfoRequest = exports.GetRelationshipInfoByRelationshipRequest = exports.GetRelationshipInfoRequest = exports.DeleteRelationshipInfoByRelationshipRequest = exports.DeleteRelationshipInfoRequest = exports.CreateRelationshipInfoRequest = exports.UpdateDraftRequest = exports.GetDraftsRequest = exports.GetDraftRequest = exports.DeleteDraftRequest = exports.CreateDraftRequest = exports.UpdateAttributeRequest = exports.SucceedAttributeRequest = exports.GetHistoryByNameRequest = exports.GetAttributesRequest = exports.GetAttributeByNameRequest = exports.GetAttributeRequest = exports.DeleteAttributeByNameRequest = exports.DeleteAttributeRequest = exports.CreateAttributeRequest = exports.GetAttributesByNamesRequest = exports.LoadPeerTokenAnonymousByTruncatedReferenceRequest = exports.LoadPeerTokenAnonymousByIdAndKeyRequest = void 0;
4240
+ exports.LoadPeerTokenRequest = exports.GetTokensRequest = exports.GetTokenRequest = exports.GetQRCodeForTokenRequest = exports.CreateOwnTokenRequest = exports.LoadPeerRelationshipTemplateRequest = exports.GetRelationshipTemplatesRequest = exports.GetRelationshipTemplateRequest = exports.CreateTokenQrCodeForOwnTemplateRequest = exports.CreateTokenForOwnTemplateRequest = exports.CreateOwnRelationshipTemplateRequest = exports.RevokeRelationshipChangeRequest = exports.RejectRelationshipChangeRequest = exports.GetRelationshipsRequest = exports.GetRelationshipByAddressRequest = exports.GetRelationshipRequest = exports.CreateRelationshipChangeRequest = exports.CreateRelationshipRequest = exports.AcceptRelationshipChangeRequest = exports.SendMessageRequest = exports.GetMessagesRequest = exports.GetMessageRequest = exports.GetAttachmentMetadataRequest = exports.CheckIdentityRequest = exports.UploadOwnFileRequest = exports.LoadPeerFileRequest = exports.LoadPeerFileViaReferenceRequest = exports.LoadPeerFileViaSecretRequest = exports.GetFilesRequest = exports.GetFileRequest = exports.CreateTokenQrCodeForFileRequest = exports.CreateTokenForFileRequest = exports.UpdateDeviceRequest = exports.GetDeviceOnboardingInfoRequest = exports.GetDeviceRequest = void 0;
4244
4241
  exports.LoadPeerTokenAnonymousByIdAndKeyRequest = {
4245
4242
  "$schema": "http://json-schema.org/draft-07/schema#",
4246
4243
  "$ref": "#/definitions/LoadPeerTokenAnonymousByIdAndKeyRequest",
@@ -4705,7 +4702,10 @@ exports.CreateRelationshipInfoRequest = {
4705
4702
  "@type": {
4706
4703
  "type": "string"
4707
4704
  },
4708
- "@schema": {
4705
+ "@context": {
4706
+ "type": "string"
4707
+ },
4708
+ "@version": {
4709
4709
  "type": "string"
4710
4710
  },
4711
4711
  "name": {
@@ -4891,7 +4891,10 @@ exports.UpdateRelationshipInfoRequest = {
4891
4891
  "@type": {
4892
4892
  "type": "string"
4893
4893
  },
4894
- "@schema": {
4894
+ "@context": {
4895
+ "type": "string"
4896
+ },
4897
+ "@version": {
4895
4898
  "type": "string"
4896
4899
  },
4897
4900
  "name": {
@@ -5252,6 +5255,16 @@ exports.RegisterPushNotificationTokenRequest = {
5252
5255
  }
5253
5256
  }
5254
5257
  };
5258
+ exports.SyncDatawalletRequest = {
5259
+ "$schema": "http://json-schema.org/draft-07/schema#",
5260
+ "$ref": "#/definitions/SyncDatawalletRequest",
5261
+ "definitions": {
5262
+ "SyncDatawalletRequest": {
5263
+ "type": "object",
5264
+ "additionalProperties": false
5265
+ }
5266
+ }
5267
+ };
5255
5268
  exports.DownloadFileRequest = {
5256
5269
  "$schema": "http://json-schema.org/draft-07/schema#",
5257
5270
  "$ref": "#/definitions/DownloadFileRequest",
@@ -5293,6 +5306,16 @@ exports.DownloadAttachmentRequest = {
5293
5306
  }
5294
5307
  }
5295
5308
  };
5309
+ exports.SyncEverythingRequest = {
5310
+ "$schema": "http://json-schema.org/draft-07/schema#",
5311
+ "$ref": "#/definitions/SyncEverythingRequest",
5312
+ "definitions": {
5313
+ "SyncEverythingRequest": {
5314
+ "type": "object",
5315
+ "additionalProperties": false
5316
+ }
5317
+ }
5318
+ };
5296
5319
  exports.CreateRelationshipChallengeRequest = {
5297
5320
  "$schema": "http://json-schema.org/draft-07/schema#",
5298
5321
  "$ref": "#/definitions/CreateRelationshipChallengeRequest",
@@ -6377,7 +6400,7 @@ class UseCase {
6377
6400
  if (error instanceof ts_serval_1.ParsingError || error instanceof ts_serval_1.ValidationError) {
6378
6401
  runtimeError = RuntimeErrors_1.RuntimeErrors.serval.requestDeserialization(error.message);
6379
6402
  }
6380
- else if (error.message.match(/Type '.+' was not found within reflection classes. You might have to install a module first./)) {
6403
+ else if (error.message.match(/Type '.+' with version [0-9]+ was not found within reflection classes. You might have to install a module first./)) {
6381
6404
  runtimeError = RuntimeErrors_1.RuntimeErrors.serval.unknownType(error.message);
6382
6405
  }
6383
6406
  else {
@@ -7636,7 +7659,7 @@ let UpdateDraftUseCase = class UpdateDraftUseCase extends common_1.UseCase {
7636
7659
  if (!draft) {
7637
7660
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(consumption_1.Draft));
7638
7661
  }
7639
- draft.content = await ts_serval_1.SerializableAsync.fromUnknown(request.content);
7662
+ draft.content = ts_serval_1.Serializable.fromUnknown(request.content);
7640
7663
  await this.draftController.updateDraft(draft);
7641
7664
  await this.accountController.syncDatawallet();
7642
7665
  return ts_utils_1.Result.ok(DraftMapper_1.DraftMapper.toDraftDTO(draft));
@@ -7775,8 +7798,8 @@ let CreateRelationshipInfoUseCase = class CreateRelationshipInfoUseCase extends
7775
7798
  sharedItem: transport_1.CoreId.from(a.sharedItem)
7776
7799
  });
7777
7800
  }));
7778
- const theme = request.theme === undefined ? undefined : await consumption_1.RelationshipTheme.from(request.theme);
7779
- const parameters = await consumption_1.RelationshipInfo.from({
7801
+ const theme = request.theme === undefined ? undefined : consumption_1.RelationshipTheme.from(request.theme);
7802
+ const parameters = consumption_1.RelationshipInfo.from({
7780
7803
  id: await consumption_1.ConsumptionIds.relationshipInfo.generate(),
7781
7804
  relationshipId: relationshipId,
7782
7805
  attributes: attributes,
@@ -8204,7 +8227,7 @@ let UpdateRelationshipInfoUseCase = class UpdateRelationshipInfoUseCase extends
8204
8227
  relationshipInfo.description = request.description === undefined ? relationshipInfo.description : request.description;
8205
8228
  relationshipInfo.userTitle = request.userTitle === undefined ? relationshipInfo.userTitle : request.userTitle;
8206
8229
  relationshipInfo.userDescription = request.userDescription === undefined ? relationshipInfo.userDescription : request.userDescription;
8207
- relationshipInfo.theme = request.theme === undefined ? relationshipInfo.theme : await consumption_1.RelationshipTheme.from(request.theme);
8230
+ relationshipInfo.theme = request.theme === undefined ? relationshipInfo.theme : consumption_1.RelationshipTheme.from(request.theme);
8208
8231
  await this.relationshipInfoController.updateRelationshipInfo(relationshipInfo);
8209
8232
  await this.accountController.syncDatawallet();
8210
8233
  return ts_utils_1.Result.ok(RelationshipInfoMapper_1.RelationshipInfoMapper.toRelationshipInfoDTO(relationshipInfo));
@@ -8592,7 +8615,7 @@ let UpdateSettingUseCase = class UpdateSettingUseCase extends common_1.UseCase {
8592
8615
  if (!setting) {
8593
8616
  return ts_utils_1.Result.fail(__1.RuntimeErrors.general.recordNotFound(consumption_1.Setting));
8594
8617
  }
8595
- setting.value = await ts_serval_1.SerializableAsync.from(request.value);
8618
+ setting.value = ts_serval_1.Serializable.fromUnknown(request.value);
8596
8619
  await this.settingController.updateSetting(setting);
8597
8620
  await this.accountController.syncDatawallet();
8598
8621
  return ts_utils_1.Result.ok(SettingMapper_1.SettingMapper.toSettingDTO(setting));
@@ -8695,7 +8718,7 @@ let CreateSharedItemUseCase = class CreateSharedItemUseCase extends common_1.Use
8695
8718
  this.accountController = accountController;
8696
8719
  }
8697
8720
  async executeInternal(request) {
8698
- const sharedItem = await consumption_1.SharedItem.from({
8721
+ const sharedItem = consumption_1.SharedItem.from({
8699
8722
  id: await consumption_1.ConsumptionIds.sharedItem.generate(),
8700
8723
  tags: request.tags,
8701
8724
  sharedBy: transport_1.CoreAddress.from(request.sharedBy),
@@ -9638,8 +9661,8 @@ let SyncDatawalletUseCase = class SyncDatawalletUseCase extends common_1.UseCase
9638
9661
  super();
9639
9662
  this.accountController = accountController;
9640
9663
  }
9641
- async executeInternal() {
9642
- await this.accountController.syncDatawallet(true);
9664
+ async executeInternal(request) {
9665
+ await this.accountController.syncDatawallet(true, request.callback);
9643
9666
  return ts_utils_1.Result.ok(undefined);
9644
9667
  }
9645
9668
  };
@@ -9690,11 +9713,11 @@ let SyncEverythingUseCase = class SyncEverythingUseCase extends common_1.UseCase
9690
9713
  this.eventBus = eventBus;
9691
9714
  this.logger = loggerFactory.getLogger(SyncEverythingUseCase);
9692
9715
  }
9693
- async executeInternal() {
9716
+ async executeInternal(request) {
9694
9717
  if (this.currentSync) {
9695
9718
  return await this.currentSync;
9696
9719
  }
9697
- this.currentSync = this._executeInternal();
9720
+ this.currentSync = this._executeInternal(request);
9698
9721
  try {
9699
9722
  return await this.currentSync;
9700
9723
  }
@@ -9702,8 +9725,8 @@ let SyncEverythingUseCase = class SyncEverythingUseCase extends common_1.UseCase
9702
9725
  this.currentSync = undefined;
9703
9726
  }
9704
9727
  }
9705
- async _executeInternal() {
9706
- const changedItems = await this.accountController.syncEverything();
9728
+ async _executeInternal(request) {
9729
+ const changedItems = await this.accountController.syncEverything(request.callback);
9707
9730
  const messageDTOs = changedItems.messages.map((m) => MessageMapper_1.MessageMapper.toMessageDTO(m));
9708
9731
  const relationshipDTOs = changedItems.relationships.map((r) => RelationshipMapper_1.RelationshipMapper.toRelationshipDTO(r));
9709
9732
  const eventTargetAddress = this.identityController.identity.address.toString();
@@ -9965,28 +9988,28 @@ let Validator = class Validator extends common_1.SchemaValidator {
9965
9988
  const validationResult = await super.validate(value);
9966
9989
  if (validationResult.isInvalid())
9967
9990
  return validationResult;
9968
- const signatureValidationResult = await this.validateSignature(value.signature);
9991
+ const signatureValidationResult = this.validateSignature(value.signature);
9969
9992
  if (signatureValidationResult.isError) {
9970
9993
  validationResult.addFailures([new fluent_ts_validator_1.ValidationFailure(undefined, "signature", undefined, undefined, signatureValidationResult.error.message)]);
9971
9994
  }
9972
- const challengeValidationResult = await this.validateChallenge(value.challengeString);
9995
+ const challengeValidationResult = this.validateChallenge(value.challengeString);
9973
9996
  if (challengeValidationResult.isError) {
9974
9997
  validationResult.addFailures([new fluent_ts_validator_1.ValidationFailure(undefined, "challenge", undefined, undefined, challengeValidationResult.error.message)]);
9975
9998
  }
9976
9999
  return validationResult;
9977
10000
  }
9978
- async validateSignature(signature) {
10001
+ validateSignature(signature) {
9979
10002
  try {
9980
- await crypto_1.CryptoSignature.fromBase64(signature);
10003
+ crypto_1.CryptoSignature.fromBase64(signature);
9981
10004
  return ts_utils_1.Result.ok(undefined);
9982
10005
  }
9983
10006
  catch {
9984
10007
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.challenges.invalidSignature());
9985
10008
  }
9986
10009
  }
9987
- async validateChallenge(challenge) {
10010
+ validateChallenge(challenge) {
9988
10011
  try {
9989
- await transport_1.Challenge.deserialize(challenge);
10012
+ transport_1.Challenge.deserialize(challenge);
9990
10013
  return ts_utils_1.Result.ok(undefined);
9991
10014
  }
9992
10015
  catch {
@@ -10004,8 +10027,8 @@ let ValidateChallengeUseCase = class ValidateChallengeUseCase extends common_1.U
10004
10027
  this.challengeController = challengeController;
10005
10028
  }
10006
10029
  async executeInternal(request) {
10007
- const signature = await crypto_1.CryptoSignature.fromBase64(request.signature);
10008
- const signedChallenge = await transport_1.ChallengeSigned.from({
10030
+ const signature = crypto_1.CryptoSignature.fromBase64(request.signature);
10031
+ const signedChallenge = transport_1.ChallengeSigned.from({
10009
10032
  challenge: request.challengeString,
10010
10033
  signature: signature
10011
10034
  });
@@ -10169,13 +10192,13 @@ let CreateDeviceOnboardingTokenUseCase = class CreateDeviceOnboardingTokenUseCas
10169
10192
  async executeInternal(request) {
10170
10193
  const sharedSecret = await this.devicesController.getSharedSecret(transport_1.CoreId.from(request.id));
10171
10194
  const expiresAt = request.expiresAt ? transport_1.CoreDate.from(request.expiresAt) : transport_1.CoreDate.utc().add({ minutes: 5 });
10172
- const tokenContent = await transport_1.TokenContentDeviceSharedSecret.from({ sharedSecret: sharedSecret });
10195
+ const tokenContent = transport_1.TokenContentDeviceSharedSecret.from({ sharedSecret: sharedSecret });
10173
10196
  const token = await this.tokenController.sendToken({
10174
10197
  content: tokenContent,
10175
10198
  expiresAt: expiresAt,
10176
10199
  ephemeral: true
10177
10200
  });
10178
- return ts_utils_1.Result.ok(await TokenMapper_1.TokenMapper.toTokenDTO(token, true));
10201
+ return ts_utils_1.Result.ok(TokenMapper_1.TokenMapper.toTokenDTO(token, true));
10179
10202
  }
10180
10203
  };
10181
10204
  CreateDeviceOnboardingTokenUseCase = __decorate([
@@ -10301,20 +10324,20 @@ class DeviceMapper {
10301
10324
  username: deviceSharedSecret.username
10302
10325
  };
10303
10326
  }
10304
- static async toDeviceSharedSecret(deviceOnboardingDTO) {
10305
- const sharedSecret = await transport_1.DeviceSharedSecret.from({
10327
+ static toDeviceSharedSecret(deviceOnboardingDTO) {
10328
+ const sharedSecret = transport_1.DeviceSharedSecret.from({
10306
10329
  id: transport_1.CoreId.from(deviceOnboardingDTO.id),
10307
10330
  createdAt: transport_1.CoreDate.from(deviceOnboardingDTO.createdAt),
10308
10331
  createdByDevice: transport_1.CoreId.from(deviceOnboardingDTO.createdByDevice),
10309
10332
  name: deviceOnboardingDTO.name,
10310
10333
  description: deviceOnboardingDTO.description,
10311
- secretBaseKey: await crypto_1.CryptoSecretKey.fromBase64(deviceOnboardingDTO.secretBaseKey),
10334
+ secretBaseKey: crypto_1.CryptoSecretKey.fromBase64(deviceOnboardingDTO.secretBaseKey),
10312
10335
  deviceIndex: deviceOnboardingDTO.deviceIndex,
10313
- synchronizationKey: await crypto_1.CryptoSecretKey.fromBase64(deviceOnboardingDTO.synchronizationKey),
10314
- identityPrivateKey: deviceOnboardingDTO.identityPrivateKey ? await crypto_1.CryptoSignaturePrivateKey.deserialize(deviceOnboardingDTO.identityPrivateKey) : undefined,
10336
+ synchronizationKey: crypto_1.CryptoSecretKey.fromBase64(deviceOnboardingDTO.synchronizationKey),
10337
+ identityPrivateKey: deviceOnboardingDTO.identityPrivateKey ? crypto_1.CryptoSignaturePrivateKey.deserialize(deviceOnboardingDTO.identityPrivateKey) : undefined,
10315
10338
  identity: {
10316
10339
  address: transport_1.CoreAddress.from(deviceOnboardingDTO.identity.address),
10317
- publicKey: await crypto_1.CryptoSignaturePublicKey.deserialize(deviceOnboardingDTO.identity.publicKey),
10340
+ publicKey: crypto_1.CryptoSignaturePublicKey.deserialize(deviceOnboardingDTO.identity.publicKey),
10318
10341
  realm: deviceOnboardingDTO.identity.realm
10319
10342
  },
10320
10343
  password: deviceOnboardingDTO.password,
@@ -10628,7 +10651,7 @@ let CreateTokenForFileUseCase = class CreateTokenForFileUseCase extends common_1
10628
10651
  if (!file) {
10629
10652
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.File));
10630
10653
  }
10631
- const tokenContent = await transport_1.TokenContentFile.from({
10654
+ const tokenContent = transport_1.TokenContentFile.from({
10632
10655
  fileId: file.id,
10633
10656
  secretKey: file.secretKey
10634
10657
  });
@@ -10643,7 +10666,7 @@ let CreateTokenForFileUseCase = class CreateTokenForFileUseCase extends common_1
10643
10666
  if (!ephemeral) {
10644
10667
  await this.accountController.syncDatawallet();
10645
10668
  }
10646
- return ts_utils_1.Result.ok(await TokenMapper_1.TokenMapper.toTokenDTO(token, ephemeral));
10669
+ return ts_utils_1.Result.ok(TokenMapper_1.TokenMapper.toTokenDTO(token, ephemeral));
10647
10670
  }
10648
10671
  };
10649
10672
  CreateTokenForFileUseCase = __decorate([
@@ -10708,7 +10731,7 @@ let CreateTokenQrCodeForFileUseCase = class CreateTokenQrCodeForFileUseCase exte
10708
10731
  if (!file) {
10709
10732
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.File));
10710
10733
  }
10711
- const tokenContent = await transport_1.TokenContentFile.from({
10734
+ const tokenContent = transport_1.TokenContentFile.from({
10712
10735
  fileId: file.id,
10713
10736
  secretKey: file.secretKey
10714
10737
  });
@@ -10719,7 +10742,7 @@ let CreateTokenQrCodeForFileUseCase = class CreateTokenQrCodeForFileUseCase exte
10719
10742
  expiresAt: tokenExpiry,
10720
10743
  ephemeral: true
10721
10744
  });
10722
- const qrCode = await common_1.QRCode.from(await token.truncate());
10745
+ const qrCode = await common_1.QRCode.from(token.truncate());
10723
10746
  return ts_utils_1.Result.ok({ qrCodeBytes: qrCode.asBase64() });
10724
10747
  }
10725
10748
  };
@@ -11068,7 +11091,7 @@ let LoadPeerFileUseCase = class LoadPeerFileUseCase extends common_1.UseCase {
11068
11091
  async executeInternal(request) {
11069
11092
  let createdFile;
11070
11093
  if (isLoadPeerFileViaSecret(request)) {
11071
- const key = await crypto_1.CryptoSecretKey.fromBase64(request.secretKey);
11094
+ const key = crypto_1.CryptoSecretKey.fromBase64(request.secretKey);
11072
11095
  createdFile = await this.loadFile(transport_1.CoreId.from(request.id), key);
11073
11096
  }
11074
11097
  else if (isLoadPeerFileViaReference(request)) {
@@ -12035,7 +12058,7 @@ let CreateTokenForOwnTemplateUseCase = class CreateTokenForOwnTemplateUseCase ex
12035
12058
  if (!template.isOwn) {
12036
12059
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.relationshipTemplates.cannotCreateTokenForPeerTemplate());
12037
12060
  }
12038
- const tokenContent = await transport_1.TokenContentRelationshipTemplate.from({
12061
+ const tokenContent = transport_1.TokenContentRelationshipTemplate.from({
12039
12062
  templateId: template.id,
12040
12063
  secretKey: template.secretKey
12041
12064
  });
@@ -12050,7 +12073,7 @@ let CreateTokenForOwnTemplateUseCase = class CreateTokenForOwnTemplateUseCase ex
12050
12073
  if (!ephemeral) {
12051
12074
  await this.accountController.syncDatawallet();
12052
12075
  }
12053
- return ts_utils_1.Result.ok(await TokenMapper_1.TokenMapper.toTokenDTO(token, ephemeral));
12076
+ return ts_utils_1.Result.ok(TokenMapper_1.TokenMapper.toTokenDTO(token, ephemeral));
12054
12077
  }
12055
12078
  };
12056
12079
  CreateTokenForOwnTemplateUseCase = __decorate([
@@ -12116,7 +12139,7 @@ let CreateTokenQrCodeForOwnTemplateUseCase = class CreateTokenQrCodeForOwnTempla
12116
12139
  if (!template.isOwn) {
12117
12140
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.relationshipTemplates.cannotCreateTokenForPeerTemplate());
12118
12141
  }
12119
- const tokenContent = await transport_1.TokenContentRelationshipTemplate.from({
12142
+ const tokenContent = transport_1.TokenContentRelationshipTemplate.from({
12120
12143
  templateId: template.id,
12121
12144
  secretKey: template.secretKey
12122
12145
  });
@@ -12127,7 +12150,7 @@ let CreateTokenQrCodeForOwnTemplateUseCase = class CreateTokenQrCodeForOwnTempla
12127
12150
  expiresAt: tokenExpiry,
12128
12151
  ephemeral: true
12129
12152
  });
12130
- const qrCode = await common_1.QRCode.from(await token.truncate());
12153
+ const qrCode = await common_1.QRCode.from(token.truncate());
12131
12154
  return ts_utils_1.Result.ok({ qrCodeBytes: qrCode.asBase64() });
12132
12155
  }
12133
12156
  };
@@ -12339,7 +12362,7 @@ let LoadPeerRelationshipTemplateUseCase = class LoadPeerRelationshipTemplateUseC
12339
12362
  async executeInternal(request) {
12340
12363
  let createdTemplate;
12341
12364
  if (request.id && request.secretKey) {
12342
- const key = await crypto_1.CryptoSecretKey.fromBase64(request.secretKey);
12365
+ const key = crypto_1.CryptoSecretKey.fromBase64(request.secretKey);
12343
12366
  createdTemplate = await this.loadTemplate(transport_1.CoreId.from(request.id), key);
12344
12367
  }
12345
12368
  else if (request.reference) {
@@ -13164,7 +13187,7 @@ let CreateOwnTokenUseCase = class CreateOwnTokenUseCase extends common_1.UseCase
13164
13187
  async executeInternal(request) {
13165
13188
  let tokenContent;
13166
13189
  try {
13167
- tokenContent = await ts_serval_1.SerializableAsync.from(request.content);
13190
+ tokenContent = ts_serval_1.Serializable.fromUnknown(request.content);
13168
13191
  }
13169
13192
  catch {
13170
13193
  throw common_1.RuntimeErrors.general.invalidTokenContent();
@@ -13177,7 +13200,7 @@ let CreateOwnTokenUseCase = class CreateOwnTokenUseCase extends common_1.UseCase
13177
13200
  if (!request.ephemeral) {
13178
13201
  await this.accountController.syncDatawallet();
13179
13202
  }
13180
- return ts_utils_1.Result.ok(await TokenMapper_1.TokenMapper.toTokenDTO(response, request.ephemeral));
13203
+ return ts_utils_1.Result.ok(TokenMapper_1.TokenMapper.toTokenDTO(response, request.ephemeral));
13181
13204
  }
13182
13205
  };
13183
13206
  CreateOwnTokenUseCase = __decorate([
@@ -13235,7 +13258,7 @@ let GetQRCodeForTokenUseCase = class GetQRCodeForTokenUseCase extends common_1.U
13235
13258
  if (!token) {
13236
13259
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.Token));
13237
13260
  }
13238
- const qrCode = await common_1.QRCode.from(await token.truncate());
13261
+ const qrCode = await common_1.QRCode.from(token.truncate());
13239
13262
  return ts_utils_1.Result.ok({ qrCodeBytes: qrCode.asBase64() });
13240
13263
  }
13241
13264
  };
@@ -13292,7 +13315,7 @@ let GetTokenUseCase = class GetTokenUseCase extends common_1.UseCase {
13292
13315
  if (!token) {
13293
13316
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound("Token"));
13294
13317
  }
13295
- return ts_utils_1.Result.ok(await TokenMapper_1.TokenMapper.toTokenDTO(token, false));
13318
+ return ts_utils_1.Result.ok(TokenMapper_1.TokenMapper.toTokenDTO(token, false));
13296
13319
  }
13297
13320
  };
13298
13321
  GetTokenUseCase = __decorate([
@@ -13345,7 +13368,7 @@ let GetTokensUseCase = class GetTokensUseCase extends common_1.UseCase {
13345
13368
  query[(0, ts_simple_nameof_1.nameof)((t) => t.isOwn)] = request.ownerRestriction === common_1.OwnerRestriction.Own;
13346
13369
  }
13347
13370
  const tokens = await this.tokenController.getTokens(query);
13348
- return ts_utils_1.Result.ok(await TokenMapper_1.TokenMapper.toTokenDTOList(tokens, false));
13371
+ return ts_utils_1.Result.ok(TokenMapper_1.TokenMapper.toTokenDTOList(tokens, false));
13349
13372
  }
13350
13373
  };
13351
13374
  GetTokensUseCase.queryTranslator = new docdb_querytranslator_1.QueryTranslator({
@@ -13440,7 +13463,7 @@ let LoadPeerTokenUseCase = class LoadPeerTokenUseCase extends common_1.UseCase {
13440
13463
  async executeInternal(request) {
13441
13464
  let createdToken;
13442
13465
  if (request.id && request.secretKey) {
13443
- const key = await crypto_1.CryptoSecretKey.fromBase64(request.secretKey);
13466
+ const key = crypto_1.CryptoSecretKey.fromBase64(request.secretKey);
13444
13467
  createdToken = await this.tokenController.loadPeerToken(transport_1.CoreId.from(request.id), key, request.ephemeral);
13445
13468
  }
13446
13469
  else if (request.reference) {
@@ -13452,7 +13475,7 @@ let LoadPeerTokenUseCase = class LoadPeerTokenUseCase extends common_1.UseCase {
13452
13475
  if (!request.ephemeral) {
13453
13476
  await this.accountController.syncDatawallet();
13454
13477
  }
13455
- return ts_utils_1.Result.ok(await TokenMapper_1.TokenMapper.toTokenDTO(createdToken, request.ephemeral));
13478
+ return ts_utils_1.Result.ok(TokenMapper_1.TokenMapper.toTokenDTO(createdToken, request.ephemeral));
13456
13479
  }
13457
13480
  };
13458
13481
  LoadPeerTokenUseCase = __decorate([
@@ -13481,11 +13504,11 @@ exports.TokenMapper = void 0;
13481
13504
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
13482
13505
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
13483
13506
  class TokenMapper {
13484
- static async toTokenDTO(token, ephemeral) {
13507
+ static toTokenDTO(token, ephemeral) {
13485
13508
  if (!token.cache) {
13486
13509
  throw common_1.RuntimeErrors.general.cacheEmpty(transport_1.Token, token.id.toString());
13487
13510
  }
13488
- const reference = await token.toTokenReference();
13511
+ const reference = token.toTokenReference();
13489
13512
  return {
13490
13513
  id: token.id.toString(),
13491
13514
  createdBy: token.cache.createdBy.toString(),
@@ -13498,8 +13521,8 @@ class TokenMapper {
13498
13521
  isEphemeral: ephemeral
13499
13522
  };
13500
13523
  }
13501
- static async toTokenDTOList(tokens, ephemeral) {
13502
- return await Promise.all(tokens.map((t) => TokenMapper.toTokenDTO(t, ephemeral)));
13524
+ static toTokenDTOList(tokens, ephemeral) {
13525
+ return tokens.map((t) => TokenMapper.toTokenDTO(t, ephemeral));
13503
13526
  }
13504
13527
  }
13505
13528
  exports.TokenMapper = TokenMapper;
@@ -19962,7 +19985,7 @@ const def = {
19962
19985
  for (let i = 0; i < oneOf.length; i++) {
19963
19986
  let sch = oneOf[i];
19964
19987
  if ((sch === null || sch === void 0 ? void 0 : sch.$ref) && !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES)) {
19965
- sch = compile_1.resolveRef.call(it.self, it.schemaEnv, it.baseId, sch === null || sch === void 0 ? void 0 : sch.$ref);
19988
+ sch = compile_1.resolveRef.call(it.self, it.schemaEnv.root, it.baseId, sch === null || sch === void 0 ? void 0 : sch.$ref);
19966
19989
  if (sch instanceof compile_1.SchemaEnv)
19967
19990
  sch = sch.schema;
19968
19991
  }
@@ -20259,7 +20282,8 @@ const def = {
20259
20282
  if (!$data && schema.length === 0)
20260
20283
  throw new Error("enum must have non-empty array");
20261
20284
  const useLoop = schema.length >= it.opts.loopEnum;
20262
- const eql = (0, util_1.useFunc)(gen, equal_1.default);
20285
+ let eql;
20286
+ const getEql = () => (eql !== null && eql !== void 0 ? eql : (eql = (0, util_1.useFunc)(gen, equal_1.default)));
20263
20287
  let valid;
20264
20288
  if (useLoop || $data) {
20265
20289
  valid = gen.let("valid");
@@ -20275,12 +20299,12 @@ const def = {
20275
20299
  cxt.pass(valid);
20276
20300
  function loopEnum() {
20277
20301
  gen.assign(valid, false);
20278
- gen.forOf("v", schemaCode, (v) => gen.if((0, codegen_1._) `${eql}(${data}, ${v})`, () => gen.assign(valid, true).break()));
20302
+ gen.forOf("v", schemaCode, (v) => gen.if((0, codegen_1._) `${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break()));
20279
20303
  }
20280
20304
  function equalCode(vSchema, i) {
20281
20305
  const sch = schema[i];
20282
20306
  return typeof sch === "object" && sch !== null
20283
- ? (0, codegen_1._) `${eql}(${data}, ${vSchema}[${i}])`
20307
+ ? (0, codegen_1._) `${getEql()}(${data}, ${vSchema}[${i}])`
20284
20308
  : (0, codegen_1._) `${data} === ${sch}`;
20285
20309
  }
20286
20310
  },
@@ -20454,7 +20478,7 @@ const codegen_1 = __webpack_require__(/*! ../../compile/codegen */ "./node_modul
20454
20478
  const error = {
20455
20479
  message({ keyword, schemaCode }) {
20456
20480
  const comp = keyword === "maxProperties" ? "more" : "fewer";
20457
- return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} items`;
20481
+ return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} properties`;
20458
20482
  },
20459
20483
  params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,
20460
20484
  };
@@ -29023,6 +29047,9 @@ var Formatter = /*#__PURE__*/function () {
29023
29047
  case "d":
29024
29048
  return "day";
29025
29049
 
29050
+ case "w":
29051
+ return "week";
29052
+
29026
29053
  case "M":
29027
29054
  return "month";
29028
29055
 
@@ -29272,7 +29299,6 @@ var SystemZone = /*#__PURE__*/function (_Zone) {
29272
29299
  return SystemZone;
29273
29300
  }(Zone);
29274
29301
 
29275
- RegExp("^" + ianaRegex.source + "$");
29276
29302
  var dtfCache = {};
29277
29303
 
29278
29304
  function makeDTF(zone) {
@@ -29285,7 +29311,8 @@ function makeDTF(zone) {
29285
29311
  day: "2-digit",
29286
29312
  hour: "2-digit",
29287
29313
  minute: "2-digit",
29288
- second: "2-digit"
29314
+ second: "2-digit",
29315
+ era: "short"
29289
29316
  });
29290
29317
  }
29291
29318
 
@@ -29296,34 +29323,38 @@ var typeToPos = {
29296
29323
  year: 0,
29297
29324
  month: 1,
29298
29325
  day: 2,
29299
- hour: 3,
29300
- minute: 4,
29301
- second: 5
29326
+ era: 3,
29327
+ hour: 4,
29328
+ minute: 5,
29329
+ second: 6
29302
29330
  };
29303
29331
 
29304
29332
  function hackyOffset(dtf, date) {
29305
29333
  var formatted = dtf.format(date).replace(/\u200E/g, ""),
29306
- parsed = /(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(formatted),
29334
+ parsed = /(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(formatted),
29307
29335
  fMonth = parsed[1],
29308
29336
  fDay = parsed[2],
29309
29337
  fYear = parsed[3],
29310
- fHour = parsed[4],
29311
- fMinute = parsed[5],
29312
- fSecond = parsed[6];
29313
- return [fYear, fMonth, fDay, fHour, fMinute, fSecond];
29338
+ fadOrBc = parsed[4],
29339
+ fHour = parsed[5],
29340
+ fMinute = parsed[6],
29341
+ fSecond = parsed[7];
29342
+ return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];
29314
29343
  }
29315
29344
 
29316
29345
  function partsOffset(dtf, date) {
29317
- var formatted = dtf.formatToParts(date),
29318
- filled = [];
29346
+ var formatted = dtf.formatToParts(date);
29347
+ var filled = [];
29319
29348
 
29320
29349
  for (var i = 0; i < formatted.length; i++) {
29321
29350
  var _formatted$i = formatted[i],
29322
29351
  type = _formatted$i.type,
29323
- value = _formatted$i.value,
29324
- pos = typeToPos[type];
29352
+ value = _formatted$i.value;
29353
+ var pos = typeToPos[type];
29325
29354
 
29326
- if (!isUndefined(pos)) {
29355
+ if (type === "era") {
29356
+ filled[pos] = value;
29357
+ } else if (!isUndefined(pos)) {
29327
29358
  filled[pos] = parseInt(value, 10);
29328
29359
  }
29329
29360
  }
@@ -29366,7 +29397,7 @@ var IANAZone = /*#__PURE__*/function (_Zone) {
29366
29397
  * @param {string} s - The string to check validity on
29367
29398
  * @example IANAZone.isValidSpecifier("America/New_York") //=> true
29368
29399
  * @example IANAZone.isValidSpecifier("Sport~~blorp") //=> false
29369
- * @deprecated This method returns false some valid IANA names. Use isValidZone instead
29400
+ * @deprecated This method returns false for some valid IANA names. Use isValidZone instead.
29370
29401
  * @return {boolean}
29371
29402
  */
29372
29403
  ;
@@ -29434,15 +29465,20 @@ var IANAZone = /*#__PURE__*/function (_Zone) {
29434
29465
  _proto.offset = function offset(ts) {
29435
29466
  var date = new Date(ts);
29436
29467
  if (isNaN(date)) return NaN;
29468
+ var dtf = makeDTF(this.name);
29437
29469
 
29438
- var dtf = makeDTF(this.name),
29439
- _ref2 = dtf.formatToParts ? partsOffset(dtf, date) : hackyOffset(dtf, date),
29470
+ var _ref2 = dtf.formatToParts ? partsOffset(dtf, date) : hackyOffset(dtf, date),
29440
29471
  year = _ref2[0],
29441
29472
  month = _ref2[1],
29442
29473
  day = _ref2[2],
29443
- hour = _ref2[3],
29444
- minute = _ref2[4],
29445
- second = _ref2[5]; // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat
29474
+ adOrBc = _ref2[3],
29475
+ hour = _ref2[4],
29476
+ minute = _ref2[5],
29477
+ second = _ref2[6];
29478
+
29479
+ if (adOrBc === "BC") {
29480
+ year = -Math.abs(year) + 1;
29481
+ } // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat
29446
29482
 
29447
29483
 
29448
29484
  var adjustedHour = hour === 24 ? 0 : hour;
@@ -31159,6 +31195,7 @@ var Duration = /*#__PURE__*/function () {
31159
31195
  * * `m` for minutes
31160
31196
  * * `h` for hours
31161
31197
  * * `d` for days
31198
+ * * `w` for weeks
31162
31199
  * * `M` for months
31163
31200
  * * `y` for years
31164
31201
  * Notes:
@@ -31185,8 +31222,9 @@ var Duration = /*#__PURE__*/function () {
31185
31222
  return this.isValid ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt) : INVALID$2;
31186
31223
  }
31187
31224
  /**
31188
- * Returns a string representation of a Duration with all units included
31189
- * To modify its behavior use the `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant. See {@link Intl.NumberFormat}.
31225
+ * Returns a string representation of a Duration with all units included.
31226
+ * To modify its behavior use the `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.
31227
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
31190
31228
  * @param opts - On option object to override the formatting. Accepts the same keys as the options parameter of the native `Int.NumberFormat` constructor, as well as `listStyle`.
31191
31229
  * @example
31192
31230
  * ```js
@@ -33459,7 +33497,13 @@ function unitOutOfRange(unit, value) {
33459
33497
  }
33460
33498
 
33461
33499
  function dayOfWeek(year, month, day) {
33462
- var js = new Date(Date.UTC(year, month - 1, day)).getUTCDay();
33500
+ var d = new Date(Date.UTC(year, month - 1, day));
33501
+
33502
+ if (year < 100 && year >= 0) {
33503
+ d.setUTCFullYear(d.getUTCFullYear() - 1900);
33504
+ }
33505
+
33506
+ var js = d.getUTCDay();
33463
33507
  return js === 0 ? 7 : js;
33464
33508
  }
33465
33509
 
@@ -33887,9 +33931,6 @@ function normalizeUnit(unit) {
33887
33931
  } // this is a dumbed down version of fromObject() that runs about 60% faster
33888
33932
  // but doesn't do any validation, makes a bunch of assumptions about what units
33889
33933
  // are present, and so on.
33890
- // this is a dumbed down version of fromObject() that runs about 60% faster
33891
- // but doesn't do any validation, makes a bunch of assumptions about what units
33892
- // are present, and so on.
33893
33934
 
33894
33935
 
33895
33936
  function quickDT(obj, opts) {
@@ -34591,7 +34632,7 @@ var DateTime = /*#__PURE__*/function () {
34591
34632
  }
34592
34633
  }
34593
34634
  /**
34594
- * Check if an object is a DateTime. Works across context boundaries
34635
+ * Check if an object is an instance of DateTime. Works across context boundaries
34595
34636
  * @param {object} o
34596
34637
  * @return {boolean}
34597
34638
  */
@@ -36189,7 +36230,7 @@ function friendlyDateTime(dateTimeish) {
36189
36230
  }
36190
36231
  }
36191
36232
 
36192
- var VERSION = "2.3.1";
36233
+ var VERSION = "2.3.2";
36193
36234
 
36194
36235
  exports.DateTime = DateTime;
36195
36236
  exports.Duration = Duration;