babel-generate-guard-clauses

2.0.5 • Public • Published

Babel-Generate-Guard-Clause travis status Coverage Status

A helper to generate different guard clauses.

Exports

generateTypeCheck(typeAssertion, options)({ name: argumentName })

generateTypeCheck("number")({ name: argumentName })

const typeCheckAst = genertateTypeCheck("string")({ name: "ponies" });

Generated Code:

if (typeof ponies !== "string") {
  throw new Error(
    "ponies should be a string, but got " + ponies + "(" + typeof ponies + ")"
  );
}

generateTypeCheck("number", { selector: "selector" })({ name: argumentName })

const typeCheckAst = generateTypeCheck("number", { selector: "x" })({
  name: "point"
});

Generated Code:

if (typeof point.x !== "number") {
  throw new Error(
    "point.x should be a number, but got " +
      point.x +
      "(" +
      typeof point.x +
      ")"
  );
}

generateIsOneOfCheck

generateIsOneOfCheck(optionArray)({ name: "argName" })

const typeCheckAst = generateIsOneOfCheck(["option1", "option2"])({
  name: "argName"
});

Generated Code:

if (!["option1", "option2"].some(x => x === argName)) {
  return new Error(
    "argName should be one of ['option1', 'option2'], but got " + argName
  );
}

Readme

Keywords

none

Package Sidebar

Install

npm i babel-generate-guard-clauses

Weekly Downloads

109

Version

2.0.5

License

MIT

Last publish

Collaborators

  • dschmidt