code: function spec(node, body, objId, initProps, file) {
    // add a simple assignment for all Symbol member expressions due to symbol polyfill limitations
    // otherwise use Object.defineProperty
  
    var _arr2 = node.properties;
    for (var _i2 = 0; _i2 < _arr2.length; _i2++) {
      var prop = _arr2[_i2];
      // this wont work with Object.defineProperty
      if (t.isLiteral(t.toComputedKey(prop), { value: "__proto__" })) {
        initProps.push(prop);
        continue;
      }
  
      var key = prop.key;
      if (t.isIdentifier(key) && !prop.computed) {
        key = t.literal(key.name);
      }
  
      var bodyNode = t.callExpression(file.addHelper("define-property"), [objId, key, prop.value]);
  
      body.push(t.expressionStatement(bodyNode));
    }
  
    // only one node and it's a Object.defineProperty that returns the object
  
    if (body.length === 1) {
      var first = body[0].expression;
  
      if (t.isCallExpression(first)) {
        first.arguments[0] = t.objectExpression(initProps);
        return first;
      }
    }
  }
docs: [Please add a description.]