vona-core 5.1.20 → 5.1.25

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/dist/index.js CHANGED
@@ -515,23 +515,37 @@ function copyMetadataOfClasses(target, sources, transform) {
515
515
  //
516
516
  for (const metadataKey of Object.getOwnPropertySymbols(metadataKeys)) {
517
517
  const metadataKeyOptions = metadataKeys[metadataKey];
518
- const rulesNew = {};
519
- for (const source of sources) {
520
- const rules = appMetadata.getMetadata(metadataKey, source);
521
- if (!rules) continue;
522
- if (!transform) {
523
- Object.assign(rulesNew, rules);
524
- } else {
525
- for (const key in rules) {
526
- const ruleNew = transform(rules, key, metadataKeyOptions);
527
- if (ruleNew !== undefined) {
528
- rulesNew[key] = ruleNew;
529
- }
518
+ if (metadataKeyOptions.replace) {
519
+ _copyMetadataOfClassesReplace(metadataKey, target, sources);
520
+ } else {
521
+ _copyMetadataOfClassesMap(metadataKey, metadataKeyOptions, target, sources, transform);
522
+ }
523
+ }
524
+ }
525
+ function _copyMetadataOfClassesReplace(metadataKey, target, sources) {
526
+ let valueNew;
527
+ for (const source of sources) {
528
+ valueNew = appMetadata.getMetadata(metadataKey, source);
529
+ }
530
+ appMetadata.defineMetadata(metadataKey, valueNew, target);
531
+ }
532
+ function _copyMetadataOfClassesMap(metadataKey, metadataKeyOptions, target, sources, transform) {
533
+ const rulesNew = {};
534
+ for (const source of sources) {
535
+ const rules = appMetadata.getMetadata(metadataKey, source);
536
+ if (!rules) continue;
537
+ if (!transform) {
538
+ Object.assign(rulesNew, rules);
539
+ } else {
540
+ for (const key in rules) {
541
+ const ruleNew = transform(rules, key, metadataKeyOptions);
542
+ if (ruleNew !== undefined) {
543
+ rulesNew[key] = ruleNew;
530
544
  }
531
545
  }
532
546
  }
533
- appMetadata.defineMetadata(metadataKey, rulesNew, target);
534
547
  }
548
+ appMetadata.defineMetadata(metadataKey, rulesNew, target);
535
549
  }
536
550
 
537
551
  const SymbolDecoratorBeanFullName = Symbol('SymbolDecoratorBeanFullName');