From a8b54bf34da55fdcdd752c4384b5f21f75aaad66 Mon Sep 17 00:00:00 2001 From: chenshenhai Date: Thu, 17 Jun 2021 11:00:28 +0800 Subject: [PATCH] feat: implement @idraw/core is and check static attributes --- packages/core/src/constant/element.ts | 16 ++++++++++------ packages/core/src/lib/is.ts | 1 - packages/core/src/lib/parse.ts | 4 ++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/core/src/constant/element.ts b/packages/core/src/constant/element.ts index 27e107f..7f44234 100644 --- a/packages/core/src/constant/element.ts +++ b/packages/core/src/constant/element.ts @@ -1,6 +1,10 @@ -export const elementTypes = { - 'text': true, - 'rect': true, - 'image': true, - 'svg': true, -} \ No newline at end of file + +const elementTypes = { + 'text': {}, // TODO + 'rect': {}, // TODO + 'image': {}, // TODO + 'svg': {}, // TODO +} + +export const elementNames = Object.keys(elementTypes); + diff --git a/packages/core/src/lib/is.ts b/packages/core/src/lib/is.ts index 5b96c46..4c65227 100644 --- a/packages/core/src/lib/is.ts +++ b/packages/core/src/lib/is.ts @@ -74,7 +74,6 @@ function fontFamily(value: any) { return typeof value === 'string' && value.length > 0; } - const is = { x, y, w, h, angle, number, borderWidth, borderRadius, color, diff --git a/packages/core/src/lib/parse.ts b/packages/core/src/lib/parse.ts index 2e85154..269d4f9 100644 --- a/packages/core/src/lib/parse.ts +++ b/packages/core/src/lib/parse.ts @@ -1,5 +1,5 @@ import { TypeData, TypeElement, TypeElemDesc } from '@idraw/types'; -import { elementTypes } from './../constant/element'; +import { elementNames } from './../constant/element'; export function parseData(data: any): TypeData { const result: TypeData = { @@ -24,7 +24,7 @@ function isElement( if (!(isNumber(elem.x) && isNumber(elem.y) && isNumber(elem.w) && isNumber(elem.h))) { return false; } - if (!(typeof elem.type === 'string' && Object.keys(elementTypes).includes(elem.type))) { + if (!(typeof elem.type === 'string' && elementNames.includes(elem.type))) { return false; } return true;