@rsdk/metadata 3.2.0 → 3.3.2
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/exception.d.ts +11 -0
- package/dist/exception.js +18 -0
- package/dist/rsdk-metadata-provider.js +16 -10
- package/package.json +2 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ResourceExtractor } from './resource-extractor';
|
|
2
|
+
declare abstract class RsdkMetadataProviderException extends Error {
|
|
3
|
+
name: string;
|
|
4
|
+
}
|
|
5
|
+
export declare class ExtractFailed extends RsdkMetadataProviderException {
|
|
6
|
+
readonly exception: unknown;
|
|
7
|
+
readonly extractor: ResourceExtractor;
|
|
8
|
+
readonly metadataSource: unknown;
|
|
9
|
+
constructor(exception: unknown, extractor: ResourceExtractor, metadataSource: unknown);
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExtractFailed = void 0;
|
|
4
|
+
class RsdkMetadataProviderException extends Error {
|
|
5
|
+
name = this.constructor.name;
|
|
6
|
+
}
|
|
7
|
+
class ExtractFailed extends RsdkMetadataProviderException {
|
|
8
|
+
exception;
|
|
9
|
+
extractor;
|
|
10
|
+
metadataSource;
|
|
11
|
+
constructor(exception, extractor, metadataSource) {
|
|
12
|
+
super();
|
|
13
|
+
this.exception = exception;
|
|
14
|
+
this.extractor = extractor;
|
|
15
|
+
this.metadataSource = metadataSource;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ExtractFailed = ExtractFailed;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RsdkMetadataProvider = void 0;
|
|
4
4
|
const nest_tools_1 = require("@rsdk/nest-tools");
|
|
5
|
+
const exception_1 = require("./exception");
|
|
5
6
|
const metadata_1 = require("./metadata");
|
|
6
7
|
const resource_aggregator_1 = require("./resource-aggregator");
|
|
7
8
|
/**
|
|
@@ -41,19 +42,24 @@ class RsdkMetadataProvider {
|
|
|
41
42
|
return resources.some((resource) => metadata_1.RsdkMetadata.isEqual(resource, definitionResource));
|
|
42
43
|
}
|
|
43
44
|
static async extractResources(rootModule, resources, extractors) {
|
|
44
|
-
const
|
|
45
|
+
const resourceAggregator = new resource_aggregator_1.ResourceAggregator();
|
|
45
46
|
for await (const rootModuleElement of rootModule) {
|
|
46
47
|
const nestDefinitionIterator = new nest_tools_1.NestDefinitionIterator(rootModuleElement);
|
|
47
|
-
for await (const
|
|
48
|
-
for (const
|
|
49
|
-
if (!['object', 'function'].includes(typeof
|
|
48
|
+
for await (const nestDefinition of nestDefinitionIterator.iterate()) {
|
|
49
|
+
for (const metadataSource of this.getMetadataSource(nestDefinition)) {
|
|
50
|
+
if (!['object', 'function'].includes(typeof metadataSource)) {
|
|
50
51
|
continue;
|
|
51
52
|
}
|
|
52
|
-
const definitionResources = metadata_1.RsdkMetadata.get(
|
|
53
|
+
const definitionResources = metadata_1.RsdkMetadata.get(metadataSource);
|
|
53
54
|
const extractedResources = extractors?.reduce((acc, extractor) => {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
try {
|
|
56
|
+
const resources = extractor.extract(metadataSource);
|
|
57
|
+
acc.push(...resources);
|
|
58
|
+
return acc;
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
throw new exception_1.ExtractFailed(error, extractor, metadataSource);
|
|
62
|
+
}
|
|
57
63
|
}, []);
|
|
58
64
|
const foundedResources = [
|
|
59
65
|
...(definitionResources ?? []),
|
|
@@ -62,11 +68,11 @@ class RsdkMetadataProvider {
|
|
|
62
68
|
if (!foundedResources?.length) {
|
|
63
69
|
continue;
|
|
64
70
|
}
|
|
65
|
-
|
|
71
|
+
resourceAggregator.add(...foundedResources);
|
|
66
72
|
}
|
|
67
73
|
}
|
|
68
74
|
}
|
|
69
|
-
resources.push(...
|
|
75
|
+
resources.push(...resourceAggregator.resources);
|
|
70
76
|
}
|
|
71
77
|
get(scope) {
|
|
72
78
|
if (scope === undefined) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/metadata",
|
|
3
|
-
"version": "3.2
|
|
3
|
+
"version": "3.3.2",
|
|
4
4
|
"license": "Apache License 2.0",
|
|
5
5
|
"description": "Rsdk stack metadata management",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
"@rsdk/nest-tools": "^3.1.0",
|
|
19
19
|
"reflect-metadata": "^0.1.13"
|
|
20
20
|
},
|
|
21
|
-
"gitHead": "
|
|
21
|
+
"gitHead": "afaa6fe790c62518bd5165593886b974bc3440c0"
|
|
22
22
|
}
|