import extend from './extend.js';

/**
 * 结果数据类
 */
class ResultData {
    /**
     * 成功标记
     */
    success = true;

    /**
     * 消息
     */
    message = '';

    /**
     * 状态码
     */
    statusCode = 0;

    /**
     * 数据
     */
    data = null;

    /**
     * 构造
     * @param {object} data 初始数据
     * @param {boolean} data.success 成功标记
     * @param {string} data.message 消息
     * @param {number} data.statusCode 状态码
     * @param {any} data.data 数据
     */
    constructor(data) {
        if (extend.isObject(data)) {
            this.success = extend.isBool(data.success) ? data.success : true;
            this.message = extend.isString(data.message) ? data.message : '';
            this.statusCode = extend.isNumber(data.statusCode) ? data.statusCode : 0;
            this.data = extend.isNull(data.data) ? null : data.data;
        }
    }
}

/**
 * 结果数据类
 */
export default ResultData;