
This commit introduces generateSetClassMetadataCall(), an API in ngtsc for generating calls to setClassMetadata() for a given declaration. The reflection API is used to enumerate Angular decorators on the declaration, which are converted to a format that ReflectionCapabilities can understand. The reflection metadata is then patched onto the declared type via a call to setClassMetadata(). This is simply a utility, a future commit invokes this utility for each DecoratorHandler. Testing strategy: tests are included which exercise generateSetClassMetadata in isolation. PR Close #26860
31 lines
807 B
Python
31 lines
807 B
Python
package(default_visibility = ["//visibility:public"])
|
|
|
|
load("//tools:defaults.bzl", "jasmine_node_test", "ts_library")
|
|
|
|
ts_library(
|
|
name = "test_lib",
|
|
testonly = True,
|
|
srcs = glob([
|
|
"**/*.ts",
|
|
]),
|
|
deps = [
|
|
"//packages:types",
|
|
"//packages/compiler",
|
|
"//packages/compiler-cli/src/ngtsc/annotations",
|
|
"//packages/compiler-cli/src/ngtsc/diagnostics",
|
|
"//packages/compiler-cli/src/ngtsc/metadata",
|
|
"//packages/compiler-cli/src/ngtsc/testing",
|
|
"//packages/compiler-cli/src/ngtsc/translator",
|
|
"@ngdeps//typescript",
|
|
],
|
|
)
|
|
|
|
jasmine_node_test(
|
|
name = "test",
|
|
bootstrap = ["angular/tools/testing/init_node_no_angular_spec.js"],
|
|
deps = [
|
|
":test_lib",
|
|
"//tools/testing:node_no_angular",
|
|
],
|
|
)
|