@smoothbricks/lmao 0.2.2 → 0.2.3
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.
- package/dist/allocator.wasm +0 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/lib/JsBufferStrategy.d.ts +4 -3
- package/dist/lib/JsBufferStrategy.d.ts.map +1 -1
- package/dist/lib/JsBufferStrategy.js +18 -11
- package/dist/lib/arrow/lease.d.ts +10 -0
- package/dist/lib/arrow/lease.d.ts.map +1 -0
- package/dist/lib/arrow/lease.js +33 -0
- package/dist/lib/arrow/utils.d.ts +3 -4
- package/dist/lib/arrow/utils.d.ts.map +1 -1
- package/dist/lib/arrow/utils.js +12 -13
- package/dist/lib/arrow/vocabularyDictionary.d.ts +21 -0
- package/dist/lib/arrow/vocabularyDictionary.d.ts.map +1 -0
- package/dist/lib/arrow/vocabularyDictionary.js +95 -0
- package/dist/lib/bufferStrategy.d.ts +3 -2
- package/dist/lib/bufferStrategy.d.ts.map +1 -1
- package/dist/lib/cloudflare/traceRows.d.ts.map +1 -1
- package/dist/lib/cloudflare/traceRows.js +3 -2
- package/dist/lib/codegen/evaluatorGenerator.d.ts.map +1 -1
- package/dist/lib/codegen/evaluatorGenerator.js +12 -11
- package/dist/lib/codegen/fixedPositionWriterGenerator.d.ts +44 -82
- package/dist/lib/codegen/fixedPositionWriterGenerator.d.ts.map +1 -1
- package/dist/lib/codegen/fixedPositionWriterGenerator.js +223 -162
- package/dist/lib/codegen/spanLoggerClosureMaterializer.d.ts +63 -0
- package/dist/lib/codegen/spanLoggerClosureMaterializer.d.ts.map +1 -0
- package/dist/lib/codegen/spanLoggerClosureMaterializer.js +447 -0
- package/dist/lib/codegen/spanLoggerGenerator.d.ts +36 -19
- package/dist/lib/codegen/spanLoggerGenerator.d.ts.map +1 -1
- package/dist/lib/codegen/spanLoggerGenerator.js +164 -158
- package/dist/lib/convertToArrow.d.ts +7 -2
- package/dist/lib/convertToArrow.d.ts.map +1 -1
- package/dist/lib/convertToArrow.js +499 -285
- package/dist/lib/defineOpContext.js +1 -1
- package/dist/lib/enumMetadata.d.ts +19 -0
- package/dist/lib/enumMetadata.d.ts.map +1 -0
- package/dist/lib/enumMetadata.js +86 -0
- package/dist/lib/flushScheduler.d.ts.map +1 -1
- package/dist/lib/flushScheduler.js +13 -4
- package/dist/lib/library.d.ts +16 -98
- package/dist/lib/library.d.ts.map +1 -1
- package/dist/lib/library.js +32 -525
- package/dist/lib/logBinding.d.ts +21 -27
- package/dist/lib/logBinding.d.ts.map +1 -1
- package/dist/lib/op.d.ts +30 -30
- package/dist/lib/op.d.ts.map +1 -1
- package/dist/lib/op.js +15 -22
- package/dist/lib/opContext/createOpGroup.d.ts +1 -1
- package/dist/lib/opContext/createOpGroup.d.ts.map +1 -1
- package/dist/lib/opContext/createOpGroup.js +22 -29
- package/dist/lib/opContext/defineOp.d.ts +4 -4
- package/dist/lib/opContext/defineOp.d.ts.map +1 -1
- package/dist/lib/opContext/defineOp.js +53 -10
- package/dist/lib/opContext/opGroupTypes.d.ts +2 -2
- package/dist/lib/opContext/opTypes.d.ts +1 -1
- package/dist/lib/opContext/opTypes.d.ts.map +1 -1
- package/dist/lib/opContext/spanContextTypes.d.ts +29 -14
- package/dist/lib/opContext/spanContextTypes.d.ts.map +1 -1
- package/dist/lib/opContext/types.d.ts +4 -4
- package/dist/lib/opContext/types.d.ts.map +1 -1
- package/dist/lib/physicalLayoutPlan.d.ts +89 -0
- package/dist/lib/physicalLayoutPlan.d.ts.map +1 -0
- package/dist/lib/physicalLayoutPlan.js +442 -0
- package/dist/lib/resolveMessage.d.ts +9 -0
- package/dist/lib/resolveMessage.d.ts.map +1 -0
- package/dist/lib/resolveMessage.js +63 -0
- package/dist/lib/result.d.ts +5 -7
- package/dist/lib/result.d.ts.map +1 -1
- package/dist/lib/result.js +19 -26
- package/dist/lib/runtimeHint.d.ts +35 -0
- package/dist/lib/runtimeHint.d.ts.map +1 -0
- package/dist/lib/runtimeHint.js +79 -0
- package/dist/lib/schema/types.d.ts +1 -1
- package/dist/lib/schema/types.d.ts.map +1 -1
- package/dist/lib/span-buffer/aot/v1.d.ts +2 -0
- package/dist/lib/span-buffer/aot/v1.d.ts.map +1 -0
- package/dist/lib/span-buffer/aot/v1.js +24 -0
- package/dist/lib/spanBuffer.d.ts +33 -4
- package/dist/lib/spanBuffer.d.ts.map +1 -1
- package/dist/lib/spanBuffer.js +583 -91
- package/dist/lib/spanBufferStats.d.ts +1 -1
- package/dist/lib/spanBufferStats.d.ts.map +1 -1
- package/dist/lib/spanContext.d.ts +27 -51
- package/dist/lib/spanContext.d.ts.map +1 -1
- package/dist/lib/spanContext.js +822 -344
- package/dist/lib/sqlite/sqlite-common.d.ts.map +1 -1
- package/dist/lib/sqlite/sqlite-common.js +20 -21
- package/dist/lib/testing/bun-harness.d.ts +8 -3
- package/dist/lib/testing/bun-harness.d.ts.map +1 -1
- package/dist/lib/testing/bun-harness.js +30 -18
- package/dist/lib/testing/extractFacts.d.ts +1 -1
- package/dist/lib/testing/extractFacts.d.ts.map +1 -1
- package/dist/lib/testing/extractFacts.js +55 -63
- package/dist/lib/testing/facts.d.ts +1 -1
- package/dist/lib/testing/facts.d.ts.map +1 -1
- package/dist/lib/testing/queryable-span.d.ts +1 -1
- package/dist/lib/testing/queryable-span.d.ts.map +1 -1
- package/dist/lib/testing/queryable-span.js +26 -28
- package/dist/lib/testing/span-query.d.ts.map +1 -1
- package/dist/lib/testing/span-query.js +19 -22
- package/dist/lib/testing/stdio-replay.d.ts.map +1 -1
- package/dist/lib/testing/stdio-replay.js +19 -8
- package/dist/lib/threadId.d.ts.map +1 -1
- package/dist/lib/threadId.js +6 -3
- package/dist/lib/traceRoot.d.ts +30 -8
- package/dist/lib/traceRoot.d.ts.map +1 -1
- package/dist/lib/traceRoot.es.d.ts +17 -15
- package/dist/lib/traceRoot.es.d.ts.map +1 -1
- package/dist/lib/traceRoot.es.js +68 -34
- package/dist/lib/traceRoot.js +11 -0
- package/dist/lib/traceRoot.node.d.ts +17 -19
- package/dist/lib/traceRoot.node.d.ts.map +1 -1
- package/dist/lib/traceRoot.node.js +66 -38
- package/dist/lib/traceTopology.d.ts +42 -0
- package/dist/lib/traceTopology.d.ts.map +1 -0
- package/dist/lib/traceTopology.js +260 -0
- package/dist/lib/tracer.d.ts +9 -5
- package/dist/lib/tracer.d.ts.map +1 -1
- package/dist/lib/tracer.js +65 -71
- package/dist/lib/tracers/ArrayQueueTracer.d.ts +1 -1
- package/dist/lib/tracers/ArrayQueueTracer.js +1 -1
- package/dist/lib/tracers/StdioTracer.d.ts.map +1 -1
- package/dist/lib/tracers/StdioTracer.js +15 -13
- package/dist/lib/tracers/TestTracer.d.ts +4 -6
- package/dist/lib/tracers/TestTracer.d.ts.map +1 -1
- package/dist/lib/tracers/TestTracer.js +6 -8
- package/dist/lib/types.d.ts +49 -32
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/vocabularyRegistry.d.ts +25 -0
- package/dist/lib/vocabularyRegistry.d.ts.map +1 -0
- package/dist/lib/vocabularyRegistry.js +372 -0
- package/dist/lib/wasm/WasmBufferStrategy.d.ts +6 -10
- package/dist/lib/wasm/WasmBufferStrategy.d.ts.map +1 -1
- package/dist/lib/wasm/WasmBufferStrategy.js +44 -37
- package/dist/lib/wasm/wasmAllocator.d.ts +27 -22
- package/dist/lib/wasm/wasmAllocator.d.ts.map +1 -1
- package/dist/lib/wasm/wasmAllocator.js +66 -44
- package/dist/lib/wasm/wasmPhysicalLayout.d.ts +67 -0
- package/dist/lib/wasm/wasmPhysicalLayout.d.ts.map +1 -0
- package/dist/lib/wasm/wasmPhysicalLayout.js +179 -0
- package/dist/lib/wasm/wasmSpanBuffer.d.ts +79 -31
- package/dist/lib/wasm/wasmSpanBuffer.d.ts.map +1 -1
- package/dist/lib/wasm/wasmSpanBuffer.js +442 -272
- package/dist/lib/wasm/wasmTraceRoot.d.ts +24 -22
- package/dist/lib/wasm/wasmTraceRoot.d.ts.map +1 -1
- package/dist/lib/wasm/wasmTraceRoot.js +110 -71
- package/dist/vocabulary/register/v1.d.ts +2 -0
- package/dist/vocabulary/register/v1.d.ts.map +1 -0
- package/dist/vocabulary/register/v1.js +1 -0
- package/dist/wasm.d.ts +5 -0
- package/dist/wasm.d.ts.map +1 -0
- package/dist/wasm.js +4 -0
- package/package.json +54 -6
- package/src/index.ts +1 -0
- package/src/lib/JsBufferStrategy.ts +27 -9
- package/src/lib/__tests__/arrow-builder-integration/arrow-conversion.test.ts +335 -37
- package/src/lib/__tests__/arrow-builder-integration/binary-arrow-conversion.test.ts +97 -26
- package/src/lib/__tests__/arrow-builder-integration/binary-comparison.test.ts +75 -15
- package/src/lib/__tests__/arrow-builder-integration/binary-format-compliance.test.ts +30 -6
- package/src/lib/__tests__/arrow-builder-integration/buffer-chaining.test.ts +18 -21
- package/src/lib/__tests__/arrow-builder-integration/foundation.test.ts +5 -2
- package/src/lib/__tests__/arrow-builder-integration/integration.test.ts +25 -7
- package/src/lib/__tests__/arrow-builder-integration/lazy-columns.test.ts +3 -2
- package/src/lib/__tests__/buffer-overflow.test.ts +24 -18
- package/src/lib/__tests__/capability-span-context.test.ts +505 -0
- package/src/lib/__tests__/capacity-tuning.test.ts +5 -3
- package/src/lib/__tests__/eager-columns.test.ts +345 -0
- package/src/lib/__tests__/enum-metadata-aot.test.ts +153 -0
- package/src/lib/__tests__/enum-metadata.test.ts +177 -0
- package/src/lib/__tests__/fixtures/empty-vocabulary-runtime.fixture.ts +15 -0
- package/src/lib/__tests__/flushScheduler.test.ts +5 -1
- package/src/lib/__tests__/identity-view.property.test.ts +179 -0
- package/src/lib/__tests__/library.test.ts +19 -235
- package/src/lib/__tests__/message-buffer-families.test.ts +878 -0
- package/src/lib/__tests__/nested-library-tasks.test.ts +14 -15
- package/src/lib/__tests__/op-metadata.test.ts +1 -1
- package/src/lib/__tests__/op-type-safety.test.ts +5 -16
- package/src/lib/__tests__/physical-layout-plan.test.ts +333 -0
- package/src/lib/__tests__/remap-descriptor-integration.test.ts +381 -0
- package/src/lib/__tests__/root-context-construction.test.ts +414 -0
- package/src/lib/__tests__/span-auto-runtime.test.ts +386 -0
- package/src/lib/__tests__/span-buffer-segment-stats.test.ts +221 -0
- package/src/lib/__tests__/span-lifecycle.test.ts +53 -25
- package/src/lib/__tests__/spanbuffer-materializer-parity.test.ts +266 -0
- package/src/lib/__tests__/sync-async-trace.test.ts +24 -23
- package/src/lib/__tests__/tag-writer-aot.test.ts +214 -0
- package/src/lib/__tests__/test-helpers.ts +67 -12
- package/src/lib/__tests__/threadId.test.ts +62 -0
- package/src/lib/__tests__/timestamp.test.ts +221 -93
- package/src/lib/__tests__/traceTopology.property.test.ts +383 -0
- package/src/lib/__tests__/type-narrowing.test.ts +63 -0
- package/src/lib/__tests__/vocabulary-dense-decoding.test.ts +405 -0
- package/src/lib/__tests__/vocabularyRegistry.test.ts +313 -0
- package/src/lib/arrow/lease.ts +43 -0
- package/src/lib/arrow/utils.ts +10 -14
- package/src/lib/arrow/vocabularyDictionary.ts +123 -0
- package/src/lib/bufferStrategy.ts +9 -1
- package/src/lib/cloudflare/traceRows.ts +3 -2
- package/src/lib/codegen/__tests__/evaluatorGenerator.test.ts +21 -141
- package/src/lib/codegen/__tests__/fixedPositionWriter-parity.test.ts +273 -0
- package/src/lib/codegen/__tests__/fixedPositionWriter-uint64.test.ts +61 -34
- package/src/lib/codegen/__tests__/nullBitmap.test.ts +33 -37
- package/src/lib/codegen/__tests__/spanLoggerGenerator.test.ts +34 -18
- package/src/lib/codegen/__tests__/spanLoggerMaterializerParity.test.ts +503 -0
- package/src/lib/codegen/evaluatorGenerator.ts +18 -13
- package/src/lib/codegen/fixedPositionWriterGenerator.ts +329 -245
- package/src/lib/codegen/spanLoggerClosureMaterializer.ts +598 -0
- package/src/lib/codegen/spanLoggerGenerator.ts +241 -177
- package/src/lib/convertToArrow.ts +598 -311
- package/src/lib/defineOpContext.ts +1 -1
- package/src/lib/enumMetadata.ts +121 -0
- package/src/lib/flushScheduler.ts +11 -5
- package/src/lib/library.ts +37 -595
- package/src/lib/logBinding.ts +21 -27
- package/src/lib/op.ts +75 -18
- package/src/lib/opContext/__tests__/retry.test.ts +27 -21
- package/src/lib/opContext/createOpGroup.ts +33 -31
- package/src/lib/opContext/defineOp.ts +88 -11
- package/src/lib/opContext/opGroupTypes.ts +2 -2
- package/src/lib/opContext/opTypes.ts +1 -1
- package/src/lib/opContext/spanContextTypes.ts +98 -17
- package/src/lib/opContext/types.ts +7 -3
- package/src/lib/physicalLayoutPlan.ts +598 -0
- package/src/lib/resolveMessage.ts +67 -0
- package/src/lib/result.ts +20 -33
- package/src/lib/runtimeHint.ts +98 -0
- package/src/lib/schema/__tests__/featureFlags.test.ts +2 -1
- package/src/lib/schema/builder.ts +1 -1
- package/src/lib/schema/types.ts +1 -1
- package/src/lib/span-buffer/aot/v1.ts +26 -0
- package/src/lib/spanBuffer.ts +658 -92
- package/src/lib/spanBufferStats.ts +1 -1
- package/src/lib/spanContext.ts +1350 -861
- package/src/lib/sqlite/sqlite-common.ts +20 -31
- package/src/lib/testing/__tests__/topology-traversal.test.ts +174 -0
- package/src/lib/testing/__tests__/vitest-harness.test.ts +2 -1
- package/src/lib/testing/bun-harness.ts +94 -43
- package/src/lib/testing/extractFacts.ts +64 -78
- package/src/lib/testing/facts.ts +1 -1
- package/src/lib/testing/queryable-span.ts +23 -30
- package/src/lib/testing/span-query.ts +16 -20
- package/src/lib/testing/stdio-replay.ts +25 -8
- package/src/lib/testing/vitest-harness.ts +1 -1
- package/src/lib/threadId.ts +6 -3
- package/src/lib/traceRoot.es.ts +77 -42
- package/src/lib/traceRoot.node.ts +75 -46
- package/src/lib/traceRoot.ts +41 -14
- package/src/lib/traceTopology.ts +279 -0
- package/src/lib/tracer.ts +109 -98
- package/src/lib/tracers/ArrayQueueTracer.ts +1 -1
- package/src/lib/tracers/StdioTracer.ts +15 -13
- package/src/lib/tracers/TestTracer.ts +6 -8
- package/src/lib/tracers/__tests__/ArrayQueueTracer.test.ts +15 -10
- package/src/lib/tracers/__tests__/TestTracer.test.ts +23 -13
- package/src/lib/types.ts +64 -33
- package/src/lib/vocabularyRegistry.ts +439 -0
- package/src/lib/wasm/WasmBufferStrategy.ts +56 -48
- package/src/lib/wasm/__tests__/WasmBufferStrategy.test.ts +215 -11
- package/src/lib/wasm/__tests__/allocatorFreeBlockClamp.test.ts +86 -0
- package/src/lib/wasm/__tests__/wasm-identity-view.test.ts +311 -0
- package/src/lib/wasm/__tests__/wasm-integration.test.ts +417 -44
- package/src/lib/wasm/__tests__/wasm-message-buffer-families.test.ts +588 -0
- package/src/lib/wasm/__tests__/wasmAllocator.test.ts +100 -668
- package/src/lib/wasm/__tests__/wasmSpanBuffer.test.ts +419 -63
- package/src/lib/wasm/__tests__/wasmTraceRoot.test.ts +24 -29
- package/src/lib/wasm/__tests__/wasmTracer.test.ts.disabled +2 -2
- package/src/lib/wasm/wasmAllocator.ts +131 -96
- package/src/lib/wasm/wasmPhysicalLayout.ts +309 -0
- package/src/lib/wasm/wasmSpanBuffer.ts +597 -341
- package/src/lib/wasm/wasmTraceRoot.ts +140 -78
- package/src/vocabulary/register/v1.ts +1 -0
- package/src/wasm.ts +19 -0
- package/src/lib/__tests__/remapped-buffer-view-integration.test.ts +0 -319
- package/src/lib/__tests__/remapped-buffer-view.test.ts +0 -635
- package/src/lib/wasm/allocator.zig +0 -948
|
@@ -1,44 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Fixed-position TagWriter and ResultWriter classes.
|
|
3
|
+
*
|
|
4
|
+
* TagWriter uses source-authored constructors and schema-driven prototype methods so
|
|
5
|
+
* Hermes can compile the implementation ahead of time. ResultWriter selects between a
|
|
6
|
+
* compiled renderer (new Function, string-codegen runtimes) and a closure-composed
|
|
7
|
+
* materializer (workerd-safe, no eval) via activeMaterializerMode().
|
|
3
8
|
*
|
|
4
9
|
* These classes provide fluent setter methods that write to a fixed position in a SpanBuffer:
|
|
5
10
|
* - TagWriter: writes to position 0 (span-start row) via ctx.tag.userId("123")
|
|
6
11
|
* - ResultWriter: writes to position 1 (result row) via ctx.ok(data).userId("123")
|
|
7
12
|
*
|
|
8
|
-
* Both share the same codegen since they only differ in:
|
|
9
|
-
* 1. The fixed position (0 vs 1)
|
|
10
|
-
* 2. ResultWriter has additional _result/_error properties
|
|
11
|
-
*
|
|
12
13
|
* WHY Fixed Positions:
|
|
13
14
|
* - Row 0: span-start entry (written at span creation, attributes set via ctx.tag)
|
|
14
15
|
* - Row 1: span-end entry (written at ctx.ok()/ctx.err(), attributes set via fluent API)
|
|
15
16
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* - Fluent chaining: ctx.tag.userId("123").requestId("abc")
|
|
19
|
-
* - Zero allocation: returns same object reference
|
|
17
|
+
* Each wrapper stores only the SpanContext state identity. Setters write through
|
|
18
|
+
* `state._spanBuffer` to their embedded row and return the same wrapper for fluent chaining.
|
|
20
19
|
*/
|
|
20
|
+
import { type SchemaEnumLookupDescriptor } from '../enumMetadata.js';
|
|
21
|
+
import type { MessageLayoutFamily, MessagePhysicalLayout } from '../runtimeHint.js';
|
|
21
22
|
import type { InferSchema, LogSchema } from '../schema/types.js';
|
|
23
|
+
import type { TimestampAppendPrimitive } from '../traceRoot.js';
|
|
22
24
|
import type { AnySpanBuffer } from '../types.js';
|
|
23
|
-
/**
|
|
24
|
-
* Extension options for injecting custom code into generated writer classes.
|
|
25
|
-
*/
|
|
25
|
+
/** Extension methods injected into a generated fixed-position writer class. */
|
|
26
26
|
export interface FixedPositionWriterExtension {
|
|
27
|
-
/**
|
|
28
|
-
* Additional code to add to the constructor (after buffer assignment).
|
|
29
|
-
* Has access to `this` and constructorParams.
|
|
30
|
-
*/
|
|
31
|
-
constructorCode?: string;
|
|
32
|
-
/**
|
|
33
|
-
* Additional methods to add to the class body.
|
|
34
|
-
*/
|
|
35
27
|
methods?: string;
|
|
36
|
-
/**
|
|
37
|
-
* Constructor parameters beyond buffer.
|
|
38
|
-
* Added AFTER buffer in the constructor signature.
|
|
39
|
-
* @example "result, isError"
|
|
40
|
-
*/
|
|
41
|
-
constructorParams?: string;
|
|
42
28
|
}
|
|
43
29
|
/**
|
|
44
30
|
* TagWriter interface - fluent setter API for span-start attributes (row 0)
|
|
@@ -55,43 +41,35 @@ export type TagWriter<T extends LogSchema> = {
|
|
|
55
41
|
} & {
|
|
56
42
|
[K in keyof InferSchema<T>]: (value: InferSchema<T>[K]) => TagWriter<T>;
|
|
57
43
|
};
|
|
58
|
-
/**
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
*/
|
|
44
|
+
/** SpanContext-owned hot writer state shared by logger, tag, and result writers. */
|
|
45
|
+
export interface WriterState {
|
|
46
|
+
/** Immutable span root used by fixed row 0/1 writers. */
|
|
47
|
+
readonly _spanBuffer: AnySpanBuffer;
|
|
48
|
+
/** Mutable active buffer used by append writers and updated on overflow. */
|
|
49
|
+
_buffer: AnySpanBuffer;
|
|
50
|
+
/** Plan-bound timestamp append operand retained by the SpanContext. */
|
|
51
|
+
readonly _appendLogEntry: TimestampAppendPrimitive;
|
|
52
|
+
readonly _physicalLayoutPlan: {
|
|
53
|
+
readonly ResultWriterClass: ResultWriterConstructor;
|
|
54
|
+
readonly enumLookup: SchemaEnumLookupDescriptor;
|
|
55
|
+
};
|
|
56
|
+
/** Append one dynamic row, centralizing overflow and active-buffer updates. */
|
|
57
|
+
_appendWriterEntry(entryType: number): number;
|
|
58
|
+
}
|
|
59
|
+
/** Result-row writer with schema-specific fluent setters. */
|
|
63
60
|
export type ResultWriter<T extends LogSchema, R = unknown, E = unknown> = {
|
|
64
|
-
/**
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
readonly _result: R | undefined;
|
|
68
|
-
/**
|
|
69
|
-
* The error value (set by ctx.err(error))
|
|
70
|
-
*/
|
|
71
|
-
readonly _error: E | undefined;
|
|
72
|
-
/**
|
|
73
|
-
* Whether this is an error result
|
|
74
|
-
*/
|
|
75
|
-
readonly _isError: boolean;
|
|
76
|
-
/**
|
|
77
|
-
* Bulk set multiple attributes at once.
|
|
78
|
-
*/
|
|
61
|
+
/** Phantom parameters preserve the public generic contract without duplicating result values. */
|
|
62
|
+
readonly _resultType?: R;
|
|
63
|
+
readonly _errorType?: E;
|
|
79
64
|
with(attributes: Partial<InferSchema<T>>): ResultWriter<T, R, E>;
|
|
80
|
-
/**
|
|
81
|
-
* Set the result-row message (row 1).
|
|
82
|
-
*/
|
|
83
65
|
message(text: string): ResultWriter<T, R, E>;
|
|
84
|
-
/**
|
|
85
|
-
* Set the result-row source line (row 1).
|
|
86
|
-
*/
|
|
87
66
|
line(lineNumber: number): ResultWriter<T, R, E>;
|
|
88
|
-
/**
|
|
89
|
-
* Set the reserved `uint64_value` column for this result row.
|
|
90
|
-
*/
|
|
91
67
|
uint64_value(value: bigint): ResultWriter<T, R, E>;
|
|
92
68
|
} & {
|
|
93
69
|
[K in keyof InferSchema<T>]: (value: InferSchema<T>[K]) => ResultWriter<T, R, E>;
|
|
94
70
|
};
|
|
71
|
+
export type TagWriterConstructor<T extends LogSchema> = new (state: WriterState) => TagWriter<T>;
|
|
72
|
+
export type ResultWriterConstructor = new <T extends LogSchema = LogSchema, R = unknown, E = unknown>(state: WriterState) => ResultWriter<T, R, E>;
|
|
95
73
|
/**
|
|
96
74
|
* Generate the complete fixed-position writer class code.
|
|
97
75
|
*
|
|
@@ -101,47 +79,31 @@ export type ResultWriter<T extends LogSchema, R = unknown, E = unknown> = {
|
|
|
101
79
|
* @param extension - Optional extension for constructor code, methods, params
|
|
102
80
|
* @returns JavaScript code string for the class
|
|
103
81
|
*/
|
|
104
|
-
export declare function generateFixedPositionWriterClass(schema: LogSchema, position: number, className: string, extension?: FixedPositionWriterExtension): string;
|
|
105
|
-
/**
|
|
106
|
-
* Generate TagWriter class code for a schema.
|
|
107
|
-
* TagWriter writes to position 0 (span-start row).
|
|
108
|
-
*/
|
|
109
|
-
export declare function generateTagWriterClass(schema: LogSchema): string;
|
|
82
|
+
export declare function generateFixedPositionWriterClass(schema: LogSchema, position: number, className: string, extension?: FixedPositionWriterExtension, eagerColumns?: readonly string[], enumLookup?: SchemaEnumLookupDescriptor): string;
|
|
110
83
|
/**
|
|
111
84
|
* Get or create a cached TagWriter class for a schema.
|
|
112
85
|
*
|
|
113
86
|
* @param schema - Tag attribute schema
|
|
114
87
|
* @returns TagWriter class constructor
|
|
115
88
|
*/
|
|
116
|
-
export declare function getTagWriterClass<T extends LogSchema>(schema: T
|
|
117
|
-
/**
|
|
118
|
-
|
|
119
|
-
*
|
|
120
|
-
* @param schema - Tag attribute schema
|
|
121
|
-
* @param buffer - SpanBuffer to write to
|
|
122
|
-
* @returns TagWriter instance bound to position 0
|
|
123
|
-
*/
|
|
124
|
-
export declare function createTagWriter<T extends LogSchema>(schema: T, buffer: AnySpanBuffer): TagWriter<T>;
|
|
89
|
+
export declare function getTagWriterClass<T extends LogSchema>(schema: T, eagerColumns?: readonly string[], enumLookup?: SchemaEnumLookupDescriptor): TagWriterConstructor<T>;
|
|
90
|
+
/** Create a TagWriter bound to an existing SpanContext writer state. */
|
|
91
|
+
export declare function createTagWriter<T extends LogSchema>(schema: T, state: WriterState): TagWriter<T>;
|
|
125
92
|
/**
|
|
126
93
|
* Generate ResultWriter class code for a schema.
|
|
127
94
|
* ResultWriter writes to position 1 (result row).
|
|
128
95
|
*/
|
|
129
|
-
export declare function generateResultWriterClass(schema: LogSchema): string;
|
|
96
|
+
export declare function generateResultWriterClass(schema: LogSchema, messageLayoutFamily?: MessageLayoutFamily, _messagePhysicalLayout?: MessagePhysicalLayout, eagerColumns?: readonly string[], enumLookup?: SchemaEnumLookupDescriptor): string;
|
|
130
97
|
/**
|
|
131
98
|
* Get or create a cached ResultWriter class for a schema.
|
|
132
99
|
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*/
|
|
136
|
-
export declare function getResultWriterClass<T extends LogSchema>(schema: T): new <R = unknown, E = unknown>(buffer: AnySpanBuffer, resultOrError: unknown, isError: boolean) => ResultWriter<T, R, E>;
|
|
137
|
-
/**
|
|
138
|
-
* Create a ResultWriter instance for a buffer.
|
|
100
|
+
* Selects the compiled or closure-composed materializer via activeMaterializerMode();
|
|
101
|
+
* cache keys are mode-prefixed so an override flip never returns the wrong kind.
|
|
139
102
|
*
|
|
140
103
|
* @param schema - Tag attribute schema
|
|
141
|
-
* @
|
|
142
|
-
* @param resultOrError - The result value or error
|
|
143
|
-
* @param isError - Whether this is an error result
|
|
144
|
-
* @returns ResultWriter instance bound to position 1
|
|
104
|
+
* @returns ResultWriter class constructor
|
|
145
105
|
*/
|
|
146
|
-
export declare function
|
|
106
|
+
export declare function getResultWriterClass<T extends LogSchema>(schema: T, messageLayoutFamily?: MessageLayoutFamily, messagePhysicalLayout?: MessagePhysicalLayout, eagerColumns?: readonly string[], enumLookup?: SchemaEnumLookupDescriptor): ResultWriterConstructor;
|
|
107
|
+
/** Create a ResultWriter bound to an existing SpanContext writer state. */
|
|
108
|
+
export declare function createResultWriter<T extends LogSchema, R = unknown, E = unknown>(schema: T, state: WriterState): ResultWriter<T, R, E>;
|
|
147
109
|
//# sourceMappingURL=fixedPositionWriterGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixedPositionWriterGenerator.d.ts","sourceRoot":"","sources":["../../../src/lib/codegen/fixedPositionWriterGenerator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fixedPositionWriterGenerator.d.ts","sourceRoot":"","sources":["../../../src/lib/codegen/fixedPositionWriterGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAA+B,KAAK,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,+EAA+E;AAC/E,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,SAAS,IAAI;IAC3C;;OAEG;IACH,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACxD;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;CAC3C,GAAG;KAID,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;CACxE,CAAC;AAEF,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,4EAA4E;IAC5E,OAAO,EAAE,aAAa,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;IACnD,QAAQ,CAAC,mBAAmB,EAAE;QAC5B,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;QACpD,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;KACjD,CAAC;IACF,+EAA+E;IAC/E,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/C;AAED,6DAA6D;AAC7D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI;IACxE,iGAAiG;IACjG,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACxB,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CACpD,GAAG;KACD,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACjF,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,SAAS,IAAI,KAAK,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;AAEjG,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAClG,KAAK,EAAE,WAAW,KACf,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AA+C3B;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,4BAA4B,EACxC,YAAY,GAAE,SAAS,MAAM,EAAO,EACpC,UAAU,GAAE,0BAAgE,GAC3E,MAAM,CAiDR;AAuID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EACnD,MAAM,EAAE,CAAC,EACT,YAAY,GAAE,SAAS,MAAM,EAAO,EACpC,UAAU,GAAE,0BAAgE,GAC3E,oBAAoB,CAAC,CAAC,CAAC,CAsBzB;AAED,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAEhG;AAgCD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,mBAAmB,GAAE,mBAA6B,EAClD,sBAAsB,GAAE,qBAAiC,EACzD,YAAY,GAAE,SAAS,MAAM,EAAO,EACpC,UAAU,GAAE,0BAAgE,GAC3E,MAAM,CASR;AAiFD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,EACtD,MAAM,EAAE,CAAC,EACT,mBAAmB,GAAE,mBAA6B,EAClD,qBAAqB,GAAE,qBAAiC,EACxD,YAAY,GAAE,SAAS,MAAM,EAAO,EACpC,UAAU,GAAE,0BAAgE,GAC3E,uBAAuB,CA0BzB;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAC9E,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,WAAW,GACjB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAMvB"}
|