esi-cap 1.7.39 → 1.7.40

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,4 +1,59 @@
1
- export type ServiceEventInterceptor = (oService: object) => Promise<void>;
1
+ export type CDSService = {
2
+ /**
3
+ * - Collection of entities served by this service.
4
+ */
5
+ entities: Record<string, any>;
6
+ /**
7
+ * - Executes a given query against the service.
8
+ */
9
+ run: (query: any) => Promise<any>;
10
+ /**
11
+ * - Starts a new transaction.
12
+ */
13
+ tx: (req: any) => CDSServiceTx;
14
+ /**
15
+ * - Alias for the tx method.
16
+ */
17
+ transaction: (req: any) => CDSServiceTx;
18
+ /**
19
+ * - Registers a handler for specific events.
20
+ */
21
+ on: CDSMethod;
22
+ /**
23
+ * - Registers a handler to run before the standard logic.
24
+ */
25
+ before: CDSMethod;
26
+ /**
27
+ * - Registers a handler to run after the standard logic.
28
+ */
29
+ after: CDSAfterMethod;
30
+ /**
31
+ * - Synchronously or asynchronously triggers an event.
32
+ */
33
+ emit: (event: string, data?: any) => Promise<void>;
34
+ /**
35
+ * - Sends a custom action or function call to the service.
36
+ */
37
+ send: (action: string, params?: any) => Promise<any>;
38
+ /**
39
+ * - Deletes records matching the given criteria.
40
+ */
41
+ delete: (entity: string, where: any) => Promise<number>;
42
+ };
43
+ /**
44
+ * Handles 'on' and 'before' event registrations.
45
+ * Supports both signatures: (event, entities, handler) AND (event, handler).
46
+ */
47
+ export type CDSMethod = (event: string | string[], entitiesOrHandler: any | CDSHandler, handler?: CDSHandler) => void;
48
+ /**
49
+ * Handles 'after' event registrations.
50
+ * Supports both signatures: (event, entities, handler) AND (event, handler).
51
+ */
52
+ export type CDSAfterMethod = (event: string | string[], entitiesOrHandler: any | CDSAfterHandler, handler?: CDSAfterHandler) => void;
53
+ export type CDSHandler = (req: any) => any | Promise<any>;
54
+ export type CDSAfterHandler = (results: any, req: any) => any | Promise<any>;
55
+ export type CDSServiceTx = CDSService;
56
+ export type ServiceEventInterceptor = (oService: CDSService) => Promise<void>;
2
57
  export type Service = typeof import("../service").service;
3
58
  export type ServiceEvents = Service["events"];
4
59
  export type ServiceEventsKey = keyof ServiceEvents;
@@ -8,9 +63,54 @@ export type ServieEventsHandler = Partial<Record<ServiceEventsKey, ServiceEventI
8
63
  * @class
9
64
  * @public
10
65
  */
66
+ /**
67
+ * @typedef {Object} CDSService
68
+ * @property {Record<string, any>} entities - Collection of entities served by this service.
69
+ * @property {(query: any) => Promise<any>} run - Executes a given query against the service.
70
+ * @property {(req: any) => CDSServiceTx} tx - Starts a new transaction.
71
+ * @property {(req: any) => CDSServiceTx} transaction - Alias for the tx method.
72
+ * @property {CDSMethod} on - Registers a handler for specific events.
73
+ * @property {CDSMethod} before - Registers a handler to run before the standard logic.
74
+ * @property {CDSAfterMethod} after - Registers a handler to run after the standard logic.
75
+ * @property {(event: string, data?: any) => Promise<void>} emit - Synchronously or asynchronously triggers an event.
76
+ * @property {(action: string, params?: any) => Promise<any>} send - Sends a custom action or function call to the service.
77
+ * @property {(entity: string, where: any) => Promise<number>} delete - Deletes records matching the given criteria.
78
+ */
79
+ /**
80
+ * Handles 'on' and 'before' event registrations.
81
+ * Supports both signatures: (event, entities, handler) AND (event, handler).
82
+ * @callback CDSMethod
83
+ * @param {string | string[]} event - The name of the event (e.g., 'READ', 'UPDATE').
84
+ * @param {any | CDSHandler} entitiesOrHandler - Either the target entity/entities or the handler function.
85
+ * @param {CDSHandler} [handler] - The handler function if an entity was provided as the second argument.
86
+ * @returns {void}
87
+ */
88
+ /**
89
+ * Handles 'after' event registrations.
90
+ * Supports both signatures: (event, entities, handler) AND (event, handler).
91
+ * @callback CDSAfterMethod
92
+ * @param {string | string[]} event - The name of the event.
93
+ * @param {any | CDSAfterHandler} entitiesOrHandler - Either the target entity or the handler function.
94
+ * @param {CDSAfterHandler} [handler] - The handler function if an entity was provided.
95
+ * @returns {void}
96
+ */
97
+ /**
98
+ * @callback CDSHandler
99
+ * @param {any} req - The incoming request object.
100
+ * @returns {any | Promise<any>}
101
+ */
102
+ /**
103
+ * @callback CDSAfterHandler
104
+ * @param {any} results - The results from the primary execution.
105
+ * @param {any} req - The incoming request object.
106
+ * @returns {any | Promise<any>}
107
+ */
108
+ /**
109
+ * @typedef {CDSService} CDSServiceTx
110
+ */
11
111
  /**
12
112
  * @callback ServiceEventInterceptor
13
- * @param {object} oService - Service object for which request to be executed
113
+ * @param {CDSService} oService - Service object for which request to be executed
14
114
  * @returns {Promise<void>}
15
115
  */
