@tsed/config 8.9.0-beta.3 → 8.9.0-beta.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.
@@ -1,5 +1,5 @@
1
1
  import "@tsed/ajv";
2
- import { configuration, constant, injectable, logger } from "@tsed/di";
2
+ import { configuration, constant, inject, injectable, logger } from "@tsed/di";
3
3
  import { $on } from "@tsed/hooks";
4
4
  import { CONFIG_SOURCES } from "../constants/constants.js";
5
5
  import { getConfigSources } from "../utils/getConfigSources.js";
@@ -7,20 +7,26 @@ import { validate } from "../utils/validate.js";
7
7
  export async function afterResolveConfiguration() {
8
8
  const sources = getConfigSources(constant("extends", []));
9
9
  for (const source of sources.values()) {
10
- const { instance, options, watch, refreshOn, name, validationSchema } = source;
10
+ const { instance, watch, refreshOn, name, validationSchema } = source;
11
+ if (instance?.$onInit) {
12
+ await instance.$onInit();
13
+ }
14
+ const getAll = instance.getAll;
11
15
  const refresh = async () => {
12
- let data = await instance.getAll();
16
+ let data = await getAll.apply(instance);
13
17
  if (validationSchema) {
14
18
  data = await validate(name, data, validationSchema);
15
19
  }
16
20
  source.data = data;
17
21
  configuration().set(data);
22
+ return data;
18
23
  };
24
+ instance.getAll = refresh;
19
25
  await refresh();
20
26
  // manage watcher
21
27
  if (watch && instance?.watch) {
22
28
  const closer = await instance.watch(refresh);
23
- $on("$onDestroy", closer);
29
+ closer && $on("$onDestroy", closer);
24
30
  }
25
31
  // manager refresh on request
26
32
  if (refreshOn === "request") {
@@ -52,4 +58,11 @@ export async function afterResolveConfiguration() {
52
58
  injectable(CONFIG_SOURCES).value(configs);
53
59
  }
54
60
  $on("$afterResolveConfiguration", afterResolveConfiguration);
61
+ $on("$onDestroy", () => {
62
+ const configs = inject(CONFIG_SOURCES);
63
+ const promises = Object.values(configs).map((config) => {
64
+ return config.$onDestroy?.();
65
+ });
66
+ return Promise.all(promises);
67
+ });
55
68
  //# sourceMappingURL=afterResolveConfiguration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"afterResolveConfiguration.js","sourceRoot":"","sources":["../../../src/hooks/afterResolveConfiguration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"afterResolveConfiguration.js","sourceRoot":"","sources":["../../../src/hooks/afterResolveConfiguration.ts"],"names":[],"mappings":"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"}