'use strict';

/* rule.js
 * Expresses CSS rules.
 */

const create = require('./create');

let Rule = create(function(name, list1, list2){

}, {

});

module.exports = exports = Rule;

@@ -116,16 +116,17 @@
 ion(name
+s
 , list1,
@@ -138,13 +138,926 @@
 2)%7B%0A
-%0A%7D, %7B
+  this.names = names;%0A  if (typeof name === 'string') this.names = %5Bnames%5D;%0A%0A  if (this.names.length %3E 1 %7C%7C arguments.length === 2) %7B%0A    this.type = 'selector';%0A    this.selectors = this.names %7C%7C %5B%5D;%0A    this.items = list1 %7C%7C %5B%5D;%0A  %7D else if (this.names.length === 1 && this.names%5B0%5D%5B0%5D === '@') %7B%0A    this.type = 'at-rule';%0A    if (arguments.length === 3) %7B%0A      this.type += 'expressive';%0A      this.name = this.names%5B0%5D;%0A      this.expression = list1 %7C%7C %5B%5D;%0A      this.items = list2 %7C%7C %5B%5D;%0A    %7D else if (arguments.length === 2) this.input = list1;%0A  %7D else %7B%0A    this.type = 'unknown';%0A    this.items = %5B%5D.concat(...(Array.prototype.slice.call(arguments, 1))) %7C%7C %5B%5D;%0A  %7D%0A%7D, %7B%0A%0A  add: function()%7B%0A    this.items.push(...arguments);%0A    return this;%0A  %7D,%0A%0A  remove: function(loc)%7B%0A    this.items.splice(loc, 1);%0A    return this;%0A  %7D,%0A%0A  set: function(loc, value)%7B%0A    this.items%5Bloc%5D = value;%0A    return this;%0A  %7D,
 %0A%0A%7D)

Add rule