Quando si creano oggetti JavaScript con reify
, come posso contrassegnare i metodi con ^:export
in modo che il compilatore Google Closure non li rinomini in modalità avanzata?Come posso contrassegnare i metodi creati con `reify` con ^: export, in modo che il compilatore Closure non li rinomini?
Ad esempio:
(reify
Object
(foo [this] ...)
(bar [this] ...))
ho provato
(reify
Object
(^:export foo [this] ...)
(^:export bar [this] ...))
ma questo non sembra aiutare, ei nomi ancora cambiarsi con le ottimizzazioni avanzate.
Se non c'è un modo per fare questo, come posso costruire un oggetto JavaScript con i metodi, altro che creare una pianura js-obj
e utilizzando set!
per impostare le funzioni di proprietà (dove io non sono sicuro di come prevenire avanzata ottimizzazioni da rompere le cose)?