| | (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; |
| |
|
| | })(); |