设计tracer
This commit is contained in:
@@ -3,20 +3,17 @@ import { Registry } from "../registry";
|
||||
|
||||
export interface ArrayTracerOption<T> {
|
||||
description: string;
|
||||
serializeFn?: (value: T) => string;
|
||||
}
|
||||
|
||||
export class ArrayTracer<T> {
|
||||
private tracerId: string;
|
||||
private serializeFn?: (value: T) => string;
|
||||
|
||||
private constructor(option: ArrayTracerOption<T>) {
|
||||
private constructor() {
|
||||
this.tracerId = crypto.randomUUID();
|
||||
this.serializeFn = option.serializeFn;
|
||||
}
|
||||
|
||||
public static define<T>(option: ArrayTracerOption<T>): ArrayTracer<T> {
|
||||
const arrayTracer = new ArrayTracer(option);
|
||||
const arrayTracer = new ArrayTracer();
|
||||
const registry = Registry.getInstance();
|
||||
registry.register("ArrayTracer", arrayTracer.tracerId);
|
||||
const commander = Commander.getInstance();
|
||||
|
||||
Reference in New Issue
Block a user