aboutsummaryrefslogtreecommitdiff
path: root/examples/macros/mystery-box.ts
blob: 4dff5d0039cb1765e1dce1b87076ee9021195e4f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
export function mysteryBox(callExpression) {
  console.log(callExpression.log);
  // get arguments
  const [ countNode ] = callExpression.arguments;
  const countString: string = countNode.get();
  const count: number = parseInt(countString, 10);

  // validate
  if(!(count >= 1 && count <= 1000)) return new Error(`Argument ${countString} is expected to be between 1 and 1000`);

  // return a value
  return (Math.random() * count)|0;
}