utils_dataset_for-each-dataset.js
import { getRowData } from "../../adapters/ezworks/com-api/ds";
/**
* @callback ForEachDatasetCallback
* @param {Object} context 콜백 참조용 데이터
* @param {nexacro.Dataset} context.dataset 넥사크로 데이터셋 객체
* @param {number} context.row 행 번호
* @param {Object} context.rowData row 오브젝트
*/
/**
* 제공된 데이터셋의 각 행을 순회하며 행 데이터로 콜백 함수를 실행합니다.
*
* @function forEachDataset
* @param {nexacro.NormalDataset} dataset - 넥사크로 데이터셋
* @param {ForEachDatasetCallback} callback - 각 행마다 실행할 함수입니다. 데이터셋, 현재 행 인덱스,
* 현재 행의 데이터가 담긴
* 객체를 받습니다.
* @returns {void} 이 메서드는 값을 반환하지 않습니다.
* @access public
* @memberof $f
* @example
* // Dataset의 각 행을 순회하며 name 컬럼의 값을 콘솔에 출력
* $f.forEachDataset(this.ds_user, ({ rowData }) => {
* trace(rowData["NAME"]);
* });
*
*/
export function forEachDataset(dataset, callback) {
for (let i = 0; i < dataset.rowcount; i++) {
const rowData = getRowData(dataset, i);
callback({
dataset,
row: i,
rowData,
});
}
}
/**
* @function datasetForEach
* @deprecated ForEachDataset을 사용하세요.
* @see ForEachDataset.
*/
export const datasetForEach = forEachDataset;