1/* 2 * Copyright (c) 2024 - 2025 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 16export class Rule { 17 ruleId: string; 18 alert: ALERT_LEVEL; 19 allowExpressions: boolean; 20 ignoreRestArgs: boolean; 21 option: Object[] = []; 22 23 constructor(ruleId: string, alert: ALERT_LEVEL = ALERT_LEVEL.SUGGESTION) { 24 this.ruleId = ruleId; 25 this.alert = alert; 26 this.allowExpressions = false; 27 this.ignoreRestArgs = false; 28 } 29} 30 31export enum ALERT_LEVEL { 32 OFF = 0, 33 WARN = 1, 34 ERROR = 2, 35 SUGGESTION = 3, 36} 37 38export interface ExtRuleSet { 39 ruleSetName: string; 40 packagePath: string; 41 extRules: object; 42}