@visactor/vchart 2.1.0-alpha.3 → 2.1.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.es.js CHANGED
@@ -60786,29 +60786,38 @@ class Compiler {
60786
60786
  }
60787
60787
  renderMarks() {
60788
60788
  var _a;
60789
- if (!this._hasCommitedMark()) {
60789
+ let hasCommitedMark = this._hasCommitedMark();
60790
+ const needsLayout = this._layoutState === LayoutState.before;
60791
+ if (!hasCommitedMark && !needsLayout) {
60790
60792
  return;
60791
60793
  }
60792
60794
  log(`--- start of renderMarks(${this._count}) ---`);
60793
60795
  this.clearProgressive();
60794
- this._rootMarks.forEach(mark => {
60795
- mark.render();
60796
- });
60797
- if (this._layoutState === LayoutState.before) {
60796
+ if (hasCommitedMark) {
60797
+ this._rootMarks.forEach(mark => {
60798
+ mark.render();
60799
+ });
60800
+ }
60801
+ if (needsLayout) {
60798
60802
  this._layoutState = LayoutState.layouting;
60799
60803
  (_a = this._compileChart) === null || _a === void 0 ? void 0 : _a.onLayout();
60800
60804
  this._layoutState = LayoutState.reevaluate;
60801
- if (this._hasCommitedMark()) {
60805
+ hasCommitedMark = this._hasCommitedMark();
60806
+ if (hasCommitedMark) {
60802
60807
  this._rootMarks.forEach(mark => {
60803
60808
  mark.render();
60804
60809
  });
60805
60810
  }
60806
60811
  this.handleLayoutEnd();
60807
60812
  }
60808
- this.findProgressiveMarks();
60809
- this.updateStateAnimation();
60813
+ if (hasCommitedMark) {
60814
+ this.findProgressiveMarks();
60815
+ this.updateStateAnimation();
60816
+ }
60810
60817
  this._doRender(true);
60811
- this.doPreProgressive();
60818
+ if (hasCommitedMark) {
60819
+ this.doPreProgressive();
60820
+ }
60812
60821
  log(`--- start of renderMarks(${this._count}) ---`);
60813
60822
  this._count++;
60814
60823
  }
@@ -72657,6 +72666,7 @@ class AxisComponent extends BaseComponent {
72657
72666
  }
72658
72667
  }
72659
72668
  _compareSpec(spec, prevSpec) {
72669
+ var _a, _b;
72660
72670
  const result = super._compareSpec(spec, prevSpec);
72661
72671
  if (result.reMake) {
72662
72672
  return result;
@@ -72667,10 +72677,10 @@ class AxisComponent extends BaseComponent {
72667
72677
  result.reMake = true;
72668
72678
  return result;
72669
72679
  }
72670
- result.reMake = ['grid', 'subGrid', 'tick', 'subTick', 'label', 'domainLine', 'title'].some(k => {
72671
- var _a, _b;
72672
- return ((_a = prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec[k]) === null || _a === void 0 ? void 0 : _a.visible) !== ((_b = spec === null || spec === void 0 ? void 0 : spec[k]) === null || _b === void 0 ? void 0 : _b.visible);
72673
- });
72680
+ if (((_a = spec === null || spec === void 0 ? void 0 : spec.grid) === null || _a === void 0 ? void 0 : _a.visible) === true && ((_b = prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec.grid) === null || _b === void 0 ? void 0 : _b.visible) !== true && !this._gridMark) {
72681
+ result.reMake = true;
72682
+ return result;
72683
+ }
72674
72684
  if (specChanged && !result.reMake && this._isComponentOnlySpecChange(spec, prevSpec)) {
72675
72685
  result.effects = Object.assign(Object.assign({}, result.effects), { component: true, layout: true, render: true });
72676
72686
  }
@@ -75957,6 +75967,21 @@ const MARKER_COMPONENT_SPEC_KEYS = {
75957
75967
  [ComponentTypeEnum.markLine]: true,
75958
75968
  [ComponentTypeEnum.markArea]: true
75959
75969
  };
75970
+ const MARKER_ADDITION_REMAKE_SPEC_KEYS = {
75971
+ autoRange: true,
75972
+ regionId: true,
75973
+ regionIndex: true,
75974
+ seriesId: true,
75975
+ seriesIndex: true,
75976
+ relativeSeriesId: true,
75977
+ relativeSeriesIndex: true,
75978
+ startRelativeSeriesId: true,
75979
+ startRelativeSeriesIndex: true,
75980
+ endRelativeSeriesId: true,
75981
+ endRelativeSeriesIndex: true,
75982
+ specifiedDataSeriesId: true,
75983
+ specifiedDataSeriesIndex: true
75984
+ };
75960
75985
  class BaseChart extends CompilableBase {
75961
75986
  getSpec() {
75962
75987
  return this._spec;
@@ -76131,6 +76156,12 @@ class BaseChart extends CompilableBase {
76131
76156
  this.getComponentsByType = (type) => {
76132
76157
  return this._components.filter(c => c.type === type);
76133
76158
  };
76159
+ this._isMarkerAdditionSpecSafeWithoutRemake = (spec) => {
76160
+ if (!spec || typeof spec !== 'object' || spec.visible === false) {
76161
+ return false;
76162
+ }
76163
+ return !Object.keys(MARKER_ADDITION_REMAKE_SPEC_KEYS).some(key => !isNil$1(spec[key]));
76164
+ };
76134
76165
  this._paddingSpec = normalizeLayoutPaddingSpec((_a = spec.padding) !== null && _a !== void 0 ? _a : option.getTheme('padding'));
76135
76166
  this._event = new Event$1(option.eventDispatcher, option.mode);
76136
76167
  this._dataSet = option.dataSet;
@@ -76530,7 +76561,7 @@ class BaseChart extends CompilableBase {
76530
76561
  .sort();
76531
76562
  }
76532
76563
  updateSpec(spec) {
76533
- var _a;
76564
+ var _a, _b;
76534
76565
  const result = {
76535
76566
  change: false,
76536
76567
  reMake: false,
@@ -76556,7 +76587,7 @@ class BaseChart extends CompilableBase {
76556
76587
  const nextSpec = spec[key];
76557
76588
  if (isArray$1(currentSpec) &&
76558
76589
  currentSpec.length !== array(nextSpec).length &&
76559
- !this._canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec)) {
76590
+ !this._canChangeMarkerComponentsWithoutRemake(key, currentSpec, nextSpec)) {
76560
76591
  result.reMake = true;
76561
76592
  this.setLayoutTag(true, null, false);
76562
76593
  return result;
@@ -76591,6 +76622,9 @@ class BaseChart extends CompilableBase {
76591
76622
  this.setLayoutTag(true, null, false);
76592
76623
  return result;
76593
76624
  }
76625
+ if (!onlyComponentSpecsChanged && ((_a = result.effects) === null || _a === void 0 ? void 0 : _a.localOnly)) {
76626
+ delete result.effects.localOnly;
76627
+ }
76594
76628
  if (isUpdateSpecResultLocalOnly(result)) {
76595
76629
  return result;
76596
76630
  }
@@ -76600,7 +76634,7 @@ class BaseChart extends CompilableBase {
76600
76634
  componentUpdateResult.componentOnlyUpdatedComponents.forEach(component => {
76601
76635
  component.reInit(component.getSpec());
76602
76636
  });
76603
- if ((_a = result.effects) === null || _a === void 0 ? void 0 : _a.layout) {
76637
+ if ((_b = result.effects) === null || _b === void 0 ? void 0 : _b.layout) {
76604
76638
  this.setLayoutTag(true, null, false);
76605
76639
  }
76606
76640
  return result;
@@ -76613,7 +76647,9 @@ class BaseChart extends CompilableBase {
76613
76647
  this.reInit();
76614
76648
  if (!onlySeriesSpecsChanged || !this._canSkipChartDataStages(result)) {
76615
76649
  this.updateDataSpec();
76616
- this.updateGlobalScaleDomain();
76650
+ this.reDataFlow();
76651
+ this._reRunStackDataFlow();
76652
+ this.getAllModels().forEach(model => model.onDataUpdate());
76617
76653
  }
76618
76654
  return result;
76619
76655
  }
@@ -76696,6 +76732,9 @@ class BaseChart extends CompilableBase {
76696
76732
  mergeUpdateResult(result, componentResult);
76697
76733
  }
76698
76734
  });
76735
+ if (!result.reMake) {
76736
+ this._createMissingMarkerComponentsForSpecs(result, componentCache);
76737
+ }
76699
76738
  for (const key in componentCache) {
76700
76739
  if (Object.prototype.hasOwnProperty.call(componentCache, key)) {
76701
76740
  const element = componentCache[key];
@@ -76726,6 +76765,19 @@ class BaseChart extends CompilableBase {
76726
76765
  hasNonComponentOnlyUpdate
76727
76766
  };
76728
76767
  }
76768
+ _canChangeMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
76769
+ return (this._canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) ||
76770
+ this._canAddMarkerComponentsWithoutRemake(key, currentSpec, nextSpec));
76771
+ }
76772
+ _canAddMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
76773
+ if (!MARKER_COMPONENT_SPEC_KEYS[key] || !isArray$1(currentSpec) || !isArray$1(nextSpec)) {
76774
+ return false;
76775
+ }
76776
+ if (nextSpec.length <= currentSpec.length) {
76777
+ return false;
76778
+ }
76779
+ return nextSpec.slice(currentSpec.length).every(this._isMarkerAdditionSpecSafeWithoutRemake);
76780
+ }
76729
76781
  _canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
76730
76782
  return (MARKER_COMPONENT_SPEC_KEYS[key] &&
76731
76783
  isArray$1(currentSpec) &&
@@ -76745,6 +76797,9 @@ class BaseChart extends CompilableBase {
76745
76797
  return hasMarkerRemoval && onlyMarkerRemoval;
76746
76798
  }
76747
76799
  _isComponentSpecKey(key) {
76800
+ if (MARKER_COMPONENT_SPEC_KEYS[key]) {
76801
+ return true;
76802
+ }
76748
76803
  return this._components.some(component => {
76749
76804
  return (component.specKey || component.type) === key;
76750
76805
  });
@@ -76804,6 +76859,57 @@ class BaseChart extends CompilableBase {
76804
76859
  !result.changeTheme &&
76805
76860
  !result.changeBackground);
76806
76861
  }
76862
+ _reRunStackDataFlow() {
76863
+ var _a, _b;
76864
+ if (!this._series.some(series => { var _a; return (_a = series.getStack) === null || _a === void 0 ? void 0 : _a.call(series); })) {
76865
+ return;
76866
+ }
76867
+ (_b = (_a = this._stack) === null || _a === void 0 ? void 0 : _a.stackAll) === null || _b === void 0 ? void 0 : _b.call(_a);
76868
+ this._series.forEach(series => {
76869
+ if (series.getViewDataFilter()) {
76870
+ series.reTransformViewData();
76871
+ }
76872
+ });
76873
+ }
76874
+ _getModelSpecIndex(specInfo) {
76875
+ var _a;
76876
+ const specPath = (_a = specInfo.specPath) !== null && _a !== void 0 ? _a : [];
76877
+ const specIndex = specPath[specPath.length - 1];
76878
+ return typeof specIndex === 'number' ? specIndex : 0;
76879
+ }
76880
+ _hasComponentForSpecInfo(key, specInfo) {
76881
+ const specIndex = this._getModelSpecIndex(specInfo);
76882
+ return this._components.some(component => {
76883
+ return (component.specKey || component.type) === key && component.getSpecIndex() === specIndex;
76884
+ });
76885
+ }
76886
+ _createMissingMarkerComponentsForSpecs(result, componentCache) {
76887
+ var _a;
76888
+ let createdCount = 0;
76889
+ (_a = this._specTransformer) === null || _a === void 0 ? void 0 : _a.forEachComponentInSpec(this._spec, (constructor, specInfo) => {
76890
+ if (result.reMake) {
76891
+ return;
76892
+ }
76893
+ const compSpecKey = constructor.specKey || constructor.type;
76894
+ if (!MARKER_COMPONENT_SPEC_KEYS[compSpecKey] || this._hasComponentForSpecInfo(compSpecKey, specInfo)) {
76895
+ return;
76896
+ }
76897
+ if (!this._isMarkerAdditionSpecSafeWithoutRemake(specInfo.spec)) {
76898
+ result.reMake = true;
76899
+ return;
76900
+ }
76901
+ this._createComponent(constructor, specInfo);
76902
+ if (componentCache[compSpecKey]) {
76903
+ componentCache[compSpecKey].componentCount++;
76904
+ }
76905
+ createdCount++;
76906
+ }, this._option.getSpecInfo());
76907
+ if (!createdCount) {
76908
+ return;
76909
+ }
76910
+ result.change = true;
76911
+ result.effects = Object.assign(Object.assign({}, result.effects), { component: true, layout: true, render: true });
76912
+ }
76807
76913
  _removeMarkerComponentsForEmptySpecs(result) {
76808
76914
  const removedComponents = this._components.filter(component => {
76809
76915
  var _a;
package/build/index.js CHANGED
@@ -60792,29 +60792,38 @@
60792
60792
  }
60793
60793
  renderMarks() {
60794
60794
  var _a;
60795
- if (!this._hasCommitedMark()) {
60795
+ let hasCommitedMark = this._hasCommitedMark();
60796
+ const needsLayout = this._layoutState === LayoutState.before;
60797
+ if (!hasCommitedMark && !needsLayout) {
60796
60798
  return;
60797
60799
  }
60798
60800
  log(`--- start of renderMarks(${this._count}) ---`);
60799
60801
  this.clearProgressive();
60800
- this._rootMarks.forEach(mark => {
60801
- mark.render();
60802
- });
60803
- if (this._layoutState === LayoutState.before) {
60802
+ if (hasCommitedMark) {
60803
+ this._rootMarks.forEach(mark => {
60804
+ mark.render();
60805
+ });
60806
+ }
60807
+ if (needsLayout) {
60804
60808
  this._layoutState = LayoutState.layouting;
60805
60809
  (_a = this._compileChart) === null || _a === void 0 ? void 0 : _a.onLayout();
60806
60810
  this._layoutState = LayoutState.reevaluate;
60807
- if (this._hasCommitedMark()) {
60811
+ hasCommitedMark = this._hasCommitedMark();
60812
+ if (hasCommitedMark) {
60808
60813
  this._rootMarks.forEach(mark => {
60809
60814
  mark.render();
60810
60815
  });
60811
60816
  }
60812
60817
  this.handleLayoutEnd();
60813
60818
  }
60814
- this.findProgressiveMarks();
60815
- this.updateStateAnimation();
60819
+ if (hasCommitedMark) {
60820
+ this.findProgressiveMarks();
60821
+ this.updateStateAnimation();
60822
+ }
60816
60823
  this._doRender(true);
60817
- this.doPreProgressive();
60824
+ if (hasCommitedMark) {
60825
+ this.doPreProgressive();
60826
+ }
60818
60827
  log(`--- start of renderMarks(${this._count}) ---`);
60819
60828
  this._count++;
60820
60829
  }
@@ -72663,6 +72672,7 @@
72663
72672
  }
72664
72673
  }
72665
72674
  _compareSpec(spec, prevSpec) {
72675
+ var _a, _b;
72666
72676
  const result = super._compareSpec(spec, prevSpec);
72667
72677
  if (result.reMake) {
72668
72678
  return result;
@@ -72673,10 +72683,10 @@
72673
72683
  result.reMake = true;
72674
72684
  return result;
72675
72685
  }
72676
- result.reMake = ['grid', 'subGrid', 'tick', 'subTick', 'label', 'domainLine', 'title'].some(k => {
72677
- var _a, _b;
72678
- return ((_a = prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec[k]) === null || _a === void 0 ? void 0 : _a.visible) !== ((_b = spec === null || spec === void 0 ? void 0 : spec[k]) === null || _b === void 0 ? void 0 : _b.visible);
72679
- });
72686
+ if (((_a = spec === null || spec === void 0 ? void 0 : spec.grid) === null || _a === void 0 ? void 0 : _a.visible) === true && ((_b = prevSpec === null || prevSpec === void 0 ? void 0 : prevSpec.grid) === null || _b === void 0 ? void 0 : _b.visible) !== true && !this._gridMark) {
72687
+ result.reMake = true;
72688
+ return result;
72689
+ }
72680
72690
  if (specChanged && !result.reMake && this._isComponentOnlySpecChange(spec, prevSpec)) {
72681
72691
  result.effects = Object.assign(Object.assign({}, result.effects), { component: true, layout: true, render: true });
72682
72692
  }
@@ -75963,6 +75973,21 @@
75963
75973
  [ComponentTypeEnum.markLine]: true,
75964
75974
  [ComponentTypeEnum.markArea]: true
75965
75975
  };
75976
+ const MARKER_ADDITION_REMAKE_SPEC_KEYS = {
75977
+ autoRange: true,
75978
+ regionId: true,
75979
+ regionIndex: true,
75980
+ seriesId: true,
75981
+ seriesIndex: true,
75982
+ relativeSeriesId: true,
75983
+ relativeSeriesIndex: true,
75984
+ startRelativeSeriesId: true,
75985
+ startRelativeSeriesIndex: true,
75986
+ endRelativeSeriesId: true,
75987
+ endRelativeSeriesIndex: true,
75988
+ specifiedDataSeriesId: true,
75989
+ specifiedDataSeriesIndex: true
75990
+ };
75966
75991
  class BaseChart extends CompilableBase {
75967
75992
  getSpec() {
75968
75993
  return this._spec;
@@ -76137,6 +76162,12 @@
76137
76162
  this.getComponentsByType = (type) => {
76138
76163
  return this._components.filter(c => c.type === type);
76139
76164
  };
76165
+ this._isMarkerAdditionSpecSafeWithoutRemake = (spec) => {
76166
+ if (!spec || typeof spec !== 'object' || spec.visible === false) {
76167
+ return false;
76168
+ }
76169
+ return !Object.keys(MARKER_ADDITION_REMAKE_SPEC_KEYS).some(key => !isNil$1(spec[key]));
76170
+ };
76140
76171
  this._paddingSpec = normalizeLayoutPaddingSpec((_a = spec.padding) !== null && _a !== void 0 ? _a : option.getTheme('padding'));
76141
76172
  this._event = new Event$1(option.eventDispatcher, option.mode);
76142
76173
  this._dataSet = option.dataSet;
@@ -76536,7 +76567,7 @@
76536
76567
  .sort();
76537
76568
  }
76538
76569
  updateSpec(spec) {
76539
- var _a;
76570
+ var _a, _b;
76540
76571
  const result = {
76541
76572
  change: false,
76542
76573
  reMake: false,
@@ -76562,7 +76593,7 @@
76562
76593
  const nextSpec = spec[key];
76563
76594
  if (isArray$1(currentSpec) &&
76564
76595
  currentSpec.length !== array(nextSpec).length &&
76565
- !this._canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec)) {
76596
+ !this._canChangeMarkerComponentsWithoutRemake(key, currentSpec, nextSpec)) {
76566
76597
  result.reMake = true;
76567
76598
  this.setLayoutTag(true, null, false);
76568
76599
  return result;
@@ -76597,6 +76628,9 @@
76597
76628
  this.setLayoutTag(true, null, false);
76598
76629
  return result;
76599
76630
  }
76631
+ if (!onlyComponentSpecsChanged && ((_a = result.effects) === null || _a === void 0 ? void 0 : _a.localOnly)) {
76632
+ delete result.effects.localOnly;
76633
+ }
76600
76634
  if (isUpdateSpecResultLocalOnly(result)) {
76601
76635
  return result;
76602
76636
  }
@@ -76606,7 +76640,7 @@
76606
76640
  componentUpdateResult.componentOnlyUpdatedComponents.forEach(component => {
76607
76641
  component.reInit(component.getSpec());
76608
76642
  });
76609
- if ((_a = result.effects) === null || _a === void 0 ? void 0 : _a.layout) {
76643
+ if ((_b = result.effects) === null || _b === void 0 ? void 0 : _b.layout) {
76610
76644
  this.setLayoutTag(true, null, false);
76611
76645
  }
76612
76646
  return result;
@@ -76619,7 +76653,9 @@
76619
76653
  this.reInit();
76620
76654
  if (!onlySeriesSpecsChanged || !this._canSkipChartDataStages(result)) {
76621
76655
  this.updateDataSpec();
76622
- this.updateGlobalScaleDomain();
76656
+ this.reDataFlow();
76657
+ this._reRunStackDataFlow();
76658
+ this.getAllModels().forEach(model => model.onDataUpdate());
76623
76659
  }
76624
76660
  return result;
76625
76661
  }
@@ -76702,6 +76738,9 @@
76702
76738
  mergeUpdateResult(result, componentResult);
76703
76739
  }
76704
76740
  });
76741
+ if (!result.reMake) {
76742
+ this._createMissingMarkerComponentsForSpecs(result, componentCache);
76743
+ }
76705
76744
  for (const key in componentCache) {
76706
76745
  if (Object.prototype.hasOwnProperty.call(componentCache, key)) {
76707
76746
  const element = componentCache[key];
@@ -76732,6 +76771,19 @@
76732
76771
  hasNonComponentOnlyUpdate
76733
76772
  };
76734
76773
  }
76774
+ _canChangeMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
76775
+ return (this._canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) ||
76776
+ this._canAddMarkerComponentsWithoutRemake(key, currentSpec, nextSpec));
76777
+ }
76778
+ _canAddMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
76779
+ if (!MARKER_COMPONENT_SPEC_KEYS[key] || !isArray$1(currentSpec) || !isArray$1(nextSpec)) {
76780
+ return false;
76781
+ }
76782
+ if (nextSpec.length <= currentSpec.length) {
76783
+ return false;
76784
+ }
76785
+ return nextSpec.slice(currentSpec.length).every(this._isMarkerAdditionSpecSafeWithoutRemake);
76786
+ }
76735
76787
  _canRemoveMarkerComponentsWithoutRemake(key, currentSpec, nextSpec) {
76736
76788
  return (MARKER_COMPONENT_SPEC_KEYS[key] &&
76737
76789
  isArray$1(currentSpec) &&
@@ -76751,6 +76803,9 @@
76751
76803
  return hasMarkerRemoval && onlyMarkerRemoval;
76752
76804
  }
76753
76805
  _isComponentSpecKey(key) {
76806
+ if (MARKER_COMPONENT_SPEC_KEYS[key]) {
76807
+ return true;
76808
+ }
76754
76809
  return this._components.some(component => {
76755
76810
  return (component.specKey || component.type) === key;
76756
76811
  });
@@ -76810,6 +76865,57 @@
76810
76865
  !result.changeTheme &&
76811
76866
  !result.changeBackground);
76812
76867
  }
76868
+ _reRunStackDataFlow() {
76869
+ var _a, _b;
76870
+ if (!this._series.some(series => { var _a; return (_a = series.getStack) === null || _a === void 0 ? void 0 : _a.call(series); })) {
76871
+ return;
76872
+ }
76873
+ (_b = (_a = this._stack) === null || _a === void 0 ? void 0 : _a.stackAll) === null || _b === void 0 ? void 0 : _b.call(_a);
76874
+ this._series.forEach(series => {
76875
+ if (series.getViewDataFilter()) {
76876
+ series.reTransformViewData();
76877
+ }
76878
+ });
76879
+ }
76880
+ _getModelSpecIndex(specInfo) {
76881
+ var _a;
76882
+ const specPath = (_a = specInfo.specPath) !== null && _a !== void 0 ? _a : [];
76883
+ const specIndex = specPath[specPath.length - 1];
76884
+ return typeof specIndex === 'number' ? specIndex : 0;
76885
+ }
76886
+ _hasComponentForSpecInfo(key, specInfo) {
76887
+ const specIndex = this._getModelSpecIndex(specInfo);
76888
+ return this._components.some(component => {
76889
+ return (component.specKey || component.type) === key && component.getSpecIndex() === specIndex;
76890
+ });
76891
+ }
76892
+ _createMissingMarkerComponentsForSpecs(result, componentCache) {
76893
+ var _a;
76894
+ let createdCount = 0;
76895
+ (_a = this._specTransformer) === null || _a === void 0 ? void 0 : _a.forEachComponentInSpec(this._spec, (constructor, specInfo) => {
76896
+ if (result.reMake) {
76897
+ return;
76898
+ }
76899
+ const compSpecKey = constructor.specKey || constructor.type;
76900
+ if (!MARKER_COMPONENT_SPEC_KEYS[compSpecKey] || this._hasComponentForSpecInfo(compSpecKey, specInfo)) {
76901
+ return;
76902
+ }
76903
+ if (!this._isMarkerAdditionSpecSafeWithoutRemake(specInfo.spec)) {
76904
+ result.reMake = true;
76905
+ return;
76906
+ }
76907
+ this._createComponent(constructor, specInfo);
76908
+ if (componentCache[compSpecKey]) {
76909
+ componentCache[compSpecKey].componentCount++;
76910
+ }
76911
+ createdCount++;
76912
+ }, this._option.getSpecInfo());
76913
+ if (!createdCount) {
76914
+ return;
76915
+ }
76916
+ result.change = true;
76917
+ result.effects = Object.assign(Object.assign({}, result.effects), { component: true, layout: true, render: true });
76918
+ }
76813
76919
  _removeMarkerComponentsForEmptySpecs(result) {
76814
76920
  const removedComponents = this._components.filter(component => {
76815
76921
  var _a;