16
116
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../.types/lib/impl/index.js"],"names":[],"mappings":"iDAuBW,MAAM,KACJ,OAAO,CAAC,IAAI,CAAC;sBAIb,cAAc,YAAY,EAAE,OAAO;4BACnC,OAAO,CAAC,QAAQ,CAAC;+BACjB,MAAM,aAAa;kCACnB,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;AAhBvE;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AACH;IACI;;;;OAIG;IACH,2BAJW,MAAM,UACN,mBAAmB,GACjB,OAAO,CAAC,IAAI,CAAC,CAMzB;IAED;;;;;;;;;;OAUG;IACH,8BAVW,MAAM,gBACN,MAAM,WACN,mBAAmB,mBACnB,MAAM,GAAC,GAAG,EAAE,iBACZ,mBAAmB,oBACnB,MAAM,GAAC,GAAG,EAAE,oBACZ,GAAG,EAAE,wBACL,OAAO,GACL,OAAO,CAAC,IAAI,CAAC,CA0BzB;IAED;;;;;;;OAOG;IACH,+BAPW,MAAM,WACN,mBAAmB,cACnB,MAAM,GAAC,GAAG,EAAE,cACZ,GAAG,EAAE,wBACL,OAAO,GACL,OAAO,CAAC,IAAI,CAAC,CA8EzB;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../.types/lib/impl/index.js"],"names":[],"mappings":";;;;cAuBc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;SACnB,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;;;;QAC5B,CAAC,GAAG,EAAE,GAAG,KAAK,YAAY;;;;iBAC1B,CAAC,GAAG,EAAE,GAAG,KAAK,YAAY;;;;QAC1B,SAAS;;;;YACT,SAAS;;;;WACT,cAAc;;;;UACd,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC;;;;UAC5C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;;;;YAC9C,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;gCAOlD,MAAM,GAAG,MAAM,EAAE,qBACjB,GAAG,GAAG,UAAU,YAChB,UAAU,KACR,IAAI;;;;;qCAON,MAAM,GAAG,MAAM,EAAE,qBACjB,GAAG,GAAG,eAAe,YACrB,eAAe,KACb,IAAI;+BAKN,GAAG,KACD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;wCAKpB,GAAG,OACH,GAAG,KACD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;2BAIlB,UAAU;iDAKZ,UAAU,KACR,OAAO,CAAC,IAAI,CAAC;sBAIb,cAAc,YAAY,EAAE,OAAO;4BACnC,OAAO,CAAC,QAAQ,CAAC;+BACjB,MAAM,aAAa;kCACnB,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;AAnEvE;;;;GAIG;AAEH;;;;;;;;;;;;GAYG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;;GAQG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;GAEG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;IACI;;;;OAIG;IACH,2BAJW,MAAM,UACN,mBAAmB,GACjB,OAAO,CAAC,IAAI,CAAC,CAMzB;IAED;;;;;;;;;;OAUG;IACH,8BAVW,MAAM,gBACN,MAAM,WACN,mBAAmB,mBACnB,MAAM,GAAC,GAAG,EAAE,iBACZ,mBAAmB,oBACnB,MAAM,GAAC,GAAG,EAAE,oBACZ,GAAG,EAAE,wBACL,OAAO,GACL,OAAO,CAAC,IAAI,CAAC,CA0BzB;IAED;;;;;;;OAOG;IACH,+BAPW,MAAM,WACN,mBAAmB,cACnB,MAAM,GAAC,GAAG,EAAE,cACZ,GAAG,EAAE,wBACL,OAAO,GACL,OAAO,CAAC,IAAI,CAAC,CA8EzB;CACJ"}