JSFiddle - React, Tailwind, and code Playground

by Artem

JavaScript

'use strict';

var data = "import React, {PropTypes, Component } from 'react';";
var pattern = /\, *\{(.*)PropTypes(.*)\}/;

function parseGroups(p1, p2) {
	const g1 = p1.trim();
  const g2 = p2.trim();
  console.log('G1: ', g1)
  if (!g1.length && !g2.length) {
  	return '';
  }
  const replacement = [].concat(g1.split(/ *, */), g2.split(/ *, */)).filter(Boolean).join(', ');
  return ', { ' + replacement + ' }';
}

var res = data.replace(pattern, function(match, p1, p2, offset, string) {
	const replacement = parseGroups(p1, p2);
  return replacement;
});

console.log(res);