@sera4/essentia 1.1.66-rc.1 → 3.0.6

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.
Files changed (194) hide show
  1. package/README.md +352 -8
  2. package/dist/ts/index.d.ts +1 -2
  3. package/dist/ts/index.js +1 -3
  4. package/dist/ts/index.js.map +1 -1
  5. package/dist/ts/logger/s4-logger.js +0 -2
  6. package/dist/ts/logger/s4-logger.js.map +1 -1
  7. package/dist/ts/queue/index.d.ts +2 -38
  8. package/dist/ts/queue/index.js +67 -136
  9. package/dist/ts/queue/index.js.map +1 -1
  10. package/package.json +51 -12
  11. package/package.tar.gz +0 -0
  12. package/cache/index.js +0 -188
  13. package/constants/index.js +0 -9
  14. package/coverage/base.css +0 -224
  15. package/coverage/block-navigation.js +0 -87
  16. package/coverage/configurations/index.html +0 -116
  17. package/coverage/configurations/server-config.ts.html +0 -94
  18. package/coverage/dns/DnsCache.ts.html +0 -598
  19. package/coverage/dns/index.html +0 -131
  20. package/coverage/dns/index.ts.html +0 -94
  21. package/coverage/favicon.png +0 -0
  22. package/coverage/health/index.html +0 -116
  23. package/coverage/health/index.ts.html +0 -778
  24. package/coverage/index.html +0 -161
  25. package/coverage/lcov-report/base.css +0 -224
  26. package/coverage/lcov-report/block-navigation.js +0 -87
  27. package/coverage/lcov-report/configurations/index.html +0 -116
  28. package/coverage/lcov-report/configurations/server-config.ts.html +0 -94
  29. package/coverage/lcov-report/dns/DnsCache.ts.html +0 -598
  30. package/coverage/lcov-report/dns/index.html +0 -131
  31. package/coverage/lcov-report/dns/index.ts.html +0 -94
  32. package/coverage/lcov-report/favicon.png +0 -0
  33. package/coverage/lcov-report/health/index.html +0 -116
  34. package/coverage/lcov-report/health/index.ts.html +0 -778
  35. package/coverage/lcov-report/index.html +0 -161
  36. package/coverage/lcov-report/logger/index.html +0 -131
  37. package/coverage/lcov-report/logger/index.ts.html +0 -94
  38. package/coverage/lcov-report/logger/s4-logger.ts.html +0 -514
  39. package/coverage/lcov-report/prettify.css +0 -1
  40. package/coverage/lcov-report/prettify.js +0 -2
  41. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  42. package/coverage/lcov-report/sorter.js +0 -196
  43. package/coverage/lcov.info +0 -747
  44. package/coverage/logger/index.html +0 -131
  45. package/coverage/logger/index.ts.html +0 -94
  46. package/coverage/logger/s4-logger.ts.html +0 -514
  47. package/coverage/prettify.css +0 -1
  48. package/coverage/prettify.js +0 -2
  49. package/coverage/sort-arrow-sprite.png +0 -0
  50. package/coverage/sorter.js +0 -196
  51. package/coverage/tmp/coverage-24302-1746472691313-0.json +0 -1
  52. package/coverage/tmp/coverage-24302-1746472691366-1.json +0 -1
  53. package/dist/cache/index.d.ts +0 -22
  54. package/dist/cache/index.js +0 -166
  55. package/dist/cache/index.js.map +0 -1
  56. package/dist/constants/index.d.ts +0 -6
  57. package/dist/constants/index.js +0 -9
  58. package/dist/constants/index.js.map +0 -1
  59. package/dist/coverage/block-navigation.d.ts +0 -1
  60. package/dist/coverage/block-navigation.js +0 -70
  61. package/dist/coverage/block-navigation.js.map +0 -1
  62. package/dist/coverage/lcov-report/block-navigation.d.ts +0 -1
  63. package/dist/coverage/lcov-report/block-navigation.js +0 -70
  64. package/dist/coverage/lcov-report/block-navigation.js.map +0 -1
  65. package/dist/coverage/lcov-report/prettify.d.ts +0 -0
  66. package/dist/coverage/lcov-report/prettify.js +0 -477
  67. package/dist/coverage/lcov-report/prettify.js.map +0 -1
  68. package/dist/coverage/lcov-report/sorter.d.ts +0 -1
  69. package/dist/coverage/lcov-report/sorter.js +0 -163
  70. package/dist/coverage/lcov-report/sorter.js.map +0 -1
  71. package/dist/coverage/prettify.d.ts +0 -0
  72. package/dist/coverage/prettify.js +0 -477
  73. package/dist/coverage/prettify.js.map +0 -1
  74. package/dist/coverage/sorter.d.ts +0 -1
  75. package/dist/coverage/sorter.js +0 -163
  76. package/dist/coverage/sorter.js.map +0 -1
  77. package/dist/formatter/index.d.ts +0 -37
  78. package/dist/formatter/index.js +0 -75
  79. package/dist/formatter/index.js.map +0 -1
  80. package/dist/hal/index.d.ts +0 -5
  81. package/dist/hal/index.js +0 -69
  82. package/dist/hal/index.js.map +0 -1
  83. package/dist/health/health-logger.d.ts +0 -9
  84. package/dist/health/health-logger.js +0 -34
  85. package/dist/health/health-logger.js.map +0 -1
  86. package/dist/health/index.d.ts +0 -19
  87. package/dist/health/index.js +0 -175
  88. package/dist/health/index.js.map +0 -1
  89. package/dist/helpers/index.d.ts +0 -1
  90. package/dist/helpers/index.js +0 -2
  91. package/dist/helpers/index.js.map +0 -1
  92. package/dist/helpers/test-server-wrapper.d.ts +0 -120
  93. package/dist/helpers/test-server-wrapper.js +0 -165
  94. package/dist/helpers/test-server-wrapper.js.map +0 -1
  95. package/dist/index.d.ts +0 -1
  96. package/dist/index.js +0 -17
  97. package/dist/index.js.map +0 -1
  98. package/dist/last-commit.d.ts +0 -1
  99. package/dist/last-commit.js +0 -12
  100. package/dist/last-commit.js.map +0 -1
  101. package/dist/last_commit/index.d.ts +0 -7
  102. package/dist/last_commit/index.js +0 -83
  103. package/dist/last_commit/index.js.map +0 -1
  104. package/dist/paginator/s4-pagination.d.ts +0 -9
  105. package/dist/paginator/s4-pagination.js +0 -49
  106. package/dist/paginator/s4-pagination.js.map +0 -1
  107. package/dist/paginator/sql-pagination.d.ts +0 -27
  108. package/dist/paginator/sql-pagination.js +0 -166
  109. package/dist/paginator/sql-pagination.js.map +0 -1
  110. package/dist/paper-trail/helpers.d.ts +0 -11
  111. package/dist/paper-trail/helpers.js +0 -74
  112. package/dist/paper-trail/helpers.js.map +0 -1
  113. package/dist/paper-trail/index.d.ts +0 -13
  114. package/dist/paper-trail/index.js +0 -662
  115. package/dist/paper-trail/index.js.map +0 -1
  116. package/dist/prompts/index.d.ts +0 -14
  117. package/dist/prompts/index.js +0 -63
  118. package/dist/prompts/index.js.map +0 -1
  119. package/dist/queue/index.d.ts +0 -166
  120. package/dist/queue/index.js +0 -371
  121. package/dist/queue/index.js.map +0 -1
  122. package/dist/queue/publisher.d.ts +0 -31
  123. package/dist/queue/publisher.js +0 -84
  124. package/dist/queue/publisher.js.map +0 -1
  125. package/dist/queue/queue-logger.d.ts +0 -9
  126. package/dist/queue/queue-logger.js +0 -35
  127. package/dist/queue/queue-logger.js.map +0 -1
  128. package/dist/queue/subscriber.d.ts +0 -39
  129. package/dist/queue/subscriber.js +0 -97
  130. package/dist/queue/subscriber.js.map +0 -1
  131. package/dist/safe_proxy/index.d.ts +0 -13
  132. package/dist/safe_proxy/index.js +0 -54
  133. package/dist/safe_proxy/index.js.map +0 -1
  134. package/dist/serializer/index.d.ts +0 -5
  135. package/dist/serializer/index.js +0 -83
  136. package/dist/serializer/index.js.map +0 -1
  137. package/dist/test/debug-array.d.ts +0 -0
  138. package/dist/test/debug-array.js +0 -1
  139. package/dist/test/debug-array.js.map +0 -1
  140. package/dist/test/debug-setJSONB.d.ts +0 -0
  141. package/dist/test/debug-setJSONB.js +0 -1
  142. package/dist/test/debug-setJSONB.js.map +0 -1
  143. package/dist/test/prompt.test.d.ts +0 -1
  144. package/dist/test/prompt.test.js +0 -74
  145. package/dist/test/prompt.test.js.map +0 -1
  146. package/dist/test/s4-formatter.spec.d.ts +0 -1
  147. package/dist/test/s4-formatter.spec.js +0 -67
  148. package/dist/test/s4-formatter.spec.js.map +0 -1
  149. package/dist/test/s4-pagination.spec.d.ts +0 -1
  150. package/dist/test/s4-pagination.spec.js +0 -170
  151. package/dist/test/s4-pagination.spec.js.map +0 -1
  152. package/dist/test/safe-proxy.spec.d.ts +0 -1
  153. package/dist/test/safe-proxy.spec.js +0 -252
  154. package/dist/test/safe-proxy.spec.js.map +0 -1
  155. package/dist/test/serializer.spec.d.ts +0 -1
  156. package/dist/test/serializer.spec.js +0 -27
  157. package/dist/test/serializer.spec.js.map +0 -1
  158. package/dist/test/utils.spec.d.ts +0 -1
  159. package/dist/test/utils.spec.js +0 -446
  160. package/dist/test/utils.spec.js.map +0 -1
  161. package/dist/ts/task-scheduler/index.d.ts +0 -130
  162. package/dist/ts/task-scheduler/index.js +0 -259
  163. package/dist/ts/task-scheduler/index.js.map +0 -1
  164. package/formatter/index.js +0 -81
  165. package/hal/README.md +0 -54
  166. package/hal/index.js +0 -75
  167. package/health/health-logger.js +0 -40
  168. package/health/index.js +0 -188
  169. package/helpers/index.js +0 -1
  170. package/helpers/test-server-wrapper.js +0 -196
  171. package/last-commit.js +0 -12
  172. package/last_commit/index.js +0 -82
  173. package/logger/s4-logger.js +0 -128
  174. package/paginator/README.md +0 -183
  175. package/paginator/s4-pagination.js +0 -51
  176. package/paginator/sql-pagination.js +0 -178
  177. package/paper-trail/README.md +0 -68
  178. package/paper-trail/helpers.js +0 -99
  179. package/paper-trail/index.js +0 -843
  180. package/prompts/index.js +0 -78
  181. package/queue/index.js +0 -402
  182. package/queue/publisher.js +0 -96
  183. package/queue/queue-logger.js +0 -40
  184. package/queue/subscriber.js +0 -107
  185. package/safe_proxy/index.js +0 -61
  186. package/scripts/publish.sh +0 -46
  187. package/serializer/index.js +0 -90
  188. package/test/health.spec.js +0 -213
  189. package/test/prompt.test.js +0 -91
  190. package/test/s4-formatter.spec.js +0 -80
  191. package/test/s4-pagination.spec.js +0 -196
  192. package/test/serializer.spec.js +0 -34
  193. package/test/utils.spec.js +0 -145
  194. package/utils/index.js +0 -74
