Thanks Ben, tagged template literals would solve my problem is a portable manner.
> On 01-Jul-2016, at 3:23 PM, Ben Noordhuis <[email protected]> wrote: > > On Fri, Jul 1, 2016 at 5:16 AM, Abhishek Singh > <[email protected] <mailto:[email protected]>> wrote: >> Hi, >> >> As part of v8 embedding work recently, I've encountered one more use case: >> >> Sample app.js: >> =========== >> >> var database_table = "beer_sample"; >> var city = "BLR"; >> >> // "query" is a FunctionTemplate exposed via an ObjectTemplate >> var queryResult = query("select * from $database_table where >> $database_table.city= $city"); >> >> // Assuming "city" is top level json field in documents within that DB >> table, sample doc could look like: >> // {"beer_count": 1000, city: "BLR", "brewery_location": >> "business_district"} >> >> =========== >> >> Within the C++ Handler FunctionTemplate of "query" call needs to poke at >> what was the state of stack variables in JS and after replacing it, it would >> require to fire query. Just to clarify, query that Handler would require to >> fire: >> >> "select * from beer-sample where beer-sample.city= BLR" >> >> Please suggest if there is a way to do this currently using v8, else I >> suppose I would require to convert JS source to AST and after replacing >> variables appropriately I would need to convert AST to valid JS source. > > You could inspect the stack frame using the debug API (consult > src/debug/debug.js and src/debug/mirrors.js) but it's arguably a bit > daft and certainly inefficient. A more idiomatic and portable JS > solution would be tagged template literals[0]. > > [0] > https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals > > <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals> > > -- > -- > v8-users mailing list > [email protected] <mailto:[email protected]> > http://groups.google.com/group/v8-users > <http://groups.google.com/group/v8-users> > --- > You received this message because you are subscribed to the Google Groups > "v8-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
