@aneuhold/core-ts-api-lib 2.1.0 → 2.1.1

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 +1 @@
1
- {"version":3,"file":"DOFunctionService.d.ts","sourceRoot":"./src/","sources":["services/DOFunctionService/DOFunctionService.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;OAEG;IACH,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAmC;IAE9E;;OAEG;IACH,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAAkC;IAE3E;;OAEG;IACH,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAAkC;IAE3E;;;;;;;;;;;;;OAaG;WACU,gBAAgB,CAC3B,MAAM,SAAS,eAAe,EAC9B,OAAO,SAAS,gBAAgB,EAEhC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,GACjE,OAAO,CAAC,mBAAmB,CAAC;IAmD/B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA2B/B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;CAM/B"}
1
+ {"version":3,"file":"DOFunctionService.d.ts","sourceRoot":"./src/","sources":["services/DOFunctionService/DOFunctionService.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;OAEG;IACH,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAmC;IAE9E;;OAEG;IACH,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAAkC;IAE3E;;OAEG;IACH,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAAkC;IAE3E;;;;;;;;;;;;;OAaG;WACU,gBAAgB,CAC3B,MAAM,SAAS,eAAe,EAC9B,OAAO,SAAS,gBAAgB,EAEhC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,GACjE,OAAO,CAAC,mBAAmB,CAAC;IAyE/B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA2B/B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;CAM/B"}
@@ -34,8 +34,10 @@ export default class DOFunctionService {
34
34
  * @returns The raw output of the function call.
35
35
  */
36
36
  static async handleApiRequest(functionName, rawInput, handler) {
37
+ DR.logger.info(`[DOFunctionService] handleApiRequest called for "${functionName}".`); // Log entry
38
+ DR.logger.info(`[DOFunctionService] Calling DR.tracer.startSpan for "${functionName}"...`); // Log before startSpan
37
39
  return DR.tracer.startSpan(functionName, async (span) => {
38
- // Default raw output
40
+ DR.logger.info(`[DOFunctionService] Tracer span callback started for "${functionName}".`); // Log span callback start
39
41
  const rawOutput = {
40
42
  body: '',
41
43
  statusCode: 200,
@@ -43,45 +45,40 @@ export default class DOFunctionService {
43
45
  'Content-Type': 'application/octet-stream'
44
46
  }
45
47
  };
46
- // Default output
47
48
  const defaultOutput = {
48
49
  success: false,
49
50
  errors: [],
50
51
  data: {}
51
52
  };
52
53
  try {
53
- // Deserialize the input
54
+ DR.logger.info(`[DOFunctionService] Deserializing input for "${functionName}"...`); // Log before deserialize
54
55
  const input = this.deserializeInput(rawInput);
55
- // Call the handler
56
+ DR.logger.info(`[DOFunctionService] Calling handler function for "${functionName}"...`); // Log before handler
56
57
  const output = await handler(input);
57
- // Serialize the output
58
+ DR.logger.info(`[DOFunctionService] Handler function finished for "${functionName}".`); // Log after handler
59
+ DR.logger.info(`[DOFunctionService] Serializing output for "${functionName}"...`); // Log before serialize
58
60
  rawOutput.body = this.serializeOutput(output);
59
61
  if (!output.success) {
60
- rawOutput.statusCode = 400; // Bad Request if handler indicates failure
61
- span?.setStatus({ code: 2, message: 'handler_error' }); // Indicate error in span
62
+ DR.logger.failure(`[DOFunctionService] Handler reported failure for "${functionName}". Setting status code 400.`); // Log handler failure
63
+ rawOutput.statusCode = 400;
64
+ span?.setStatus({ code: 2, message: 'handler_error' });
62
65
  }
63
66
  else {
64
- span?.setStatus({ code: 1, message: 'ok' }); // OK
67
+ DR.logger.success(`[DOFunctionService] Handler reported success for "${functionName}". Setting status code 200.`); // Log handler success
68
+ span?.setStatus({ code: 1, message: 'ok' });
65
69
  }
66
70
  }
67
71
  catch (e) {
68
- // Capture unexpected errors
72
+ DR.logger.error(`[DOFunctionService] Error caught in handleApiRequest for "${functionName}": ${String(e)}`); // Log error
69
73
  DR.tracer.captureException(e);
70
- span?.setStatus({ code: 2, message: 'internal_error' }); // Internal Server Error
71
- // Serialize as JSON if something fails to simplify in case the error
72
- // happened in the normal serialization.
74
+ span?.setStatus({ code: 2, message: 'internal_error' });
73
75
  const error = e;
74
76
  defaultOutput.errors.push(JSON.stringify(error, null, 2));
75
77
  rawOutput.body = JSON.stringify(defaultOutput);
76
78
  rawOutput.headers['Content-Type'] = 'application/json';
77
79
  rawOutput.statusCode = 500;
78
80
  }
79
- finally {
80
- // Ensure traces are flushed in serverless environments
81
- if (DR.tracer.isEnabled()) {
82
- await DR.tracer.flush(2000);
83
- }
84
- }
81
+ DR.logger.info(`[DOFunctionService] Tracer span callback finished for "${functionName}". Returning rawOutput.`); // Log span callback end
85
82
  return rawOutput;
86
83
  });
87
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DOFunctionService.js","sourceRoot":"./src/","sources":["services/DOFunctionService/DOFunctionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DOFunctionService.js","sourceRoot":"./src/","sources":["services/DOFunctionService/DOFunctionService.ts"],"names":[],"mappings":"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"}
@@ -52,8 +52,16 @@ export default class DOFunctionService {
52
52
  rawInput: DOFunctionRawInput,
53
53
  handler: (input: TInput) => Promise<DOFunctionCallOutput<TOutput>>
54
54
  ): Promise<DOFunctionRawOutput> {
55
+ DR.logger.info(
56
+ `[DOFunctionService] handleApiRequest called for "${functionName}".`
57
+ ); // Log entry
58
+ DR.logger.info(
59
+ `[DOFunctionService] Calling DR.tracer.startSpan for "${functionName}"...`
60
+ ); // Log before startSpan
55
61
  return DR.tracer.startSpan(functionName, async (span) => {
56
- // Default raw output
62
+ DR.logger.info(
63
+ `[DOFunctionService] Tracer span callback started for "${functionName}".`
64
+ ); // Log span callback start
57
65
  const rawOutput: DOFunctionRawOutput = {
58
66
  body: '',
59
67
  statusCode: 200,
@@ -61,43 +69,57 @@ export default class DOFunctionService {
61
69
  'Content-Type': 'application/octet-stream'
62
70
  }
63
71
  };
64
- // Default output
65
72
  const defaultOutput: DOFunctionCallOutput<TOutput> = {
66
73
  success: false,
67
74
  errors: [],
68
75
  data: {} as TOutput
69
76
  };
77
+
70
78
  try {
71
- // Deserialize the input
79
+ DR.logger.info(
80
+ `[DOFunctionService] Deserializing input for "${functionName}"...`
81
+ ); // Log before deserialize
72
82
  const input: TInput = this.deserializeInput(rawInput);
73
- // Call the handler
83
+ DR.logger.info(
84
+ `[DOFunctionService] Calling handler function for "${functionName}"...`
85
+ ); // Log before handler
74
86
  const output = await handler(input);
75
- // Serialize the output
87
+ DR.logger.info(
88
+ `[DOFunctionService] Handler function finished for "${functionName}".`
89
+ ); // Log after handler
90
+ DR.logger.info(
91
+ `[DOFunctionService] Serializing output for "${functionName}"...`
92
+ ); // Log before serialize
76
93
  rawOutput.body = this.serializeOutput(output);
94
+
77
95
  if (!output.success) {
78
- rawOutput.statusCode = 400; // Bad Request if handler indicates failure
79
- span?.setStatus({ code: 2, message: 'handler_error' }); // Indicate error in span
96
+ DR.logger.failure(
97
+ `[DOFunctionService] Handler reported failure for "${functionName}". Setting status code 400.`
98
+ ); // Log handler failure
99
+ rawOutput.statusCode = 400;
100
+ span?.setStatus({ code: 2, message: 'handler_error' });
80
101
  } else {
81
- span?.setStatus({ code: 1, message: 'ok' }); // OK
102
+ DR.logger.success(
103
+ `[DOFunctionService] Handler reported success for "${functionName}". Setting status code 200.`
104
+ ); // Log handler success
105
+ span?.setStatus({ code: 1, message: 'ok' });
82
106
  }
83
107
  } catch (e) {
84
- // Capture unexpected errors
108
+ DR.logger.error(
109
+ `[DOFunctionService] Error caught in handleApiRequest for "${functionName}": ${String(e)}`
110
+ ); // Log error
85
111
  DR.tracer.captureException(e);
86
- span?.setStatus({ code: 2, message: 'internal_error' }); // Internal Server Error
112
+ span?.setStatus({ code: 2, message: 'internal_error' });
87
113
 
88
- // Serialize as JSON if something fails to simplify in case the error
89
- // happened in the normal serialization.
90
114
  const error = e as Error;
91
115
  defaultOutput.errors.push(JSON.stringify(error, null, 2));
92
116
  rawOutput.body = JSON.stringify(defaultOutput);
93
117
  rawOutput.headers['Content-Type'] = 'application/json';
94
118
  rawOutput.statusCode = 500;
95
- } finally {
96
- // Ensure traces are flushed in serverless environments
97
- if (DR.tracer.isEnabled()) {
98
- await DR.tracer.flush(2000);
99
- }
100
119
  }
120
+ DR.logger.info(
121
+ `[DOFunctionService] Tracer span callback finished for "${functionName}". Returning rawOutput.`
122
+ ); // Log span callback end
101
123
  return rawOutput;
102
124
  });
103
125
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@aneuhold/core-ts-api-lib",
3
3
  "author": "Anton G. Neuhold Jr.",
4
4
  "license": "MIT",
5
- "version": "2.1.0",
5
+ "version": "2.1.1",
6
6
  "description": "A library for interacting with the backend and defining the backend API for personal projects.",
7
7
  "packageManager": "yarn@4.6.0",
8
8
  "type": "module",