@@ -1,446 +0,0 @@
1
- import { expect, use } from "chai";
2
- import sinon from "sinon";
3
- import sinonChai from "sinon-chai";
4
- import { utils } from "../ts/utils/index.js";
5
- import { TWS_ROUTE_TYPES } from "../ts/constants/index.js";
6
- // Configure chai to use sinon-chai
7
- use(sinonChai);
8
- describe("Utils", () => {
9
- describe("UUID V4", () => {
10
- it("should not validate ABCD", () => {
11
- expect(utils.isValidUuidV4("ABC")).to.be.false;
12
- });
13
- it("should not validate null", () => {
14
- expect(utils.isValidUuidV4(null)).to.be.false;
15
- });
16
- it("should not validate undefined", () => {
17
- expect(utils.isValidUuidV4()).to.be.false;
18
- });
19
- it("should not validate empty string", () => {
20
- expect(utils.isValidUuidV4("")).to.be.false;
21
- });
22
- it("should not validate 26d61a823587-4875-98a8e950e1bf2350", () => {
23
- expect(utils.isValidUuidV4("26d61a823587-4875-98a8-950e1bf2350")).to.be.false;
24
- });
25
- it("should not validate 26d61a82-3587-4875-98a8-e950e1bf235", () => {
26
- expect(utils.isValidUuidV4("26d61a82-3587-4875-98a8-e950e1bf235")).to.be.false;
27
- });
28
- it("should not validate 26d61a8-3587-4875-98a8-e950e1bf2350", () => {
29
- expect(utils.isValidUuidV4("26d61a8-3587-4875-98a8-e950e1bf2350")).to.be.false;
30
- });
31
- it("should not validate 26d61a82-3587-487-98a8-e950e1bf2350", () => {
32
- expect(utils.isValidUuidV4("26d61a82-3587-487-98a8-e950e1bf2350")).to.be.false;
33
- });
34
- it("should validate 26d61a82-3587-4875-98a8-e950e1bf2350", () => {
35
- expect(utils.isValidUuidV4("26d61a82-3587-4875-98a8-e950e1bf2350")).to.be.true;
36
- });
37
- it("should validate 26D61A82-3587-4875-98A8-E950E1BF2350", () => {
38
- expect(utils.isValidUuidV4("26D61A82-3587-4875-98A8-E950E1BF2350")).to.be.true;
39
- });
40
- });
41
- describe("String -> Integer Array", () => {
42
- it("Should return [] with a null/undefined input", () => {
43
- expect(utils.convertToIntegerArray()).to.be.an('array').that.is.empty;
44
- });
45
- it("Should return a valid integer array for '1,2,3'", () => {
46
- expect(utils.convertToIntegerArray('1,2,3')).to.be.an('array').to.deep.equal([1, 2, 3]);
47
- });
48
- it("Should return a valid integer array for '[1,2,3]'", () => {
49
- expect(utils.convertToIntegerArray('[1,2,3]')).to.be.an('array').to.deep.equal([1, 2, 3]);
50
- });
51
- it("Should return a valid integer array for '[1,2],3'", () => {
52
- expect(utils.convertToIntegerArray('[1,2],3')).to.be.an('array').to.deep.equal([1, 2]);
53
- });
54
- it("Should return a valid integer array for '[1,2]],3'", () => {
55
- expect(utils.convertToIntegerArray('[1,2]],3')).to.be.an('array').to.deep.equal([1, 2]);
56
- });
57
- it("Should return a valid integer array for '[1,2,3'", () => {
58
- expect(utils.convertToIntegerArray('[1,2,3')).to.be.an('array').to.deep.equal([1, 2, 3]);
59
- });
60
- it("Should return a valid integer array for '1[1,2],3'", () => {
61
- expect(utils.convertToIntegerArray('1[1,2],3')).to.be.an('array').to.deep.equal([1, 2]);
62
- });
63
- it("Should return a valid integer array for 1", () => {
64
- expect(utils.convertToIntegerArray(1)).to.be.an('array').to.deep.equal([1]);
65
- });
66
- it("Should return a valid integer array for '1'", () => {
67
- expect(utils.convertToIntegerArray('1')).to.be.an('array').to.deep.equal([1]);
68
- });
69
- it("Should return a valid integer array for '1w'", () => {
70
- expect(utils.convertToIntegerArray('1w')).to.be.an('array').to.deep.equal([1]);
71
- });
72
- it("Should return a valid integer array for '[1,2e'", () => {
73
- expect(utils.convertToIntegerArray('[1,2e')).to.be.an('array').to.deep.equal([1, 2]);
74
- });
75
- });
76
- describe("Route testing", () => {
77
- it("Return -1 for a blank domain", () => {
78
- expect(utils.getRouteType('')).to.eq(-1);
79
- });
80
- it("Return a web route type for tws-web", () => {
81
- const route = utils.getRouteType('tws-web.sera4.com/v3/xxx');
82
- expect(route).to.eq(TWS_ROUTE_TYPES['web']);
83
- expect(utils.isWebRoute(route)).to.be.true;
84
- });
85
- it("Return a web route type for tws-web-staging", () => {
86
- const route = utils.getRouteType('tws-web-environmentX.sera4.com/v3/xxx');
87
- expect(route).to.eq(TWS_ROUTE_TYPES['web']);
88
- expect(utils.isWebRoute(route)).to.be.true;
89
- });
90
- it("Return a mobile route type for tws-mob", () => {
91
- const route = utils.getRouteType('tws-mob.sera4.com/v3/xxx');
92
- expect(route).to.eq(TWS_ROUTE_TYPES['mobile']);
93
- expect(utils.isMobileRoute(route)).to.be.true;
94
- });
95
- it("Return a mobile route type for tws-mob-staging", () => {
96
- const route = utils.getRouteType('tws-mob-environmentX.sera4.com/v3/xxx');
97
- expect(route).to.eq(TWS_ROUTE_TYPES['mobile']);
98
- expect(utils.isMobileRoute(route)).to.be.true;
99
- });
100
- it("Return an API route type for tws-api-xxxx", () => {
101
- const route = utils.getRouteType('tws-api-1234.sera4.com/v3/xxx');
102
- expect(route).to.eq(TWS_ROUTE_TYPES['api']);
103
- expect(utils.isApiRoute(route)).to.be.true;
104
- });
105
- it("Return isWebRoute TRUE for 1 or '1'", () => {
106
- expect(utils.isWebRoute(1)).to.eq(true);
107
- expect(utils.isWebRoute('1')).to.eq(true);
108
- });
109
- it("Return isMobileRoute TRUE for 2 or '2'", () => {
110
- expect(utils.isMobileRoute(2)).to.eq(true);
111
- expect(utils.isMobileRoute('2')).to.eq(true);
112
- });
113
- it("Return isApiRoute TRUE for 3 or '3'", () => {
114
- expect(utils.isApiRoute(3)).to.eq(true);
115
- expect(utils.isApiRoute('3')).to.eq(true);
116
- });
117
- it("Return isApiRoute TRUE for many other values", () => {
118
- expect(utils.isOtherRoute(4)).to.eq(true);
119
- expect(utils.isOtherRoute('4')).to.eq(true);
120
- expect(utils.isOtherRoute('a')).to.eq(true);
121
- });
122
- });
123
- describe("recursiveOmitBy", () => {
124
- it("should return empty object for null input", () => {
125
- const result = utils.recursiveOmitBy(null, () => true);
126
- expect(result).to.deep.equal({});
127
- });
128
- it("should return empty object for undefined input", () => {
129
- const result = utils.recursiveOmitBy(undefined, () => true);
130
- expect(result).to.deep.equal({});
131
- });
132
- it("should return empty object for empty object input", () => {
133
- const result = utils.recursiveOmitBy({}, () => true);
134
- expect(result).to.deep.equal({});
135
- });
136
- it("should remove properties that match the callback condition", () => {
137
- const input = { a: 1, b: 2, c: 3 };
138
- const callback = ({ node }) => node === 2;
139
- const result = utils.recursiveOmitBy(input, callback);
140
- expect(result).to.deep.equal({ a: 1, c: 3 });
141
- });
142
- it("should remove nested properties that match the callback condition", () => {
143
- const input = {
144
- a: 1,
145
- b: { x: 2, y: 3 },
146
- c: 4
147
- };
148
- const callback = ({ node }) => node === 2;
149
- const result = utils.recursiveOmitBy(input, callback);
150
- expect(result).to.deep.equal({
151
- a: 1,
152
- b: { y: 3 },
153
- c: 4
154
- });
155
- });
156
- it("should remove deeply nested properties", () => {
157
- const input = {
158
- a: 1,
159
- b: {
160
- x: {
161
- deep: 2
162
- },
163
- y: 3
164
- },
165
- c: 4
166
- };
167
- const callback = ({ node }) => node === 2;
168
- const result = utils.recursiveOmitBy(input, callback);
169
- expect(result).to.deep.equal({
170
- a: 1,
171
- b: {
172
- x: {},
173
- y: 3
174
- },
175
- c: 4
176
- });
177
- });
178
- it("should handle arrays within objects", () => {
179
- const input = {
180
- a: 1,
181
- b: [2, 3, 4],
182
- c: 5
183
- };
184
- const callback = ({ node }) => node === 3;
185
- const result = utils.recursiveOmitBy(input, callback);
186
- // Note: The current implementation doesn't handle array elements properly
187
- // This test reflects the actual behavior
188
- expect(result).to.deep.equal({
189
- a: 1,
190
- b: [2, 3, 4], // Array elements are not processed by the current implementation
191
- c: 5
192
- });
193
- });
194
- it("should handle nested arrays", () => {
195
- const input = {
196
- a: 1,
197
- b: [[2, 3], [4, 5]],
198
- c: 6
199
- };
200
- const callback = ({ node }) => node === 3;
201
- const result = utils.recursiveOmitBy(input, callback);
202
- // Note: The current implementation doesn't handle array elements properly
203
- // This test reflects the actual behavior
204
- expect(result).to.deep.equal({
205
- a: 1,
206
- b: [[2, 3], [4, 5]], // Array elements are not processed by the current implementation
207
- c: 6
208
- });
209
- });
210
- it("should not modify the original object", () => {
211
- const input = { a: 1, b: 2, c: 3 };
212
- const original = JSON.parse(JSON.stringify(input));
213
- const callback = ({ node }) => node === 2;
214
- utils.recursiveOmitBy(input, callback);
215
- expect(input).to.deep.equal(original);
216
- });
217
- it("should handle callback that uses path information", () => {
218
- const input = {
219
- a: 1,
220
- b: { x: 2, y: 3 },
221
- c: 4
222
- };
223
- const callback = ({ path }) => path.includes('x');
224
- const result = utils.recursiveOmitBy(input, callback);
225
- expect(result).to.deep.equal({
226
- a: 1,
227
- b: { y: 3 },
228
- c: 4
229
- });
230
- });
231
- it("should handle callback that uses node and path", () => {
232
- const input = {
233
- a: 1,
234
- b: { x: 2, y: 3 },
235
- c: 4
236
- };
237
- const callback = ({ node, path }) => node === 2 && path.includes('x');
238
- const result = utils.recursiveOmitBy(input, callback);
239
- expect(result).to.deep.equal({
240
- a: 1,
241
- b: { y: 3 },
242
- c: 4
243
- });
244
- });
245
- it("should handle recursive iterator options", () => {
246
- const input = {
247
- a: 1,
248
- b: { x: 2, y: 3 },
249
- c: 4
250
- };
251
- const callback = ({ node }) => node === 2;
252
- const result = utils.recursiveOmitBy(input, callback, { skipEmpty: true });
253
- expect(result).to.deep.equal({
254
- a: 1,
255
- b: { y: 3 },
256
- c: 4
257
- });
258
- });
259
- });
260
- describe("setJSONBOptionsForColumn", () => {
261
- let mockModel;
262
- let mockLogger;
263
- beforeEach(() => {
264
- // Mock the logger
265
- mockLogger = {
266
- warn: sinon.stub()
267
- };
268
- // Create a mock model with Sequelize-like behavior
269
- mockModel = {
270
- options: { existing: 'value' },
271
- set: sinon.stub(),
272
- get: sinon.stub().returns({ existing: 'value' })
273
- };
274
- });
275
- afterEach(() => {
276
- sinon.restore();
277
- });
278
- it("should initialize empty column if it doesn't exist", () => {
279
- const model = { set: sinon.stub() };
280
- const obj = { newField: 'value' };
281
- utils.setJSONBOptionsForColumn(model, 'newColumn', obj);
282
- expect(model.newColumn).to.deep.equal({});
283
- });
284
- it("should merge new data with existing data", () => {
285
- const model = {
286
- existingColumn: { field1: 'value1' },
287
- set: sinon.stub()
288
- };
289
- const obj = { field2: 'value2' };
290
- utils.setJSONBOptionsForColumn(model, 'existingColumn', obj);
291
- expect(model.set).to.have.been.calledWith('existingColumn', sinon.match.object);
292
- const setCall = model.set.getCall(0);
293
- const setValue = setCall.args[1];
294
- expect(setValue).to.deep.equal({ field1: 'value1', field2: 'value2' });
295
- });
296
- it("should remove null values from the merged data", () => {
297
- const model = {
298
- existingColumn: { field1: 'value1', field2: 'value2' },
299
- set: sinon.stub()
300
- };
301
- const obj = { field2: null, field3: 'value3' };
302
- utils.setJSONBOptionsForColumn(model, 'existingColumn', obj);
303
- const setCall = model.set.getCall(0);
304
- const setValue = setCall.args[1];
305
- expect(setValue).to.deep.equal({ field1: 'value1', field3: 'value3' });
306
- });
307
- it("should remove undefined values from the merged data", () => {
308
- const model = {
309
- existingColumn: { field1: 'value1', field2: 'value2' },
310
- set: sinon.stub()
311
- };
312
- const obj = { field2: undefined, field3: 'value3' };
313
- utils.setJSONBOptionsForColumn(model, 'existingColumn', obj);
314
- const setCall = model.set.getCall(0);
315
- const setValue = setCall.args[1];
316
- // Note: The current implementation doesn't remove undefined values properly
317
- // This test reflects the actual behavior
318
- expect(setValue).to.deep.equal({ field1: 'value1', field2: 'value2', field3: 'value3' });
319
- });
320
- it("should handle nested null/undefined values", () => {
321
- const model = {
322
- existingColumn: {
323
- nested: {
324
- field1: 'value1',
325
- field2: 'value2'
326
- }
327
- },
328
- set: sinon.stub()
329
- };
330
- const obj = {
331
- nested: {
332
- field2: null,
333
- field3: 'value3'
334
- }
335
- };
336
- utils.setJSONBOptionsForColumn(model, 'existingColumn', obj);
337
- const setCall = model.set.getCall(0);
338
- const setValue = setCall.args[1];
339
- expect(setValue).to.deep.equal({
340
- nested: {
341
- field1: 'value1',
342
- field3: 'value3'
343
- }
344
- });
345
- });
346
- it("should not call set if data hasn't changed", () => {
347
- const model = {
348
- existingColumn: { field1: 'value1' },
349
- set: sinon.stub()
350
- };
351
- const obj = { field1: 'value1' };
352
- utils.setJSONBOptionsForColumn(model, 'existingColumn', obj);
353
- expect(model.set).to.not.have.been.called;
354
- });
355
- it("should handle deep equality comparison", () => {
356
- const model = {
357
- existingColumn: {
358
- nested: {
359
- field1: 'value1',
360
- field2: 'value2'
361
- }
362
- },
363
- set: sinon.stub()
364
- };
365
- const obj = {
366
- nested: {
367
- field1: 'value1',
368
- field2: 'value2'
369
- }
370
- };
371
- utils.setJSONBOptionsForColumn(model, 'existingColumn', obj);
372
- expect(model.set).to.not.have.been.called;
373
- });
374
- it("should handle complex nested structures", () => {
375
- const model = {
376
- existingColumn: {
377
- level1: {
378
- level2: {
379
- field1: 'value1',
380
- field2: 'value2'
381
- }
382
- }
383
- },
384
- set: sinon.stub()
385
- };
386
- const obj = {
387
- level1: {
388
- level2: {
389
- field2: null,
390
- field3: 'value3'
391
- }
392
- }
393
- };
394
- utils.setJSONBOptionsForColumn(model, 'existingColumn', obj);
395
- const setCall = model.set.getCall(0);
396
- const setValue = setCall.args[1];
397
- expect(setValue).to.deep.equal({
398
- level1: {
399
- level2: {
400
- field1: 'value1',
401
- field3: 'value3'
402
- }
403
- }
404
- });
405
- });
406
- it("should handle arrays within JSONB data", () => {
407
- const model = {
408
- existingColumn: {
409
- items: ['item1', 'item2'],
410
- config: { enabled: true }
411
- },
412
- set: sinon.stub()
413
- };
414
- const obj = {
415
- items: ['item1', 'item2', 'item3'],
416
- config: { enabled: false }
417
- };
418
- utils.setJSONBOptionsForColumn(model, 'existingColumn', obj);
419
- const setCall = model.set.getCall(0);
420
- const setValue = setCall.args[1];
421
- expect(setValue).to.deep.equal({
422
- items: ['item1', 'item2', 'item3'],
423
- config: { enabled: false }
424
- });
425
- });
426
- it("should handle empty object input", () => {
427
- const model = {
428
- existingColumn: { field1: 'value1' },
429
- set: sinon.stub()
430
- };
431
- const obj = {};
432
- utils.setJSONBOptionsForColumn(model, 'existingColumn', obj);
433
- expect(model.set).to.not.have.been.called;
434
- });
435
- it("should handle null input object", () => {
436
- const model = {
437
- existingColumn: { field1: 'value1' },
438
- set: sinon.stub()
439
- };
440
- const obj = null;
441
- utils.setJSONBOptionsForColumn(model, 'existingColumn', obj);
442
- expect(model.set).to.not.have.been.called;
443
- });
444
- });
445
- });
446
- //# sourceMappingURL=utils.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../test/utils.spec.js"],"names":[],"mappings":"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"}
@@ -1,130 +0,0 @@
1
- /**
2
- * Task function type definition
3
- */
4
- export type TaskFunction = () => Promise<void> | void;
5
- /**
6
- * Task options interface
7
- */
8
- export interface TaskOptions {
9
- scheduled?: boolean;
10
- timezone?: string;
11
- }
12
- /**
13
- * Scheduler initialization options
14
- */
15
- export interface SchedulerOptions {
16
- timezone?: string;
17
- scheduled?: boolean;
18
- }
19
- /**
20
- * Task information interface
21
- */
22
- export interface TaskInfo {
23
- name: string;
24
- cronExpression: string;
25
- isRunning: boolean;
26
- createdAt: Date;
27
- options: TaskOptions;
28
- }
29
- /**
30
- * TaskScheduler - Singleton class for managing cron-based scheduled tasks
31
- * Provides helper functions around node-cron for easy task scheduling
32
- */
33
- export declare class TaskScheduler {
34
- private static instance;
35
- private readonly tasks;
36
- private isInitialized;
37
- private options;
38
- private constructor();
39
- /**
40
- * Get the singleton instance of TaskScheduler
41
- * @returns {TaskScheduler} The singleton instance
42
- */
43
- static getInstance(): TaskScheduler;
44
- /**
45
- * Initialize the task scheduler
46
- * @param {SchedulerOptions} options - Configuration options
47
- * @param {string} options.timezone - Timezone for cron jobs (default: 'UTC')
48
- * @param {boolean} options.scheduled - Whether to start tasks immediately (default: true)
49
- */
50
- init(options?: SchedulerOptions): void;
51
- /**
52
- * Add a scheduled task
53
- * @param {string} name - Unique name for the task
54
- * @param {string} cronExpression - Cron expression (e.g., '0 0 * * *' for daily at midnight)
55
- * @param {TaskFunction} taskFunction - Function to execute
56
- * @param {TaskOptions} options - Additional options
57
- * @param {boolean} options.scheduled - Whether to start the task immediately (default: true)
58
- * @param {string} options.timezone - Timezone override for this task
59
- * @returns {boolean} - Success status
60
- */
61
- addTask(name: string, cronExpression: string, taskFunction: TaskFunction, options?: TaskOptions): boolean;
62
- /**
63
- * Update an existing scheduled task
64
- * @param {string} name - Name of the task to update
65
- * @param {string} cronExpression - New cron expression
66
- * @param {TaskFunction} taskFunction - New function to execute
67
- * @param {TaskOptions} options - Additional options
68
- * @returns {boolean} - Success status
69
- */
70
- updateTask(name: string, cronExpression: string, taskFunction: TaskFunction, options?: TaskOptions): boolean;
71
- /**
72
- * Remove a scheduled task
73
- * @param {string} name - Name of the task to remove
74
- * @returns {boolean} - Success status
75
- */
76
- removeTask(name: string): boolean;
77
- /**
78
- * Start a specific task
79
- * @param {string} name - Name of the task to start
80
- * @returns {boolean} - Success status
81
- */
82
- startTask(name: string): boolean;
83
- /**
84
- * Stop a specific task
85
- * @param {string} name - Name of the task to stop
86
- * @returns {boolean} - Success status
87
- */
88
- stopTask(name: string): boolean;
89
- /**
90
- * Start all tasks
91
- */
92
- startAll(): void;
93
- /**
94
- * Stop all tasks
95
- */
96
- stopAll(): void;
97
- /**
98
- * Get information about all scheduled tasks
99
- * @returns {TaskInfo[]} - Array of task information objects
100
- */
101
- getTasks(): TaskInfo[];
102
- /**
103
- * Get information about a specific task
104
- * @param {string} name - Name of the task
105
- * @returns {TaskInfo | null} - Task information or null if not found
106
- */
107
- getTask(name: string): TaskInfo | null;
108
- /**
109
- * Validate a cron expression
110
- * @param {string} cronExpression - Cron expression to validate
111
- * @returns {boolean} - Whether the expression is valid
112
- */
113
- validateCronExpression(cronExpression: string): boolean;
114
- /**
115
- * Check if the scheduler is initialized
116
- * @returns {boolean} - Whether the scheduler is initialized
117
- */
118
- isSchedulerInitialized(): boolean;
119
- /**
120
- * Get the number of active tasks
121
- * @returns {number} - Number of active tasks
122
- */
123
- getTaskCount(): number;
124
- /**
125
- * Shutdown the scheduler and clean up all tasks
126
- */
127
- shutdown(): void;
128
- }
129
- declare const _default: TaskScheduler;
130
- export default _default;