mongodb-dynamic-api 4.13.0 → 4.14.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  Changelog
2
2
 
3
+ ## [4.14.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.13.0...v4.14.0) (2026-05-26)
4
+
5
+ ### typing
6
+
7
+ * **typing:** 6 upstream improvements — BeforeRegisterContext, TExtra, BodyDTO generics, customRoutes req/interceptors, WS customEvents ([bab7aec](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/bab7aecf5400954c6f21c1e99434174b892cde1d)), closes [#5](https://github.com/MikeDev75015/mongodb-dynamic-api/issues/5) [#2](https://github.com/MikeDev75015/mongodb-dynamic-api/issues/2) [#4](https://github.com/MikeDev75015/mongodb-dynamic-api/issues/4) [#3](https://github.com/MikeDev75015/mongodb-dynamic-api/issues/3) [#6](https://github.com/MikeDev75015/mongodb-dynamic-api/issues/6)
8
+
3
9
  ## [4.13.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.12.0...v4.13.0) (2026-05-26)
4
10
 
5
11
  ### route-config
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb-dynamic-api",
3
- "version": "4.13.0",
3
+ "version": "4.14.0",
4
4
  "description": "Auto generated CRUD API for MongoDB using NestJS",
5
5
  "readmeFilename": "README.md",
6
6
  "main": "index.js",
@@ -20,7 +20,7 @@ class SocketAdapter extends platform_socket_io_1.IoAdapter {
20
20
  return this.ioServer;
21
21
  }
22
22
  handleConnection(socket) {
23
- const { debug, jwtSecret, onConnection } = ws_config_store_1.DynamicApiWsConfigStore;
23
+ const { debug, jwtSecret, onConnection, customEvents } = ws_config_store_1.DynamicApiWsConfigStore;
24
24
  let user;
25
25
  if (jwtSecret) {
26
26
  const token = (socket.handshake?.auth?.token
@@ -41,7 +41,8 @@ class SocketAdapter extends platform_socket_io_1.IoAdapter {
41
41
  }
42
42
  }
43
43
  if (debug) {
44
- this.logger.log(`[WS] connection socket=${socket.id}, user=${user?.id ?? 'anonymous'}`);
44
+ const userId = user?.id ?? 'anonymous';
45
+ this.logger.log(`[WS] connection – socket=${socket.id}, user=${userId}`);
45
46
  }
46
47
  if (onConnection) {
47
48
  const result = onConnection(socket, user);
@@ -53,6 +54,24 @@ class SocketAdapter extends platform_socket_io_1.IoAdapter {
53
54
  });
54
55
  }
55
56
  }
57
+ for (const eventConfig of customEvents) {
58
+ socket.on(eventConfig.name, (payload) => {
59
+ if (eventConfig.predicate && !eventConfig.predicate(user)) {
60
+ if (debug) {
61
+ this.logger.warn(`[WS] event=${eventConfig.name} blocked by predicate for socket=${socket.id}`);
62
+ }
63
+ return;
64
+ }
65
+ const result = eventConfig.handler(socket, payload, user);
66
+ if (result instanceof Promise) {
67
+ result.catch((err) => {
68
+ const message = err instanceof Error ? err.message : String(err);
69
+ const stack = err instanceof Error ? err.stack : undefined;
70
+ this.logger.error(`customEvent '${eventConfig.name}' handler error for socket ${socket.id}: ${message}`, stack);
71
+ });
72
+ }
73
+ });
74
+ }
56
75
  }
57
76
  }
58
77
  exports.SocketAdapter = SocketAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"socket-adapter.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/adapters/socket-adapter.ts"],"names":[],"mappings":";;;AAAA,mEAAuD;AAEvD,gEAAqE;AAErE,sCAAoD;AAEpD,MAAa,aAAc,SAAQ,8BAAS;IAA5C;;QACmB,WAAM,GAAG,IAAI,gCAAuB,CAAC,eAAe,CAAC,CAAC;QAC/D,aAAQ,GAAkB,IAAI,CAAC;IA2DzC,CAAC;IAzDC,cAAc,CACZ,IAAY,EACZ,OAGC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAW,CAAC;YAEjF,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;gBAChD,IAAI,CAAC,gBAAgB,CAAC,MAAwB,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEO,gBAAgB,CAAC,MAAsB;QAC7C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,yCAAuB,CAAC;QACnE,IAAI,IAAS,CAAC;QAEd,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK;mBACvC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAuB,CAAC;YAEjE,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC;oBAEH,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;oBACpC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBAC9D,IAAI,GAAG,OAAO,CAAC;oBACf,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;gBACrB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,MAAM,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,EAAE,UAAU,IAAI,EAAE,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,MAAM,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC1F,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA7DD,sCA6DC"}
1
+ {"version":3,"file":"socket-adapter.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/adapters/socket-adapter.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ function enableDynamicAPIWebSockets(app, optionsOrMaxListeners) {
23
23
  }
24
24
  initEventsListeners(resolvedOptions.maxListeners);
25
25
  ws_config_store_1.DynamicApiWsConfigStore.onConnection = resolvedOptions.onConnection;
