export function constructCell()

in lib/h3core.js [784:808]


export function constructCell(baseCellNumber, digits, res) {
    if (res === undefined) {
        res = digits.length;
    }
    if (digits.length !== res) {
        throw H3LibraryError(E_DIGIT_DOMAIN, digits.length);
    }
    if (digits.length > 15) {
        throw H3LibraryError(E_DIGIT_DOMAIN, digits.length);
    }

    const digitsMemory = C._malloc(SZ_INT * digits.length);
    const h3Index = C._malloc(SZ_H3INDEX);
    try {
        digits.forEach((value, idx) => {
            C.setValue(digitsMemory + SZ_INT * idx, value, 'i32');
        });

        throwIfError(H3.constructCell(res, baseCellNumber, digitsMemory, h3Index));
        return validateH3Index(readH3IndexFromPointer(h3Index));
    } finally {
        C._free(h3Index);
        C._free(digitsMemory);
    }
}