| (function() { |
| |
| if (!globalThis.LLuL) globalThis.LLuL = {}; |
| |
| const OBJ = (function (NAME) { |
| |
| let _r = 0; |
| function to_gradio(v) { |
| |
| return [v.toString(), (_r++).toString()]; |
| } |
| |
| function js2py(type, gradio_field, value) { |
| |
| |
| |
| |
| return new Promise(resolve => { |
| const callback_name = `${NAME}-${type}-${gradio_field}`; |
| |
| |
| globalThis[callback_name] = () => { |
| |
| delete globalThis[callback_name]; |
| |
| |
| const callback_after = callback_name + '_after'; |
| globalThis[callback_after] = () => { |
| delete globalThis[callback_after]; |
| resolve(); |
| }; |
| |
| return to_gradio(value); |
| }; |
| |
| |
| gradioApp().querySelector(`#${callback_name}_set`).click(); |
| }); |
| } |
|
|
| function py2js(type, pyname, ...args) { |
| |
| |
| |
| |
| |
| |
| return (args.length == 0 ? Promise.resolve() : js2py(type, pyname + '_args', JSON.stringify(args))) |
| .then(() => { |
| return new Promise(resolve => { |
| const callback_name = `${NAME}-${type}-${pyname}`; |
| |
| globalThis[callback_name] = value => { |
| delete globalThis[callback_name]; |
| resolve(value); |
| } |
| |
| gradioApp().querySelector(`#${callback_name}_get`).click(); |
| }); |
| }); |
| } |
|
|
| return { js2py, py2js } |
|
|
| })('llul'); |
|
|
| if (!globalThis.LLuL.js2py) globalThis.LLuL.js2py = OBJ.js2py; |
| if (!globalThis.LLuL.py2js) globalThis.LLuL.py2js = OBJ.py2js; |
|
|
| })(); |