@dreamkit/app 0.0.20 → 0.0.21

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/lib/App.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { MiddlewareConstructor } from "./builders/MiddlewareBuilder.js";
2
2
  import { Route } from "./builders/RouteBuilder.js";
3
- import { Serializer } from "./builders/SerializerBuilder.js";
4
3
  import { AppService, ServiceConstructor } from "./builders/ServiceBuilder.js";
5
4
  import { SettingsConstructor } from "./builders/SettingsBuilder.js";
6
5
  import { AppContext } from "./contexts/AppContext.js";
@@ -18,7 +17,6 @@ export declare class App {
18
17
  readonly middlewares: Set<MiddlewareConstructor>;
19
18
  readonly settings: Set<SettingsConstructor<import("./builders/SettingsBuilder.js").SettingsData<import("./builders/SettingsBuilder.js").SettingsName, import("./builders/SettingsBuilder.js").SettingsParams, import("./builders/SettingsBuilder.js").SettingsDefaults<import("./builders/SettingsBuilder.js").SettingsParams>>>>;
20
19
  readonly api: Map<string, Func>;
21
- readonly serializers: Set<Serializer<any, any>>;
22
20
  protected apiRef: Map<string, string>;
23
21
  settingsHandler: SettingsHandlerConstructor | undefined;
24
22
  sessionHandler: SessionHandlerConstructor | undefined;
package/lib/App.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
package/lib/App.js CHANGED
@@ -14,7 +14,7 @@ import { isSettingsHandler, SettingsHandler, } from "./handlers/SettingsHandler.
14
14
  import { isRoute, kindApp } from "./utils/kind.js";
15
15
  import { log } from "./utils/log.js";
16
16
  import { getKinds, kindOf } from "@dreamkit/kind";
17
- import { merge } from "@dreamkit/utils/object.js";
17
+ import { isPlainObject, merge } from "@dreamkit/utils/object.js";
18
18
  export class App {
19
19
  static {
20
20
  kindApp(this);
@@ -28,7 +28,6 @@ export class App {
28
28
  middlewares = new Set();
29
29
  settings = new Set();
30
30
  api = new Map();
31
- serializers = new Set();
32
31
  apiRef = new Map();
33
32
  settingsHandler;
34
33
  sessionHandler;
@@ -38,9 +37,9 @@ export class App {
38
37
  change: new Set(),
39
38
  };
40
39
  constructor() {
41
- this.context = new AppContext().register(App, {
42
- value: this,
43
- });
40
+ this.context = new AppContext()
41
+ .register(App, { value: this })
42
+ .register(EJSON, { value: new EJSON([]) });
44
43
  this.context.register(AppContext, { value: this.context });
45
44
  }
46
45
  static instance() {
@@ -106,7 +105,7 @@ export class App {
106
105
  this.api.delete(path);
107
106
  }
108
107
  else if (kindOf(value, Serializer)) {
109
- this.serializers.delete(value);
108
+ this.context.resolve(EJSON).remove(value.config.key);
110
109
  }
111
110
  for (const cb of this.listeners.remove)
112
111
  await cb({ id, value });
@@ -177,7 +176,6 @@ export class App {
177
176
  return result;
178
177
  }, {})
179
178
  : { ...input };
180
- const isPlainObject = (input) => !!input && typeof input === "object";
181
179
  const entries = Object.entries(objects).flatMap(([id, value]) => {
182
180
  if (isPlainObject(value) || Array.isArray(value)) {
183
181
  return Object.entries(this.resolveEntry(value)).map(([childId, childValue]) => [
@@ -231,7 +229,7 @@ export class App {
231
229
  this.apiRef.set(id, path);
232
230
  }
233
231
  else if (kindOf(value, Serializer)) {
234
- this.serializers.add(value);
232
+ this.context.resolve(EJSON).add(value);
235
233
  }
236
234
  else {
237
235
  this.onUnknownObject(id, value);
@@ -271,7 +269,6 @@ export class App {
271
269
  const host = request.headers.get("host") ?? "localhost";
272
270
  const requestContext = context
273
271
  .register(RequestContext, { value: context })
274
- .register(EJSON, { value: new EJSON([...this.serializers]) })
275
272
  .register(Request, { value: request })
276
273
  .register(Headers, { value: request.headers })
277
274
  .register(ResponseHeaders, { value: new ResponseHeaders() })
package/lib/EJSON.d.ts CHANGED
@@ -5,7 +5,7 @@ export type EJSONEncodedObject = {
5
5
  };
6
6
  export declare class EJSON {
7
7
  #private;
8
- protected get serializers(): readonly Serializer[];
8
+ get serializers(): readonly Serializer[];
9
9
  constructor(serializers: Serializer[]);
10
10
  add(serializer: Serializer): void;
11
11
  remove(name: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"EJSON.d.ts","sourceRoot":"","sources":["../src/EJSON.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,MAAM,MAAM,kBAAkB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC;AAQjE,qBAAa,KAAK;;IAGhB,SAAS,KAAK,WAAW,IAAI,SAAS,UAAU,EAAE,CAMjD;gBACW,WAAW,EAAE,UAAU,EAAE;IAGrC,GAAG,CAAC,UAAU,EAAE,UAAU;IAI1B,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;IAqBvB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;IAmBvB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAIzB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;CAI9B"}
1
+ {"version":3,"file":"EJSON.d.ts","sourceRoot":"","sources":["../src/EJSON.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,MAAM,MAAM,kBAAkB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC;AAQjE,qBAAa,KAAK;;IAGhB,IAAI,WAAW,IAAI,SAAS,UAAU,EAAE,CAMvC;gBACW,WAAW,EAAE,UAAU,EAAE;IAGrC,GAAG,CAAC,UAAU,EAAE,UAAU;IAK1B,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;IAqBvB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;IAmBvB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAIzB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;CAI9B"}
package/lib/EJSON.js CHANGED
@@ -14,6 +14,7 @@ export class EJSON {
14
14
  this.#serializers = [...serializers];
15
15
  }
16
16
  add(serializer) {
17
+ this.remove(serializer.config.key);
17
18
  this.#serializers.push(serializer);
18
19
  this.#serializersValue = undefined;
19
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dreamkit/app",
3
- "version": "0.0.20",
3
+ "version": "0.0.21",
4
4
  "description": "Set of utils to create applications.",
5
5
  "homepage": "https://dreamkit.dev",
6
6
  "repository": {
@@ -27,11 +27,11 @@
27
27
  ],
28
28
  "dependencies": {
29
29
  "debug": "^4.4.3",
30
- "@dreamkit/func": "0.0.11",
30
+ "@dreamkit/func": "0.0.12",
31
31
  "@dreamkit/ioc": "0.3.1",
32
32
  "@dreamkit/kind": "0.0.4",
33
- "@dreamkit/schema": "0.0.8",
34
- "@dreamkit/utils": "0.0.7"
33
+ "@dreamkit/schema": "0.0.9",
34
+ "@dreamkit/utils": "0.0.8"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/debug": "^4.1.12",