import { linkIl2cppBinarySteps } from "../../../src/il2cpp/Il2cppBinaryFile.js"; import { readIl2cppMetadataForLinkingSteps, readIl2cppMetadataSteps, } from "../../../src/il2cpp/Il2cppMetadataFile.js"; /** Consume production reader steps synchronously, optionally observing each yield. */ export const drain = (steps: Generator, onYield = () => {}): T => { for (;;) { const step = steps.next(); if (step.done === true) return step.value; onYield(); } }; export const readIl2cppMetadata = ( ...parameters: Parameters ) => drain(readIl2cppMetadataSteps(...parameters)); export const readIl2cppMetadataForLinking = ( ...parameters: Parameters ) => drain(readIl2cppMetadataForLinkingSteps(...parameters)); export const linkIl2cppBinary = ( ...parameters: Parameters ) => drain(linkIl2cppBinarySteps(...parameters));