@pristine-ts/common 2.0.3 → 2.0.5

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 (149) hide show
  1. package/dist/lib/cjs/contexts/event-context.js +5 -5
  2. package/dist/lib/cjs/contexts/event-context.js.map +1 -1
  3. package/dist/lib/cjs/decorators/decorators.js +1 -0
  4. package/dist/lib/cjs/decorators/decorators.js.map +1 -1
  5. package/dist/lib/cjs/decorators/traced.decorator.js +101 -0
  6. package/dist/lib/cjs/decorators/traced.decorator.js.map +1 -0
  7. package/dist/lib/cjs/enums/enums.js +1 -0
  8. package/dist/lib/cjs/enums/enums.js.map +1 -1
  9. package/dist/lib/cjs/enums/span-keyname.enum.js +34 -0
  10. package/dist/lib/cjs/enums/span-keyname.enum.js.map +1 -0
  11. package/dist/lib/cjs/errors/bad-request.error.js +15 -0
  12. package/dist/lib/cjs/errors/bad-request.error.js.map +1 -0
  13. package/dist/lib/cjs/errors/config.error.js +20 -0
  14. package/dist/lib/cjs/errors/config.error.js.map +1 -0
  15. package/dist/lib/cjs/errors/conflict.error.js +15 -0
  16. package/dist/lib/cjs/errors/conflict.error.js.map +1 -0
  17. package/dist/lib/cjs/errors/errors.js +14 -1
  18. package/dist/lib/cjs/errors/errors.js.map +1 -1
  19. package/dist/lib/cjs/errors/exit-code.enum.js +50 -0
  20. package/dist/lib/cjs/errors/exit-code.enum.js.map +1 -0
  21. package/dist/lib/cjs/errors/forbidden.error.js +15 -0
  22. package/dist/lib/cjs/errors/forbidden.error.js.map +1 -0
  23. package/dist/lib/cjs/errors/internal.error.js +19 -0
  24. package/dist/lib/cjs/errors/internal.error.js.map +1 -0
  25. package/dist/lib/cjs/errors/not-found.error.js +15 -0
  26. package/dist/lib/cjs/errors/not-found.error.js.map +1 -0
  27. package/dist/lib/cjs/errors/pristine-error-code.enum.js +37 -0
  28. package/dist/lib/cjs/errors/pristine-error-code.enum.js.map +1 -0
  29. package/dist/lib/cjs/errors/pristine-error-kind.enum.js +29 -0
  30. package/dist/lib/cjs/errors/pristine-error-kind.enum.js.map +1 -0
  31. package/dist/lib/cjs/errors/pristine-error-options.interface.js +3 -0
  32. package/dist/lib/cjs/errors/pristine-error-options.interface.js.map +1 -0
  33. package/dist/lib/cjs/errors/pristine.error.js +109 -0
  34. package/dist/lib/cjs/errors/pristine.error.js.map +1 -0
  35. package/dist/lib/cjs/errors/unauthorized.error.js +15 -0
  36. package/dist/lib/cjs/errors/unauthorized.error.js.map +1 -0
  37. package/dist/lib/cjs/errors/usage.error.js +18 -0
  38. package/dist/lib/cjs/errors/usage.error.js.map +1 -0
  39. package/dist/lib/cjs/errors/validation.error.js +15 -0
  40. package/dist/lib/cjs/errors/validation.error.js.map +1 -0
  41. package/dist/lib/cjs/interfaces/interfaces.js +1 -0
  42. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
  43. package/dist/lib/cjs/interfaces/tracing-manager.interface.js +3 -0
  44. package/dist/lib/cjs/interfaces/tracing-manager.interface.js.map +1 -0
  45. package/dist/lib/cjs/managers/event-context.manager.js +9 -0
  46. package/dist/lib/cjs/managers/event-context.manager.js.map +1 -1
  47. package/dist/lib/cjs/models/models.js +4 -0
  48. package/dist/lib/cjs/models/models.js.map +1 -1
  49. package/dist/lib/cjs/models/span-event.model.js +28 -0
  50. package/dist/lib/cjs/models/span-event.model.js.map +1 -0
  51. package/dist/lib/cjs/models/span-lifecycle-owner.interface.js +3 -0
  52. package/dist/lib/cjs/models/span-lifecycle-owner.interface.js.map +1 -0
  53. package/dist/lib/cjs/models/span.model.js +79 -0
  54. package/dist/lib/cjs/models/span.model.js.map +1 -0
  55. package/dist/lib/cjs/models/trace.model.js +46 -0
  56. package/dist/lib/cjs/models/trace.model.js.map +1 -0
  57. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  58. package/dist/lib/esm/contexts/event-context.js +5 -5
  59. package/dist/lib/esm/contexts/event-context.js.map +1 -1
  60. package/dist/lib/esm/decorators/decorators.js +1 -0
  61. package/dist/lib/esm/decorators/decorators.js.map +1 -1
  62. package/dist/lib/esm/decorators/traced.decorator.js +98 -0
  63. package/dist/lib/esm/decorators/traced.decorator.js.map +1 -0
  64. package/dist/lib/esm/enums/enums.js +1 -0
  65. package/dist/lib/esm/enums/enums.js.map +1 -1
  66. package/dist/lib/esm/enums/span-keyname.enum.js +31 -0
  67. package/dist/lib/esm/enums/span-keyname.enum.js.map +1 -0
  68. package/dist/lib/esm/errors/bad-request.error.js +11 -0
  69. package/dist/lib/esm/errors/bad-request.error.js.map +1 -0
  70. package/dist/lib/esm/errors/config.error.js +16 -0
  71. package/dist/lib/esm/errors/config.error.js.map +1 -0
  72. package/dist/lib/esm/errors/conflict.error.js +11 -0
  73. package/dist/lib/esm/errors/conflict.error.js.map +1 -0
  74. package/dist/lib/esm/errors/errors.js +14 -1
  75. package/dist/lib/esm/errors/errors.js.map +1 -1
  76. package/dist/lib/esm/errors/exit-code.enum.js +47 -0
  77. package/dist/lib/esm/errors/exit-code.enum.js.map +1 -0
  78. package/dist/lib/esm/errors/forbidden.error.js +11 -0
  79. package/dist/lib/esm/errors/forbidden.error.js.map +1 -0
  80. package/dist/lib/esm/errors/internal.error.js +15 -0
  81. package/dist/lib/esm/errors/internal.error.js.map +1 -0
  82. package/dist/lib/esm/errors/not-found.error.js +11 -0
  83. package/dist/lib/esm/errors/not-found.error.js.map +1 -0
  84. package/dist/lib/esm/errors/pristine-error-code.enum.js +34 -0
  85. package/dist/lib/esm/errors/pristine-error-code.enum.js.map +1 -0
  86. package/dist/lib/esm/errors/pristine-error-kind.enum.js +26 -0
  87. package/dist/lib/esm/errors/pristine-error-kind.enum.js.map +1 -0
  88. package/dist/lib/esm/errors/pristine-error-options.interface.js +2 -0
  89. package/dist/lib/esm/errors/pristine-error-options.interface.js.map +1 -0
  90. package/dist/lib/esm/errors/pristine.error.js +105 -0
  91. package/dist/lib/esm/errors/pristine.error.js.map +1 -0
  92. package/dist/lib/esm/errors/unauthorized.error.js +11 -0
  93. package/dist/lib/esm/errors/unauthorized.error.js.map +1 -0
  94. package/dist/lib/esm/errors/usage.error.js +14 -0
  95. package/dist/lib/esm/errors/usage.error.js.map +1 -0
  96. package/dist/lib/esm/errors/validation.error.js +11 -0
  97. package/dist/lib/esm/errors/validation.error.js.map +1 -0
  98. package/dist/lib/esm/interfaces/interfaces.js +1 -0
  99. package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
  100. package/dist/lib/esm/interfaces/tracing-manager.interface.js +2 -0
  101. package/dist/lib/esm/interfaces/tracing-manager.interface.js.map +1 -0
  102. package/dist/lib/esm/managers/event-context.manager.js +9 -0
  103. package/dist/lib/esm/managers/event-context.manager.js.map +1 -1
  104. package/dist/lib/esm/models/models.js +4 -0
  105. package/dist/lib/esm/models/models.js.map +1 -1
  106. package/dist/lib/esm/models/span-event.model.js +24 -0
  107. package/dist/lib/esm/models/span-event.model.js.map +1 -0
  108. package/dist/lib/esm/models/span-lifecycle-owner.interface.js +2 -0
  109. package/dist/lib/esm/models/span-lifecycle-owner.interface.js.map +1 -0
  110. package/dist/lib/esm/models/span.model.js +75 -0
  111. package/dist/lib/esm/models/span.model.js.map +1 -0
  112. package/dist/lib/esm/models/trace.model.js +42 -0
  113. package/dist/lib/esm/models/trace.model.js.map +1 -0
  114. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  115. package/dist/types/contexts/event-context.d.ts +24 -9
  116. package/dist/types/decorators/decorators.d.ts +1 -0
  117. package/dist/types/decorators/traced.decorator.d.ts +40 -0
  118. package/dist/types/enums/enums.d.ts +1 -0
  119. package/dist/types/enums/span-keyname.enum.d.ts +29 -0
  120. package/dist/types/errors/bad-request.error.d.ts +8 -0
  121. package/dist/types/errors/config.error.d.ts +13 -0
  122. package/dist/types/errors/conflict.error.d.ts +8 -0
  123. package/dist/types/errors/errors.d.ts +14 -1
  124. package/dist/types/errors/exit-code.enum.d.ts +45 -0
  125. package/dist/types/errors/forbidden.error.d.ts +8 -0
  126. package/dist/types/errors/internal.error.d.ts +12 -0
  127. package/dist/types/errors/not-found.error.d.ts +8 -0
  128. package/dist/types/errors/pristine-error-code.enum.d.ts +32 -0
  129. package/dist/types/errors/pristine-error-kind.enum.d.ts +24 -0
  130. package/dist/types/errors/pristine-error-options.interface.d.ts +59 -0
  131. package/dist/types/errors/pristine.error.d.ts +78 -0
  132. package/dist/types/errors/unauthorized.error.d.ts +8 -0
  133. package/dist/types/errors/usage.error.d.ts +11 -0
  134. package/dist/types/errors/validation.error.d.ts +8 -0
  135. package/dist/types/interfaces/interfaces.d.ts +1 -0
  136. package/dist/types/interfaces/module.interface.d.ts +26 -0
  137. package/dist/types/interfaces/tracing-manager.interface.d.ts +78 -0
  138. package/dist/types/managers/event-context.manager.d.ts +4 -0
  139. package/dist/types/models/models.d.ts +4 -0
  140. package/dist/types/models/span-event.model.d.ts +30 -0
  141. package/dist/types/models/span-lifecycle-owner.interface.d.ts +11 -0
  142. package/dist/types/models/span.model.d.ts +82 -0
  143. package/dist/types/models/trace.model.d.ts +53 -0
  144. package/package.json +2 -2
  145. package/dist/lib/cjs/errors/loggable.error.js +0 -19
  146. package/dist/lib/cjs/errors/loggable.error.js.map +0 -1
  147. package/dist/lib/esm/errors/loggable.error.js +0 -15
  148. package/dist/lib/esm/errors/loggable.error.js.map +0 -1
  149. package/dist/types/errors/loggable.error.d.ts +0 -8
