MCPcopy Create free account
hub / github.com/easydiffusion/easydiffusion / asGenerator

Method asGenerator

ui/media/js/engine.js:723–744  ·  view source on GitHub ↗
({ callback, generator, signal, timeout = -1 } = {})

Source from the content-addressed store, hash-verified

721 return value
722 }
723 static async *asGenerator({ callback, generator, signal, timeout = -1 } = {}) {
724 let value = undefined
725 let done = undefined
726 if (timeout < 0) {
727 timeout = Number.MAX_SAFE_INTEGER
728 }
729 timeout = Date.now() + timeout
730 do {
731 ; ({ value, done } = await Promise.resolve(generator.next(value)))
732 if (value instanceof Promise) {
733 value = await value
734 }
735 if (callback) {
736 ; ({ value, done } = await Promise.resolve(callback.call(generator, { value, done })))
737 if (value instanceof Promise) {
738 value = await value
739 }
740 }
741 value = yield value
742 } while (!done && !signal?.aborted && timeout > Date.now())
743 return value
744 }
745 }
746
747 const TASK_REQUIRED = {

Callers 1

jasmineSpec.jsFile · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected