35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
/**
|
|
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
import { EntityManager } from '@flowgram.ai/core'
|
|
import {
|
|
FlowDocument,
|
|
FlowDocumentContainerModule,
|
|
FlowDocumentContribution,
|
|
FlowNodeTransformData,
|
|
FlowNodeTransitionData,
|
|
} from '@flowgram.ai/document'
|
|
import { Container, decorate, injectable, type interfaces } from 'inversify'
|
|
|
|
export class FlowDocumentMockRegister implements FlowDocumentContribution {
|
|
registerDocument(document: FlowDocument) {
|
|
document.registerNodeDatas(FlowNodeTransformData, FlowNodeTransitionData)
|
|
}
|
|
}
|
|
|
|
decorate(injectable(), FlowDocumentMockRegister)
|
|
|
|
export function createDocumentContainer(): interfaces.Container {
|
|
const container = new Container()
|
|
container.load(FlowDocumentContainerModule)
|
|
container.bind(EntityManager).toSelf()
|
|
container.bind(FlowDocumentContribution).to(FlowDocumentMockRegister)
|
|
return container
|
|
}
|
|
|
|
export function createDocument(): FlowDocument {
|
|
return createDocumentContainer().get(FlowDocument)
|
|
}
|