Presentamos el Robot /script/run para evaluación de código
Nos alegra tener la oportunidad de presentarte el flamante Robot /script/run. Gracias a la evaluación de código que incorpora al conjunto de herramientas de Transloadit, ¡tus Assemblies ahora cuentan con las amplias capacidades del JavaScript moderno!
Al incluir código personalizado en tus parámetros, usando ${...}, ejecutaremos
automáticamente el código y devolveremos el valor resultante para usarlo dentro de tu Assembly.
Las búsquedas simples de variables como ${file.meta.width} se clasifican como operaciones
que no requieren el intérprete de JavaScript del Robot, y siguen siendo gratuitas. Las expansiones más complejas
requerirán que invoquemos internamente el Robot /script/run, con un único
cargo por cada evaluación dinámica.

Crear un Template
A modo de pequeña demostración, vamos a crear un Template que redimensione una imagen para ajustarse a la proporción áurea.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"golden_ratio_resized": {
"use": ":original",
"robot": "/image/resize",
"width": "${file.meta.height * (1 + Math.sqrt(5))/2}",
"height": "${file.meta.height}",
"resize_strategy": "fillcrop",
"result": true,
"imagemagick_stack": "v3"
},
"exported": {
"robot": "/s3/store",
"use": "golden_ratio_resized",
"result": true,
"credentials": "s3defaultBucket",
"path": "golden_ratio/${file.name}"
}
}
}
Si observas el JSON anterior, notarás que el Step golden_ratio_resized contiene
la funcionalidad de /script/run integrada en nuestro
Robot /image/resize. Así mantenemos nuestro JSON lo más eficiente
posible.
Para redimensionar nuestra imagen a la proporción áurea, dejamos el height igual que la altura
original del archivo y luego cambiamos el width según la proporción áurea a partir de esa altura
original. También usamos la estrategia de redimensionamiento fillcrop para que la imagen pueda
expandirse hasta llenar el marco.
Pruebas
Para asegurarnos de que todo funciona como se espera, vamos a subir una foto de un gato de aspecto simpático y ver la nueva relación de aspecto.


Así de sencillo, modificamos automáticamente nuestras imágenes sin necesidad de ejecutar cálculos previos en nuestro backend.
Para terminar
Y con esto llegamos al final de esta demostración. Estamos deseando ver las ingeniosas maneras en que aprovecharás el Robot /script/run en tus proyectos. También nos interesa tu opinión sobre esta última incorporación a nuestra familia de Robots, ¡y cuéntanos si hay otras funciones que te gustaría ver incluidas en el futuro!
