@resolveio/client-lib-core 15.0.1 → 15.0.3

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.
@@ -463,34 +463,52 @@ function toDataURL(url, callback) {
463
463
  xhr.responseType = 'blob';
464
464
  xhr.send();
465
465
  }
466
- function getDeepDiffDetails(obj1, obj2) {
466
+ function deepDiffDetails(obj1, obj2) {
467
467
  let diff = detailedDiff(obj2, obj1);
468
468
  let diffString = '';
469
+ const formatValue = (value) => {
470
+ if (moment.isDate(value) || moment(value, moment.ISO_8601, true).isValid()) {
471
+ return moment(value).format('llll');
472
+ }
473
+ return typeof value === 'string' ? `"${value}"` : String(value);
474
+ };
475
+ const formatArrayDiff = (arr1, arr2) => {
476
+ let maxLength = Math.max(arr1.length, arr2.length);
477
+ let arrayDiff = [];
478
+ for (let i = 0; i < maxLength; i++) {
479
+ if (i >= arr1.length) {
480
+ arrayDiff.push(`added: ${formatValue(arr2[i])}`);
481
+ continue;
482
+ }
483
+ if (i >= arr2.length) {
484
+ arrayDiff.push(`removed: ${formatValue(arr1[i])}`);
485
+ continue;
486
+ }
487
+ if (arr1[i] !== arr2[i]) {
488
+ arrayDiff.push(`from: ${formatValue(arr1[i])} to: ${formatValue(arr2[i])}`);
489
+ }
490
+ }
491
+ return `[${arrayDiff.join(', ')}]`;
492
+ };
469
493
  const formatObjectDiff = (obj1, obj2) => {
470
- if (!obj1 || !obj2)
471
- return '';
472
- return Object.keys(obj1)
473
- .map(key => {
474
- if (Array.isArray(obj1[key]) && Array.isArray(obj2[key])) {
475
- const arrayDiff = obj1[key].map((item, index) => typeof item === 'object' && obj2[key][index]
476
- ? `{${formatObjectDiff(item, obj2[key][index])}}`
477
- : `"${item}" to "${obj2[key][index]}"`).join(', ');
478
- return `${toTitleCase(key)}: [${arrayDiff}]`;
479
- }
480
- if (typeof obj1[key] === 'object' && obj2[key]) {
494
+ if (obj1 === null || obj2 === null || typeof obj1 !== 'object' || typeof obj2 !== 'object') {
495
+ return `from: ${formatValue(obj1)} to: ${formatValue(obj2)}`;
496
+ }
497
+ if (Array.isArray(obj1) && Array.isArray(obj2)) {
498
+ return formatArrayDiff(obj1, obj2);
499
+ }
500
+ return Object.keys(obj1).map(key => {
501
+ if (typeof obj1[key] === 'object' && obj1[key] !== null && obj2[key] !== null) {
481
502
  return `${toTitleCase(key)}: {${formatObjectDiff(obj1[key], obj2[key])}}`;
482
503
  }
483
- return `${toTitleCase(key)}: "${obj1[key]}" to "${obj2[key]}"`;
484
- })
485
- .join(', ');
504
+ return `${toTitleCase(key)}: from: ${formatValue(obj1[key])} to: ${formatValue(obj2[key])}`;
505
+ }).join(', ');
486
506
  };
487
- if (Object.keys(diff['updated']).length > 0) {
507
+ if (Object.keys(diff.updated).length > 0) {
488
508
  diffString += 'Updated:\n';
489
- const updates = Object.keys(diff['updated'])
490
- .filter(key => key.substr(0, 2) !== 'id' && diff['updated'][key] !== obj2[key])
491
- .map(key => moment.isDate(diff['updated'][key])
492
- ? `${toTitleCase(key)}: "${moment(diff['updated'][key]).format('llll')}" to "${moment(obj2[key]).format('llll')}"`
493
- : `${toTitleCase(key)}: {${formatObjectDiff(diff['updated'][key], obj2[key])}}`)
509
+ const updates = Object.keys(diff.updated)
510
+ .filter(key => key.substr(0, 2) !== 'id' && diff.updated[key] !== obj2[key])
511
+ .map(key => `${toTitleCase(key)}: {${formatObjectDiff(diff.updated[key], obj2[key])}}`)
494
512
  .join(',\n');
495
513
  diffString += updates ? `${updates}\n` : '';
496
514
  }
@@ -8774,5 +8792,5 @@ const SuperAdminModulePermission = {
8774
8792
  * Generated bundle index. Do not edit.
8775
8793
  */
8776
8794
 
8777
- export { AccountManagerService, AlertService, Auth365Component, AuthGuard, AuthPermissionService, AuthService, AwsService, BaseComponent, CanDeactivateGuard, CollapseTableComponent, CollapseTableModule, CoreComponent, CoreModule, CoreService, DatatableComponent, DatatableModule, DateShortcutComponent, DateShortcutModule, DialogService, DomSanitizorPipe, EnrollComponent, FileModule, FileUploadComponent, FilterEqualPipe, FilterNotEqualPipe, FocusDirective, ForgotPasswordComponent, FormButtonComponent, FormButtonModule, HomeComponent, JsonParsePipe, LoggerComponent, MinusCurrencyPipe, NavbarMainComponent, NavbarModuleComponent, OfflineManagerService, PhonePipe, PipeModule, ProviderService, ReportBuilderModulePermission, ResizeService, ResponsiveButtonGroupComponent, ResponsiveButtonGroupModule, ReversePipe, SchedulerComponent, SchedulerModule, ScrollDirective, SharedModule, SocketManagerService, SocketService, SortTableDirective, SortTableHeaderComponent, SortTableModule, SortTableNgForComponent, StorageDB, SuperAdminModulePermission, SupportTicketComponent, SupportTicketDetailComponent, SupportTicketEditComponent, SupportTicketListComponent, SupportTicketModule, SupportTicketNewComponent, SupportTicketRouting, SupportTicketService, TitleCaseAndUnderscorePipe, TokenManagerService, UserRoleComponent, UserRoleModule, ValidationService, WindowRefService, b64toBlobURL, blobToFile, dateReviver, deepCopy, generateCronStringFromDate, getDeepDiffDetails, isUpperCase, mergeDeep, pad, s2ab, toDataURL, toTitleCase, type };
8795
+ export { AccountManagerService, AlertService, Auth365Component, AuthGuard, AuthPermissionService, AuthService, AwsService, BaseComponent, CanDeactivateGuard, CollapseTableComponent, CollapseTableModule, CoreComponent, CoreModule, CoreService, DatatableComponent, DatatableModule, DateShortcutComponent, DateShortcutModule, DialogService, DomSanitizorPipe, EnrollComponent, FileModule, FileUploadComponent, FilterEqualPipe, FilterNotEqualPipe, FocusDirective, ForgotPasswordComponent, FormButtonComponent, FormButtonModule, HomeComponent, JsonParsePipe, LoggerComponent, MinusCurrencyPipe, NavbarMainComponent, NavbarModuleComponent, OfflineManagerService, PhonePipe, PipeModule, ProviderService, ReportBuilderModulePermission, ResizeService, ResponsiveButtonGroupComponent, ResponsiveButtonGroupModule, ReversePipe, SchedulerComponent, SchedulerModule, ScrollDirective, SharedModule, SocketManagerService, SocketService, SortTableDirective, SortTableHeaderComponent, SortTableModule, SortTableNgForComponent, StorageDB, SuperAdminModulePermission, SupportTicketComponent, SupportTicketDetailComponent, SupportTicketEditComponent, SupportTicketListComponent, SupportTicketModule, SupportTicketNewComponent, SupportTicketRouting, SupportTicketService, TitleCaseAndUnderscorePipe, TokenManagerService, UserRoleComponent, UserRoleModule, ValidationService, WindowRefService, b64toBlobURL, blobToFile, dateReviver, deepCopy, deepDiffDetails, generateCronStringFromDate, isUpperCase, mergeDeep, pad, s2ab, toDataURL, toTitleCase, type };
8778
8796
  //# sourceMappingURL=resolveio-client-lib-core.mjs.map