@6thbridge/utils 1.9.0-1 → 1.9.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.
Files changed (137) hide show
  1. package/lib/actions/database-session.action.d.ts +13 -0
  2. package/lib/actions/database-session.action.js +77 -0
  3. package/lib/actions/database-session.action.js.map +1 -0
  4. package/lib/actions/database-session.action.test.d.ts +1 -0
  5. package/lib/actions/database-session.action.test.js +137 -0
  6. package/lib/actions/database-session.action.test.js.map +1 -0
  7. package/lib/actions/index.d.ts +2 -0
  8. package/lib/actions/index.js +2 -0
  9. package/lib/actions/index.js.map +1 -1
  10. package/lib/actions/lock.action.d.ts +16 -0
  11. package/lib/actions/lock.action.js +171 -0
  12. package/lib/actions/lock.action.js.map +1 -0
  13. package/lib/actions/lock.action.test.d.ts +1 -0
  14. package/lib/actions/lock.action.test.js +63 -0
  15. package/lib/actions/lock.action.test.js.map +1 -0
  16. package/lib/data/rabbitmq/index.d.ts +3 -2
  17. package/lib/data/rabbitmq/index.js +3 -0
  18. package/lib/data/rabbitmq/index.js.map +1 -1
  19. package/lib/database/MongoDBRepository.d.ts +27 -120
  20. package/lib/database/MongoDBRepository.js +49 -41
  21. package/lib/database/MongoDBRepository.js.map +1 -1
  22. package/lib/database/MongoDBTypeRepository.d.ts +51 -0
  23. package/lib/database/MongoDBTypeRepository.js +90 -0
  24. package/lib/database/MongoDBTypeRepository.js.map +1 -0
  25. package/lib/database/index.d.ts +2 -0
  26. package/lib/database/index.js +4 -0
  27. package/lib/database/index.js.map +1 -1
  28. package/lib/index.d.ts +4 -1
  29. package/lib/index.js +25 -16
  30. package/lib/index.js.map +1 -1
  31. package/lib/logger/batching.d.ts +7 -0
  32. package/lib/logger/batching.js +90 -0
  33. package/lib/logger/batching.js.map +1 -0
  34. package/lib/logger/batching.spec.d.ts +1 -0
  35. package/lib/logger/batching.spec.js +108 -0
  36. package/lib/logger/batching.spec.js.map +1 -0
  37. package/lib/logger/index.d.ts +1 -0
  38. package/lib/logger/index.js +5 -1
  39. package/lib/logger/index.js.map +1 -1
  40. package/lib/logger/logger-test.js +53 -24
  41. package/lib/logger/logger-test.js.map +1 -1
  42. package/lib/logger/logger.js +8 -23
  43. package/lib/logger/logger.js.map +1 -1
  44. package/lib/logger/redact.js +1 -1
  45. package/lib/logger/redact.js.map +1 -1
  46. package/lib/logger/test.spec.js +57 -0
  47. package/lib/logger/test.spec.js.map +1 -1
  48. package/lib/middlewares/common.js +7 -7
  49. package/lib/middlewares/common.js.map +1 -1
  50. package/lib/middlewares/error.middleware.d.ts +12 -0
  51. package/lib/middlewares/error.middleware.js +57 -0
  52. package/lib/middlewares/error.middleware.js.map +1 -0
  53. package/lib/middlewares/error.middleware.test.d.ts +1 -0
  54. package/lib/middlewares/error.middleware.test.js +45 -0
  55. package/lib/middlewares/error.middleware.test.js.map +1 -0
  56. package/lib/middlewares/express.js +19 -9
  57. package/lib/middlewares/express.js.map +1 -1
  58. package/lib/middlewares/index.js +17 -7
  59. package/lib/middlewares/index.js.map +1 -1
  60. package/lib/monitoring/index.js +3 -3
  61. package/lib/monitoring/index.js.map +1 -1
  62. package/lib/monitoring/rollbar.js +2 -2
  63. package/lib/monitoring/rollbar.js.map +1 -1
  64. package/lib/pipelines/index.d.ts +3 -0
  65. package/lib/pipelines/index.js +20 -0
  66. package/lib/pipelines/index.js.map +1 -0
  67. package/lib/pipelines/parallel-pipeline.d.ts +7 -0
  68. package/lib/pipelines/parallel-pipeline.js +49 -0
  69. package/lib/pipelines/parallel-pipeline.js.map +1 -0
  70. package/lib/pipelines/pipeline-step.d.ts +5 -0
  71. package/lib/pipelines/pipeline-step.js +3 -0
  72. package/lib/pipelines/pipeline-step.js.map +1 -0
  73. package/lib/pipelines/pipeline.example.d.ts +2 -0
  74. package/lib/pipelines/pipeline.example.js +96 -0
  75. package/lib/pipelines/pipeline.example.js.map +1 -0
  76. package/lib/pipelines/pipelines.test.d.ts +1 -0
  77. package/lib/pipelines/pipelines.test.js +204 -0
  78. package/lib/pipelines/pipelines.test.js.map +1 -0
  79. package/lib/pipelines/pipelines.typecheck.d.ts +1 -0
  80. package/lib/pipelines/pipelines.typecheck.js +68 -0
  81. package/lib/pipelines/pipelines.typecheck.js.map +1 -0
  82. package/lib/pipelines/serial-pipeline.d.ts +7 -0
  83. package/lib/pipelines/serial-pipeline.js +39 -0
  84. package/lib/pipelines/serial-pipeline.js.map +1 -0
  85. package/lib/responses/express.d.ts +1 -1
  86. package/lib/responses/express.js +4 -4
  87. package/lib/responses/express.js.map +1 -1
  88. package/lib/responses/index.js +17 -7
  89. package/lib/responses/index.js.map +1 -1
  90. package/lib/schemas/country.schema.d.ts +5 -0
  91. package/lib/schemas/country.schema.js +15 -0
  92. package/lib/schemas/country.schema.js.map +1 -0
  93. package/lib/schemas/index.d.ts +2 -0
  94. package/lib/schemas/index.js +21 -0
  95. package/lib/schemas/index.js.map +1 -0
  96. package/lib/tsconfig.tsbuildinfo +1 -1
  97. package/lib/types/context.entity.js +17 -7
  98. package/lib/types/context.entity.js.map +1 -1
  99. package/lib/types/integrations/credential.entity.d.ts +1 -0
  100. package/lib/types/integrations/credential.entity.js +5 -0
  101. package/lib/types/integrations/credential.entity.js.map +1 -1
  102. package/lib/types/integrations/integration.entity.d.ts +5 -1
  103. package/lib/types/integrations/integration.entity.js +10 -1
  104. package/lib/types/integrations/integration.entity.js.map +1 -1
  105. package/lib/types/route.entity.d.ts +1 -1
  106. package/lib/utils/amount.js +0 -1
  107. package/lib/utils/amount.js.map +1 -1
  108. package/lib/utils/database.d.ts +2 -0
  109. package/lib/utils/database.js +35 -6
  110. package/lib/utils/database.js.map +1 -1
  111. package/lib/utils/database.spec.js +229 -185
  112. package/lib/utils/database.spec.js.map +1 -1
  113. package/lib/utils/file.d.ts +3 -2
  114. package/lib/utils/file.js.map +1 -1
  115. package/lib/utils/helper.d.ts +2 -0
  116. package/lib/utils/helper.js +20 -0
  117. package/lib/utils/helper.js.map +1 -1
  118. package/lib/utils/helper.spec.js +56 -0
  119. package/lib/utils/helper.spec.js.map +1 -1
  120. package/lib/utils/http.d.ts +3 -4
  121. package/lib/utils/http.js +68 -44
  122. package/lib/utils/http.js.map +1 -1
  123. package/lib/utils/http.spec.d.ts +1 -0
  124. package/lib/utils/http.spec.js +121 -0
  125. package/lib/utils/http.spec.js.map +1 -0
  126. package/lib/utils/phoneNumber.d.ts +2 -2
  127. package/lib/utils/phoneNumber.js +17 -7
  128. package/lib/utils/phoneNumber.js.map +1 -1
  129. package/lib/utils/phoneNumber.spec.js +20 -0
  130. package/lib/utils/phoneNumber.spec.js.map +1 -1
  131. package/lib/utils/validator.d.ts +3 -2
  132. package/lib/utils/validator.js +40 -14
  133. package/lib/utils/validator.js.map +1 -1
  134. package/lib/utils/validator.spec.js +130 -14
  135. package/lib/utils/validator.spec.js.map +1 -1
  136. package/package.json +30 -23
  137. package/readme.md +37 -2
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const index_1 = require("./index");
13
+ function createContext(requestId) {
14
+ return { requestId };
15
+ }
16
+ function deferred() {
17
+ let resolve;
18
+ const promise = new Promise((complete) => { resolve = complete; });
19
+ return { promise, resolve };
20
+ }
21
+ const context = createContext('first');
22
+ describe('SerialPipeline', () => {
23
+ it('awaits predicates and executions, then forwards results in order', () => __awaiter(void 0, void 0, void 0, function* () {
24
+ const predicate = deferred();
25
+ const execution = deferred();
26
+ const firstRun = jest.fn(() => __awaiter(void 0, void 0, void 0, function* () { return execution.promise; }));
27
+ const secondPredicate = jest.fn(() => __awaiter(void 0, void 0, void 0, function* () { return true; }));
28
+ const secondRun = jest.fn((_, input) => __awaiter(void 0, void 0, void 0, function* () { return `${input}!`; }));
29
+ const pipeline = new index_1.SerialPipeline()
30
+ .pipe('first', { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return predicate.promise; }), run: firstRun })
31
+ .pipe('second', { shouldRun: secondPredicate, run: secondRun });
32
+ const pending = pipeline.run(context, 'input');
33
+ expect(firstRun).not.toHaveBeenCalled();
34
+ predicate.resolve(true);
35
+ yield Promise.resolve();
36
+ yield Promise.resolve();
37
+ expect(secondPredicate).not.toHaveBeenCalled();
38
+ execution.resolve(42);
39
+ yield expect(pending).resolves.toBe('42!');
40
+ expect(firstRun).toHaveBeenCalledWith(context, 'input');
41
+ expect(secondPredicate).toHaveBeenCalledWith(context, 42);
42
+ expect(secondRun).toHaveBeenCalledWith(context, 42);
43
+ }));
44
+ it('forwards unchanged input when a step is skipped', () => __awaiter(void 0, void 0, void 0, function* () {
45
+ const skippedRun = jest.fn(() => __awaiter(void 0, void 0, void 0, function* () { return 42; }));
46
+ const nextRun = jest.fn((_, value) => __awaiter(void 0, void 0, void 0, function* () { return value; }));
47
+ const pipeline = new index_1.SerialPipeline()
48
+ .pipe('skipped', { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return false; }), run: skippedRun })
49
+ .pipe('next', { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), run: nextRun });
50
+ yield expect(pipeline.run(context, 'original')).resolves.toBe('original');
51
+ expect(skippedRun).not.toHaveBeenCalled();
52
+ expect(nextRun).toHaveBeenCalledWith(context, 'original');
53
+ }));
54
+ it('forwards undefined as an executed result', () => __awaiter(void 0, void 0, void 0, function* () {
55
+ const nextRun = jest.fn((_, value) => __awaiter(void 0, void 0, void 0, function* () { return value; }));
56
+ const pipeline = new index_1.SerialPipeline()
57
+ .pipe('undefined', { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), run: () => __awaiter(void 0, void 0, void 0, function* () { return undefined; }) })
58
+ .pipe('next', { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), run: nextRun });
59
+ yield expect(pipeline.run(context, 'input')).resolves.toBeUndefined();
60
+ expect(nextRun).toHaveBeenCalledWith(context, undefined);
61
+ }));
62
+ it.each(['shouldRun', 'run'])('stops and propagates errors from %s', (method) => __awaiter(void 0, void 0, void 0, function* () {
63
+ const error = new Error(method);
64
+ const nextRun = jest.fn(() => __awaiter(void 0, void 0, void 0, function* () { return 2; }));
65
+ const step = {
66
+ shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return true; }),
67
+ run: () => __awaiter(void 0, void 0, void 0, function* () { return 1; }),
68
+ [method]: () => __awaiter(void 0, void 0, void 0, function* () { throw error; }),
69
+ };
70
+ const pipeline = new index_1.SerialPipeline()
71
+ .pipe('failure', step)
72
+ .pipe('next', { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), run: nextRun });
73
+ yield expect(pipeline.run(context, 0)).rejects.toBe(error);
74
+ expect(nextRun).not.toHaveBeenCalled();
75
+ }));
76
+ });
77
+ describe('ParallelPipeline', () => {
78
+ it('starts predicates and runs concurrently, returning named results in registration order', () => __awaiter(void 0, void 0, void 0, function* () {
79
+ const firstPredicate = deferred();
80
+ const secondStarted = deferred();
81
+ const firstResult = deferred();
82
+ const secondResult = deferred();
83
+ const firstRun = jest.fn(() => __awaiter(void 0, void 0, void 0, function* () { return firstResult.promise; }));
84
+ const secondPredicate = jest.fn(() => __awaiter(void 0, void 0, void 0, function* () { return true; }));
85
+ const secondRun = jest.fn(() => __awaiter(void 0, void 0, void 0, function* () {
86
+ secondStarted.resolve();
87
+ return secondResult.promise;
88
+ }));
89
+ const pipeline = new index_1.ParallelPipeline()
90
+ .pipe('first', { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return firstPredicate.promise; }), run: firstRun })
91
+ .pipe('second', { shouldRun: secondPredicate, run: secondRun });
92
+ const pending = pipeline.run(context, 7);
93
+ yield secondStarted.promise;
94
+ expect(firstRun).not.toHaveBeenCalled();
95
+ expect(secondPredicate).toHaveBeenCalledWith(context, 7);
96
+ secondResult.resolve('second');
97
+ firstPredicate.resolve(true);
98
+ firstResult.resolve(10);
99
+ const result = yield pending;
100
+ expect(result).toEqual({ first: 10, second: 'second' });
101
+ expect(Object.keys(result)).toEqual(['first', 'second']);
102
+ expect(firstRun).toHaveBeenCalledWith(context, 7);
103
+ expect(secondRun).toHaveBeenCalledWith(context, 7);
104
+ }));
105
+ it('omits skipped steps but includes executed undefined values', () => __awaiter(void 0, void 0, void 0, function* () {
106
+ const skippedRun = jest.fn(() => __awaiter(void 0, void 0, void 0, function* () { return 'skipped'; }));
107
+ const pipeline = new index_1.ParallelPipeline()
108
+ .pipe('skipped', { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return false; }), run: skippedRun })
109
+ .pipe('executed', { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), run: () => __awaiter(void 0, void 0, void 0, function* () { return undefined; }) });
110
+ const result = yield pipeline.run(context, 0);
111
+ expect(Object.keys(result)).toEqual(['executed']);
112
+ expect(result.executed).toBeUndefined();
113
+ expect(skippedRun).not.toHaveBeenCalled();
114
+ }));
115
+ it('supports names that overlap Object prototype properties', () => __awaiter(void 0, void 0, void 0, function* () {
116
+ const pipeline = new index_1.ParallelPipeline()
117
+ .pipe('__proto__', { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), run: () => __awaiter(void 0, void 0, void 0, function* () { return 1; }) });
118
+ const result = yield pipeline.run(context, 0);
119
+ expect(Object.getPrototypeOf(result)).toBe(Object.prototype);
120
+ expect(Object.prototype.hasOwnProperty.call(result, '__proto__')).toBe(true);
121
+ expect(result.__proto__).toBe(1);
122
+ }));
123
+ it.each(['shouldRun', 'run'])('rejects %s errors while started work continues', (method) => __awaiter(void 0, void 0, void 0, function* () {
124
+ const error = new Error(method);
125
+ const completion = deferred();
126
+ const started = deferred();
127
+ const finished = deferred();
128
+ const failure = {
129
+ shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return true; }),
130
+ run: () => __awaiter(void 0, void 0, void 0, function* () { return 1; }),
131
+ [method]: () => __awaiter(void 0, void 0, void 0, function* () { throw error; }),
132
+ };
133
+ const pipeline = new index_1.ParallelPipeline()
134
+ .pipe('failure', failure)
135
+ .pipe('continuing', {
136
+ shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return true; }),
137
+ run: () => __awaiter(void 0, void 0, void 0, function* () {
138
+ started.resolve();
139
+ const value = yield completion.promise;
140
+ finished.resolve();
141
+ return value;
142
+ }),
143
+ });
144
+ const pending = pipeline.run(context, 0);
145
+ yield expect(pending).rejects.toBe(error);
146
+ yield started.promise;
147
+ completion.resolve(2);
148
+ yield finished.promise;
149
+ }));
150
+ });
151
+ describe.each([
152
+ ['serial', () => new index_1.SerialPipeline()],
153
+ ['parallel', () => new index_1.ParallelPipeline()],
154
+ ])('%s registration and invocation', (_, createPipeline) => {
155
+ it('keeps earlier pipelines unchanged and rejects duplicate names', () => __awaiter(void 0, void 0, void 0, function* () {
156
+ const original = createPipeline();
157
+ const step = { shouldRun: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), run: () => __awaiter(void 0, void 0, void 0, function* () { return 3; }) };
158
+ const extended = original instanceof index_1.SerialPipeline
159
+ ? original.pipe('step', step)
160
+ : original.pipe('step', step);
161
+ const emptyResult = yield original.run(context, 1);
162
+ expect(emptyResult).toEqual(original instanceof index_1.SerialPipeline ? 1 : {});
163
+ expect(() => {
164
+ if (extended instanceof index_1.SerialPipeline)
165
+ extended.pipe('step', step);
166
+ else
167
+ extended.pipe('step', step);
168
+ }).toThrow('Duplicate pipeline step name: step');
169
+ expect(() => {
170
+ if (original instanceof index_1.SerialPipeline)
171
+ original.pipe('step', step);
172
+ else
173
+ original.pipe('step', step);
174
+ }).not.toThrow();
175
+ }));
176
+ it('preserves instance binding and uses the context from each concurrent invocation', () => __awaiter(void 0, void 0, void 0, function* () {
177
+ class Step {
178
+ constructor() {
179
+ this.prefix = 'result';
180
+ }
181
+ shouldRun(ctx) {
182
+ return __awaiter(this, void 0, void 0, function* () {
183
+ return this.prefix === 'result' && ctx.requestId !== undefined;
184
+ });
185
+ }
186
+ run(ctx, input) {
187
+ return __awaiter(this, void 0, void 0, function* () {
188
+ yield Promise.resolve();
189
+ return `${this.prefix}:${ctx.requestId}:${input}`;
190
+ });
191
+ }
192
+ }
193
+ const original = createPipeline();
194
+ const pipeline = original instanceof index_1.SerialPipeline
195
+ ? original.pipe('step', new Step())
196
+ : original.pipe('step', new Step());
197
+ const otherContext = createContext('second');
198
+ const results = yield Promise.all([pipeline.run(context, 1), pipeline.run(otherContext, 2)]);
199
+ expect(results).toEqual(pipeline instanceof index_1.SerialPipeline
200
+ ? ['result:first:1', 'result:second:2']
201
+ : [{ step: 'result:first:1' }, { step: 'result:second:2' }]);
202
+ }));
203
+ });
204
+ //# sourceMappingURL=pipelines.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines.test.js","sourceRoot":"","sources":["../../src/pipelines/pipelines.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const index_1 = require("./index");
13
+ // Checked by tsc; never invoked at runtime.
14
+ function checkPipelineTypes(contextEntity) {
15
+ const length = {
16
+ shouldRun: () => __awaiter(this, void 0, void 0, function* () { return true; }),
17
+ run: (_, input) => __awaiter(this, void 0, void 0, function* () { return input.length; }),
18
+ };
19
+ const serial = new index_1.SerialPipeline().pipe('length', length);
20
+ const serialResult = serial.run(contextEntity, 'input');
21
+ void serialResult;
22
+ // @ts-expect-error A skipped step can still return the original string.
23
+ const numberOnly = serial.run(contextEntity, 'input');
24
+ void numberOnly;
25
+ // @ts-expect-error The next step must accept both string and number.
26
+ serial.pipe('narrow', { shouldRun: () => __awaiter(this, void 0, void 0, function* () { return true; }), run: (_, input) => __awaiter(this, void 0, void 0, function* () { return input + 1; }) });
27
+ // @ts-expect-error The predicate must also accept both possible input types.
28
+ serial.pipe('narrowPredicate', { shouldRun: (_, input) => __awaiter(this, void 0, void 0, function* () { return input > 0; }), run: () => __awaiter(this, void 0, void 0, function* () { return true; }) });
29
+ // @ts-expect-error shouldRun must return a promise.
30
+ new index_1.SerialPipeline().pipe('syncPredicate', { shouldRun: () => true, run: () => __awaiter(this, void 0, void 0, function* () { return 1; }) });
31
+ // @ts-expect-error run must return a promise.
32
+ new index_1.SerialPipeline().pipe('syncRun', { shouldRun: () => __awaiter(this, void 0, void 0, function* () { return true; }), run: () => 1 });
33
+ // @ts-expect-error Invocations require ContextEntity as the first argument.
34
+ serial.run('input');
35
+ const transformed = serial.pipe('label', {
36
+ shouldRun: () => __awaiter(this, void 0, void 0, function* () { return true; }),
37
+ run: (_, input) => __awaiter(this, void 0, void 0, function* () { return ({ label: String(input) }); }),
38
+ });
39
+ const transformedResult = transformed.run(contextEntity, 'input');
40
+ void transformedResult;
41
+ const parallel = new index_1.ParallelPipeline()
42
+ .pipe('length', length)
43
+ .pipe('label', { shouldRun: () => __awaiter(this, void 0, void 0, function* () { return true; }), run: (_, input) => __awaiter(this, void 0, void 0, function* () { return input.toUpperCase(); }) });
44
+ const parallelResult = parallel.run(contextEntity, 'input');
45
+ void parallelResult;
46
+ parallel.run(contextEntity, 'input').then((result) => {
47
+ const lengthResult = result.length;
48
+ const labelResult = result.label;
49
+ void lengthResult;
50
+ void labelResult;
51
+ // @ts-expect-error Skipped results are optional.
52
+ const required = result.length;
53
+ void required;
54
+ // @ts-expect-error Each named result retains its own type.
55
+ const wrongType = result.label;
56
+ void wrongType;
57
+ // @ts-expect-error Unregistered names are not part of the result.
58
+ void result.missing;
59
+ });
60
+ // @ts-expect-error Parallel steps receive the original input type.
61
+ parallel.pipe('wrongInput', { shouldRun: () => __awaiter(this, void 0, void 0, function* () { return true; }), run: (_, input) => __awaiter(this, void 0, void 0, function* () { return input; }) });
62
+ // @ts-expect-error Parallel predicates must return promises.
63
+ parallel.pipe('syncPredicate', { shouldRun: () => true, run: () => __awaiter(this, void 0, void 0, function* () { return 1; }) });
64
+ // @ts-expect-error Parallel execution methods must return promises.
65
+ parallel.pipe('syncRun', { shouldRun: () => __awaiter(this, void 0, void 0, function* () { return true; }), run: () => 1 });
66
+ }
67
+ void checkPipelineTypes;
68
+ //# sourceMappingURL=pipelines.typecheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines.typecheck.js","sourceRoot":"","sources":["../../src/pipelines/pipelines.typecheck.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ContextEntity } from '../types/context.entity';
2
+ import type { PipelineStep } from './pipeline-step';
3
+ export declare class SerialPipeline<Input, Result = Input> {
4
+ private steps;
5
+ pipe<NextResult>(name: string, step: PipelineStep<Result, NextResult>): SerialPipeline<Input, Result | NextResult>;
6
+ run(contextEntity: ContextEntity, input: Input): Promise<Result>;
7
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SerialPipeline = void 0;
13
+ class SerialPipeline {
14
+ constructor() {
15
+ this.steps = [];
16
+ }
17
+ pipe(name, step) {
18
+ if (this.steps.some((entry) => entry.name === name)) {
19
+ throw new Error(`Duplicate pipeline step name: ${name}`);
20
+ }
21
+ const pipeline = new SerialPipeline();
22
+ // Registration checks adjacent types; execution stores heterogeneous steps together.
23
+ pipeline.steps = [...this.steps, { name, step: step }];
24
+ return pipeline;
25
+ }
26
+ run(contextEntity, input) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ let result = input;
29
+ for (const { step } of this.steps) {
30
+ if (yield step.shouldRun(contextEntity, result)) {
31
+ result = yield step.run(contextEntity, result);
32
+ }
33
+ }
34
+ return result;
35
+ });
36
+ }
37
+ }
38
+ exports.SerialPipeline = SerialPipeline;
39
+ //# sourceMappingURL=serial-pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serial-pipeline.js","sourceRoot":"","sources":["../../src/pipelines/serial-pipeline.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,MAAa,cAAc;IAA3B;QACU,UAAK,GAA0E,EAAE,CAAC;IAyB5F,CAAC;IAvBC,IAAI,CACF,IAAY,EACZ,IAAsC;QAEtC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,cAAc,EAA8B,CAAC;QAClE,qFAAqF;QACrF,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAsC,EAAE,CAAC,CAAC;QACzF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEK,GAAG,CAAC,aAA4B,EAAE,KAAY;;YAClD,IAAI,MAAM,GAAY,KAAK,CAAC;YAC5B,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClC,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;oBAChD,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,OAAO,MAAgB,CAAC;QAC1B,CAAC;KAAA;CACF;AA1BD,wCA0BC"}
@@ -17,7 +17,7 @@ export type OkResponse = {
17
17
  [x: string]: any;
18
18
  };
