"use strict";
exports.id = 8326;
exports.ids = [8326];
exports.modules = {

/***/ 9046:
/***/ ((module) => {

// @ts-check
/**
 * Regular expression to match default fields
 *
 * @description Regular expression to match default fields
 */ 
const defaultFieldsRegexp = /^id$|^uuid$|^date_created$|^date_created_code$|^date_created_timestamp$|^date_updated$|^date_updated_code$|^date_updated_timestamp$/;
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
module.exports = defaultFieldsRegexp;


/***/ }),

/***/ 8326:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

// @ts-check

const decrypt = __webpack_require__(5425);
const defaultFieldsRegexp = __webpack_require__(9046);
/**
 * Parse Database results
 * ==============================================================================
 * @description this function takes a database results array gotten from a DB handler
 * function, decrypts encrypted fields, and returns an updated array with no encrypted
 * fields
 *
 * @param {object} params - Single object params
 * @param {any[]} params.unparsedResults - Array of data objects containing Fields(keys)
 * and corresponding values of the fields(values)
 * @param {import("../../types").DSQL_TableSchemaType} [params.tableSchema] - Table schema
 * @returns {Promise<object[]|null>}
 */ module.exports = async function parseDbResults({ unparsedResults , tableSchema ,  }) {
    /**
     * Declare variables
     *
     * @description Declare "results" variable
     */ let parsedResults = [];
    try {
        /**
         * Declare variables
         *
         * @description Declare "results" variable
         */ for(let pr = 0; pr < unparsedResults.length; pr++){
            let result = unparsedResults[pr];
            let resultFieldNames = Object.keys(result);
            for(let i = 0; i < resultFieldNames.length; i++){
                const resultFieldName = resultFieldNames[i];
                let resultFieldSchema = tableSchema?.fields[i];
                if (resultFieldName?.match(defaultFieldsRegexp)) {
                    continue;
                }
                let value = result[resultFieldName];
                if (typeof value !== "number" && !value) {
                    continue;
                }
                if (resultFieldSchema?.encrypted) {
                    if (value?.match(/./)) {
                        result[resultFieldName] = decrypt(value);
                    }
                }
            }
            parsedResults.push(result);
        }
        /**
         * Declare variables
         *
         * @description Declare "results" variable
         */ return parsedResults;
    } catch (/** @type {any} */ error) {
        console.log("ERROR in parseDbResults Function =>", error.message);
        return unparsedResults;
    }
};


/***/ })

};
;