* refactor: use consistent folder structure across workflow, core, and cli * setup typescript project references across workflow, core, and cli
29 lines
748 B
TypeScript
29 lines
748 B
TypeScript
import { INodeTypes } from 'n8n-workflow';
|
|
import { InternalHooksClass } from '@/InternalHooks';
|
|
import { Telemetry } from '@/telemetry';
|
|
|
|
export class InternalHooksManager {
|
|
private static internalHooksInstance: InternalHooksClass;
|
|
|
|
static getInstance(): InternalHooksClass {
|
|
if (this.internalHooksInstance) {
|
|
return this.internalHooksInstance;
|
|
}
|
|
|
|
throw new Error('InternalHooks not initialized');
|
|
}
|
|
|
|
static init(instanceId: string, versionCli: string, nodeTypes: INodeTypes): InternalHooksClass {
|
|
if (!this.internalHooksInstance) {
|
|
this.internalHooksInstance = new InternalHooksClass(
|
|
new Telemetry(instanceId, versionCli),
|
|
instanceId,
|
|
versionCli,
|
|
nodeTypes,
|
|
);
|
|
}
|
|
|
|
return this.internalHooksInstance;
|
|
}
|
|
}
|