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 enum ApiStatusCode { 546 DEFAULT = -1, 547 DELETE = 0, 548 DELETE_DTS = 1, 549 DELETE_CLASS = 2, 550 NEW_API = 3, 551 VERSION_CHNAGES = 4, 552 DEPRECATED_CHNAGES = 5, 553 NEW_ERRORCODE = 6, 554 ERRORCODE_CHANGES = 7, 555 SYSCAP_CHANGES = 8, 556 SYSTEM_API_CHNAGES = 9, 557 PERMISSION_DELETE = 10, 558 PERMISSION_NEW = 11, 559 PERMISSION_CHANGES = 12, 560 MODEL_CHNAGES = 13, 561 TYPE_CHNAGES = 14, 562 CLASS_CHANGES = 15, 563 FUNCTION_CHANGES = 16, 564 CHANGELOG = 17, 565 DTS_CHANGED = 18, 566 FORM_CHANGED = 19, 567 CROSSPLATFORM_CHANGED = 20, 568 NEW_DTS = 21, 569 NEW_CLASS = 22, 570 NEW_DECORATOR = 23, 571 DELETE_DECORATOR = 24, 572 KIT_CHANGE = 26, 573 ATOMICSERVICE_CHANGE = 27, 574 ERRORCODE_DELETE = 28, 575} 576 577export enum ApiDiffType { 578 DEFAULT = 0, 579 SYSTEM_TO_PUBLIC, 580 PUBLIC_TO_SYSTEM, 581 NA_TO_STAGE, 582 NA_TO_FA, 583 FA_TO_STAGE, 584 STAGE_TO_FA, 585 STAGE_TO_NA, 586 FA_TO_NA, 587 NA_TO_CARD, 588 CARD_TO_NA, 589 NA_TO_CROSS_PLATFORM, 590 CROSS_PLATFORM_TO_NA, 591 SYSCAP_NA_TO_HAVE, 592 SYSCAP_HAVE_TO_NA, 593 SYSCAP_A_TO_B, 594 DEPRECATED_NA_TO_HAVE, 595 DEPRECATED_HAVE_TO_NA, 596 DEPRECATED_A_TO_B, 597 DEPRECATED_NOT_All, 598 ERROR_CODE_NA_TO_HAVE, 599 ERROR_CODE_ADD, 600 ERROR_CODE_REDUCE, 601 ERROR_CODE_CHANGE, 602 PERMISSION_NA_TO_HAVE, 603 PERMISSION_HAVE_TO_NA, 604 /** 增加or或减少and权限 权限范围变大 */ 605 PERMISSION_RANGE_BIGGER, 606 /** 减少or或增加and权限 权限范围变小 */ 607 PERMISSION_RANGE_SMALLER, 608 /** 同时存在权限范围变大和变小的情况 */ 609 PERMISSION_RANGE_CHANGE, 610 /** type范围变大 */ 611 TYPE_RANGE_BIGGER, 612 /** type范围减小 */ 613 TYPE_RANGE_SMALLER, 614 /** type范围改变,既有变大情况也有变小情况 */ 615 TYPE_RANGE_CHANGE, 616 API_NAME_CHANGE, 617 FUNCTION_RETURN_TYPE_ADD, 618 FUNCTION_RETURN_TYPE_REDUCE, 619 FUNCTION_RETURN_TYPE_CHANGE, 620 FUNCTION_PARAM_POS_CHANGE, 621 /** 函数新增可选参数 */ 622 FUNCTION_PARAM_UNREQUIRED_ADD, 623 /** 函数新增必选参数 */ 624 FUNCTION_PARAM_REQUIRED_ADD, 625 FUNCTION_PARAM_REDUCE, 626 /** 函数中的必选参数变为可选参数 */ 627 FUNCTION_PARAM_TO_UNREQUIRED, 628 /** 函数中的可选参数变为必选参数 */ 629 FUNCTION_PARAM_TO_REQUIRED, 630 FUNCTION_PARAM_NAME_CHANGE, 631 FUNCTION_PARAM_TYPE_CHANGE, 632 /** 函数的参数类型范围扩大 */ 633 FUNCTION_PARAM_TYPE_ADD, 634 /** 函数的参数类型范围缩小 */ 635 FUNCTION_PARAM_TYPE_REDUCE, 636 FUNCTION_PARAM_CHANGE, 637 /** 同名函数变更类型 */ 638 FUNCTION_CHANGES, 639 PROPERTY_READONLY_TO_UNREQUIRED, 640 PROPERTY_READONLY_TO_REQUIRED, 641 PROPERTY_WRITABLE_TO_UNREQUIRED, 642 PROPERTY_WRITABLE_TO_REQUIRED, 643 PROPERTY_TYPE_CHANGE, 644 PROPERTY_READONLY_ADD, 645 PROPERTY_READONLY_REDUCE, 646 PROPERTY_WRITABLE_ADD, 647 PROPERTY_WRITABLE_REDUCE, 648 CONSTANT_VALUE_CHANGE, 649 TYPE_ALIAS_CHANGE, 650 TYPE_ALIAS_ADD, 651 TYPE_ALIAS_REDUCE, 652 TYPE_ALIAS_FUNCTION_RETURN_TYPE_ADD, 653 TYPE_ALIAS_FUNCTION_RETURN_TYPE_REDUCE, 654 TYPE_ALIAS_FUNCTION_RETURN_TYPE_CHANGE, 655 TYPE_ALIAS_FUNCTION_PARAM_POS_CHAHGE, 656 /** 自定义类型方法新增可选参数 */ 657 TYPE_ALIAS_FUNCTION_PARAM_UNREQUIRED_ADD, 658 /** 自定义类型方法新增必选参数 */ 659 TYPE_ALIAS_FUNCTION_PARAM_REQUIRED_ADD, 660 TYPE_ALIAS_FUNCTION_PARAM_REDUCE, 661 TYPE_ALIAS_FUNCTION_PARAM_TYPE_CHANGE, 662 /** 自定义类型方法中的必选参数变为可选参数 */ 663 TYPE_ALIAS_FUNCTION_PARAM_TO_UNREQUIRED, 664 /** 自定义类型方法中的可选参数变为必选参数 */ 665 TYPE_ALIAS_FUNCTION_PARAM_TO_REQUIRED, 666 /** 自定义类型方法的参数类型范围扩大 */ 667 TYPE_ALIAS_FUNCTION_PARAM_TYPE_ADD, 668 /** 自定义类型方法的参数类型范围缩小 */ 669 TYPE_ALIAS_FUNCTION_PARAM_TYPE_REDUCE, 670 TYPE_ALIAS_FUNCTION_PARAM_CHANGE, 671 ENUM_MEMBER_VALUE_CHANGE, 672 ADD, 673 REDUCE, 674 NEW_DECORATOR, 675 DELETE_DECORATOR, 676 SINCE_VERSION_NA_TO_HAVE, 677 SINCE_VERSION_HAVE_TO_NA, 678 SINCE_VERSION_A_TO_B, 679 HISTORICAL_JSDOC_CHANGE, 680 HISTORICAL_API_CHANGE, 681 KIT_CHANGE, 682 ATOMIC_SERVICE_NA_TO_HAVE, 683 ATOMIC_SERVICE_HAVE_TO_NA, 684 PROPERTY_TYPE_SIGN_CHANGE, 685 KIT_HAVE_TO_NA, 686 KIT_NA_TO_HAVE, 687} 688 689export const diffTypeMap: Map<ApiDiffType, string> = new Map([ 690 [ApiDiffType.SYSTEM_TO_PUBLIC, 'API访问级别变更'], 691 [ApiDiffType.PUBLIC_TO_SYSTEM, 'API访问级别变更'], 692 [ApiDiffType.NA_TO_STAGE, 'API模型切换'], 693 [ApiDiffType.NA_TO_FA, 'API模型切换'], 694 [ApiDiffType.FA_TO_STAGE, 'API模型切换'], 695 [ApiDiffType.STAGE_TO_FA, 'API模型切换'], 696 [ApiDiffType.STAGE_TO_NA, 'API模型切换'], 697 [ApiDiffType.FA_TO_NA, 'API模型切换'], 698 [ApiDiffType.NA_TO_CARD, 'API卡片权限变更'], 699 [ApiDiffType.CARD_TO_NA, 'API卡片权限变更'], 700 [ApiDiffType.NA_TO_CROSS_PLATFORM, 'API跨平台权限变更'], 701 [ApiDiffType.CROSS_PLATFORM_TO_NA, 'API跨平台权限变更'], 702 [ApiDiffType.SYSCAP_NA_TO_HAVE, 'syscap变更'], 703 [ApiDiffType.SYSCAP_HAVE_TO_NA, 'syscap变更'], 704 [ApiDiffType.SYSCAP_A_TO_B, 'syscap变更'], 705 [ApiDiffType.DEPRECATED_NA_TO_HAVE, 'API废弃版本变更'], 706 [ApiDiffType.DEPRECATED_HAVE_TO_NA, 'API废弃版本变更'], 707 [ApiDiffType.DEPRECATED_NOT_All, 'API废弃版本变更'], 708 [ApiDiffType.DEPRECATED_A_TO_B, 'API废弃版本变更'], 709 [ApiDiffType.ERROR_CODE_NA_TO_HAVE, '错误码变更'], 710 [ApiDiffType.ERROR_CODE_ADD, '错误码变更'], 711 [ApiDiffType.ERROR_CODE_REDUCE, '错误码变更'], 712 [ApiDiffType.ERROR_CODE_CHANGE, '错误码变更'], 713 [ApiDiffType.PERMISSION_NA_TO_HAVE, '权限变更'], 714 [ApiDiffType.PERMISSION_HAVE_TO_NA, '权限变更'], 715 [ApiDiffType.PERMISSION_RANGE_BIGGER, '权限变更'], 716 [ApiDiffType.PERMISSION_RANGE_SMALLER, '权限变更'], 717 [ApiDiffType.PERMISSION_RANGE_CHANGE, '权限变更'], 718 [ApiDiffType.TYPE_RANGE_BIGGER, '自定义类型变更'], 719 [ApiDiffType.TYPE_RANGE_SMALLER, '自定义类型变更'], 720 [ApiDiffType.TYPE_RANGE_CHANGE, '自定义类型变更'], 721 [ApiDiffType.API_NAME_CHANGE, 'API名称变更'], 722 [ApiDiffType.FUNCTION_RETURN_TYPE_ADD, '函数变更'], 723 [ApiDiffType.FUNCTION_RETURN_TYPE_REDUCE, '函数变更'], 724 [ApiDiffType.FUNCTION_RETURN_TYPE_CHANGE, '函数变更'], 725 [ApiDiffType.FUNCTION_PARAM_POS_CHANGE, '函数变更'], 726 [ApiDiffType.FUNCTION_PARAM_UNREQUIRED_ADD, '函数变更'], 727 [ApiDiffType.FUNCTION_PARAM_REQUIRED_ADD, '函数变更'], 728 [ApiDiffType.FUNCTION_PARAM_REDUCE, '函数变更'], 729 [ApiDiffType.FUNCTION_PARAM_TO_UNREQUIRED, '函数变更'], 730 [ApiDiffType.FUNCTION_PARAM_TO_REQUIRED, '函数变更'], 731 [ApiDiffType.FUNCTION_PARAM_NAME_CHANGE, '函数变更'], 732 [ApiDiffType.FUNCTION_PARAM_TYPE_CHANGE, '函数变更'], 733 [ApiDiffType.FUNCTION_PARAM_TYPE_ADD, '函数变更'], 734 [ApiDiffType.FUNCTION_PARAM_TYPE_REDUCE, '函数变更'], 735 [ApiDiffType.FUNCTION_PARAM_CHANGE, '函数变更'], 736 [ApiDiffType.FUNCTION_CHANGES, '函数变更'], 737 [ApiDiffType.PROPERTY_READONLY_TO_UNREQUIRED, '属性变更'], 738 [ApiDiffType.PROPERTY_READONLY_TO_REQUIRED, '属性变更'], 739 [ApiDiffType.PROPERTY_WRITABLE_TO_UNREQUIRED, '属性变更'], 740 [ApiDiffType.PROPERTY_WRITABLE_TO_REQUIRED, '属性变更'], 741 [ApiDiffType.PROPERTY_TYPE_CHANGE, '属性变更'], 742 [ApiDiffType.PROPERTY_READONLY_ADD, '属性变更'], 743 [ApiDiffType.PROPERTY_READONLY_REDUCE, '属性变更'], 744 [ApiDiffType.PROPERTY_WRITABLE_ADD, '属性变更'], 745 [ApiDiffType.PROPERTY_WRITABLE_REDUCE, '属性变更'], 746 [ApiDiffType.PROPERTY_TYPE_SIGN_CHANGE, '属性变更'], 747 [ApiDiffType.CONSTANT_VALUE_CHANGE, '常量变更'], 748 [ApiDiffType.TYPE_ALIAS_CHANGE, '自定义类型变更'], 749 [ApiDiffType.TYPE_ALIAS_ADD, '自定义类型变更'], 750 [ApiDiffType.TYPE_ALIAS_REDUCE, '自定义类型变更'], 751 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_ADD, '函数变更'], 752 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_REDUCE, '函数变更'], 753 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_CHANGE, '函数变更'], 754 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_POS_CHAHGE, '自定义类型变更'], 755 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_UNREQUIRED_ADD, '自定义类型变更'], 756 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REQUIRED_ADD, '自定义类型变更'], 757 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REDUCE, '自定义类型变更'], 758 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_UNREQUIRED, '自定义类型变更'], 759 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_REQUIRED, '自定义类型变更'], 760 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_CHANGE, '自定义类型变更'], 761 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_ADD, '自定义类型变更'], 762 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_REDUCE, '自定义类型变更'], 763 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_CHANGE, '自定义类型变更'], 764 [ApiDiffType.ENUM_MEMBER_VALUE_CHANGE, '枚举赋值发生改变'], 765 [ApiDiffType.ADD, '新增API'], 766 [ApiDiffType.REDUCE, '删除API'], 767 [ApiDiffType.DELETE_DECORATOR, '删除装饰器'], 768 [ApiDiffType.NEW_DECORATOR, '新增装饰器'], 769 [ApiDiffType.SINCE_VERSION_A_TO_B, '起始版本有变化'], 770 [ApiDiffType.SINCE_VERSION_HAVE_TO_NA, '起始版本有变化'], 771 [ApiDiffType.SINCE_VERSION_NA_TO_HAVE, '起始版本有变化'], 772 [ApiDiffType.KIT_CHANGE, 'kit变更'], 773 [ApiDiffType.KIT_HAVE_TO_NA, '删除kit'], 774 [ApiDiffType.KIT_NA_TO_HAVE, '新增kit'], 775 [ApiDiffType.ATOMIC_SERVICE_HAVE_TO_NA, 'API从支持元服务到不支持元服务'], 776 [ApiDiffType.ATOMIC_SERVICE_NA_TO_HAVE, 'API从不支持元服务到支持元服务'], 777]); 778 779export const diffMap: Map<ApiDiffType, string> = new Map([ 780 [ApiDiffType.SYSTEM_TO_PUBLIC, '从系统API变更为公开API'], 781 [ApiDiffType.PUBLIC_TO_SYSTEM, '从公开API变更为系统API'], 782 [ApiDiffType.NA_TO_STAGE, '从无模型使用限制到仅在Stage模型下使用'], 783 [ApiDiffType.NA_TO_FA, '从无模型使用限制到仅在FA模型下使用'], 784 [ApiDiffType.FA_TO_STAGE, '从仅在FA模型下使用到仅在Stage模型下使用'], 785 [ApiDiffType.STAGE_TO_FA, '从仅在Stage模型下使用到仅在FA模型下使用'], 786 [ApiDiffType.STAGE_TO_NA, '从仅在Stage模型下使用到无模型使用限制'], 787 [ApiDiffType.FA_TO_NA, '从仅在FA模型下使用到无模型使用限制'], 788 [ApiDiffType.NA_TO_CARD, '从不支持卡片到支持卡片'], 789 [ApiDiffType.CARD_TO_NA, '从支持卡片到不支持卡片'], 790 [ApiDiffType.NA_TO_CROSS_PLATFORM, '从不支持跨平台到支持跨平台'], 791 [ApiDiffType.CROSS_PLATFORM_TO_NA, '从支持跨平台到不支持跨平台'], 792 [ApiDiffType.SYSCAP_NA_TO_HAVE, '从没有syscap到有syscap'], 793 [ApiDiffType.SYSCAP_HAVE_TO_NA, '从有syscap到没有syscap'], 794 [ApiDiffType.SYSCAP_A_TO_B, 'syscap发生改变'], 795 [ApiDiffType.DEPRECATED_NA_TO_HAVE, '接口变更为废弃'], 796 [ApiDiffType.DEPRECATED_HAVE_TO_NA, '废弃接口变更为不废弃'], 797 [ApiDiffType.DEPRECATED_NOT_All, '接口变更为废弃'], 798 [ApiDiffType.DEPRECATED_A_TO_B, '接口废弃版本发生变化'], 799 [ApiDiffType.ERROR_CODE_NA_TO_HAVE, '错误码从无到有'], 800 [ApiDiffType.ERROR_CODE_ADD, '错误码增加'], 801 [ApiDiffType.ERROR_CODE_REDUCE, '错误码减少'], 802 [ApiDiffType.ERROR_CODE_CHANGE, '错误码的code值发生变化'], 803 [ApiDiffType.PERMISSION_NA_TO_HAVE, '权限从无到有'], 804 [ApiDiffType.PERMISSION_HAVE_TO_NA, '权限从有到无'], 805 [ApiDiffType.PERMISSION_RANGE_BIGGER, '增加or或减少and权限'], 806 [ApiDiffType.PERMISSION_RANGE_SMALLER, '减少or或增加and权限'], 807 [ApiDiffType.PERMISSION_RANGE_CHANGE, '权限发生改变无法判断范围变化'], 808 [ApiDiffType.TYPE_RANGE_BIGGER, '类型范围变大'], 809 [ApiDiffType.TYPE_RANGE_SMALLER, '类型范围变小'], 810 [ApiDiffType.TYPE_RANGE_CHANGE, '类型范围改变'], 811 [ApiDiffType.API_NAME_CHANGE, 'API名称变更'], 812 [ApiDiffType.FUNCTION_RETURN_TYPE_ADD, '函数返回值类型扩大'], 813 [ApiDiffType.FUNCTION_RETURN_TYPE_REDUCE, '函数返回值类型缩小'], 814 [ApiDiffType.FUNCTION_RETURN_TYPE_CHANGE, '函数返回值类型改变'], 815 [ApiDiffType.FUNCTION_PARAM_POS_CHANGE, '函数参数位置发生改变'], 816 [ApiDiffType.FUNCTION_PARAM_UNREQUIRED_ADD, '函数新增可选参数'], 817 [ApiDiffType.FUNCTION_PARAM_REQUIRED_ADD, '函数新增必选参数'], 818 [ApiDiffType.FUNCTION_PARAM_REDUCE, '函数删除参数'], 819 [ApiDiffType.FUNCTION_PARAM_TO_UNREQUIRED, '函数中的必选参数变为可选参数'], 820 [ApiDiffType.FUNCTION_PARAM_TO_REQUIRED, '函数中的可选参数变为必选参数'], 821 [ApiDiffType.FUNCTION_PARAM_NAME_CHANGE, '函数中的参数名称发生改变'], 822 [ApiDiffType.FUNCTION_PARAM_TYPE_CHANGE, '函数的参数类型变更'], 823 [ApiDiffType.FUNCTION_PARAM_TYPE_ADD, '函数的参数类型范围扩大'], 824 [ApiDiffType.FUNCTION_PARAM_TYPE_REDUCE, '函数的参数类型范围缩小'], 825 [ApiDiffType.FUNCTION_PARAM_CHANGE, '函数的参数变更'], 826 [ApiDiffType.FUNCTION_CHANGES, '函数有变化'], 827 [ApiDiffType.PROPERTY_READONLY_TO_UNREQUIRED, '只读属性由必选变为可选'], 828 [ApiDiffType.PROPERTY_READONLY_TO_REQUIRED, '只读属性由可选变为必选'], 829 [ApiDiffType.PROPERTY_WRITABLE_TO_UNREQUIRED, '可写属性由必选变为可选'], 830 [ApiDiffType.PROPERTY_WRITABLE_TO_REQUIRED, '可写属性由可选变为必选'], 831 [ApiDiffType.PROPERTY_TYPE_CHANGE, '属性类型发生改变'], 832 [ApiDiffType.PROPERTY_TYPE_SIGN_CHANGE, '属性类型发生改变'], 833 [ApiDiffType.PROPERTY_READONLY_ADD, '只读属性类型范围扩大'], 834 [ApiDiffType.PROPERTY_READONLY_REDUCE, '只读属性类型范围缩小'], 835 [ApiDiffType.PROPERTY_WRITABLE_ADD, '可写属性类型范围扩大'], 836 [ApiDiffType.PROPERTY_WRITABLE_REDUCE, '可写属性类型范围缩小'], 837 [ApiDiffType.CONSTANT_VALUE_CHANGE, '常量值发生改变'], 838 [ApiDiffType.TYPE_ALIAS_CHANGE, '自定义类型值改变'], 839 [ApiDiffType.TYPE_ALIAS_ADD, '自定义类型值范围扩大'], 840 [ApiDiffType.TYPE_ALIAS_REDUCE, '自定义类型值范围缩小'], 841 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_ADD, '自定义方法类型返回值类型扩大'], 842 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_REDUCE, '自定义方法类型返回值类型缩小'], 843 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_CHANGE, '自定义方法类型返回值类型改变'], 844 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_POS_CHAHGE, '自定义方法类型参数位置发生改变'], 845 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_UNREQUIRED_ADD, '自定义方法类型新增可选参数'], 846 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REQUIRED_ADD, '自定义方法类型新增必选参数'], 847 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REDUCE, '自定义方法类型删除参数'], 848 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_UNREQUIRED, '自定义方法类型的必选参数变为可选参数'], 849 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_REQUIRED, '自定义方法类型的可选参数变为必选参数'], 850 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_CHANGE, '自定义方法类型的参数类型变更'], 851 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_ADD, '自定义方法类型的参数类型范围扩大'], 852 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_REDUCE, '自定义方法类型的参数类型范围缩小'], 853 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_CHANGE, '自定义方法类型的参数变更'], 854 [ApiDiffType.ENUM_MEMBER_VALUE_CHANGE, '枚举赋值发生改变'], 855 [ApiDiffType.ADD, '新增API'], 856 [ApiDiffType.REDUCE, '删除API'], 857 [ApiDiffType.DELETE_DECORATOR, '删除装饰器'], 858 [ApiDiffType.NEW_DECORATOR, '新增装饰器'], 859 [ApiDiffType.SINCE_VERSION_A_TO_B, '起始版本号变更'], 860 [ApiDiffType.SINCE_VERSION_HAVE_TO_NA, '起始版本号删除'], 861 [ApiDiffType.SINCE_VERSION_NA_TO_HAVE, '起始版本号新增'], 862 [ApiDiffType.HISTORICAL_JSDOC_CHANGE, '历史版本jsdoc变更'], 863 [ApiDiffType.HISTORICAL_API_CHANGE, '历史版本API变更'], 864 [ApiDiffType.KIT_CHANGE, 'kit变更'], 865 [ApiDiffType.KIT_HAVE_TO_NA, 'kit信息从有到无'], 866 [ApiDiffType.KIT_NA_TO_HAVE, 'kit信息从无到有'], 867 [ApiDiffType.ATOMIC_SERVICE_HAVE_TO_NA, 'API从支持元服务到不支持元服务'], 868 [ApiDiffType.ATOMIC_SERVICE_NA_TO_HAVE, 'API从不支持元服务到支持元服务'], 869]); 870 871export const apiChangeMap: Map<ApiDiffType, string> = new Map([ 872 [ApiDiffType.SYSTEM_TO_PUBLIC, 'API修改(约束变化)'], 873 [ApiDiffType.PUBLIC_TO_SYSTEM, 'API修改(约束变化)'], 874 [ApiDiffType.NA_TO_STAGE, 'API修改(约束变化)'], 875 [ApiDiffType.NA_TO_FA, 'API修改(约束变化)'], 876 [ApiDiffType.FA_TO_STAGE, 'API修改(约束变化)'], 877 [ApiDiffType.STAGE_TO_FA, 'API修改(约束变化)'], 878 [ApiDiffType.STAGE_TO_NA, 'API修改(约束变化)'], 879 [ApiDiffType.FA_TO_NA, 'API修改(约束变化)'], 880 [ApiDiffType.NA_TO_CARD, 'API修改(约束变化)'], 881 [ApiDiffType.CARD_TO_NA, 'API修改(约束变化)'], 882 [ApiDiffType.NA_TO_CROSS_PLATFORM, 'API修改(约束变化)'], 883 [ApiDiffType.CROSS_PLATFORM_TO_NA, 'API修改(约束变化)'], 884 [ApiDiffType.SYSCAP_NA_TO_HAVE, 'API修改(约束变化)'], 885 [ApiDiffType.SYSCAP_HAVE_TO_NA, 'API修改(约束变化)'], 886 [ApiDiffType.SYSCAP_A_TO_B, 'API修改(约束变化)'], 887 [ApiDiffType.DEPRECATED_NA_TO_HAVE, 'API废弃'], 888 [ApiDiffType.DEPRECATED_HAVE_TO_NA, 'API废弃'], 889 [ApiDiffType.DEPRECATED_NOT_All, 'API修改(约束变化)'], 890 [ApiDiffType.DEPRECATED_A_TO_B, 'API废弃'], 891 [ApiDiffType.ERROR_CODE_NA_TO_HAVE, 'API修改(约束变化)'], 892 [ApiDiffType.ERROR_CODE_ADD, 'API修改(原型修改)'], 893 [ApiDiffType.ERROR_CODE_REDUCE, 'API修改(原型修改)'], 894 [ApiDiffType.ERROR_CODE_CHANGE, 'API修改(原型修改)'], 895 [ApiDiffType.PERMISSION_NA_TO_HAVE, 'API修改(约束变化)'], 896 [ApiDiffType.PERMISSION_HAVE_TO_NA, 'API修改(约束变化)'], 897 [ApiDiffType.PERMISSION_RANGE_BIGGER, 'API修改(约束变化)'], 898 [ApiDiffType.PERMISSION_RANGE_SMALLER, 'API修改(约束变化)'], 899 [ApiDiffType.PERMISSION_RANGE_CHANGE, 'API修改(约束变化)'], 900 [ApiDiffType.TYPE_RANGE_BIGGER, 'API修改(原型修改)'], 901 [ApiDiffType.TYPE_RANGE_SMALLER, 'API修改(原型修改)'], 902 [ApiDiffType.TYPE_RANGE_CHANGE, 'API修改(原型修改)'], 903 [ApiDiffType.API_NAME_CHANGE, 'API修改(原型修改)'], 904 [ApiDiffType.FUNCTION_RETURN_TYPE_ADD, 'API修改(原型修改)'], 905 [ApiDiffType.FUNCTION_RETURN_TYPE_REDUCE, 'API修改(原型修改)'], 906 [ApiDiffType.FUNCTION_RETURN_TYPE_CHANGE, 'API修改(原型修改)'], 907 [ApiDiffType.FUNCTION_PARAM_POS_CHANGE, 'API修改(原型修改)'], 908 [ApiDiffType.FUNCTION_PARAM_UNREQUIRED_ADD, 'API修改(原型修改)'], 909 [ApiDiffType.FUNCTION_PARAM_REQUIRED_ADD, 'API修改(原型修改)'], 910 [ApiDiffType.FUNCTION_PARAM_REDUCE, 'API修改(原型修改)'], 911 [ApiDiffType.FUNCTION_PARAM_TO_UNREQUIRED, 'API修改(原型修改)'], 912 [ApiDiffType.FUNCTION_PARAM_TO_REQUIRED, 'API修改(原型修改)'], 913 [ApiDiffType.FUNCTION_PARAM_NAME_CHANGE, 'API修改(原型修改)'], 914 [ApiDiffType.FUNCTION_PARAM_TYPE_CHANGE, 'API修改(原型修改)'], 915 [ApiDiffType.FUNCTION_PARAM_TYPE_ADD, 'API修改(原型修改)'], 916 [ApiDiffType.FUNCTION_PARAM_TYPE_REDUCE, 'API修改(原型修改)'], 917 [ApiDiffType.FUNCTION_CHANGES, 'API修改(原型修改)'], 918 [ApiDiffType.FUNCTION_PARAM_CHANGE, 'API修改(原型修改)'], 919 [ApiDiffType.PROPERTY_READONLY_TO_UNREQUIRED, 'API修改(约束变化)'], 920 [ApiDiffType.PROPERTY_READONLY_TO_REQUIRED, 'API修改(约束变化)'], 921 [ApiDiffType.PROPERTY_WRITABLE_TO_UNREQUIRED, 'API修改(约束变化)'], 922 [ApiDiffType.PROPERTY_WRITABLE_TO_REQUIRED, 'API修改(约束变化)'], 923 [ApiDiffType.PROPERTY_TYPE_CHANGE, 'API修改(原型修改)'], 924 [ApiDiffType.PROPERTY_TYPE_SIGN_CHANGE, 'API修改(原型修改)'], 925 [ApiDiffType.PROPERTY_READONLY_ADD, 'API修改(约束变化)'], 926 [ApiDiffType.PROPERTY_READONLY_REDUCE, 'API修改(约束变化)'], 927 [ApiDiffType.PROPERTY_WRITABLE_ADD, 'API修改(约束变化)'], 928 [ApiDiffType.PROPERTY_WRITABLE_REDUCE, 'API修改(约束变化)'], 929 [ApiDiffType.CONSTANT_VALUE_CHANGE, 'API修改(原型修改)'], 930 [ApiDiffType.TYPE_ALIAS_CHANGE, 'API修改(原型修改)'], 931 [ApiDiffType.TYPE_ALIAS_ADD, 'API修改(原型修改)'], 932 [ApiDiffType.TYPE_ALIAS_REDUCE, 'API修改(原型修改)'], 933 [ApiDiffType.ENUM_MEMBER_VALUE_CHANGE, 'API修改(原型修改)'], 934 [ApiDiffType.ADD, 'API新增'], 935 [ApiDiffType.REDUCE, 'API删除'], 936 [ApiDiffType.DELETE_DECORATOR, 'API修改(约束变化)'], 937 [ApiDiffType.NEW_DECORATOR, 'API修改(约束变化)'], 938 [ApiDiffType.SINCE_VERSION_A_TO_B, 'API修改(约束变化)'], 939 [ApiDiffType.SINCE_VERSION_HAVE_TO_NA, 'API修改(约束变化)'], 940 [ApiDiffType.SINCE_VERSION_NA_TO_HAVE, 'API修改(约束变化)'], 941 [ApiDiffType.KIT_CHANGE, '非API变更'], 942 [ApiDiffType.KIT_HAVE_TO_NA, '非API变更'], 943 [ApiDiffType.KIT_NA_TO_HAVE, '非API变更'], 944 [ApiDiffType.ATOMIC_SERVICE_HAVE_TO_NA, 'API修改(约束变化)'], 945 [ApiDiffType.ATOMIC_SERVICE_NA_TO_HAVE, 'API修改(约束变化)'], 946 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_ADD, 'API修改(原型修改)'], 947 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_REDUCE, 'API修改(原型修改)'], 948 [ApiDiffType.TYPE_ALIAS_FUNCTION_RETURN_TYPE_CHANGE, 'API修改(原型修改)'], 949 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_POS_CHAHGE, 'API修改(原型修改)'], 950 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_UNREQUIRED_ADD, 'API修改(原型修改)'], 951 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REQUIRED_ADD, 'API修改(原型修改)'], 952 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_REDUCE, 'API修改(原型修改)'], 953 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_UNREQUIRED, 'API修改(原型修改)'], 954 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TO_REQUIRED, 'API修改(原型修改)'], 955 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_CHANGE, 'API修改(原型修改)'], 956 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_ADD, 'API修改(原型修改)'], 957 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_REDUCE, 'API修改(原型修改)'], 958 [ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_CHANGE, 'API修改(原型修改)'], 959]); 960 961/** 962 * 非兼容性变更类型 963 */ 964export const incompatibleApiDiffTypes: Set<ApiDiffType> = new Set([ 965 ApiDiffType.PUBLIC_TO_SYSTEM, 966 ApiDiffType.NA_TO_STAGE, 967 ApiDiffType.NA_TO_FA, 968 ApiDiffType.FA_TO_STAGE, 969 ApiDiffType.STAGE_TO_FA, 970 ApiDiffType.CARD_TO_NA, 971 ApiDiffType.CROSS_PLATFORM_TO_NA, 972 ApiDiffType.ERROR_CODE_NA_TO_HAVE, 973 ApiDiffType.ERROR_CODE_CHANGE, 974 ApiDiffType.PERMISSION_NA_TO_HAVE, 975 ApiDiffType.PERMISSION_RANGE_SMALLER, 976 ApiDiffType.PERMISSION_RANGE_CHANGE, 977 ApiDiffType.API_NAME_CHANGE, 978 ApiDiffType.FUNCTION_RETURN_TYPE_ADD, 979 ApiDiffType.FUNCTION_RETURN_TYPE_CHANGE, 980 ApiDiffType.FUNCTION_PARAM_POS_CHANGE, 981 ApiDiffType.FUNCTION_PARAM_REQUIRED_ADD, 982 ApiDiffType.FUNCTION_PARAM_REDUCE, 983 ApiDiffType.FUNCTION_PARAM_TO_REQUIRED, 984 ApiDiffType.FUNCTION_PARAM_TYPE_CHANGE, 985 ApiDiffType.FUNCTION_PARAM_TYPE_REDUCE, 986 ApiDiffType.FUNCTION_PARAM_CHANGE, 987 ApiDiffType.FUNCTION_CHANGES, 988 ApiDiffType.PROPERTY_READONLY_TO_REQUIRED, 989 ApiDiffType.PROPERTY_WRITABLE_TO_UNREQUIRED, 990 ApiDiffType.PROPERTY_WRITABLE_TO_REQUIRED, 991 ApiDiffType.PROPERTY_TYPE_CHANGE, 992 ApiDiffType.PROPERTY_READONLY_ADD, 993 ApiDiffType.PROPERTY_WRITABLE_ADD, 994 ApiDiffType.PROPERTY_WRITABLE_REDUCE, 995 ApiDiffType.CONSTANT_VALUE_CHANGE, 996 ApiDiffType.TYPE_ALIAS_CHANGE, 997 ApiDiffType.TYPE_ALIAS_ADD, 998 ApiDiffType.TYPE_ALIAS_REDUCE, 999 ApiDiffType.ENUM_MEMBER_VALUE_CHANGE, 1000 ApiDiffType.REDUCE, 1001 ApiDiffType.HISTORICAL_JSDOC_CHANGE, 1002 ApiDiffType.HISTORICAL_API_CHANGE, 1003 ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_REDUCE, 1004 ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_CHANGE, 1005 ApiDiffType.FUNCTION_RETURN_TYPE_REDUCE, 1006 ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_TYPE_ADD, 1007 ApiDiffType.TYPE_ALIAS_FUNCTION_PARAM_CHANGE, 1008 ApiDiffType.ATOMIC_SERVICE_HAVE_TO_NA, 1009 ApiDiffType.DELETE_DECORATOR, 1010 ApiDiffType.NEW_DECORATOR, 1011 ApiDiffType.SYSCAP_A_TO_B, 1012 ApiDiffType.SYSCAP_HAVE_TO_NA, 1013 ApiDiffType.SYSCAP_NA_TO_HAVE, 1014 ApiDiffType.KIT_CHANGE, 1015 ApiDiffType.KIT_HAVE_TO_NA, 1016]); 1017 1018export const isNotApiSet: Set<string> = new Set([ 1019 ApiType.NAMESPACE, 1020 ApiType.ENUM, 1021 ApiType.SOURCE_FILE, 1022]); 1023 1024/** 1025 * 以下API类型中新增必选属性/方法都是非兼容性变更 1026 */ 1027export const parentApiTypeSet: Set<string> = new Set([ 1028 ApiType.INTERFACE, 1029 ApiType.STRUCT, 1030 ApiType.CLASS 1031]); 1032