diff --git a/api/@internal/component/ets/units.d.ts b/api/@internal/component/ets/units.d.ts index 19d1bfb12189169650fc43f0b08e2d0997e5c54e..7d0314d751280ae9cbc91919ffe84f9e2ce28268 100644 --- a/api/@internal/component/ets/units.d.ts +++ b/api/@internal/component/ets/units.d.ts @@ -19,10 +19,11 @@ */ /*** if arkts 1.2 */ -import { Resource as _Resource } from '../../global/resource'; +import { Resource } from '../../global/resource'; import { Color, BorderStyle, FontWeight, FontStyle, DividerMode} from './enums'; import { OutlineStyle } from './common'; -import { LengthMetricsUnit as _LengthMetricsUnit, LengthMetrics as _LengthMetrics, ColorMetrics as _ColorMetrics } from '../Graphics'; +import { LengthMetricsUnit, LengthMetrics, ColorMetrics } from '../Graphics'; +export { Resource, LengthMetricsUnit, LengthMetrics, ColorMetrics }; /*** endif */ /** @@ -63,19 +64,6 @@ import { LengthMetricsUnit as _LengthMetricsUnit, LengthMetrics as _LengthMetric */ declare type Resource = import('../api/global/resource').Resource; -/** - * Defines the data type of the interface restriction. - * - * @typedef { import('../api/global/resource').Resource } Resource - * @syscap SystemCapability.ArkUI.ArkUI.Full - * @crossplatform - * @form - * @atomicservice - * @since 20 - * @arkts 1.2 - */ -declare type Resource = _Resource; - /** * Defines the length property with string, number and resource unit. * @@ -2093,19 +2081,6 @@ declare type VoidCallback = () => void; */ declare type LengthMetricsUnit = import('../api/arkui/Graphics').LengthMetricsUnit; -/** - * Defines length metrics unit. - * - * @typedef { _LengthMetricsUnit } LengthMetricsUnit - * @syscap SystemCapability.ArkUI.ArkUI.Full - * @crossplatform - * @form - * @atomicservice - * @since 20 - * @arkts 1.2 - */ -declare type LengthMetricsUnit = _LengthMetricsUnit; - /** * Defines LengthMetrics. * @@ -2117,18 +2092,6 @@ declare type LengthMetricsUnit = _LengthMetricsUnit; */ declare type LengthMetrics = import('../api/arkui/Graphics').LengthMetrics; -/** - * Defines LengthMetrics. - * - * @typedef { _LengthMetrics } LengthMetrics - * @syscap SystemCapability.ArkUI.ArkUI.Full - * @crossplatform - * @atomicservice - * @since 20 - * @arkts 1.2 - */ -declare type LengthMetrics = _LengthMetrics; - /** * Defines ColorMetrics. * @@ -2140,18 +2103,6 @@ declare type LengthMetrics = _LengthMetrics; */ declare type ColorMetrics = import('../api/arkui/Graphics').ColorMetrics; -/** - * Defines ColorMetrics. - * - * @typedef { _ColorMetrics } ColorMetrics - * @syscap SystemCapability.ArkUI.ArkUI.Full - * @crossplatform - * @atomicservice - * @since 20 - * @arkts 1.2 - */ -declare type ColorMetrics = _ColorMetrics; - /** * Defines the font used for text. * diff --git a/build-tools/handleApiFiles.js b/build-tools/handleApiFiles.js index 64ab86c9127537aecf86103a4672ab1b891be617..323bbbb785aefaa2b5e45524d50340e7f4b5638b 100755 --- a/build-tools/handleApiFiles.js +++ b/build-tools/handleApiFiles.js @@ -20,6 +20,7 @@ const commander = require('commander'); // 处理的目录类型 let dirType = ''; const deleteApiSet = new Set(); +const importNameSet = new Set(); // 处理的目录类型,ets代表处理的是1.1目录,ets2代表处理的是1.2目录里有@arkts 1.1&1.2标签的文件, // noTagInEts2代表处理的是1.2目录里无标签的文件 @@ -583,24 +584,36 @@ function deleteApi(sourceFile) { */ const transformExportApi = (context) => { return (rootNode) => { - const visit = (node) => { + const importOrExportNodeVisitor = (node) => { + if (ts.isImportClause(node) && node.name && ts.isIdentifier(node.name) || + ts.isImportSpecifier(node) && node.name && ts.isIdentifier(node.name)) { + importNameSet.add(node.name?.getText()) + } // 剩下未被删除的API中,如果还有与被删除API名字一样的API,就将其从set集合中删掉 if (apiNodeTypeArr.includes(node.kind) && deleteApiSet.has(node.name?.getText())) { deleteApiSet.delete(node.name?.getText()); } + // 非目标节点:继续遍历子节点 + return ts.visitEachChild(node, importOrExportNodeVisitor, context); + }; + ts.visitNode(rootNode, importOrExportNodeVisitor); + + const allNodeVisitor = (node) => { // 判断是否为要删除的变量声明 - if (ts.isExportAssignment(node) && deleteApiSet.has(node.expression.escapedText.toString())) { + if (ts.isExportAssignment(node) && deleteApiSet.has(node.expression.escapedText.toString()) && + !importNameSet.has(node.expression.escapedText.toString())) { return undefined; } - if (ts.isExportSpecifier(node) && deleteApiSet.has(node.name.escapedText.toString())) { + if (ts.isExportSpecifier(node) && deleteApiSet.has(node.name.escapedText.toString()) && + !importNameSet.has(node.name.escapedText.toString())) { return undefined; } // 非目标节点:继续遍历子节点 - return ts.visitEachChild(node, visit, context); + return ts.visitEachChild(node, allNodeVisitor, context); }; - return ts.visitNode(rootNode, visit); + return ts.visitNode(rootNode, allNodeVisitor); }; };