mirror of
https://github.com/motajs/template.git
synced 2026-10-17 03:10:17 +08:00
- MOVE:39 个文件由 client-modules/src/render/ 移入 client-base/src/{components,elements,map,layout}/,删除原件
- D-58:新建 client-base/src/shared/(10 常量纯摘取)+ 被移 map 文件 shared 说明符改指 4 处
- D-63:client-base/src/index.ts 新增 5 条桶导出;14 个实现层消费者改指 @user/client-base
- D-66:client-base/package.json 新增 5 条 workspace:* 依赖 + 根 pnpm i(lockfile importer 同步)
- D-59 / D-60 / D-68:10 处架构耦合以带原因 // @ts-expect-error 暂记,不反向引用、不解耦
- D-62:命名一律不变;D-64 ?raw 不处理;D-65 legacy 一律不管
49 lines
1.6 KiB
TypeScript
49 lines
1.6 KiB
TypeScript
import { logger } from '@motajs/common';
|
|
import { MapRenderItem } from '../map';
|
|
// @ts-expect-error render/renderer 按 D-54 留在实现层,本文件已移入系统层,按 D-67 暂以标注记录标签注册耦合,不反向引用、不解耦
|
|
import { mainRenderer, tagManager } from '../renderer';
|
|
import { createCache } from './cache';
|
|
import { Icon, Winskin } from './misc';
|
|
|
|
export function createElements() {
|
|
createCache();
|
|
|
|
// ----- 注册标签
|
|
mainRenderer.registerElement('icon', Icon);
|
|
mainRenderer.registerElement('winskin', Winskin);
|
|
mainRenderer.registerElement('map-render', MapRenderItem);
|
|
|
|
tagManager.registerTag(
|
|
'icon',
|
|
tagManager.createStandardElement(false, Icon)
|
|
);
|
|
tagManager.registerTag(
|
|
'winskin',
|
|
tagManager.createStandardElement(false, Winskin)
|
|
);
|
|
tagManager.registerTag('map-render', props => {
|
|
if (!props) {
|
|
logger.error(42, 'layerState');
|
|
throw new Error(`Lack of map-render property.`);
|
|
}
|
|
const { layerState, renderer, extension } = props;
|
|
if (!layerState) {
|
|
logger.error(42, 'layerState');
|
|
throw new Error(`Lack of map-render property.`);
|
|
}
|
|
if (!renderer) {
|
|
logger.error(42, 'renderer');
|
|
throw new Error(`Lack of map-render property.`);
|
|
}
|
|
if (!extension) {
|
|
logger.error(42, 'extension');
|
|
throw new Error(`Lack of map-render property.`);
|
|
}
|
|
return new MapRenderItem(layerState, renderer, extension);
|
|
});
|
|
}
|
|
|
|
export * from './cache';
|
|
export * from './misc';
|
|
export * from './props';
|