26
+ ws_config_store_1.DynamicApiWsConfigStore.customEvents = resolvedOptions.customEvents ?? [];
26
27
  ws_config_store_1.DynamicApiWsConfigStore.debug = resolvedOptions.debug ?? false;
27
28
  try {
28
29
  const { DynamicApiModule } = require('../dynamic-api.module');
@@ -1 +1 @@
1
- {"version":3,"file":"socket-config.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/socket-config.helper.ts"],"names":[],"mappings":";;AAiFS,kEAA2B;AAAE,gEAA0B;AAhFhE,+DAA2D;AAE3D,uDAA4D;AAE5D,SAAS,mBAAmB,CAAC,YAAY,GAAG,EAAE;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,CAAC,mBAAmB,GAAG,GAAG,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AACzE,CAAC;AAeD,SAAS,0BAA0B,CACjC,GAAqB,EACrB,qBAAgE;IAEhE,IAAI,eAAe,GAAoC,EAAE,CAAC;IAE1D,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CACV,6EAA6E;cAC3E,iFAAiF;cACjF,qBAAqB;cACrB,6BAA6B,CAChC,CAAC;QACF,eAAe,GAAG,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAC5D,CAAC;SAAM,IAAI,qBAAqB,EAAE,CAAC;QACjC,eAAe,GAAG,qBAAqB,CAAC;IAC1C,CAAC;IAED,mBAAmB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAGlD,yCAAuB,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;IACpE,yCAAuB,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,KAAK,CAAC;IAG/D,IAAI,CAAC;QAEH,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC9D,yCAAuB,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,GAAG;QACjC,IAAI,6BAA6B,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;YAC1G,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC/E,MAAM,IAAI,KAAK,CACb,mDAAmD;kBACjD,uFAAuF,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,mBAAmB,CAAC,IAAI,8BAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAGD,SAAS,2BAA2B,CAAC,OAAoC;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,OAAO,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"socket-config.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/socket-config.helper.ts"],"names":[],"mappings":";;AAkFS,kEAA2B;AAAE,gEAA0B;AAjFhE,+DAA2D;AAE3D,uDAA4D;AAE5D,SAAS,mBAAmB,CAAC,YAAY,GAAG,EAAE;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,CAAC,mBAAmB,GAAG,GAAG,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AACzE,CAAC;AAeD,SAAS,0BAA0B,CACjC,GAAqB,EACrB,qBAAgE;IAEhE,IAAI,eAAe,GAAoC,EAAE,CAAC;IAE1D,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CACV,6EAA6E;cAC3E,iFAAiF;cACjF,qBAAqB;cACrB,6BAA6B,CAChC,CAAC;QACF,eAAe,GAAG,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAC5D,CAAC;SAAM,IAAI,qBAAqB,EAAE,CAAC;QACjC,eAAe,GAAG,qBAAqB,CAAC;IAC1C,CAAC;IAED,mBAAmB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAGlD,yCAAuB,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;IACpE,yCAAuB,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,IAAI,EAAE,CAAC;IAC1E,yCAAuB,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,KAAK,CAAC;IAG/D,IAAI,CAAC;QAEH,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC9D,yCAAuB,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,GAAG;QACjC,IAAI,6BAA6B,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;YAC1G,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC/E,MAAM,IAAI,KAAK,CACb,mDAAmD;kBACjD,uFAAuF,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,mBAAmB,CAAC,IAAI,8BAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAGD,SAAS,2BAA2B,CAAC,OAAoC;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,OAAO,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACrD,CAAC"}
@@ -1,6 +1,7 @@
1
- import { ExtendedSocket } from '../interfaces';
1
+ import { CustomSocketEventConfig, ExtendedSocket } from '../interfaces';
2
2
  export declare class DynamicApiWsConfigStore {
3
- static onConnection: ((socket: ExtendedSocket, user?: any) => void | Promise<void>) | undefined;
3
+ static onConnection: ((socket: ExtendedSocket, user?: unknown) => void | Promise<void>) | undefined;
4
+ static customEvents: CustomSocketEventConfig[];
4
5
  static debug: boolean;
5
6
  static jwtSecret: string | undefined;
6
7
  static reset(): void;
@@ -4,10 +4,12 @@ exports.DynamicApiWsConfigStore = void 0;
4
4
  class DynamicApiWsConfigStore {
5
5
  static reset() {
6
6
  this.onConnection = undefined;
7
+ this.customEvents = [];
7
8
  this.debug = false;
8
9
  this.jwtSecret = undefined;
9
10
  }
10
11
  }
11
12
  exports.DynamicApiWsConfigStore = DynamicApiWsConfigStore;
13
+ DynamicApiWsConfigStore.customEvents = [];
12
14
  DynamicApiWsConfigStore.debug = false;
13
15
  //# sourceMappingURL=ws-config.store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-config.store.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/ws-config.store.ts"],"names":[],"mappings":";;;AAOA,MAAa,uBAAuB;IAMlC,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;;AAVH,0DAWC;AATQ,6BAAK,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"ws-config.store.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/ws-config.store.ts"],"names":[],"mappings":";;;AAOA,MAAa,uBAAuB;IAOlC,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;;AAZH,0DAaC;AAXQ,oCAAY,GAA8B,EAAE,CAAC;AAC7C,6BAAK,GAAG,KAAK,CAAC"}
@@ -1,7 +1,8 @@
1
- import { CanActivate, Type, ValidationPipeOptions } from '@nestjs/common';
1
+ import { CanActivate, NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
2
2
  import { Model } from 'mongoose';
3
3
  import { BaseEntity } from '../models';
4
4
  import { AbilityPredicate, PredicateBehavior } from './dynamic-api-ability.interface';
5
+ import { DynamicApiRequest } from './dynamic-api-request.interface';
5
6
  import { Mappable } from './dynamic-api-route-dtos-bundle.type';
6
7
  import { DynamicApiWebSocketOptions } from './dynamic-api-web-socket.interface';
7
8
  type HttpMethod = 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE';
@@ -11,6 +12,7 @@ interface CustomRouteContext<Entity extends BaseEntity, Body = unknown, Query =
11
12
  params: Params;
12
13
  body: Body;
13
14
  query: Query;
15
+ req?: DynamicApiRequest;
14
16
  }
15
17
  interface CustomRouteConfig<Entity extends BaseEntity, Body = unknown, Query = unknown, Params extends Record<string, string> = Record<string, string>, Response = unknown> {
16
18
  path: string;
@@ -30,5 +32,6 @@ interface CustomRouteConfig<Entity extends BaseEntity, Body = unknown, Query = u
30
32
  query?: Type;
31
33
  presenter?: Type & Partial<Mappable<Entity>>;
32
34
  };
35
+ useInterceptors?: Type<NestInterceptor>[];
33
36
  }
34
37
  export type { HttpMethod, CustomRouteContext, CustomRouteConfig };
@@ -9,10 +9,10 @@ import { RoutesConfig } from './dynamic-api-global-state.interface';
9
9
  import { DynamicAPIRouteConfig } from './dynamic-api-route-config.interface';
10
10
  import { DynamicApiWebSocketOptions } from './dynamic-api-web-socket.interface';
11
11
  declare const DYNAMIC_API_GLOBAL_STATE: unique symbol;
12
- interface DynamicApiForRootOptions<Entity extends BaseEntity = any> {
12
+ interface DynamicApiForRootOptions<Entity extends BaseEntity = any, RegisterExtra = Record<never, never>> {
13
13
  useGlobalCache?: boolean;
14
14
  cacheOptions?: DynamicApiCacheOptions;
15
- useAuth?: DynamicApiAuthOptions<Entity>;
15
+ useAuth?: DynamicApiAuthOptions<Entity, RegisterExtra>;
16
16
  routesConfig?: Partial<RoutesConfig>;
17
17
  webSocket?: DynamicApiWebSocketOptions;
18
18
  broadcastGatewayOptions?: GatewayMetadata;
@@ -26,33 +26,33 @@ interface BaseRouteConfig<Entity extends BaseEntity> {
26
26
  useInterceptors?: Type<NestInterceptor>[];
27
27
  fromUser?: FromUserMap<Entity>;
28
28
  }
29
- interface CreateOneRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
29
+ interface CreateOneRouteConfig<Entity extends BaseEntity, BodyDTO = Entity> extends BaseRouteConfig<Entity> {
30
30
  type: 'CreateOne';
31
- beforeSaveCallback?: BeforeSaveCallback<Entity, BeforeSaveCreateContext<Entity>>;
31
+ beforeSaveCallback?: BeforeSaveCallback<Entity, BeforeSaveCreateContext<Entity, BodyDTO>>;
32
32
  }
33
- interface CreateManyRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
33
+ interface CreateManyRouteConfig<Entity extends BaseEntity, BodyDTO = Entity> extends BaseRouteConfig<Entity> {
34
34
  type: 'CreateMany';
35
- beforeSaveCallback?: BeforeSaveListCallback<Entity, BeforeSaveCreateManyContext<Entity>>;
35
+ beforeSaveCallback?: BeforeSaveListCallback<Entity, BeforeSaveCreateManyContext<Entity, BodyDTO>>;
36
36
  }
37
- interface UpdateOneRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
37
+ interface UpdateOneRouteConfig<Entity extends BaseEntity, BodyDTO = Entity> extends BaseRouteConfig<Entity> {
38
38
  type: 'UpdateOne';
39
- beforeSaveCallback?: BeforeSaveCallback<Entity, BeforeSaveUpdateContext<Entity>>;
39
+ beforeSaveCallback?: BeforeSaveCallback<Entity, BeforeSaveUpdateContext<Entity, BodyDTO>>;
40
40
  }
41
- interface UpdateManyRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
41
+ interface UpdateManyRouteConfig<Entity extends BaseEntity, BodyDTO = Entity> extends BaseRouteConfig<Entity> {
42
42
  type: 'UpdateMany';
43
- beforeSaveCallback?: BeforeSaveListCallback<Entity, BeforeSaveUpdateManyContext<Entity>>;
43
+ beforeSaveCallback?: BeforeSaveListCallback<Entity, BeforeSaveUpdateManyContext<Entity, BodyDTO>>;
44
44
  }
45
- interface ReplaceOneRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
45
+ interface ReplaceOneRouteConfig<Entity extends BaseEntity, BodyDTO = Entity> extends BaseRouteConfig<Entity> {
46
46
  type: 'ReplaceOne';
47
- beforeSaveCallback?: BeforeSaveCallback<Entity, BeforeSaveReplaceContext<Entity>>;
47
+ beforeSaveCallback?: BeforeSaveCallback<Entity, BeforeSaveReplaceContext<Entity, BodyDTO>>;
48
48
  }
49
- interface DuplicateOneRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
49
+ interface DuplicateOneRouteConfig<Entity extends BaseEntity, BodyDTO = Entity> extends BaseRouteConfig<Entity> {
50
50
  type: 'DuplicateOne';
51
- beforeSaveCallback?: BeforeSaveCallback<Entity, BeforeSaveDuplicateContext<Entity>>;
51
+ beforeSaveCallback?: BeforeSaveCallback<Entity, BeforeSaveDuplicateContext<Entity, BodyDTO>>;
52
52
  }
53
- interface DuplicateManyRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
53
+ interface DuplicateManyRouteConfig<Entity extends BaseEntity, BodyDTO = Entity> extends BaseRouteConfig<Entity> {
54
54
  type: 'DuplicateMany';
55
- beforeSaveCallback?: BeforeSaveListCallback<Entity, BeforeSaveDuplicateManyContext<Entity>>;
55
+ beforeSaveCallback?: BeforeSaveListCallback<Entity, BeforeSaveDuplicateManyContext<Entity, BodyDTO>>;
56
56
  }
57
57
  interface DeleteOneRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
58
58
  type: 'DeleteOne';
@@ -80,4 +80,11 @@ interface CustomOperationRouteConfig<Entity extends BaseEntity> extends BaseRout
80
80
  }
81
81
  type DynamicApiRouteConfig<Entity extends BaseEntity> = CreateOneRouteConfig<Entity> | CreateManyRouteConfig<Entity> | UpdateOneRouteConfig<Entity> | UpdateManyRouteConfig<Entity> | ReplaceOneRouteConfig<Entity> | DuplicateOneRouteConfig<Entity> | DuplicateManyRouteConfig<Entity> | DeleteOneRouteConfig<Entity> | DeleteManyRouteConfig<Entity> | GetOneRouteConfig<Entity> | GetManyRouteConfig<Entity> | AggregateRouteConfig<Entity> | CustomOperationRouteConfig<Entity>;
82
82
  type DynamicAPIRouteConfig<Entity extends BaseEntity> = DynamicApiRouteConfig<Entity>;
83
- export { BaseRouteConfig, CreateOneRouteConfig, CreateManyRouteConfig, UpdateOneRouteConfig, UpdateManyRouteConfig, ReplaceOneRouteConfig, DuplicateOneRouteConfig, DuplicateManyRouteConfig, DeleteOneRouteConfig, DeleteManyRouteConfig, GetOneRouteConfig, GetManyRouteConfig, AggregateRouteConfig, CustomOperationRouteConfig, DynamicApiRouteConfig, DynamicAPIRouteConfig, FromUserMap, };
83
+ declare function defineCreateCallback<Entity extends BaseEntity, BodyDTO = Entity>(cb: BeforeSaveCallback<Entity, BeforeSaveCreateContext<Entity, BodyDTO>>): BeforeSaveCallback<Entity, BeforeSaveCreateContext<Entity, BodyDTO>>;
84
+ declare function defineCreateManyCallback<Entity extends BaseEntity, BodyDTO = Entity>(cb: BeforeSaveListCallback<Entity, BeforeSaveCreateManyContext<Entity, BodyDTO>>): BeforeSaveListCallback<Entity, BeforeSaveCreateManyContext<Entity, BodyDTO>>;
85
+ declare function defineUpdateCallback<Entity extends BaseEntity, BodyDTO = Entity>(cb: BeforeSaveCallback<Entity, BeforeSaveUpdateContext<Entity, BodyDTO>>): BeforeSaveCallback<Entity, BeforeSaveUpdateContext<Entity, BodyDTO>>;
86
+ declare function defineUpdateManyCallback<Entity extends BaseEntity, BodyDTO = Entity>(cb: BeforeSaveListCallback<Entity, BeforeSaveUpdateManyContext<Entity, BodyDTO>>): BeforeSaveListCallback<Entity, BeforeSaveUpdateManyContext<Entity, BodyDTO>>;
87
+ declare function defineReplaceCallback<Entity extends BaseEntity, BodyDTO = Entity>(cb: BeforeSaveCallback<Entity, BeforeSaveReplaceContext<Entity, BodyDTO>>): BeforeSaveCallback<Entity, BeforeSaveReplaceContext<Entity, BodyDTO>>;
88
+ declare function defineDuplicateCallback<Entity extends BaseEntity, BodyDTO = Entity>(cb: BeforeSaveCallback<Entity, BeforeSaveDuplicateContext<Entity, BodyDTO>>): BeforeSaveCallback<Entity, BeforeSaveDuplicateContext<Entity, BodyDTO>>;
89
+ declare function defineDuplicateManyCallback<Entity extends BaseEntity, BodyDTO = Entity>(cb: BeforeSaveListCallback<Entity, BeforeSaveDuplicateManyContext<Entity, BodyDTO>>): BeforeSaveListCallback<Entity, BeforeSaveDuplicateManyContext<Entity, BodyDTO>>;
90
+ export { BaseRouteConfig, CreateOneRouteConfig, CreateManyRouteConfig, UpdateOneRouteConfig, UpdateManyRouteConfig, ReplaceOneRouteConfig, DuplicateOneRouteConfig, DuplicateManyRouteConfig, DeleteOneRouteConfig, DeleteManyRouteConfig, GetOneRouteConfig, GetManyRouteConfig, AggregateRouteConfig, CustomOperationRouteConfig, DynamicApiRouteConfig, DynamicAPIRouteConfig, FromUserMap, defineCreateCallback, defineCreateManyCallback, defineUpdateCallback, defineUpdateManyCallback, defineReplaceCallback, defineDuplicateCallback, defineDuplicateManyCallback, };
@@ -1,3 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineCreateCallback = defineCreateCallback;
4
+ exports.defineCreateManyCallback = defineCreateManyCallback;
5
+ exports.defineUpdateCallback = defineUpdateCallback;
6
+ exports.defineUpdateManyCallback = defineUpdateManyCallback;
7
+ exports.defineReplaceCallback = defineReplaceCallback;
8
+ exports.defineDuplicateCallback = defineDuplicateCallback;
9
+ exports.defineDuplicateManyCallback = defineDuplicateManyCallback;
10
+ function defineCreateCallback(cb) {
11
+ return cb;
12
+ }
13
+ function defineCreateManyCallback(cb) {
14
+ return cb;
15
+ }
16
+ function defineUpdateCallback(cb) {
17
+ return cb;
18
+ }
19
+ function defineUpdateManyCallback(cb) {
20
+ return cb;
21
+ }
22
+ function defineReplaceCallback(cb) {
23
+ return cb;
24
+ }
25
+ function defineDuplicateCallback(cb) {
26
+ return cb;
27
+ }
28
+ function defineDuplicateManyCallback(cb) {
29
+ return cb;
30
+ }
3
31
  //# sourceMappingURL=dynamic-api-route-config.interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api-route-config.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-route-config.interface.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"dynamic-api-route-config.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-route-config.interface.ts"],"names":[],"mappings":";;AA2WE,oDAAoB;AACpB,4DAAwB;AACxB,oDAAoB;AACpB,4DAAwB;AACxB,sDAAqB;AACrB,0DAAuB;AACvB,kEAA2B;AAtG7B,SAAS,oBAAoB,CAC3B,EAAwE;IAExE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,wBAAwB,CAC/B,EAAgF;IAEhF,OAAO,EAAE,CAAC;AACZ,CAAC;AAkBD,SAAS,oBAAoB,CAC3B,EAAwE;IAExE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,wBAAwB,CAC/B,EAAgF;IAEhF,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,qBAAqB,CAC5B,EAAyE;IAEzE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,uBAAuB,CAC9B,EAA2E;IAE3E,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,2BAA2B,CAClC,EAAmF;IAEnF,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -32,6 +32,9 @@ type BeforeSaveDuplicateManyContext<Entity extends BaseEntity, BodyDTO = Entity>
32
32
  ids: string[];
33
33
  override?: Partial<BodyDTO>;
34
34
  };
35
+ type BeforeRegisterContext = {
36
+ hashedPassword: string;
37
+ };
35
38
  type BeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entity: Entity | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<Partial<Entity>>;
36
39
  type BeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entities: Entity[] | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<Partial<Entity>[]>;
37
40
  type BeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entity: Entity | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<void>;
@@ -53,4 +56,4 @@ type DynamicApiServiceBeforeSaveCallback<Entity extends BaseEntity, Context = Re
53
56
  type DynamicApiServiceBeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveListCallback<Entity, Context, User>;
54
57
  type DynamicApiServiceBeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveDeleteCallback<Entity, Context, User>;
55
58
  type DynamicApiServiceBeforeSaveDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveDeleteManyCallback<Entity, Context, User>;
56
- export type { AnyBeforeDeleteCallback, BeforeDeleteCallback, BeforeDeleteManyCallback, AnyBeforeSaveCallback, BeforeSaveCallback, BeforeSaveListCallback, BeforeSaveDeleteCallback, BeforeSaveDeleteManyCallback, BeforeSaveCreateContext, BeforeSaveCreateManyContext, BeforeSaveUpdateContext, BeforeSaveUpdateManyContext, BeforeSaveReplaceContext, BeforeSaveDeleteContext, BeforeSaveDeleteManyContext, BeforeSaveDuplicateContext, BeforeSaveDuplicateManyContext, DynamicApiServiceBeforeSaveCallback, DynamicApiServiceBeforeSaveListCallback, DynamicApiServiceBeforeSaveDeleteCallback, DynamicApiServiceBeforeSaveDeleteManyCallback, DynamicApiServiceBeforeSaveCreateContext, DynamicApiServiceBeforeSaveCreateManyContext, DynamicApiServiceBeforeSaveUpdateContext, DynamicApiServiceBeforeSaveUpdateManyContext, DynamicApiServiceBeforeSaveReplaceContext, DynamicApiServiceBeforeSaveDeleteContext, DynamicApiServiceBeforeSaveDeleteManyContext, DynamicApiServiceBeforeSaveDuplicateContext, DynamicApiServiceBeforeSaveDuplicateManyContext, };
59
+ export type { AnyBeforeDeleteCallback, BeforeDeleteCallback, BeforeDeleteManyCallback, AnyBeforeSaveCallback, BeforeSaveCallback, BeforeSaveListCallback, BeforeSaveDeleteCallback, BeforeSaveDeleteManyCallback, BeforeSaveCreateContext, BeforeSaveCreateManyContext, BeforeSaveUpdateContext, BeforeSaveUpdateManyContext, BeforeSaveReplaceContext, BeforeSaveDeleteContext, BeforeSaveDeleteManyContext, BeforeSaveDuplicateContext, BeforeSaveDuplicateManyContext, BeforeRegisterContext, DynamicApiServiceBeforeSaveCallback, DynamicApiServiceBeforeSaveListCallback, DynamicApiServiceBeforeSaveDeleteCallback, DynamicApiServiceBeforeSaveDeleteManyCallback, DynamicApiServiceBeforeSaveCreateContext, DynamicApiServiceBeforeSaveCreateManyContext, DynamicApiServiceBeforeSaveUpdateContext, DynamicApiServiceBeforeSaveUpdateManyContext, DynamicApiServiceBeforeSaveReplaceContext, DynamicApiServiceBeforeSaveDeleteContext, DynamicApiServiceBeforeSaveDeleteManyContext, DynamicApiServiceBeforeSaveDuplicateContext, DynamicApiServiceBeforeSaveDuplicateManyContext, };
@@ -10,9 +10,15 @@ type GatewayResponse<Data> = Promise<{
10
10
  }>;
11
11
  type GatewayOptions = GatewayMetadata;
12
12
  type DynamicApiWebSocketOptions = GatewayOptions | boolean;
13
+ interface CustomSocketEventConfig<User = unknown> {
14
+ name: string;
15
+ handler: (socket: ExtendedSocket, payload: unknown, user?: User) => void | Promise<void>;
16
+ predicate?: (user?: User) => boolean;
17
+ }
13
18
  interface DynamicApiWebSocketSetupOptions {
14
19
  maxListeners?: number;
15
- onConnection?: (socket: ExtendedSocket, user?: any) => void | Promise<void>;
20
+ onConnection?: (socket: ExtendedSocket, user?: unknown) => void | Promise<void>;
16
21
  debug?: boolean;
22
+ customEvents?: CustomSocketEventConfig[];
17
23
  }
18
- export type { DynamicApiWebSocketOptions, DynamicApiWebSocketSetupOptions, ExtendedSocket, GatewayOptions, GatewayResponse, };
24
+ export type { CustomSocketEventConfig, DynamicApiWebSocketOptions, DynamicApiWebSocketSetupOptions, ExtendedSocket, GatewayOptions, GatewayResponse, };
@@ -1,6 +1,6 @@
1
1
  import { ModuleMetadata, NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
2
2
  import type { Request } from 'express';
3
- import { AuthAbilityPredicate, BroadcastAbilityPredicate, BroadcastRooms, DynamicApiResetPasswordCallback, BeforeSaveCallback, AfterSaveCallback, DynamicApiWebSocketOptions } from '../../../interfaces';
3
+ import { AuthAbilityPredicate, BeforeRegisterContext, BroadcastAbilityPredicate, BroadcastRooms, DynamicApiResetPasswordCallback, BeforeSaveCallback, AfterSaveCallback, DynamicApiWebSocketOptions } from '../../../interfaces';
4
4
  import { BaseEntity } from '../../../models';
5
5
  type DynamicApiJWTOptions = {
6
6
  secret: string;
@@ -30,13 +30,13 @@ type DynamicApiGetAccountOptions<Entity extends BaseEntity = any> = {
30
30
  useInterceptors?: Type<NestInterceptor>[];
31
31
  broadcast?: DynamicApiAuthBroadcastConfig<Entity>;
32
32
  };
33
- type DynamicApiRegisterOptions<Entity extends BaseEntity = any> = {
34
- beforeSaveCallback?: BeforeSaveCallback<Entity>;
33
+ type DynamicApiRegisterOptions<Entity extends BaseEntity = any, TExtra = Record<never, never>> = {
34
+ beforeSaveCallback?: BeforeSaveCallback<Entity & TExtra, BeforeRegisterContext>;
35
35
  callback?: AfterSaveCallback<Entity>;
36
36
  protected?: boolean;
37
37
  abilityPredicate?: AuthAbilityPredicate;
38
- additionalFields?: (keyof Entity | {
39
- name: keyof Entity;
38
+ additionalFields?: (keyof (Entity & TExtra) | {
39
+ name: keyof (Entity & TExtra);
40
40
  required?: boolean;
41
41
  })[];
42
42
  useInterceptors?: Type<NestInterceptor>[];
@@ -72,12 +72,12 @@ type PasswordlessOptions<Entity extends BaseEntity = any> = {
72
72
  sendCodeCallback: (identifier: string, code: string) => Promise<void>;
73
73
  callback?: AfterSaveCallback<Entity>;
74
74
  };
75
- type DynamicApiAuthOptions<Entity extends BaseEntity = any> = {
75
+ type DynamicApiAuthOptions<Entity extends BaseEntity = any, RegisterExtra = Record<never, never>> = {
76
76
  userEntity: Type<Entity>;
77
77
  jwt?: DynamicApiJWTOptions;
78
78
  login?: DynamicApiLoginOptions<Entity>;
79
79
  getAccount?: DynamicApiGetAccountOptions<Entity>;
80
- register?: DynamicApiRegisterOptions<Entity>;
80
+ register?: DynamicApiRegisterOptions<Entity, RegisterExtra>;
81
81
  updateAccount?: DynamicApiUpdateAccountOptions<Entity>;
82
82
  resetPassword?: Partial<DynamicApiResetPasswordOptions<Entity>>;
83
83
  refreshToken?: DynamicApiRefreshTokenOptions<Entity>;
@@ -31,7 +31,7 @@ const HTTP_METHOD_DECORATOR_MAP = {
31
31
  DELETE: common_1.Delete,
32
32
  };
33
33
  function createCustomRouteController(entity, { useInterceptors = [], ...controllerOptions }, customRouteConfig, controllerVersion, controllerValidationPipeOptions) {
34
- const { path: routePath, method, handler, version: routeVersion, isPublic, description, guards = [], abilityPredicate, predicateBehavior, validationPipeOptions: routeValidationPipeOptions, dTOs, } = customRouteConfig;
34
+ const { path: routePath, method, handler, version: routeVersion, isPublic, description, guards = [], abilityPredicate, predicateBehavior, validationPipeOptions: routeValidationPipeOptions, dTOs, useInterceptors: routeInterceptors = [], } = customRouteConfig;
35
35
  const { path: controllerPath, apiTag } = controllerOptions;
36
36
  const effectiveVersion = routeVersion ?? controllerVersion;
37
37
  const effectiveValidationPipeOptions = routeValidationPipeOptions ?? controllerValidationPipeOptions;
@@ -59,6 +59,7 @@ function createCustomRouteController(entity, { useInterceptors = [], ...controll
59
59
  params: params,
60
60
  body: body,
61
61
  query: query,
62
+ req,
62
63
  });
63
64
  const fromEntity = presenterType.fromEntity;
64
65
  return fromEntity ? fromEntity(result) : result;
@@ -107,6 +108,9 @@ function createCustomRouteController(entity, { useInterceptors = [], ...controll
107
108
  if (allGuards.length > 0) {
108
109
  (0, common_1.UseGuards)(...allGuards)(CustomRouteController.prototype, 'handle', descriptor);
109
110
  }
111
+ if (routeInterceptors.length > 0) {
112
+ (0, common_1.UseInterceptors)(...routeInterceptors)(CustomRouteController.prototype, 'handle', descriptor);
113
+ }
110
114
  if (isPublic) {
111
115
  (0, decorators_1.Public)()(CustomRouteController.prototype, 'handle', descriptor);
112
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-custom-route-controller.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/custom/create-custom-route-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-custom-route-controller.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/custom/create-custom-route-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAgQE,kEAA2B;AAC3B,oEAA4B;AAC5B,0EAA+B;AAlQjC,2CAiBwB;AACxB,+CAA+C;AAC/C,6CAOyB;AACzB,uCAAiC;AACjC,iDAAyD;AACzD,iEAA4D;AAC5D,2CAKuB;AAQvB,yCAAuD;AAKvD,MAAM,yBAAyB,GAAmD;IAChF,GAAG,EAAE,YAAG;IACR,IAAI,EAAE,aAAI;IACV,KAAK,EAAE,cAAK;IACZ,GAAG,EAAE,YAAG;IACR,MAAM,EAAE,eAAM;CACf,CAAC;AAeF,SAAS,2BAA2B,CAOlC,MAAoB,EACpB,EAAE,eAAe,GAAG,EAAE,EAAE,GAAG,iBAAiB,EAAuC,EACnF,iBAA8E,EAC9E,iBAA0B,EAC1B,+BAAuD;IAEvD,MAAM,EACJ,IAAI,EAAE,SAAS,EACf,MAAM,EACN,OAAO,EACP,OAAO,EAAE,YAAY,EACrB,QAAQ,EACR,WAAW,EACX,MAAM,GAAG,EAAE,EACX,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EAAE,0BAA0B,EACjD,IAAI,EACJ,eAAe,EAAE,iBAAiB,GAAG,EAAE,GACxC,GAAG,iBAAiB,CAAC;IAEtB,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC;IAE3D,MAAM,gBAAgB,GAAG,YAAY,IAAI,iBAAiB,CAAC;IAC3D,MAAM,8BAA8B,GAAG,0BAA0B,IAAI,+BAA+B,CAAC;IAGrG,MAAM,iBAAiB,GAAG,IAAA,0BAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,SAAS,CAAC,IAAI,QAAQ,CAAC;IAC1D,MAAM,mBAAmB,GAAG,GAAG,eAAe,GAAG,iBAAiB,EAAE,CAAC;IAErE,MAAM,aAAa,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAU,eAAe,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAS,gBAAgB,CAAC,CAAC;IAG5E,MAAM,SAAS,GAAwB,EAAE,CAAC;IAC1C,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,IAAA,gCAAuB,EAC3C,MAAM,EACN,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,CAClB,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;IAE1B,MAAM,aAAa,GAAG,IAAI,EAAE,SAAS,IAAI,MAAM,CAAC;IAGhD,IAIM,qBAAqB,GAJ3B,MAIM,qBAAqB;QAGzB,YAEE,KAAuC;YAApB,UAAK,GAAL,KAAK,CAAe;YAJtB,WAAM,GAAG,MAAM,CAAC;QAKhC,CAAC;QAEE,AAAN,KAAK,CAAC,MAAM,CACD,MAA8B,EAC/B,IAAa,EACZ,KAAc,EACZ,GAAsB;YAEjC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,GAAG,EAAE,IAAI;gBACf,MAAM,EAAE,MAAgB;gBACxB,IAAI,EAAE,IAAY;gBAClB,KAAK,EAAE,KAAiB;gBACxB,GAAG;aACJ,CAAC,CAAC;YAEH,MAAM,UAAU,GAAI,aAAkC,CAAC,UAAU,CAAC;YAClE,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,CAAC;KACF,CAAA;IAlBO;QACH,WAAA,IAAA,cAAK,GAAE,CAAA;QACP,WAAA,IAAA,aAAI,GAAE,CAAA;QACN,WAAA,IAAA,cAAK,GAAE,CAAA;QACP,WAAA,IAAA,gBAAO,GAAE,CAAA;;;;uDAaX;IAzBG,qBAAqB;QAJ1B,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAC/D,IAAA,iBAAO,EAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC;QAC9B,IAAA,0BAAa,EAAC,8BAA8B,CAAC;QAC7C,IAAA,wBAAe,EAAC,mCAA0B,EAAE,GAAG,eAAe,CAAC;QAK3D,WAAA,IAAA,sBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;yCACf,gBAAK;OAL7B,qBAAqB,CA0B1B;IAGD,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,IAAI,EAAE,IAAI;YAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1C,IAAI,IAAI,EAAE,KAAK;YAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,OAAO,CAAC,cAAc,CACpB,mBAAmB,EACnB,UAAU,EACV,qBAAqB,CAAC,SAAS,EAC/B,QAAQ,CACT,CAAC;IACJ,CAAC;IAGD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE9F,yBAAyB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAC1C,qBAAqB,CAAC,SAAS,EAC/B,QAAQ,EACR,UAAU,CACX,CAAC;IAEF,IAAA,sBAAY,EAAC;QACX,WAAW,EAAE,SAAS,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5G,OAAO,EAAE,WAAW,IAAI,GAAG,MAAM,KAAK,SAAS,0BAA0B,MAAM,CAAC,IAAI,EAAE;KACvF,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE1D,IAAA,qBAAW,EAAC;QACV,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE1D,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QACf,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;QAChB,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAA,kBAAS,EAAC,GAAG,SAAS,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAGD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,IAAA,wBAAe,EAAC,GAAG,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,IAAA,mBAAM,GAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACzB,IAAA,uBAAa,GAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IAGD,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,MAAM,EAAE;QACnD,KAAK,EAAE,SAAS,mBAAmB,GAAG,IAAA,0BAAgB,EAAC,gBAAgB,CAAC,YAAY;QACpF,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAMD,SAAS,4BAA4B,CACnC,UAAkB,EAClB,SAAiB,EACjB,MAAe,EACf,OAAgB;IAEhB,MAAM,iBAAiB,GAAG,IAAA,0BAAgB,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,SAAS,CAAC,IAAI,QAAQ,CAAC;IAC1D,OAAO,SAAS,eAAe,GAAG,iBAAiB,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,YAAY,CAAC;AAC9F,CAAC;AAMD,SAAS,+BAA+B,CACtC,UAAkB,EAClB,SAAiB,EACjB,MAAe,EACf,OAAgB;IAEhB,MAAM,iBAAiB,GAAG,IAAA,0BAAgB,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,SAAS,CAAC,IAAI,QAAQ,CAAC;IAC1D,MAAM,mBAAmB,GAAG,GAAG,eAAe,GAAG,iBAAiB,EAAE,CAAC;IACrE,OAAO,IAAA,qBAAW,EAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;AAC9E,CAAC"}
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "4.13.0"
2
+ "version": "4.14.0"
3
3
  }