@@ -0,0 +1,30 @@
1
+ /**
2
+ * A named, timestamped marker attached to a `Span`. Represents a noteworthy moment
3
+ * inside the span's lifetime that doesn't warrant a child span of its own — e.g.
4
+ * "validation passed", "rate limit check ok", "found 50 rows in DB".
5
+ *
6
+ * Modeled after OpenTelemetry's "span events" concept: a `Span` carries `events: SpanEvent[]`
7
+ * alongside its `children: Span[]`. Renderers (the console/file tracer output, etc.) interleave
8
+ * events with spans by timestamp to produce a chronological trail of what happened during the span.
9
+ *
10
+ * Use `TracingManager.addEventToCurrentSpan(message, attributes?)` to add one — it finds
11
+ * the most-recently-started in-progress span and attaches the event there.
12
+ */
13
+ export declare class SpanEvent {
14
+ readonly message: string;
15
+ /**
16
+ * The timestamp in milliseconds at which the event was created. Used to interleave
17
+ * events with sibling spans when rendering a sorted trail.
18
+ */
19
+ readonly timestamp: number;
20
+ /**
21
+ * Free-form attributes attached to the event. String-keyed for cheap serialization,
22
+ * mirroring `Span.context`'s shape. `undefined` when the event carries no metadata.
23
+ */
24
+ readonly attributes?: {
25
+ [key: string]: string;
26
+ };
27
+ constructor(message: string, attributes?: {
28
+ [key: string]: string;
29
+ });
30
+ }
@@ -0,0 +1,11 @@
1
+ import { Span } from "./span.model";
2
+ /**
3
+ * Minimal structural type for the back-reference a `Span` keeps to whatever lifecycle
4
+ * owner created it. Lets `span.end()` delegate without importing the full
5
+ * `TracingManagerInterface` (which is registered through DI under the
6
+ * `"TracingManagerInterface"` token). Telemetry's `TracingManagerInterface` satisfies
7
+ * this shape by having a compatible `endSpan` method.
8
+ */
9
+ export interface SpanLifecycleOwnerInterface {
10
+ endSpan(span: Span): void;
11
+ }
@@ -0,0 +1,82 @@
1
+ import { SpanEvent } from "./span-event.model";
2
+ import { SpanLifecycleOwnerInterface } from "./span-lifecycle-owner.interface";
3
+ import { Trace } from "./trace.model";
4
+ /**
5
+ * This model represents a span.
6
+ */
7
+ export declare class Span {
8
+ keyname: string;
9
+ /**
10
+ * The unique id of the span.
11
+ */
12
+ id: string;
13
+ /**
14
+ * The owner of the span (typically a TracingManager). Set when the span is created so
15
+ * `span.end()` can delegate back to the manager.
16
+ */
17
+ tracingManager?: SpanLifecycleOwnerInterface;
18
+ /**
19
+ * The trace the span is attached to.
20
+ */
21
+ trace?: Trace;
22
+ /**
23
+ * The timestamp in milliseconds at which the span was started.
24
+ */
25
+ startDate: number;
26
+ /**
27
+ * The timestamp in milliseconds at which the span was ended.
28
+ */
29
+ endDate?: number;
30
+ /**
31
+ * The parent span.
32
+ */
33
+ parentSpan?: Span;
34
+ /**
35
+ * The children spans.
36
+ */
37
+ children: Span[];
38
+ /**
39
+ * Named, timestamped markers attached to this span. Use these for noteworthy moments
40
+ * inside the span's lifetime that don't warrant their own child span — e.g.
41
+ * "validation passed", "found 50 rows in DB". Empty by default; populated by
42
+ * `TracingManager.addEventToCurrentSpan(...)`.
43
+ */
44
+ events: SpanEvent[];
45
+ /**
46
+ * The context associated with the span.
47
+ */
48
+ context: {
49
+ [key: string]: string;
50
+ };
51
+ /**
52
+ * Whether or not the span is in progress, meaning it has not ended.
53
+ */
54
+ inProgress: boolean;
55
+ /**
56
+ * This model represents a span.
57
+ * @param keyname The keyname of the span.
58
+ * @param id The unique id of the span.
59
+ * @param context The context to associate with the span.
60
+ */
61
+ constructor(keyname: string, id?: string, context?: {
62
+ [key: string]: string;
63
+ });
64
+ /**
65
+ * This method returns the duration of the span in milliseconds.
66
+ */
67
+ getDuration(): number;
68
+ /**
69
+ * This method ends the span.
70
+ */
71
+ end(): void;
72
+ /**
73
+ * This method sets the trace for the span and all of its children.
74
+ * @param trace The trace the span should be attached to.
75
+ */
76
+ setTrace(trace: Trace): void;
77
+ /**
78
+ * This method adds a child span to the current span. It only adds it if it's not already part of the children.
79
+ * @param span The span to add as a child.
80
+ */
81
+ addChild(span: Span): void;
82
+ }
@@ -0,0 +1,53 @@
1
+ import { Span } from "./span.model";
2
+ /**
3
+ * This model represents a trace.
4
+ */
5
+ export declare class Trace {
6
+ /**
7
+ * The unique id of the trace.
8
+ */
9
+ id: string;
10
+ /**
11
+ * The timestamp in milliseconds at which the trace was started.
12
+ */
13
+ startDate: number;
14
+ /**
15
+ * The timestamp in milliseconds at which the trace was ended.
16
+ */
17
+ endDate?: number;
18
+ /**
19
+ * The span that is at the root.
20
+ */
21
+ rootSpan?: Span;
22
+ /**
23
+ * Index of all spans in this trace by keyname, populated by `TracingManager.addSpan`.
24
+ * Lives on the Trace (not on a particular TracingManager instance) so any TracingManager
25
+ * reading the active trace through `EventContext.trace` sees the same index — required
26
+ * for cross-container span lookup (kernel-resolved manager vs per-event resolved manager).
27
+ */
28
+ spansByKeyname: {
29
+ [keyname: string]: Span[];
30
+ };
31
+ /**
32
+ * The context associated with the trace.
33
+ */
34
+ context?: {
35
+ [key: string]: string;
36
+ };
37
+ /**
38
+ * Whether or not the trace was ended.
39
+ */
40
+ hasEnded: boolean;
41
+ /**
42
+ * This model represents a trace.
43
+ * @param id The unique id of the trace.
44
+ * @param context The context associated with the trace.
45
+ */
46
+ constructor(id?: string, context?: {
47
+ [key: string]: string;
48
+ });
49
+ /**
50
+ * This returns the duration of the trace in miliseconds.
51
+ */
52
+ getDuration(): number;
53
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristine-ts/common",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "description": "",
5
5
  "module": "dist/lib/esm/common.module.js",
6
6
  "main": "dist/lib/cjs/common.module.js",
@@ -63,5 +63,5 @@
63
63
  "src/*.{js,ts}"
64
64
  ]
