Quotes vs backticks in bindings

Im trying to update bs-css to the latest emotion.sh. Seems like we have it mostly worked out in this pull request.

One error left to resolve looks like this:

Uncaught Error: You seem to be using a value for 'content' without quotes, try replacing it with `content: '"linear-gradient(45deg, #FF0000 0, #0000FF 100%)"'`

So emotion is looking for a backticked content,


in quotes.

The relevent codes seems to be here:

type rule =
  | D(string, string) // Declaration
  | S(string, array(rule)) // Selector
  | PseudoClass(string, array(rule))
  | PseudoClassParam(string, string, array(rule));

let rec ruleToDict = (dict, rule) => {
  switch (rule) {
  | D(name, value) when name == "content" =>
    dict->Js.Dict.set(name, Js.Json.string(value == "" ? "\"\"" : value))
  | D(name, value) => dict->Js.Dict.set(name, Js.Json.string(value))
  | S(name, ruleset) => dict->Js.Dict.set(name, toJson(ruleset))
  | PseudoClass(name, ruleset) =>
    dict->Js.Dict.set(":" ++ name, toJson(ruleset))
  | PseudoClassParam(name, param, ruleset) =>
    dict->Js.Dict.set(":" ++ name ++ "(" ++ param ++ ")", toJson(ruleset))

We need to get the quotes to render as a backtick.

How would you do this considering that we are passing content to a dict which i guess is looking for json?

Im not sure I am asking this correctly so please feel free to ask me for clarification. Thanks.