toPrototype static method

String toPrototype(
  1. String prototype
)

Implementation

static String toPrototype(String prototype)
{
  // process bindings
  var original  = prototype;
  var bindings  = Binding.getBindings(prototype);
  List<String?> processed = [];
  if (bindings != null)
  bindings.forEach((binding)
  {
    if ((binding.source == 'data') && (!processed.contains(binding.signature)))
    {
      processed.add(binding.signature);
      var signature   = "{" + placeholder + "." + 'data' + "." + binding.property + (binding.dotnotation?.signature != null ? ".${binding.dotnotation!.signature}" : "") + "}";
      prototype       = prototype.replaceAll(binding.signature, signature);
    }
  });

  // parse
  if (prototype != original)
  {
    var xml = Xml.tryParse(prototype)!.rootElement;
    Xml.setAttribute(xml,'id', placeholder);
    prototype = xml.toString();
  }

  return prototype;
}