1/* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import ts from 'typescript'; 17import { ApiInfo, MethodInfo, ApiType } from '../parser/ApiInfoDefination'; 18import { Comment } from '../parser/Comment'; 19import { NumberConstant } from '../../utils/Constant'; 20export class BasicDiffInfo { 21 private static EMPTY = ''; 22 //apiType 23 apiType: string = BasicDiffInfo.EMPTY; 24 statusCode: ApiStatusCode = ApiStatusCode.DEFAULT; 25 // parentModuleName: string = 'global'; 26 //旧数据 27 oldApiDefinedText: string = BasicDiffInfo.EMPTY; 28 //新数据 29 newApiDefinedText: string = BasicDiffInfo.EMPTY; 30 //旧apiName 31 oldApiName: string = BasicDiffInfo.EMPTY; 32 //新apiName 33 newApiName: string = BasicDiffInfo.EMPTY; 34 //旧dts文件名 35 oldDtsName: string = BasicDiffInfo.EMPTY; 36 //新dts文件名 37 newDtsName: string = BasicDiffInfo.EMPTY; 38 //diff节点类型 39 diffType: ApiDiffType = ApiDiffType.DEFAULT; 40 //diff节点类型描述 41 diffMessage: string = ''; 42 // 获取json的url 43 changeLogUrl: string = ''; 44 // json中的数据 45 changeLogs: string[] = []; 46 //是否兼容 47 isCompatible: boolean = true; 48 //层次关系 49 oldHierarchicalRelations: string[] = []; 50 //层次关系 51 newHierarchicalRelations: string[] = []; 52 // api所在的位置信息 53 oldPos: ts.LineAndCharacter = { line: -1, character: -1 }; 54 // api所在的位置信息 55 newPos: ts.LineAndCharacter = { line: -1, character: -1 }; 56 oldDescription: string = ''; 57 newDescription: string = ''; 58 //syscap中用于区分子系统的字段 59 oldSyscapField: string = ''; 60 newSyscapField: string = ''; 61 //kit信息 62 oldKitInfo: string = ''; 63 newKitInfo: string = ''; 64 //是否为系统API 65 isSystemapi: boolean = false; 66 //是否为同名函数的变更 67 isSameNameFunction: boolean = false; 68 69 setApiType(apiType: string): BasicDiffInfo { 70 if (apiType) { 71 this.apiType = apiType; 72 } else { 73 this.apiType = BasicDiffInfo.EMPTY; 74 } 75 return this; 76 } 77 78 getApiType(): string { 79 return this.apiType; 80 } 81 82 getStatusCode(): ApiStatusCode { 83 return this.statusCode; 84 } 85 86 setStatusCode(statusCode: ApiStatusCode): BasicDiffInfo { 87 this.statusCode = statusCode; 88 return this; 89 } 90 91 setOldApiDefinedText(oldApiDefinedText: string): BasicDiffInfo { 92 this.oldApiDefinedText = oldApiDefinedText; 93 return this; 94 } 95 96 getOldApiDefinedText(): string { 97 return this.oldApiDefinedText; 98 } 99 100 setNewApiDefinedText(newApiDefinedText: string): BasicDiffInfo { 101 this.newApiDefinedText = newApiDefinedText; 102 return this; 103 } 104 105 getNewApiDefinedText(): string { 106 return this.newApiDefinedText; 107 } 108 109 setOldApiName(oldApiName: string): BasicDiffInfo { 110 this.oldApiName = oldApiName; 111 return this; 112 } 113 114 getOldApiName(): string { 115 return this.oldApiName; 116 } 117 118 setNewApiName(newApiName: string): BasicDiffInfo { 119 this.newApiName = newApiName; 120 return this; 121 } 122 123 getNewApiName(): string { 124 return this.newApiName; 125 } 126 127 setOldDtsName(oldDtsName: string): BasicDiffInfo { 128 this.oldDtsName = oldDtsName; 129 return this; 130 } 131 132 getOldDtsName(): string { 133 return this.oldDtsName; 134 } 135 136 setNewDtsName(newDtsName: string): BasicDiffInfo { 137 this.newDtsName = newDtsName; 138 return this; 139 } 140 141 getNewDtsName(): string { 142 return this.newDtsName; 143 } 144 145 setDiffType(diffType: ApiDiffType): BasicDiffInfo { 146 this.diffType = diffType; 147 return this; 148 } 149 150 getDiffType(): ApiDiffType { 151 return this.diffType; 152 } 153 154 setDiffMessage(diffMessage: string): BasicDiffInfo { 155 this.diffMessage = diffMessage; 156 return this; 157 } 158 159 getDiffMessage(): string { 160 return this.diffMessage; 161 } 162 163 setChangeLogUrl(changeLogUrl: string): BasicDiffInfo { 164 this.changeLogUrl = changeLogUrl; 165 return this; 166 } 167 168 getChangeLogUrl(): string { 169 return this.changeLogUrl; 170 } 171 172 addChangeLogs(changeLogs: string): BasicDiffInfo { 173 this.changeLogs.push(changeLogs); 174 return this; 175 } 176 177 getChangeLogs(): string[] { 178 return this.changeLogs; 179 } 180 181 setIsCompatible(isCompatible: boolean): BasicDiffInfo { 182 this.isCompatible = isCompatible; 183 return this; 184 } 185 186 getIsCompatible(): boolean { 187 return this.isCompatible; 188 } 189 190 setOldHierarchicalRelations(oldHierarchicalRelations: string[]): BasicDiffInfo { 191 this.oldHierarchicalRelations = oldHierarchicalRelations; 192 return this; 193 } 194 195 getOldHierarchicalRelations(): string[] { 196 return this.oldHierarchicalRelations; 197 } 198 199 setNewHierarchicalRelations(newHierarchicalRelations: string[]): BasicDiffInfo { 200 this.newHierarchicalRelations = newHierarchicalRelations; 201 return this; 202 } 203 204 getNewHierarchicalRelations(): string[] { 205 return this.newHierarchicalRelations; 206 } 207 208 setOldPos(oldPos: ts.LineAndCharacter): BasicDiffInfo { 209 this.oldPos = oldPos; 210 return this; 211 } 212 213 getOldPos(): ts.LineAndCharacter { 214 return this.oldPos; 215 } 216 217 setNewPos(newPos: ts.LineAndCharacter): BasicDiffInfo { 218 this.newPos = newPos; 219 return this; 220 } 221 222 getNewPos(): ts.LineAndCharacter { 223 return this.newPos; 224 } 225 226 getOldDescription(): string { 227 return this.oldDescription; 228 } 229 230 setOldDescription(oldDescription: string): BasicDiffInfo { 231 this.oldDescription = oldDescription; 232 return this; 233 } 234 235 getNewDescription(): string { 236 return this.newDescription; 237 } 238 239 setNewDescription(newDescription: string): BasicDiffInfo { 240 this.newDescription = newDescription; 241 return this; 242 } 243 244 getOldApiInfo(): string { 245 return ''; 246 } 247 248 getParentModuleName(hierarchicalRelations: string[]): string { 249 let parentModuleName: string = 'global'; 250 if (hierarchicalRelations.length > NumberConstant.RELATION_LENGTH) { 251 parentModuleName = hierarchicalRelations[hierarchicalRelations.length - NumberConstant.RELATION_LENGTH]; 252 } 253 return parentModuleName; 254 } 255 256 setOldSyscapField(syscapField: string): BasicDiffInfo { 257 this.oldSyscapField = syscapField; 258 return this; 259 } 260 261 getOldSyscapField(): string { 262 return this.oldSyscapField; 263 } 264 265 setNewSyscapField(syscapField: string): BasicDiffInfo { 266 this.newSyscapField = syscapField; 267 return this; 268 } 269 270 getNewSyscapField(): string { 271 return this.newSyscapField; 272 } 273 274 setOldKitInfo(kitInfo: string): BasicDiffInfo { 275 this.oldKitInfo = kitInfo; 276 return this; 277 } 278 279 getOldKitInfo(): string { 280 return this.oldKitInfo; 281 } 282 283 setNewKitInfo(kitInfo: string): BasicDiffInfo { 284 this.newKitInfo = kitInfo; 285 return this; 286 } 287 288 getNewKitInfo(): string { 289 return this.newKitInfo; 290 } 291 292 setIsSystemapi(isSystemapi: boolean | undefined): BasicDiffInfo { 293 if (isSystemapi) { 294 this.isSystemapi = isSystemapi; 295 } 296 return this; 297 } 298 299 getIsSystemapi(): boolean { 300 return this.isSystemapi; 301 } 302 303 setIsSameNameFunction(isSameNameFunction: boolean): BasicDiffInfo { 304 this.isSameNameFunction = isSameNameFunction; 305 return this; 306 } 307 308 getIsSameNameFunction(): boolean { 309 return this.isSameNameFunction; 310 } 311} 312 313export class DiffTypeInfo { 314 private diffType: ApiDiffType = ApiDiffType.DEFAULT; //diff节点类型 315 private statusCode: ApiStatusCode = ApiStatusCode.DEFAULT; 316 private oldMessage: string = ''; //旧版本信息 317 private newMessage: string = ''; //新版本信息 318 319 constructor(statusCode?: ApiStatusCode, diffType?: ApiDiffType, oldMessage?: string, newMessage?: string) { 320 if (statusCode !== undefined) { 321 this.setStatusCode(statusCode); 322 } 323 if (diffType) { 324 this.setDiffType(diffType); 325 } 326 if (oldMessage) { 327 this.setOldMessage(oldMessage); 328 } 329 if (newMessage) { 330 this.setNewMessage(newMessage); 331 } 332 } 333 334 getStatusCode(): ApiStatusCode { 335 return this.statusCode; 336 } 337 338 setStatusCode(statusCode: ApiStatusCode): DiffTypeInfo { 339 this.statusCode = statusCode; 340 return this; 341 } 342 343 getDiffType(): ApiDiffType { 344 return this.diffType; 345 } 346 347 setDiffType(diffType: ApiDiffType): DiffTypeInfo { 348 this.diffType = diffType; 349 return this; 350 } 351 352 getOldMessage(): string { 353 return this.oldMessage; 354 } 355 setOldMessage(oldMessage: string): DiffTypeInfo { 356 this.oldMessage = oldMessage; 357 return this; 358 } 359 360 getNewMessage(): string { 361 return this.newMessage; 362 } 363 setNewMessage(newMessage: string): DiffTypeInfo { 364 this.newMessage = newMessage; 365 return this; 366 } 367} 368 369export class DiffNumberInfo { 370 apiName: string = ''; 371 kitName: string = ''; 372 subsystem: string = ''; 373 apiType: string = ''; 374 allDiffType: string[] = []; 375 allChangeType: string[] = []; 376 compatibleInfo: object = {}; 377 oldDiffMessage: string[] = []; 378 newDiffMessage: string[] = []; 379 allCompatible: boolean[] = []; 380 diffTypeNumber: number = 0; 381 isApi: boolean = true; 382 apiRelation: string = ''; 383 isSystemapi: boolean = false; 384 isSameNameFunction: boolean = false; 385 386 setApiName(apiName: string): DiffNumberInfo { 387 this.apiName = apiName; 388 return this; 389 } 390 391 getApiName(): string { 392 return this.apiName; 393 } 394 395 setKitName(kitName: string | undefined): DiffNumberInfo { 396 if (!kitName) { 397 return this; 398 } 399 this.kitName = kitName; 400 return this; 401 } 402 403 getKitName(): string { 404 return this.kitName; 405 } 406 407 setSubsystem(subsystem: string | undefined): DiffNumberInfo { 408 if (!subsystem) { 409 return this; 410 } 411 this.subsystem = subsystem; 412 return this; 413 } 414 415 getSubsystem(): string { 416 return this.subsystem; 417 } 418 419 setApiType(apiType: string): DiffNumberInfo { 420 this.apiType = apiType; 421 return this; 422 } 423 424 getApiType(): string { 425 return this.apiType; 426 } 427 428 setAllDiffType(diffType: string): DiffNumberInfo { 429 this.allDiffType.push(diffType); 430 return this; 431 } 432 433 getAllDiffType(): string[] { 434 return this.allDiffType; 435 } 436 437 setOldDiffMessage(oldDiffMessage: string): DiffNumberInfo { 438 if (oldDiffMessage === '-1' || oldDiffMessage === '' ) { 439 this.oldDiffMessage.push('NA'); 440 return this; 441 } 442 this.oldDiffMessage.push(oldDiffMessage); 443 return this; 444 } 445 446 getOldDiffMessage(): string[] { 447 return this.oldDiffMessage; 448 } 449 450 setNewDiffMessage(newDiffMessage: string): DiffNumberInfo { 451 if (newDiffMessage === '-1' || newDiffMessage === '') { 452 this.newDiffMessage.push('NA'); 453 return this; 454 } 455 this.newDiffMessage.push(newDiffMessage); 456 return this; 457 } 458 459 getNewDiffMessage(): string[] { 460 return this.newDiffMessage; 461 } 462 463 setAllChangeType(changeType: string | undefined): DiffNumberInfo { 464 if (!changeType) { 465 return this; 466 } 467 this.allChangeType.push(changeType); 468 return this; 469 } 470 471 getAllChangeType(): string[] { 472 return this.allChangeType; 473 } 474 475 setAllCompatible(isCompatible: boolean): DiffNumberInfo { 476 this.allCompatible.push(isCompatible); 477 return this; 478 } 479 480 getAllCompatible(): boolean[] { 481 return this.allCompatible; 482 } 483 setDiffTypeNumber(diffTypeNumber: number): DiffNumberInfo { 484 this.diffTypeNumber = diffTypeNumber; 485 return this; 486 } 487 488 getDiffTypeNumber(): number { 489 return this.diffTypeNumber; 490 } 491 492 setIsApi(isApi: boolean): DiffNumberInfo { 493 this.isApi = isApi; 494 return this; 495 } 496 497 getIsApi(): boolean { 498 return this.isApi; 499 } 500 501 setApiRelation(apiRelation: string): DiffNumberInfo { 502 this.apiRelation = apiRelation; 503 return this; 504 } 505 506 getApiRelation(): string { 507 return this.apiRelation; 508 } 509 510 setIsSystemapi(isSystemapi: boolean): DiffNumberInfo { 511 this.isSystemapi = isSystemapi; 512 return this; 513 } 514 515 getIsSystemapi(): boolean { 516 return this.isSystemapi; 517 } 518 519 setIsSameNameFunction(isSameNameFunction: boolean): DiffNumberInfo { 520 this.isSameNameFunction = isSameNameFunction; 521 return this; 522 } 523 524 getIsSameNameFunction(): boolean { 525 return this.isSameNameFunction; 526 } 527} 528 529export interface JsDocDiffProcessor { 530 (oldJsDocInfo: Comment.JsDocInfo | undefined, newJsDocInfo: Comment.JsDocInfo | undefined, isAllDeprecated?: boolean, 531 isAllSheet?: boolean): DiffTypeInfo | undefined; 532} 533 534export interface ApiSceneDiffProcessor { 535 (oldApiInfo: ApiInfo, newApiInfo: ApiInfo): DiffTypeInfo | undefined; 536} 537export interface ApiScenesDiffProcessor { 538 (oldApiInfo: MethodInfo, newApiInfo: MethodInfo): DiffTypeInfo[] | DiffTypeInfo | undefined; 539} 540 541export interface ApiNodeDiffProcessor { 542 (oldApiInfo: ApiInfo, newApiInfo: ApiInfo, diffInfos: BasicDiffInfo[]): void; 543} 544 545export interface TagInfoDiffProcessor { 546 (oldJsDocInfo: Comment.JsDocInfo | undefined, newJsDocInfo: Comment.JsDocInfo | undefined): boolean; 547} 548 549export enum ApiStatusCode { 550 DEFAULT = -1, 551 DELETE = 0, 552 DELETE_DTS = 1, 553 DELETE_CLASS = 2, 554 NEW_API = 3, 555 VERSION_CHNAGES = 4, 556 DEPRECATED_CHNAGES = 5, 557 NEW_ERRORCODE = 6, 558 ERRORCODE_CHANGES = 7, 559 SYSCAP_CHANGES = 8, 560 SYSTEM_API_CHNAGES = 9, 561 PERMISSION_DELETE = 10, 562 PERMISSION_NEW = 11, 563 PERMISSION_CHANGES = 12, 564 MODEL_CHNAGES = 13, 565 TYPE_CHNAGES = 14, 566 CLASS_CHANGES = 15, 567 FUNCTION_CHANGES = 16, 568 CHANGELOG = 17, 569 DTS_CHANGED = 18, 570 FORM_CHANGED = 19, 571 CROSSPLATFORM_CHANGED = 20, 572 NEW_DTS = 21, 573 NEW_CLASS = 22, 574 NEW_DECORATOR = 23, 575 DELETE_DECORATOR = 24, 576 KIT_CHANGE = 26, 577 ATOMICSERVICE_CHANGE = 27, 578 ERRORCODE_DELETE = 28, 579} 580 581export enum ApiDiffType { 582 DEFAULT = 0, 583 SYSTEM_TO_PUBLIC, 584 PUBLIC_TO_SYSTEM, 585 NA_TO_STAGE, 586 NA_TO_FA, 587 FA_TO_STAGE, 588 STAGE_TO_FA, 589 STAGE_TO_NA, 590 FA_TO_NA, 591 NA_TO_CARD, 592 CARD_TO_NA, 593 NA_TO_CROSS_PLATFORM, 594 CROSS_PLATFORM_TO_NA, 595 SYSCAP_NA_TO_HAVE, 596 SYSCAP_HAVE_TO_NA, 597 SYSCAP_A_TO_B, 598 DEPRECATED_NA_TO_HAVE, 599 DEPRECATED_HAVE_TO_NA, 600 DEPRECATED_A_TO_B, 601 DEPRECATED_NOT_All, 602 ERROR_CODE_NA_TO_HAVE, 603 ERROR_CODE_ADD, 604 ERROR_CODE_REDUCE, 605 ERROR_CODE_CHANGE, 606 PERMISSION_NA_TO_HAVE, 607 PERMISSION_HAVE_TO_NA, 608 /** 增加or或减少and权限 权限范围变大 */ 609 PERMISSION_RANGE_BIGGER, 610 /** 减少or或增加and权限 权限范围变小 */ 611 PERMISSION_RANGE_SMALLER, 612 /** 同时存在权限范围变大和变小的情况 */ 613 PERMISSION_RANGE_CHANGE, 614 /** type范围变大 */ 615 TYPE_RANGE_BIGGER, 616 /** type范围减小 */ 617 TYPE_RANGE_SMALLER, 618 /** type范围改变,既有变大情况也有变小情况 */ 619 TYPE_RANGE_CHANGE, 620 API_NAME_CHANGE, 621 FUNCTION_RETURN_TYPE_ADD, 622 FUNCTION_RETURN_TYPE_REDUCE, 623 FUNCTION_RETURN_TYPE_CHANGE, 624 FUNCTION_PARAM_POS_CHANGE, 625 /** 函数新增可选参数 */ 626 FUNCTION_PARAM_UNREQUIRED_ADD, 627 /** 函数新增必选参数 */ 628 FUNCTION_PARAM_REQUIRED_ADD, 629 FUNCTION_PARAM_REDUCE, 630 /** 函数中的必选参数变为可选参数 */ 631 FUNCTION_PARAM_TO_UNREQUIRED, 632 /** 函数中的可选参数变为必选参数 */ 633 FUNCTION_PARAM_TO_REQUIRED, 634 FUNCTION_PARAM_NAME_CHANGE, 635 FUNCTION_PARAM_TYPE_CHANGE, 636 /** 函数的参数类型范围扩大 */ 637 FUNCTION_PARAM_TYPE_ADD, 638 /** 函数的参数类型范围缩小 */ 639 FUNCTION_PARAM_TYPE_REDUCE, 640 FUNCTION_PARAM_CHANGE, 641 /** 同名函数变更类型 */ 642 FUNCTION_CHANGES, 643 PROPERTY_READONLY_TO_UNREQUIRED, 644 PROPERTY_READONLY_TO_REQUIRED, 645 PROPERTY_WRITABLE_TO_UNREQUIRED, 646 PROPERTY_WRITABLE_TO_REQUIRED, 647 PROPERTY_TYPE_CHANGE, 648 PROPERTY_READONLY_ADD, 649 PROPERTY_READONLY_REDUCE, 650 PROPERTY_WRITABLE_ADD, 651 PROPERTY_WRITABLE_REDUCE, 652 CONSTANT_VALUE_CHANGE, 653 TYPE_ALIAS_CHANGE, 654 TYPE_ALIAS_ADD, 655 TYPE_ALIAS_REDUCE, 656 TYPE_ALIAS_FUNCTION_RETURN_TYPE_ADD, 657 TYPE_ALIAS_FUNCTION_RETURN_TYPE_REDUCE, 658 TYPE_ALIAS_FUNCTION_RETURN_TYPE_CHANGE, 659 TYPE_ALIAS_FUNCTION_PARAM_POS_CHAHGE, 660 /** 自定义类型方法新增可选参数 */ 661 TYPE_ALIAS_FUNCTION_PARAM_UNREQUIRED_ADD, 662 /** 自定义类型方法新增必选参数 */ 663 TYPE_ALIAS_FUNCTION_PARAM_REQUIRED_ADD, 664 TYPE_ALIAS_FUNCTION_PARAM_REDUCE, 665 TYPE_ALIAS_FUNCTION_PARAM_TYPE_CHANGE, 666 /** 自定义类型方法中的必选参数变为可选参数 */ 667 TYPE_ALIAS_FUNCTION_PARAM_TO_UNREQUIRED, 668 /** 自定义类型方法中的可选参数变为必选参数 */ 669 TYPE_ALIAS_FUNCTION_PARAM_TO_REQUIRED, 670 /** 自定义类型方法的参数类型范围扩大 */ 671 TYPE_ALIAS_FUNCTION_PARAM_TYPE_ADD, 672 /** 自定义类型方法的参数类型范围缩小 */ 673 TYPE_ALIAS_FUNCTION_PARAM_TYPE_REDUCE, 674 TYPE_ALIAS_FUNCTION_PARAM_CHANGE, 675 ENUM_MEMBER_VALUE_CHANGE, 676 ADD, 677 REDUCE, 678 NEW_DECORATOR, 679 DELETE_DECORATOR, 680 SINCE_VERSION_NA_TO_HAVE, 681 SINCE_VERSION_HAVE_TO_NA, 682 SINCE_VERSION_A_TO_B, 683 HISTORICAL_JSDOC_CHANGE, 684 HISTORICAL_API_CHANGE, 685 KIT_CHANGE, 686 ATOMIC_SERVICE_NA_TO_HAVE, 687 ATOMIC_SERVICE_HAVE_TO_NA, 688 PROPERTY_TYPE_SIGN_CHANGE, 689 KIT_HAVE_TO_NA, 690 KIT_NA_TO_HAVE, 691 NEW_SAME_NAME_FUNCTION, 692 REDUCE_SAME_NAME_FUNCTION, 693 /** 匿名对象整改导致的参数类型的兼容改变,*/ 694 PARAM_TYPE_CHANGE_COMPATIABLE, 695 /** 匿名对象整改导致的参数类型的不兼容改变,*/ 696 PARAM_TYPE_CHANGE_IN_COMPATIABLE, 697} 698 699export const diffTypeMap: Map<ApiDiffType, string> = new Map([ 700 [ApiDiffType.SYSTEM_TO_PUBLIC, 'API访问级别变更'], 701 [ApiDiffType.PUBLIC_TO_SYSTEM, 'API访问级别变更'], 702 [ApiDiffType.NA_TO_STAGE, 'API模型切换'], 703 [ApiDiffType.NA_TO_FA, 'API模型切换'], 704 [ApiDiffType.FA_TO_STAGE, 'API模型切换'], 705 [ApiDiffType.STAGE_TO_FA, 'API模型切换'], 706 [ApiDiffType.STAGE_TO_NA, 'API模型切换'], 707 [ApiDiffType.FA_TO_NA, 'API模型切换'], 708 [ApiDiffType.NA_TO_CARD, 'API卡片权限变更'], 709 [ApiDiffType.CARD_TO_NA, 'API卡片权限变更'], 710 [ApiDiffType.NA_TO_CROSS_PLATFORM, 'API跨平台权限变更'], 711 [ApiDiffType.CROSS_PLATFORM_TO_NA, 'API跨平台权限变更'], 712 [ApiDiffType.SYSCAP_NA_TO_HAVE, 'syscap变更'], 713 [ApiDiffType.SYSCAP_HAVE_TO_NA, 'syscap变更'], 714 [ApiDiffType.SYSCAP_A_TO_B, 'syscap变更'], 715 [ApiDiffType.DEPRECATED_NA_TO_HAVE, 'API废弃版本变更'], 716 [ApiDiffType.DEPRECATED_HAVE_TO_NA, 'API废弃版本变更'], 717 [ApiDiffType.DEPRECATED_NOT_All, 'API废弃版本变更'], 718 [ApiDiffType.DEPRECATED_A_TO_B, 'API废弃版本变更'], 719 [ApiDiffType.ERROR_CODE_NA_TO_HAVE, '错误码变更'], 720 [ApiDiffType.ERROR_CODE_ADD, '错误码变更'], 721 [ApiDiffType.ERROR_CODE_REDUCE, '错误码变更'], 722 [ApiDiffType.ERROR_CODE_CHANGE, '错误码变更'], 723 [ApiDiffType.PERMISSION_NA_TO_HAVE, '权限变更'], 724 [ApiDiffType.PERMISSION_HAVE_TO_NA, '权限变更'], 725 [ApiDiffType.PERMISSION_RANGE_BIGGER, '权限变更'], 726 [ApiDiffType.PERMISSION_RANGE_SMALLER, '权限变更'], 727 [ApiDiffType.PERMISSION_RANGE_CHANGE, '权限变更'], 728 [ApiDiffType.TYPE_RANGE_BIGGER, '自定义类型变更'], 729 [ApiDiffType.TYPE_RANGE_SMALLER, '自定义类型变更'], 730 [ApiDiffType.TYPE_RANGE_CHANGE, '自定义类型变更'], 731 [ApiDiffType.API_NAME_CHANGE, 'API名称变更'], 732 [ApiDiffType.FUNCTION_RETURN_TYPE_ADD, '函数变更'], 733 [ApiDiffType.FUNCTION_RETURN_TYPE_REDUCE, '函数变更'], 734 [ApiDiffType.FUNCTION_RETURN_TYPE_CHANGE, '函数变更'], 735 [ApiDiffType.FUNCTION_PARAM_POS_CHANGE, '函数变更'], 736 [ApiDiffType.FUNCTION_PARAM_UNREQUIRED_ADD, '函数变更'], 737 [ApiDiffType.FUNCTION_PARAM_REQUIRED_ADD, '函数变更'], 738 [ApiDiffType.FUNCTION_PARAM_REDUCE, '函数变更'], 739 [ApiDiffType.FUNCTION_PARAM_TO_UNREQUIRED, '函数变更'], 740 [ApiDiffType.FUNCTION_PARAM_TO_REQUIRED, '函数变更'], 741 [ApiDiffType.FUNCTION_PARAM_NAME_CHANGE, '函数变更'], 742 [ApiDiffType.FUNCTION_PARAM_TYPE_CHANGE, '函数变更'], 743 [ApiDiffType.FUNCTION_PARAM_TYPE_ADD, '函数变更'], 744 [ApiDiffType.FUNCTION_PARAM_TYPE_REDUCE, '函数变更'], 745 [ApiDiffType.FUNCTION_PARAM_CHANGE, '函数变更'], 746 [ApiDiffType.FUNCTION_CHANGES, '函数变更'], 747 [ApiDiffType.PROPERTY_READONLY_TO_UNREQUIRED, '属性变更'], 748 [ApiDiffType.PROPERTY_READONLY_TO_REQUIRED, '属性变更'], 749 [ApiDiffType.PROPERTY_WRITABLE_TO_UNREQUIRED, '属性变更'], 750 [ApiDiffType.PROPERTY_WRITABLE_TO_REQUIRED, '属性变更'], 751 [ApiDiffType.PROPERTY_TYPE_CHANGE, '属性变更'], 752 [ApiDiffType.PROPERTY_READONLY_ADD, '属性变更'], 753 [ApiDiffType.PROPERTY_READONLY_REDUCE, '属性变更'], 754 [ApiDiffType.PROPERTY_WRITABLE_ADD, '属性变更'], 755 [ApiDiffType.PROPERTY_WRITABLE_REDUCE, '属性变更'], 756 [ApiDiffType.PROPERTY_TYPE_SIGN_CHANGE, '属性变更'], 757 [ApiDiffType.CONSTANT_VALUE_CHANGE, '常量变更'], 758 [ApiDiffType.TYPE_ALIAS_CHANGE, '自定义类型变更'], 759 [ApiDiffType.TYPE_ALIAS_ADD, '自定义类型变更'], 760 [ApiDiffType.TYPE_ALIAS_REDUCE, '自定义类型变更'], 761 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_ADD, '函数变更'], 762 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_REDUCE, '函数变更'], 763 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_CHANGE, '函数变更'], 764 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_POS_CHAHGE, '自定义类型变更'], 765 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_UNREQUIRED_ADD, '自定义类型变更'], 766 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REQUIRED_ADD, '自定义类型变更'], 767 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REDUCE, '自定义类型变更'], 768 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_UNREQUIRED, '自定义类型变更'], 769 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_REQUIRED, '自定义类型变更'], 770 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_CHANGE, '自定义类型变更'], 771 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_ADD, '自定义类型变更'], 772 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_REDUCE, '自定义类型变更'], 773 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_CHANGE, '自定义类型变更'], 774 [ApiDiffType.ENUM_MEMBER_VALUE_CHANGE, '枚举赋值发生改变'], 775 [ApiDiffType.ADD, '新增API'], 776 [ApiDiffType.REDUCE, '删除API'], 777 [ApiDiffType.DELETE_DECORATOR, '删除装饰器'], 778 [ApiDiffType.NEW_DECORATOR, '新增装饰器'], 779 [ApiDiffType.SINCE_VERSION_A_TO_B, '起始版本有变化'], 780 [ApiDiffType.SINCE_VERSION_HAVE_TO_NA, '起始版本有变化'], 781 [ApiDiffType.SINCE_VERSION_NA_TO_HAVE, '起始版本有变化'], 782 [ApiDiffType.KIT_CHANGE, 'kit变更'], 783 [ApiDiffType.KIT_HAVE_TO_NA, '删除kit'], 784 [ApiDiffType.KIT_NA_TO_HAVE, '新增kit'], 785 [ApiDiffType.ATOMIC_SERVICE_HAVE_TO_NA, 'API从支持元服务到不支持元服务'], 786 [ApiDiffType.ATOMIC_SERVICE_NA_TO_HAVE, 'API从不支持元服务到支持元服务'], 787 [ApiDiffType.NEW_SAME_NAME_FUNCTION, '新增同名函数'], 788 [ApiDiffType.REDUCE_SAME_NAME_FUNCTION, '删除同名函数'], 789 [ApiDiffType.PARAM_TYPE_CHANGE_COMPATIABLE, '函数变更'], 790 [ApiDiffType.PARAM_TYPE_CHANGE_IN_COMPATIABLE, '函数变更'], 791]); 792 793export const diffMap: Map<ApiDiffType, string> = new Map([ 794 [ApiDiffType.SYSTEM_TO_PUBLIC, '从系统API变更为公开API'], 795 [ApiDiffType.PUBLIC_TO_SYSTEM, '从公开API变更为系统API'], 796 [ApiDiffType.NA_TO_STAGE, '从无模型使用限制到仅在Stage模型下使用'], 797 [ApiDiffType.NA_TO_FA, '从无模型使用限制到仅在FA模型下使用'], 798 [ApiDiffType.FA_TO_STAGE, '从仅在FA模型下使用到仅在Stage模型下使用'], 799 [ApiDiffType.STAGE_TO_FA, '从仅在Stage模型下使用到仅在FA模型下使用'], 800 [ApiDiffType.STAGE_TO_NA, '从仅在Stage模型下使用到无模型使用限制'], 801 [ApiDiffType.FA_TO_NA, '从仅在FA模型下使用到无模型使用限制'], 802 [ApiDiffType.NA_TO_CARD, '从不支持卡片到支持卡片'], 803 [ApiDiffType.CARD_TO_NA, '从支持卡片到不支持卡片'], 804 [ApiDiffType.NA_TO_CROSS_PLATFORM, '从不支持跨平台到支持跨平台'], 805 [ApiDiffType.CROSS_PLATFORM_TO_NA, '从支持跨平台到不支持跨平台'], 806 [ApiDiffType.SYSCAP_NA_TO_HAVE, '从没有syscap到有syscap'], 807 [ApiDiffType.SYSCAP_HAVE_TO_NA, '从有syscap到没有syscap'], 808 [ApiDiffType.SYSCAP_A_TO_B, 'syscap发生改变'], 809 [ApiDiffType.DEPRECATED_NA_TO_HAVE, '接口变更为废弃'], 810 [ApiDiffType.DEPRECATED_HAVE_TO_NA, '废弃接口变更为不废弃'], 811 [ApiDiffType.DEPRECATED_NOT_All, '接口变更为废弃'], 812 [ApiDiffType.DEPRECATED_A_TO_B, '接口废弃版本发生变化'], 813 [ApiDiffType.ERROR_CODE_NA_TO_HAVE, '错误码从无到有'], 814 [ApiDiffType.ERROR_CODE_ADD, '错误码增加'], 815 [ApiDiffType.ERROR_CODE_REDUCE, '错误码减少'], 816 [ApiDiffType.ERROR_CODE_CHANGE, '错误码的code值发生变化'], 817 [ApiDiffType.PERMISSION_NA_TO_HAVE, '权限从无到有'], 818 [ApiDiffType.PERMISSION_HAVE_TO_NA, '权限从有到无'], 819 [ApiDiffType.PERMISSION_RANGE_BIGGER, '增加or或减少and权限'], 820 [ApiDiffType.PERMISSION_RANGE_SMALLER, '减少or或增加and权限'], 821 [ApiDiffType.PERMISSION_RANGE_CHANGE, '权限发生改变无法判断范围变化'], 822 [ApiDiffType.TYPE_RANGE_BIGGER, '类型范围变大'], 823 [ApiDiffType.TYPE_RANGE_SMALLER, '类型范围变小'], 824 [ApiDiffType.TYPE_RANGE_CHANGE, '类型范围改变'], 825 [ApiDiffType.API_NAME_CHANGE, 'API名称变更'], 826 [ApiDiffType.FUNCTION_RETURN_TYPE_ADD, '函数返回值类型扩大'], 827 [ApiDiffType.FUNCTION_RETURN_TYPE_REDUCE, '函数返回值类型缩小'], 828 [ApiDiffType.FUNCTION_RETURN_TYPE_CHANGE, '函数返回值类型改变'], 829 [ApiDiffType.FUNCTION_PARAM_POS_CHANGE, '函数参数位置发生改变'], 830 [ApiDiffType.FUNCTION_PARAM_UNREQUIRED_ADD, '函数新增可选参数'], 831 [ApiDiffType.FUNCTION_PARAM_REQUIRED_ADD, '函数新增必选参数'], 832 [ApiDiffType.FUNCTION_PARAM_REDUCE, '函数删除参数'], 833 [ApiDiffType.FUNCTION_PARAM_TO_UNREQUIRED, '函数中的必选参数变为可选参数'], 834 [ApiDiffType.FUNCTION_PARAM_TO_REQUIRED, '函数中的可选参数变为必选参数'], 835 [ApiDiffType.FUNCTION_PARAM_NAME_CHANGE, '函数中的参数名称发生改变'], 836 [ApiDiffType.FUNCTION_PARAM_TYPE_CHANGE, '函数的参数类型变更'], 837 [ApiDiffType.FUNCTION_PARAM_TYPE_ADD, '函数的参数类型范围扩大'], 838 [ApiDiffType.FUNCTION_PARAM_TYPE_REDUCE, '函数的参数类型范围缩小'], 839 [ApiDiffType.FUNCTION_PARAM_CHANGE, '函数的参数变更'], 840 [ApiDiffType.FUNCTION_CHANGES, '函数有变化'], 841 [ApiDiffType.PROPERTY_READONLY_TO_UNREQUIRED, '只读属性由必选变为可选'], 842 [ApiDiffType.PROPERTY_READONLY_TO_REQUIRED, '只读属性由可选变为必选'], 843 [ApiDiffType.PROPERTY_WRITABLE_TO_UNREQUIRED, '可写属性由必选变为可选'], 844 [ApiDiffType.PROPERTY_WRITABLE_TO_REQUIRED, '可写属性由可选变为必选'], 845 [ApiDiffType.PROPERTY_TYPE_CHANGE, '属性类型发生改变'], 846 [ApiDiffType.PROPERTY_TYPE_SIGN_CHANGE, '属性类型发生改变'], 847 [ApiDiffType.PROPERTY_READONLY_ADD, '只读属性类型范围扩大'], 848 [ApiDiffType.PROPERTY_READONLY_REDUCE, '只读属性类型范围缩小'], 849 [ApiDiffType.PROPERTY_WRITABLE_ADD, '可写属性类型范围扩大'], 850 [ApiDiffType.PROPERTY_WRITABLE_REDUCE, '可写属性类型范围缩小'], 851 [ApiDiffType.CONSTANT_VALUE_CHANGE, '常量值发生改变'], 852 [ApiDiffType.TYPE_ALIAS_CHANGE, '自定义类型值改变'], 853 [ApiDiffType.TYPE_ALIAS_ADD, '自定义类型值范围扩大'], 854 [ApiDiffType.TYPE_ALIAS_REDUCE, '自定义类型值范围缩小'], 855 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_ADD, '自定义方法类型返回值类型扩大'], 856 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_REDUCE, '自定义方法类型返回值类型缩小'], 857 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_CHANGE, '自定义方法类型返回值类型改变'], 858 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_POS_CHAHGE, '自定义方法类型参数位置发生改变'], 859 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_UNREQUIRED_ADD, '自定义方法类型新增可选参数'], 860 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REQUIRED_ADD, '自定义方法类型新增必选参数'], 861 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REDUCE, '自定义方法类型删除参数'], 862 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_UNREQUIRED, '自定义方法类型的必选参数变为可选参数'], 863 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_REQUIRED, '自定义方法类型的可选参数变为必选参数'], 864 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_CHANGE, '自定义方法类型的参数类型变更'], 865 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_ADD, '自定义方法类型的参数类型范围扩大'], 866 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_REDUCE, '自定义方法类型的参数类型范围缩小'], 867 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_CHANGE, '自定义方法类型的参数变更'], 868 [ApiDiffType.ENUM_MEMBER_VALUE_CHANGE, '枚举赋值发生改变'], 869 [ApiDiffType.ADD, '新增API'], 870 [ApiDiffType.REDUCE, '删除API'], 871 [ApiDiffType.DELETE_DECORATOR, '删除装饰器'], 872 [ApiDiffType.NEW_DECORATOR, '新增装饰器'], 873 [ApiDiffType.SINCE_VERSION_A_TO_B, '起始版本号变更'], 874 [ApiDiffType.SINCE_VERSION_HAVE_TO_NA, '起始版本号删除'], 875 [ApiDiffType.SINCE_VERSION_NA_TO_HAVE, '起始版本号新增'], 876 [ApiDiffType.HISTORICAL_JSDOC_CHANGE, '历史版本jsdoc变更'], 877 [ApiDiffType.HISTORICAL_API_CHANGE, '历史版本API变更'], 878 [ApiDiffType.KIT_CHANGE, 'kit变更'], 879 [ApiDiffType.KIT_HAVE_TO_NA, 'kit信息从有到无'], 880 [ApiDiffType.KIT_NA_TO_HAVE, 'kit信息从无到有'], 881 [ApiDiffType.ATOMIC_SERVICE_HAVE_TO_NA, 'API从支持元服务到不支持元服务'], 882 [ApiDiffType.ATOMIC_SERVICE_NA_TO_HAVE, 'API从不支持元服务到支持元服务'], 883 [ApiDiffType.NEW_SAME_NAME_FUNCTION, '新增同名函数'], 884 [ApiDiffType.REDUCE_SAME_NAME_FUNCTION, '删除同名函数'], 885 [ApiDiffType.PARAM_TYPE_CHANGE_COMPATIABLE, '函数的参数类型变更'], 886 [ApiDiffType.PARAM_TYPE_CHANGE_IN_COMPATIABLE, '函数的参数类型变更'], 887]); 888 889export const apiChangeMap: Map<ApiDiffType, string> = new Map([ 890 [ApiDiffType.SYSTEM_TO_PUBLIC, 'API修改(约束变化)'], 891 [ApiDiffType.PUBLIC_TO_SYSTEM, 'API修改(约束变化)'], 892 [ApiDiffType.NA_TO_STAGE, 'API修改(约束变化)'], 893 [ApiDiffType.NA_TO_FA, 'API修改(约束变化)'], 894 [ApiDiffType.FA_TO_STAGE, 'API修改(约束变化)'], 895 [ApiDiffType.STAGE_TO_FA, 'API修改(约束变化)'], 896 [ApiDiffType.STAGE_TO_NA, 'API修改(约束变化)'], 897 [ApiDiffType.FA_TO_NA, 'API修改(约束变化)'], 898 [ApiDiffType.NA_TO_CARD, 'API修改(约束变化)'], 899 [ApiDiffType.CARD_TO_NA, 'API修改(约束变化)'], 900 [ApiDiffType.NA_TO_CROSS_PLATFORM, 'API修改(约束变化)'], 901 [ApiDiffType.CROSS_PLATFORM_TO_NA, 'API修改(约束变化)'], 902 [ApiDiffType.SYSCAP_NA_TO_HAVE, 'API修改(约束变化)'], 903 [ApiDiffType.SYSCAP_HAVE_TO_NA, 'API修改(约束变化)'], 904 [ApiDiffType.SYSCAP_A_TO_B, 'API修改(约束变化)'], 905 [ApiDiffType.DEPRECATED_NA_TO_HAVE, 'API废弃'], 906 [ApiDiffType.DEPRECATED_HAVE_TO_NA, 'API废弃'], 907 [ApiDiffType.DEPRECATED_NOT_All, 'API修改(约束变化)'], 908 [ApiDiffType.DEPRECATED_A_TO_B, 'API废弃'], 909 [ApiDiffType.ERROR_CODE_NA_TO_HAVE, 'API修改(约束变化)'], 910 [ApiDiffType.ERROR_CODE_ADD, 'API修改(原型修改)'], 911 [ApiDiffType.ERROR_CODE_REDUCE, 'API修改(原型修改)'], 912 [ApiDiffType.ERROR_CODE_CHANGE, 'API修改(原型修改)'], 913 [ApiDiffType.PERMISSION_NA_TO_HAVE, 'API修改(约束变化)'], 914 [ApiDiffType.PERMISSION_HAVE_TO_NA, 'API修改(约束变化)'], 915 [ApiDiffType.PERMISSION_RANGE_BIGGER, 'API修改(约束变化)'], 916 [ApiDiffType.PERMISSION_RANGE_SMALLER, 'API修改(约束变化)'], 917 [ApiDiffType.PERMISSION_RANGE_CHANGE, 'API修改(约束变化)'], 918 [ApiDiffType.TYPE_RANGE_BIGGER, 'API修改(原型修改)'], 919 [ApiDiffType.TYPE_RANGE_SMALLER, 'API修改(原型修改)'], 920 [ApiDiffType.TYPE_RANGE_CHANGE, 'API修改(原型修改)'], 921 [ApiDiffType.API_NAME_CHANGE, 'API修改(原型修改)'], 922 [ApiDiffType.FUNCTION_RETURN_TYPE_ADD, 'API修改(原型修改)'], 923 [ApiDiffType.FUNCTION_RETURN_TYPE_REDUCE, 'API修改(原型修改)'], 924 [ApiDiffType.FUNCTION_RETURN_TYPE_CHANGE, 'API修改(原型修改)'], 925 [ApiDiffType.FUNCTION_PARAM_POS_CHANGE, 'API修改(原型修改)'], 926 [ApiDiffType.FUNCTION_PARAM_UNREQUIRED_ADD, 'API修改(原型修改)'], 927 [ApiDiffType.FUNCTION_PARAM_REQUIRED_ADD, 'API修改(原型修改)'], 928 [ApiDiffType.FUNCTION_PARAM_REDUCE, 'API修改(原型修改)'], 929 [ApiDiffType.FUNCTION_PARAM_TO_UNREQUIRED, 'API修改(原型修改)'], 930 [ApiDiffType.FUNCTION_PARAM_TO_REQUIRED, 'API修改(原型修改)'], 931 [ApiDiffType.FUNCTION_PARAM_NAME_CHANGE, 'API修改(原型修改)'], 932 [ApiDiffType.FUNCTION_PARAM_TYPE_CHANGE, 'API修改(原型修改)'], 933 [ApiDiffType.FUNCTION_PARAM_TYPE_ADD, 'API修改(原型修改)'], 934 [ApiDiffType.FUNCTION_PARAM_TYPE_REDUCE, 'API修改(原型修改)'], 935 [ApiDiffType.FUNCTION_CHANGES, 'API修改(原型修改)'], 936 [ApiDiffType.FUNCTION_PARAM_CHANGE, 'API修改(原型修改)'], 937 [ApiDiffType.PROPERTY_READONLY_TO_UNREQUIRED, 'API修改(约束变化)'], 938 [ApiDiffType.PROPERTY_READONLY_TO_REQUIRED, 'API修改(约束变化)'], 939 [ApiDiffType.PROPERTY_WRITABLE_TO_UNREQUIRED, 'API修改(约束变化)'], 940 [ApiDiffType.PROPERTY_WRITABLE_TO_REQUIRED, 'API修改(约束变化)'], 941 [ApiDiffType.PROPERTY_TYPE_CHANGE, 'API修改(原型修改)'], 942 [ApiDiffType.PROPERTY_TYPE_SIGN_CHANGE, 'API修改(原型修改)'], 943 [ApiDiffType.PROPERTY_READONLY_ADD, 'API修改(约束变化)'], 944 [ApiDiffType.PROPERTY_READONLY_REDUCE, 'API修改(约束变化)'], 945 [ApiDiffType.PROPERTY_WRITABLE_ADD, 'API修改(约束变化)'], 946 [ApiDiffType.PROPERTY_WRITABLE_REDUCE, 'API修改(约束变化)'], 947 [ApiDiffType.CONSTANT_VALUE_CHANGE, 'API修改(原型修改)'], 948 [ApiDiffType.TYPE_ALIAS_CHANGE, 'API修改(原型修改)'], 949 [ApiDiffType.TYPE_ALIAS_ADD, 'API修改(原型修改)'], 950 [ApiDiffType.TYPE_ALIAS_REDUCE, 'API修改(原型修改)'], 951 [ApiDiffType.ENUM_MEMBER_VALUE_CHANGE, 'API修改(原型修改)'], 952 [ApiDiffType.ADD, 'API新增'], 953 [ApiDiffType.REDUCE, 'API删除'], 954 [ApiDiffType.DELETE_DECORATOR, 'API修改(约束变化)'], 955 [ApiDiffType.NEW_DECORATOR, 'API修改(约束变化)'], 956 [ApiDiffType.SINCE_VERSION_A_TO_B, 'API修改(约束变化)'], 957 [ApiDiffType.SINCE_VERSION_HAVE_TO_NA, 'API修改(约束变化)'], 958 [ApiDiffType.SINCE_VERSION_NA_TO_HAVE, 'API修改(约束变化)'], 959 [ApiDiffType.KIT_CHANGE, '非API变更'], 960 [ApiDiffType.KIT_HAVE_TO_NA, '非API变更'], 961 [ApiDiffType.KIT_NA_TO_HAVE, '非API变更'], 962 [ApiDiffType.ATOMIC_SERVICE_HAVE_TO_NA, 'API修改(约束变化)'], 963 [ApiDiffType.ATOMIC_SERVICE_NA_TO_HAVE, 'API修改(约束变化)'], 964 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_ADD, 'API修改(原型修改)'], 965 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_REDUCE, 'API修改(原型修改)'], 966 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_CHANGE, 'API修改(原型修改)'], 967 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_POS_CHAHGE, 'API修改(原型修改)'], 968 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_UNREQUIRED_ADD, 'API修改(原型修改)'], 969 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REQUIRED_ADD, 'API修改(原型修改)'], 970 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REDUCE, 'API修改(原型修改)'], 971 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_UNREQUIRED, 'API修改(原型修改)'], 972 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_REQUIRED, 'API修改(原型修改)'], 973 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_CHANGE, 'API修改(原型修改)'], 974 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_ADD, 'API修改(原型修改)'], 975 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_REDUCE, 'API修改(原型修改)'], 976 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_CHANGE, 'API修改(原型修改)'], 977 [ApiDiffType.NEW_SAME_NAME_FUNCTION, 'API修改(原型修改)'], 978 [ApiDiffType.REDUCE_SAME_NAME_FUNCTION, 'API修改(原型修改)'], 979 [ApiDiffType.PARAM_TYPE_CHANGE_COMPATIABLE, 'API修改(原型修改)'], 980 [ApiDiffType.PARAM_TYPE_CHANGE_IN_COMPATIABLE, 'API修改(原型修改)'], 981]); 982 983/** 984 * 非兼容性变更类型 985 */ 986export const incompatibleApiDiffTypes: Set<ApiDiffType> = new Set([ 987 ApiDiffType.PUBLIC_TO_SYSTEM, 988 ApiDiffType.NA_TO_STAGE, 989 ApiDiffType.NA_TO_FA, 990 ApiDiffType.FA_TO_STAGE, 991 ApiDiffType.STAGE_TO_FA, 992 ApiDiffType.CARD_TO_NA, 993 ApiDiffType.CROSS_PLATFORM_TO_NA, 994 ApiDiffType.ERROR_CODE_NA_TO_HAVE, 995 ApiDiffType.ERROR_CODE_CHANGE, 996 ApiDiffType.PERMISSION_NA_TO_HAVE, 997 ApiDiffType.PERMISSION_RANGE_SMALLER, 998 ApiDiffType.PERMISSION_RANGE_CHANGE, 999 ApiDiffType.API_NAME_CHANGE, 1000 ApiDiffType.FUNCTION_RETURN_TYPE_ADD, 1001 ApiDiffType.FUNCTION_RETURN_TYPE_CHANGE, 1002 ApiDiffType.FUNCTION_PARAM_POS_CHANGE, 1003 ApiDiffType.FUNCTION_PARAM_REQUIRED_ADD, 1004 ApiDiffType.FUNCTION_PARAM_REDUCE, 1005 ApiDiffType.FUNCTION_PARAM_TO_REQUIRED, 1006 ApiDiffType.FUNCTION_PARAM_TYPE_CHANGE, 1007 ApiDiffType.FUNCTION_PARAM_TYPE_REDUCE, 1008 ApiDiffType.FUNCTION_PARAM_CHANGE, 1009 ApiDiffType.FUNCTION_CHANGES, 1010 ApiDiffType.PROPERTY_READONLY_TO_REQUIRED, 1011 ApiDiffType.PROPERTY_WRITABLE_TO_UNREQUIRED, 1012 ApiDiffType.PROPERTY_WRITABLE_TO_REQUIRED, 1013 ApiDiffType.PROPERTY_TYPE_CHANGE, 1014 ApiDiffType.PROPERTY_READONLY_ADD, 1015 ApiDiffType.PROPERTY_WRITABLE_ADD, 1016 ApiDiffType.PROPERTY_WRITABLE_REDUCE, 1017 ApiDiffType.CONSTANT_VALUE_CHANGE, 1018 ApiDiffType.TYPE_ALIAS_CHANGE, 1019 ApiDiffType.TYPE_ALIAS_ADD, 1020 ApiDiffType.TYPE_ALIAS_REDUCE, 1021 ApiDiffType.ENUM_MEMBER_VALUE_CHANGE, 1022 ApiDiffType.REDUCE, 1023 ApiDiffType.HISTORICAL_JSDOC_CHANGE, 1024 ApiDiffType.HISTORICAL_API_CHANGE, 1025 ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_REDUCE, 1026 ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_CHANGE, 1027 ApiDiffType.FUNCTION_RETURN_TYPE_REDUCE, 1028 ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_ADD, 1029 ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_CHANGE, 1030 ApiDiffType.ATOMIC_SERVICE_HAVE_TO_NA, 1031 ApiDiffType.DELETE_DECORATOR, 1032 ApiDiffType.NEW_DECORATOR, 1033 ApiDiffType.SYSCAP_A_TO_B, 1034 ApiDiffType.SYSCAP_HAVE_TO_NA, 1035 ApiDiffType.SYSCAP_NA_TO_HAVE, 1036 ApiDiffType.KIT_CHANGE, 1037 ApiDiffType.KIT_HAVE_TO_NA, 1038 ApiDiffType.REDUCE_SAME_NAME_FUNCTION, 1039 ApiDiffType.PARAM_TYPE_CHANGE_IN_COMPATIABLE, 1040]); 1041 1042export const isNotApiSet: Set<string> = new Set([ 1043 ApiType.NAMESPACE, 1044 ApiType.ENUM, 1045 ApiType.SOURCE_FILE, 1046]); 1047 1048/** 1049 * 以下API类型中新增必选属性/方法都是非兼容性变更 1050 */ 1051export const parentApiTypeSet: Set<string> = new Set([ 1052 ApiType.INTERFACE, 1053 ApiType.STRUCT, 1054 ApiType.CLASS, 1055 ApiType.TYPE_ALIAS, 1056]); 1057