65
65
  },
66
- "gitHead": "c741bb430ab8f6286068dc3870fcadf4cefd0023"
66
+ "gitHead": "9a960b330ee1961bb9a6151ce50257c4d8ccd48d"
67
67
  }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoggableError = void 0;
4
- /**
5
- * This Error represents a LoggableError
6
- */
7
- class LoggableError extends Error {
8
- constructor(message, extra) {
9
- super(message);
10
- this.message = message;
11
- this.extra = extra;
12
- // Set the prototype explicitly.
13
- // As specified in the documentation in TypeScript
14
- // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
15
- Object.setPrototypeOf(this, LoggableError.prototype);
16
- }
17
- }
18
- exports.LoggableError = LoggableError;
19
- //# sourceMappingURL=loggable.error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loggable.error.js","sourceRoot":"","sources":["../../../../src/errors/loggable.error.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK;IACtC,YAA4B,OAAe,EAAW,KAAW;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QADW,YAAO,GAAP,OAAO,CAAQ;QAAW,UAAK,GAAL,KAAK,CAAM;QAG/D,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACF;AATD,sCASC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * This Error represents a LoggableError
3
- */
4
- export class LoggableError extends Error {
5
- constructor(message, extra) {
6
- super(message);
7
- this.message = message;
8
- this.extra = extra;
9
- // Set the prototype explicitly.
10
- // As specified in the documentation in TypeScript
11
- // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
12
- Object.setPrototypeOf(this, LoggableError.prototype);
13
- }
14
- }
15
- //# sourceMappingURL=loggable.error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loggable.error.js","sourceRoot":"","sources":["../../../../src/errors/loggable.error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAA4B,OAAe,EAAW,KAAW;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QADW,YAAO,GAAP,OAAO,CAAQ;QAAW,UAAK,GAAL,KAAK,CAAM;QAG/D,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -1,8 +0,0 @@
1
- /**
2
- * This Error represents a LoggableError
3
- */
4
- export declare class LoggableError extends Error {
5
- readonly message: string;
6
- readonly extra?: any | undefined;
7
- constructor(message: string, extra?: any | undefined);
8
- }