fixes after merge

This commit is contained in:
Giuseppe Digilio
2019-03-26 10:04:05 +01:00
parent c9cd9ce215
commit b871148cc9
28 changed files with 84 additions and 103 deletions

View File

@@ -9,7 +9,7 @@ export class NormalizedSearchResult implements ListableObject {
/**
* The UUID of the DSpaceObject that was found
*/
@autoserializeAs(String, 'rObject')
@autoserializeAs(String, 'resultObject')
dspaceObject: string;
/**

View File

@@ -33,6 +33,7 @@ describe('SearchFacetOptionComponent', () => {
maxValue: 3000,
});
const value: FacetValue = {
label: value2,
value: value2,
count: 20,
search: ''

View File

@@ -1,5 +1,5 @@
import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs';
import { map, take } from 'rxjs/operators';
import { map } from 'rxjs/operators';
import { Component, Input, OnDestroy, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { FacetValue } from '../../../../search-service/facet-value.model';

View File

@@ -35,6 +35,7 @@ describe('SearchFacetRangeOptionComponent', () => {
maxValue: 3000,
});
const value: FacetValue = {
label: value2,
value: value2,
count: 20,
search: ''
@@ -92,6 +93,7 @@ describe('SearchFacetRangeOptionComponent', () => {
it('should update the changeQueryParams with the new parameter values', () => {
comp.changeQueryParams = {};
comp.filterValue = {
label: '50-60',
value: '50-60',
count: 20,
search: ''

View File

@@ -35,14 +35,17 @@ describe('SearchFacetFilterComponent', () => {
});
const values: FacetValue[] = [
{
label: value1,
value: value1,
count: 52,
search: ''
}, {
label: value2,
value: value2,
count: 20,
search: ''
}, {
label: value3,
value: value3,
count: 5,
search: ''

View File

@@ -1,9 +1,4 @@
import {
SearchFilterAction,
SearchFilterActionTypes,
SearchFilterInitializeAction
} from './search-filter.actions';
import { isEmpty, isNotUndefined } from '../../../shared/empty.util';
import { SearchFilterAction, SearchFilterActionTypes, SearchFilterInitializeAction } from './search-filter.actions';
/**
* Interface that represents the state for a single filters

View File

@@ -41,14 +41,17 @@ describe('SearchRangeFilterComponent', () => {
});
const values: FacetValue[] = [
{
label: value1,
value: value1,
count: 52,
search: ''
}, {
label: value2,
value: value2,
count: 20,
search: ''
}, {
label: value3,
value: value3,
count: 5,
search: ''

View File

@@ -1,7 +1,7 @@
import { Component, Inject } from '@angular/core';
import { Component, Inject, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { map, switchMap, tap } from 'rxjs/operators';
import { SearchService } from '../search-service/search.service';
import { RemoteData } from '../../core/data/remote-data';
@@ -20,7 +20,7 @@ import { SEARCH_CONFIG_SERVICE } from '../../+my-dspace-page/my-dspace-page.comp
/**
* This component represents the part of the search sidebar that contains filters.
*/
export class SearchFiltersComponent {
export class SearchFiltersComponent implements OnInit {
/**
* An observable containing configuration about which filters are shown and how they are shown
*/
@@ -43,8 +43,16 @@ export class SearchFiltersComponent {
@Inject(SEARCH_CONFIG_SERVICE) private searchConfigService: SearchConfigurationService,
private filterService: SearchFilterService) {
this.filters = searchService.getConfig().pipe(getSucceededRemoteData());
this.clearParams = searchConfigService.getCurrentFrontendFilters().pipe(map((filters) => {
}
ngOnInit(): void {
this.filters = this.searchConfigService.searchOptions.pipe(
tap((o) => console.log(o)),
switchMap((options) => this.searchService.getConfig(options.scope, options.configuration).pipe(getSucceededRemoteData()))
);
this.clearParams = this.searchConfigService.getCurrentFrontendFilters().pipe(map((filters) => {
Object.keys(filters).forEach((f) => filters[f] = null);
return filters;
}));
@@ -63,4 +71,5 @@ export class SearchFiltersComponent {
trackUpdate(index, config: SearchFilterConfig) {
return config ? config.name : undefined;
}
}

View File

@@ -5,9 +5,6 @@ import { SharedModule } from '../shared/shared.module';
import { SearchPageRoutingModule } from './search-page-routing.module';
import { SearchPageComponent } from './search-page.component';
import { SearchResultsComponent } from './search-results/search-results.component';
import { ItemSearchResultListElementComponent } from '../shared/object-list/search-result-list-element/item-search-result/item-search-result-list-element.component';
import { CollectionSearchResultListElementComponent } from '../shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component';
import { CommunitySearchResultListElementComponent } from '../shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component';
import { ItemSearchResultGridElementComponent } from '../shared/object-grid/search-result-grid-element/item-search-result/item-search-result-grid-element.component';
import { CommunitySearchResultGridElementComponent } from '../shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component'
import { CollectionSearchResultGridElementComponent } from '../shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component';
@@ -41,13 +38,9 @@ const components = [
SearchResultsComponent,
SearchSidebarComponent,
SearchSettingsComponent,
ItemSearchResultListElementComponent,
CollectionSearchResultListElementComponent,
CommunitySearchResultListElementComponent,
ItemSearchResultGridElementComponent,
CollectionSearchResultGridElementComponent,
CommunitySearchResultGridElementComponent,
CommunitySearchResultListElementComponent,
SearchFiltersComponent,
SearchFilterComponent,
SearchFacetFilterComponent,
@@ -79,9 +72,6 @@ const components = [
SearchConfigurationService
],
entryComponents: [
ItemSearchResultListElementComponent,
CollectionSearchResultListElementComponent,
CommunitySearchResultListElementComponent,
ItemSearchResultGridElementComponent,
CollectionSearchResultGridElementComponent,
CommunitySearchResultGridElementComponent,

View File

@@ -1,18 +1,19 @@
import * as ngrx from '@ngrx/store';
import { Store } from '@ngrx/store';
import { of as observableOf } from 'rxjs';
import { ObjectCacheService } from './object-cache.service';
import {
AddPatchObjectCacheAction,
AddToObjectCacheAction, ApplyPatchObjectCacheAction,
AddToObjectCacheAction,
ApplyPatchObjectCacheAction,
RemoveFromObjectCacheAction
} from './object-cache.actions';
import { CoreState } from '../core.reducers';
import { ResourceType } from '../shared/resource-type';
import { NormalizedItem } from './models/normalized-item.model';
import { first } from 'rxjs/operators';
import * as ngrx from '@ngrx/store';
import { Operation } from '../../../../node_modules/fast-json-patch';
import { Operation } from 'fast-json-patch';
import { RestRequestMethod } from '../data/rest-request-method';
import { AddToSSBAction } from './server-sync-buffer.actions';
import { Patch } from './object-cache.reducer';

View File

@@ -4,7 +4,7 @@ import { applyPatch, Operation } from 'fast-json-patch';
import { combineLatest as observableCombineLatest, Observable } from 'rxjs';
import { distinctUntilChanged, filter, map, mergeMap, take, } from 'rxjs/operators';
import { hasNoValue, hasValue, isNotEmpty } from '../../shared/empty.util';
import { hasNoValue, isNotEmpty } from '../../shared/empty.util';
import { CoreState } from '../core.reducers';
import { coreSelector } from '../core.selectors';
import { RestRequestMethod } from '../data/rest-request-method';

View File

@@ -9,13 +9,12 @@ import { Observable, of as observableOf } from 'rxjs';
import { FindAllOptions } from './request.models';
import { SortDirection, SortOptions } from '../cache/models/sort-options.model';
import { ObjectCacheService } from '../cache/object-cache.service';
import { Operation } from '../../../../node_modules/fast-json-patch';
import { compare, Operation } from 'fast-json-patch';
import { DSpaceObject } from '../shared/dspace-object.model';
import { ChangeAnalyzer } from './change-analyzer';
import { HttpClient } from '@angular/common/http';
import { NormalizedObjectBuildService } from '../cache/builders/normalized-object-build.service';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { compare } from 'fast-json-patch';
import { Item } from '../shared/item.model';
const endpoint = 'https://rest.api/core';

View File

@@ -40,7 +40,7 @@ export class MyDSpaceResponseParsingService implements ResponseParsingService {
const dsoSelfLinks = payload._embedded.objects
.filter((object) => hasValue(object._embedded))
.map((object) => object._embedded.rObject)
.map((object) => object._embedded.resultObject)
.map((dso) => this.dsoParser.parse(request, {
payload: dso,
statusCode: data.statusCode,
@@ -52,7 +52,7 @@ export class MyDSpaceResponseParsingService implements ResponseParsingService {
const objects = payload._embedded.objects
.filter((object) => hasValue(object._embedded))
.map((object, index) => Object.assign({}, object, {
rObject: dsoSelfLinks[index],
resultObject: dsoSelfLinks[index],
hitHighlights: hitHighlights[index],
_embedded: this.filterEmbeddedObjects(object)
}));
@@ -63,13 +63,13 @@ export class MyDSpaceResponseParsingService implements ResponseParsingService {
protected filterEmbeddedObjects(object) {
const allowedEmbeddedKeys = ['submitter', 'item', 'workspaceitem', 'workflowitem'];
if (object._embedded.rObject && object._embedded.rObject._embedded) {
if (object._embedded.resultObject && object._embedded.resultObject._embedded) {
return Object.assign({}, object._embedded, {
rObject: Object.assign({}, object._embedded.rObject, {
_embedded: Object.keys(object._embedded.rObject._embedded)
resultObject: Object.assign({}, object._embedded.resultObject, {
_embedded: Object.keys(object._embedded.resultObject._embedded)
.filter((key) => allowedEmbeddedKeys.includes(key))
.reduce((obj, key) => {
obj[key] = object._embedded.rObject._embedded[key];
obj[key] = object._embedded.resultObject._embedded[key];
return obj;
}, {})
})

View File

@@ -5,7 +5,8 @@ import { coreSelector } from '../../core.selectors';
import {
FieldState,
FieldUpdates,
Identifiable, OBJECT_UPDATES_TRASH_PATH,
Identifiable,
OBJECT_UPDATES_TRASH_PATH,
ObjectUpdatesEntry,
ObjectUpdatesState
} from './object-updates.reducer';
@@ -17,9 +18,10 @@ import {
InitializeFieldsAction,
ReinstateObjectUpdatesAction,
RemoveFieldUpdateAction,
SetEditableFieldUpdateAction, SetValidFieldUpdateAction
SetEditableFieldUpdateAction,
SetValidFieldUpdateAction
} from './object-updates.actions';
import { distinctUntilChanged, filter, map, tap } from 'rxjs/operators';
import { distinctUntilChanged, filter, map } from 'rxjs/operators';
import { hasNoValue, hasValue, isEmpty, isNotEmpty } from '../../../shared/empty.util';
import { INotification } from '../../../shared/notifications/models/notification.model';
@@ -212,6 +214,7 @@ export class ObjectUpdatesService {
/**
* Method to dispatch an RemoveFieldUpdateAction to the store
* @param url The page's URL for which the changes should be removed
* @param uuid The UUID of the field that should be set
*/
removeSingleFieldUpdate(url: string, uuid) {
this.store.dispatch(new RemoveFieldUpdateAction(url, uuid));

View File

@@ -14,7 +14,6 @@ import { RestRequestMethod } from './rest-request-method';
import { SearchParam } from '../cache/models/search-param.model';
import { EpersonResponseParsingService } from '../eperson/eperson-response-parsing.service';
import { BrowseItemsResponseParsingService } from './browse-items-response-parsing-service';
import { RegistryMetadataschemasResponseParsingService } from './registry-metadataschemas-response-parsing.service';
import { MetadataschemaParsingService } from './metadataschema-parsing.service';
import { MetadatafieldParsingService } from './metadatafield-parsing.service';
import { URLCombiner } from '../url-combiner/url-combiner';

View File

@@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { createSelector, MemoizedSelector, select, Store } from '@ngrx/store';
import { merge as observableMerge, Observable, of as observableOf, race as observableRace } from 'rxjs';
import { filter, find, first, map, mergeMap, switchMap, take } from 'rxjs/operators';
import { Observable, race as observableRace } from 'rxjs';
import { filter, find, mergeMap, take } from 'rxjs/operators';
import { remove } from 'lodash';
import { AppState } from '../../app.reducer';
import { hasNoValue, hasValue, isEmpty, isNotEmpty } from '../../shared/empty.util';
import { hasValue, isEmpty, isNotEmpty } from '../../shared/empty.util';
import { CacheableObject } from '../cache/object-cache.reducer';
import { ObjectCacheService } from '../cache/object-cache.service';
import { CoreState } from '../core.reducers';
@@ -17,11 +17,7 @@ import {
uuidFromHrefSelector
} from '../index/index.selectors';
import { UUIDService } from '../shared/uuid.service';
import {
RequestConfigureAction,
RequestExecuteAction,
RequestRemoveAction
} from './request.actions';
import { RequestConfigureAction, RequestExecuteAction, RequestRemoveAction } from './request.actions';
import { GetRequest, RestRequest } from './request.models';
import { RequestEntry, RequestState } from './request.reducer';
import { CommitSSBAction } from '../cache/server-sync-buffer.actions';
@@ -52,7 +48,6 @@ const entryFromUUIDSelector = (uuid: string): MemoizedSelector<CoreState, Reques
* Create a selector that fetches a list of request UUIDs from a given index substate of which the request href
* contains a given substring
* @param selector MemoizedSelector to start from
* @param name The name of the index substate we're fetching request UUIDs from
* @param href Substring that the request's href should contain
*/
const uuidsFromHrefSubstringSelector =

View File

@@ -37,7 +37,7 @@ export class SearchResponseParsingService implements ResponseParsingService {
const dsoSelfLinks = payload._embedded.objects
.filter((object) => hasValue(object._embedded))
.map((object) => object._embedded.rObject)
.map((object) => object._embedded.resultObject)
// we don't need embedded collections, bitstreamformats, etc for search results.
// And parsing them all takes up a lot of time. Throw them away to improve performance
// until objs until partial results are supported by the rest api
@@ -53,7 +53,7 @@ export class SearchResponseParsingService implements ResponseParsingService {
const objects = payload._embedded.objects
.filter((object) => hasValue(object._embedded))
.map((object, index) => Object.assign({}, object, {
rObject: dsoSelfLinks[index],
resultObject: dsoSelfLinks[index],
hitHighlights: hitHighlights[index],
// we don't need embedded collections, bitstreamformats, etc for search results.
// And parsing them all takes up a lot of time. Throw them away to improve performance

View File

@@ -1,7 +1,8 @@
// @TODO: Merge with keySelector function present in 'src/app/core/shared/selectors.ts'
import { createSelector, MemoizedSelector, Selector } from '@ngrx/store';
import { hasValue } from '../../shared/empty.util';
import { coreSelector, CoreState } from '../core.reducers';
import { CoreState } from '../core.reducers';
import { coreSelector } from '../core.selectors';
import { JsonPatchOperationsEntry, JsonPatchOperationsResourceEntry } from './json-patch-operations.reducer';
export function keySelector<T, V>(parentSelector: Selector<any, any>, subState: string, key: string): MemoizedSelector<T, V> {

View File

@@ -1,4 +1,4 @@
import { async, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TranslateModule } from '@ngx-translate/core';
import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core';
import { DSOSelectorComponent } from './dso-selector.component';

View File

@@ -1,7 +1,5 @@
import { Component, Input, OnInit } from '@angular/core';
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, NavigationExtras, Router } from '@angular/router';
import { Community } from '../../../../core/shared/community.model';
import { RemoteData } from '../../../../core/data/remote-data';
import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model';
import { DSpaceObject } from '../../../../core/shared/dspace-object.model';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
@@ -9,10 +7,7 @@ import {
COLLECTION_PARENT_PARAMETER,
getCollectionCreatePath
} from '../../../../+collection-page/collection-page-routing.module';
import {
DSOSelectorModalWrapperComponent,
SelectorActionType
} from '../dso-selector-modal-wrapper.component';
import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component';
/**
* Component to wrap a list of existing communities inside a modal

View File

@@ -1,18 +1,9 @@
import { Component, Input, OnInit } from '@angular/core';
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { Community } from '../../../../core/shared/community.model';
import { RemoteData } from '../../../../core/data/remote-data';
import { Collection } from '../../../../core/shared/collection.model';
import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model';
import { DSpaceObject } from '../../../../core/shared/dspace-object.model';
import { hasValue } from '../../../empty.util';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { map } from 'rxjs/operators';
import { Observable } from 'rxjs';
import {
DSOSelectorModalWrapperComponent,
SelectorActionType
} from '../dso-selector-modal-wrapper.component';
import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component';
/**
* Component to wrap a list of existing collections inside a modal

View File

@@ -5,10 +5,7 @@ import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'
import { RemoteData } from '../../../core/data/remote-data';
import { Item } from '../../../core/shared/item.model';
import { of as observableOf } from 'rxjs';
import {
DSOSelectorModalWrapperComponent,
SelectorActionType
} from './dso-selector-modal-wrapper.component';
import { DSOSelectorModalWrapperComponent, SelectorActionType } from './dso-selector-modal-wrapper.component';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { ActivatedRoute } from '@angular/router';
import { DSpaceObject } from '../../../core/shared/dspace-object.model';
@@ -16,7 +13,7 @@ import { first } from 'rxjs/operators';
import { By } from '@angular/platform-browser';
import { DSOSelectorComponent } from '../dso-selector/dso-selector.component';
import { MockComponent } from 'ng-mocks';
import { MetadataMap, MetadataValue } from '../../../core/shared/metadata.models';
import { MetadataValue } from '../../../core/shared/metadata.models';
describe('DSOSelectorModalWrapperComponent', () => {
let component: DSOSelectorModalWrapperComponent;

View File

@@ -1,4 +1,4 @@
import { Component, Injectable, Input, OnInit } from '@angular/core';
import { Injectable, Input, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Observable } from 'rxjs';
import { DSpaceObject } from '../../../core/shared/dspace-object.model';

View File

@@ -1,19 +1,10 @@
import { Component, Input, OnInit } from '@angular/core';
import { ActivatedRoute, NavigationExtras, Router } from '@angular/router';
import { Community } from '../../../../core/shared/community.model';
import { RemoteData } from '../../../../core/data/remote-data';
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model';
import { DSpaceObject } from '../../../../core/shared/dspace-object.model';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { Collection } from '../../../../core/shared/collection.model';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { Item } from '../../../../core/shared/item.model';
import { getItemEditPath } from '../../../../+item-page/item-page-routing.module';
import {
DSOSelectorModalWrapperComponent,
SelectorActionType
} from '../dso-selector-modal-wrapper.component';
import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component';
/**
* Component to wrap a list of existing items inside a modal

View File

@@ -1,5 +1,4 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TextMenuItemComponent } from './text-menu-item.component';
import { TranslateModule } from '@ngx-translate/core';
import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser';

View File

@@ -126,7 +126,6 @@ import { ItemSearchResultListElementComponent } from './object-list/search-resul
import { EditItemSelectorComponent } from './dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component';
import { EditCommunitySelectorComponent } from './dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component';
import { EditCollectionSelectorComponent } from './dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component';
import { DSOSelectorModalWrapperComponent } from './dso-selector/modal-wrappers/dso-selector-modal-wrapper.component';
import { ItemListPreviewComponent } from './object-list/item-list-preview/item-list-preview.component';
import { ItemPageAuthorFieldComponent } from '../+item-page/simple/field-components/specific-field/author/item-page-author-field.component';
import { ItemPageDateFieldComponent } from '../+item-page/simple/field-components/specific-field/date/item-page-date-field.component';

View File

@@ -285,6 +285,7 @@
"@types/circular-json@^0.4.0":
version "0.4.0"
resolved "https://registry.yarnpkg.com/@types/circular-json/-/circular-json-0.4.0.tgz#7401f7e218cfe87ad4c43690da5658b9acaf51be"
integrity sha512-7+kYB7x5a7nFWW1YPBh3KxhwKfiaI4PbZ1RvzBU91LZy7lWJO822CI+pqzSre/DZ7KsCuMKdHnLHHFu8AyXbQg==
"@types/connect@*":
version "3.4.32"
@@ -448,6 +449,7 @@
"@types/stacktrace-js@^0.0.32":
version "0.0.32"
resolved "https://registry.yarnpkg.com/@types/stacktrace-js/-/stacktrace-js-0.0.32.tgz#d23e4a36a5073d39487fbea8234cc6186862d389"
integrity sha512-SdxmlrHfO0BxgbBP9HZWMUo2rima8lwMjPiWm6S0dyKkDa5CseamktFhXg8umu3TPVBkSlX6ZoB5uUDJK89yvg==
"@types/strip-bom@^3.0.0":
version "3.0.0"
@@ -1881,6 +1883,7 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
circular-json@^0.5.0:
version "0.5.9"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.5.9.tgz#932763ae88f4f7dead7a0d09c8a51a4743a53b1d"
integrity sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==
circular-json@^0.5.5:
version "0.5.5"
@@ -3052,6 +3055,7 @@ error-ex@^1.2.0, error-ex@^1.3.1:
error-stack-parser@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.2.tgz#4ae8dbaa2bf90a8b450707b9149dcabca135520d"
integrity sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==
dependencies:
stackframe "^1.0.4"
@@ -8418,6 +8422,7 @@ rx@^4.1.0:
rxjs-spy@^7.5.1:
version "7.5.1"
resolved "https://registry.yarnpkg.com/rxjs-spy/-/rxjs-spy-7.5.1.tgz#1a9ef50bc8d7dd00d9ecf3c54c00929231eaf319"
integrity sha512-dJ9mO4HvW2r16PsU15Qsc0RVkG7pFrfyCNTGx3vrxWje3kIgZ6QjMVnWblQxbniZ32lwLk/2x9+D2O6GhgXV/w==
dependencies:
"@types/circular-json" "^0.4.0"
"@types/stacktrace-js" "^0.0.32"
@@ -8936,6 +8941,7 @@ source-map@0.5.0:
source-map@0.5.6:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
integrity sha1-dc449SvwczxafwwRjYEzSiu19BI=
source-map@0.7.3:
version "0.7.3"
@@ -9079,10 +9085,12 @@ ssri@^5.2.4:
stackframe@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b"
integrity sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==
stacktrace-gps@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.2.tgz#33f8baa4467323ab2bd1816efa279942ba431ccc"
integrity sha512-9o+nWhiz5wFnrB3hBHs2PTyYrS60M1vvpSzHxwxnIbtY2q9Nt51hZvhrG1+2AxD374ecwyS+IUwfkHRE/2zuGg==
dependencies:
source-map "0.5.6"
stackframe "^1.0.4"