19
19
  export type ErrorResponse = {
20
- error: string;
20
+ error?: string;
21
21
  locale?: {
22
22
  fromLocale?: string;
23
23
  toLocale?: string;
@@ -113,12 +113,12 @@ const ok = (res, response) => __awaiter(void 0, void 0, void 0, function* () {
113
113
  });
114
114
  exports.ok = ok;
115
115
  const failed = (res, response) => __awaiter(void 0, void 0, void 0, function* () {
116
- var _e, _f, _g;
116
+ var _a, _b, _c;
117
117
  if (!(0, lodash_1.isEmpty)(response.locale)) {
118
118
  response.error = yield actions_1.TranslationAction.translate({
119
- fromLanguage: ((_e = response === null || response === void 0 ? void 0 : response.locale) === null || _e === void 0 ? void 0 : _e.fromLocale) || 'en',
120
- toLanguage: ((_f = response === null || response === void 0 ? void 0 : response.locale) === null || _f === void 0 ? void 0 : _f.toLocale) || ((_g = res.locals) === null || _g === void 0 ? void 0 : _g.locale),
121
- text: response.error,
119
+ fromLanguage: ((_a = response === null || response === void 0 ? void 0 : response.locale) === null || _a === void 0 ? void 0 : _a.fromLocale) || 'en',
120
+ toLanguage: ((_b = response === null || response === void 0 ? void 0 : response.locale) === null || _b === void 0 ? void 0 : _b.toLocale) || ((_c = res.locals) === null || _c === void 0 ? void 0 : _c.locale),
121
+ text: response.error || 'Oops. An Error Occurred',
122
122
  });
123
123
  }
124
124
  response.errorCode = response.errorCode || exports.friendlyHttpStatus[String(response.statusCode)] || String(response.statusCode);
@@ -1 +1 @@
1
- {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/responses/express.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb,mCAA2C;AAC3C,wCAA6C;AAEhC,QAAA,kBAAkB,GAA4B;IACzD,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,6BAA6B;IACpC,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,mBAAmB;IAC1B,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,6BAA6B;IACpC,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,sBAAsB;IAC7B,KAAK,EAAE,sBAAsB;IAC7B,KAAK,EAAE,mBAAmB;IAC1B,KAAK,EAAE,sBAAsB;IAC7B,KAAK,EAAE,8BAA8B;IACrC,KAAK,EAAE,mBAAmB;IAC1B,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,qBAAqB;IAC5B,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,oBAAoB;IAC3B,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,yBAAyB;CACjC,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,GAAa,EAAE,IAAS,EAAE,OAAe,GAAG,EAAE,EAAE;IAC/D,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC3B,UAAU,EAAE,IAAI;QAChB,IAAI;KACL,CAAC,CAAC;AACL,CAAC,CAAC;AAsFyB,0BAAO;AApFlC,MAAM,SAAS,GAAG,CAAC,GAAa,EAAE,IAAS,EAAE,OAAe,GAAG,EAAE,EAAE;IACjE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC3B,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;QACpB,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;QACzC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC,CAAC;AA0Ec,8BAAS;AAxEzB,MAAM,KAAK,GAAG,CACZ,GAAa,EACb,QAAsB,yBAAyB,EAC/C,OAAe,GAAG,EAClB,SAAkB,EAClB,EAAE;IACF,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC3B,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,SAAS,IAAI,0BAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC;QACxE,KAAK;KACN,CAAC,CAAC;AACL,CAAC,CAAC;AA6DO,sBAAK;AA5Cd,MAAM,EAAE,GAAG,CAAO,GAAa,EAAE,QAAoB,EAAE,EAAE;;IACvD,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAEtD,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,GAAG,MAAM,2BAAiB,CAAC,SAAS,CAAC;gBAChD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;gBACxC,UAAU,EAAE,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,QAAQ,MAAI,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,CAAA;gBAC3D,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,IAAA,YAAG,EAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAExC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBAErB,MAAM,gBAAgB,GAAG,MAAM,2BAAiB,CAAC,SAAS,CAAC;oBACzD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;oBACxC,UAAU,EAAE,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,QAAQ,MAAI,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,CAAA;oBAC3D,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;gBAEH,IAAA,YAAG,EAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACvB,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC,CAAA,CAAC;AAgBkC,gBAAE;AAdtC,MAAM,MAAM,GAAG,CAAO,GAAa,EAAE,QAAuB,EAAE,EAAE;;IAC9D,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,KAAK,GAAG,MAAM,2BAAiB,CAAC,SAAS,CAAC;YACjD,YAAY,EAAE,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,UAAU,KAAI,IAAI;YAClD,UAAU,EAAE,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,QAAQ,MAAI,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,CAAA;YAC5D,IAAI,EAAE,QAAQ,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,SAAS,GAAI,QAAQ,CAAC,SAAS,IAAI,0BAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3H,OAAO,QAAQ,CAAC,MAAM,CAAC;IACvB,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC,CAAA,CAAC;AAEsC,wBAAM"}
1
+ {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/responses/express.ts"],"names":[],"mappings":"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"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.express = void 0;
27
37
  const express = __importStar(require("./express"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/responses/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAC5B,0BAAO"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/responses/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAC5B,0BAAO"}
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod';
2
+ export declare const countrySchema: z.ZodPipe<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<"GLOBAL">, z.ZodString]>>;
3
+ export declare const currencySchema: z.ZodPipe<z.ZodString, z.ZodUnion<readonly [z.ZodLiteral<"GLOBAL">, z.ZodString]>>;
4
+ export type Currency = z.infer<typeof currencySchema>;
5
+ export type Country = z.infer<typeof countrySchema>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.currencySchema = exports.countrySchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const normalizedCountryCodeSchema = zod_1.z.string().trim().toUpperCase();
6
+ exports.countrySchema = normalizedCountryCodeSchema.pipe(zod_1.z.union([
7
+ zod_1.z.literal('GLOBAL'),
8
+ zod_1.z.string().length(2),
9
+ ]));
10
+ const normalizedCurrencyCodeSchema = zod_1.z.string().trim().toUpperCase();
11
+ exports.currencySchema = normalizedCurrencyCodeSchema.pipe(zod_1.z.union([
12
+ zod_1.z.literal('GLOBAL'),
13
+ zod_1.z.string().length(3),
14
+ ]));
15
+ //# sourceMappingURL=country.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"country.schema.js","sourceRoot":"","sources":["../../src/schemas/country.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,2BAA2B,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAEvD,QAAA,aAAa,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAC,CAAC,KAAK,CAAC;IACpE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;CACrB,CAAC,CAAC,CAAC;AAEJ,MAAM,4BAA4B,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAExD,QAAA,cAAc,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAC,CAAC,KAAK,CAAC;IACtE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;CACrB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { z } from "zod";
2
+ export * from './country.schema';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.z = void 0;
18
+ var zod_1 = require("zod");
19
+ Object.defineProperty(exports, "z", { enumerable: true, get: function () { return zod_1.z; } });
20
+ __exportStar(require("./country.schema"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2BAAsB;AAAd,wFAAA,CAAC,OAAA;AACT,mDAAiC"}