flow-document-container.mock.ts 975 B

1234567891011121314151617181920212223242526272829303132
  1. /**
  2. * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
  3. * SPDX-License-Identifier: MIT
  4. */
  5. import { decorate, injectable, Container, type interfaces } from 'inversify';
  6. import { EntityManager } from '@flowgram.ai/core';
  7. import {
  8. type FlowDocument,
  9. FlowDocumentContainerModule,
  10. FlowDocumentContribution,
  11. FlowNodeRenderData,
  12. FlowNodeTransformData,
  13. FlowNodeTransitionData,
  14. } from '../src';
  15. export class FlowDocumentMockRegister implements FlowDocumentContribution {
  16. registerDocument(document: FlowDocument) {
  17. document.registerNodeDatas(FlowNodeTransformData, FlowNodeRenderData, FlowNodeTransitionData);
  18. }
  19. }
  20. decorate(injectable(), FlowDocumentMockRegister);
  21. export function createDocumentContainer(): interfaces.Container {
  22. const container = new Container();
  23. container.load(FlowDocumentContainerModule);
  24. container.bind(EntityManager).toSelf();
  25. container.bind(FlowDocumentContribution).to(FlowDocumentMockRegister);
  26. return container;
  27. }