/**
 * @name validatedClass
 */
export default function validated_class(str) {

  const newClass = emptyClass();

  if (isString(str)) {

    newClass.add = splitClass(str);

  } else if (isObject(str)) {

    if (isArray(str.add)) {
      newClass.add = str.add;
    } else if (isString(str.add)) {
      newClass.add = splitClass(str.add);
    }

    if (isArray(str.remove)) {
      newClass.remove = str.remove;
    } else if (isString(str.remove)) {
      newClass.remove = splitClass(str.remove);
    }

  }

  return newClass;
}
Exemple #2
0
export default curryN(2, function curried_drop(n, xs) {
  assert("Frampton.List.drop recieved a non-array", isArray(xs));
  return filter((next) => {
    if (n === 0) {
      return true;
    } else {
      n--;
    }
    return false;
  }, xs);
});
Exemple #3
0
/**
 * @name init
 * @method
 * @memberof Frampton.List
 */
export default function init(xs) {
  assert("Frampton.List.init recieved a non-array", isArray(xs));
  switch (xs.length) {

    case 0:
      return [];

    default:
      return xs.slice(0, (xs.length - 1));
  }
}
export default function validate_names(names) {

  if (!isArray(names)) {
    throw new Error(
      'Frampton.Data.Union must receive an array of fields for each type'
    );
  }

  const len = names.length;
  for (let i = 0; i < len; i++) {
    let name = names[i];
    if (blacklist.indexOf(name) > -1 || name === wildcard) {
      throw new Error(
        `Frampton.Data.Union recieved reserved field name ${name}`
      );
    }
  }
}