JS a Expression trees rubrika: Programování: JavaScript
7
xxar3s
položil/-a 21.5.2016
Ako v JS spravit z funkcie expression tree?
potreboval by som takyto JS kod:
db.Users .map(u => ({ Nick: u.Nickname, Login: u.Login })) .filter(u => u.IsActive == 1 && u.RoleId == 1) .sort(u => u.CreationDate) .fetch();
pri zavolani fetch previest na:
SELECT u.Nickname AS Nick, u.Login FROM Users u WHERE u.IsActive = 1 AND u.RoleId = 1 ORDER BY u.CreationDate
Mate nejake napady ako na to?
odkaz
6
roman.hocke
odpověděl/-a 23.5.2016
upravil/-a 23.5.2016
A co takhle ho nenutit ten AST sestavovat z JS syntaxe, ale prostě nechat programátora ten AST naspat v tebou definované formě? Něco ala:
.filter({ 'operator': '&&', 'children': [ { 'operator': '==', 'children': [ { 'table': 'u', 'column': 'isActive' }, { 'value': 1 } ] }, { 'operator': '==', 'children': [ { 'table': 'u', 'column': 'roleId' }, { 'value': 1 } ] } ] })
Vím že je to na pohled obluda, ale stejně nějaký takový AST budeš interně konstruovat. Pokud zvolíš rozumný syntactic sugar, mohlo by to být ve finále i čitelné :-)
Pro zobrazení všech 3 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře