From cc6f395a51349280f7ec36bb5b9e241c8040e95e Mon Sep 17 00:00:00 2001 From: chenshenhai Date: Fri, 6 Aug 2021 10:23:33 +0800 Subject: [PATCH] fix: type error --- packages/core/src/index.ts | 4 ++-- packages/types/src/lib/data.ts | 13 +++++++++---- packages/types/src/lib/element.ts | 7 ++++++- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 32375df..42fb996 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,6 +1,6 @@ import { TypeData, TypePoint, TypeBoardSizeOptions, - TypeHelperWrapperDotDirection, TypeConfig, TypeConfigStrict, + TypeHelperWrapperDotDirection, TypeConfig, TypeConfigStrict, TypeElementBase, TypeElement, TypeElemDesc, TypeContext, TypeCoreOptions, TypeScreenContext, } from '@idraw/types'; import Board from '@idraw/board'; @@ -194,7 +194,7 @@ class Core { this[_draw](); } - addElement(elem: TypeElement): string | null { + addElement(elem: TypeElementBase): string | null { if (this[_onlyRender] === true) return null; const _elem = deepClone(elem); _elem.uuid = createUUID(); diff --git a/packages/types/src/lib/data.ts b/packages/types/src/lib/data.ts index 7ff7d1e..5496a0f 100644 --- a/packages/types/src/lib/data.ts +++ b/packages/types/src/lib/data.ts @@ -1,10 +1,15 @@ -import { TypeElemDesc, TypeElement } from './element'; +import { TypeElemDesc, TypeElement, TypeElementBase } from './element'; -type TypeData = { - elements: TypeElement[]; +type TypeDataBase = { + elements: TypeElementBase[]; bgColor?: string; } +type TypeData = TypeDataBase & { + elements: TypeElement[]; +} + export { - TypeData + TypeData, + TypeDataBase, }; \ No newline at end of file diff --git a/packages/types/src/lib/element.ts b/packages/types/src/lib/element.ts index d32f9be..8ed76d9 100644 --- a/packages/types/src/lib/element.ts +++ b/packages/types/src/lib/element.ts @@ -8,7 +8,7 @@ type TypeElementAttrs = { angle: number; } -type TypeElement = TypeElementAttrs & { +type TypeElementBase = TypeElementAttrs & { name?: string; uuid?: string; type: T; @@ -16,6 +16,10 @@ type TypeElement = TypeElementAttrs & { desc: TypeElemDesc[T]; } +type TypeElement = TypeElementBase & { + uuid: string; +} + type TypeElemBoxDesc = { borderRadius?: number; borderWidth?: number; @@ -74,4 +78,5 @@ export { TypeElemDescSVG, TypeElemDesc, TypeElement, + TypeElementBase, }; \ No newline at end of file