1bea4f105Sopenharmony_ci/*
2bea4f105Sopenharmony_ci * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3bea4f105Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4bea4f105Sopenharmony_ci * you may not use this file except in compliance with the License.
5bea4f105Sopenharmony_ci * You may obtain a copy of the License at
6bea4f105Sopenharmony_ci *
7bea4f105Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8bea4f105Sopenharmony_ci *
9bea4f105Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10bea4f105Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11bea4f105Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12bea4f105Sopenharmony_ci * See the License for the specific language governing permissions and
13bea4f105Sopenharmony_ci * limitations under the License.
14bea4f105Sopenharmony_ci */
15bea4f105Sopenharmony_ci
16bea4f105Sopenharmony_ci/**
17bea4f105Sopenharmony_ci * Object工具类
18bea4f105Sopenharmony_ci */
19bea4f105Sopenharmony_cinamespace ObjectUtil {
20bea4f105Sopenharmony_ci
21bea4f105Sopenharmony_ci/**
22bea4f105Sopenharmony_ci * 判断是否为null
23bea4f105Sopenharmony_ci */
24bea4f105Sopenharmony_ci  export function isNull(obj: any): boolean {
25bea4f105Sopenharmony_ci    return obj === null;
26bea4f105Sopenharmony_ci  }
27bea4f105Sopenharmony_ci  /**
28bea4f105Sopenharmony_ci   * 判断是否为undefined
29bea4f105Sopenharmony_ci   * @param obj
30bea4f105Sopenharmony_ci   */
31bea4f105Sopenharmony_ci  export function isUndefined(obj: any): boolean {
32bea4f105Sopenharmony_ci    return obj === undefined;
33bea4f105Sopenharmony_ci  }
34bea4f105Sopenharmony_ci  /**
35bea4f105Sopenharmony_ci   * 判断是否为null 或者 undefined
36bea4f105Sopenharmony_ci   * @param obj
37bea4f105Sopenharmony_ci   */
38bea4f105Sopenharmony_ci  export function isNullOrUndefined(obj: any): boolean {
39bea4f105Sopenharmony_ci    return isNull(obj) || isUndefined(obj);
40bea4f105Sopenharmony_ci  }
41bea4f105Sopenharmony_ci
42bea4f105Sopenharmony_ci  /**
43bea4f105Sopenharmony_ci   * 返回string,如果是null or undefined返回defaultValue
44bea4f105Sopenharmony_ci   */
45bea4f105Sopenharmony_ci  export function toString(obj: any, defaultValue: string = ''): string {
46bea4f105Sopenharmony_ci    if (this.isNullOrUndefined(obj)) {
47bea4f105Sopenharmony_ci      return defaultValue;
48bea4f105Sopenharmony_ci    } else {
49bea4f105Sopenharmony_ci      return obj.toString();
50bea4f105Sopenharmony_ci    }
51bea4f105Sopenharmony_ci  }
52bea4f105Sopenharmony_ci
53bea4f105Sopenharmony_ci  /**
54bea4f105Sopenharmony_ci   * 判断对象中是否有某个属性
55bea4f105Sopenharmony_ci   * @param obj 校验对象
56bea4f105Sopenharmony_ci   * @param key 校验属性
57bea4f105Sopenharmony_ci   */
58bea4f105Sopenharmony_ci  export function hasKey(obj: object, key: string): boolean {
59bea4f105Sopenharmony_ci    return Object.prototype.hasOwnProperty.call(obj, key);
60bea4f105Sopenharmony_ci  }
61bea4f105Sopenharmony_ci}
62bea4f105Sopenharmony_ci
63bea4f105Sopenharmony_ciexport default ObjectUtil;