aboutsummaryrefslogtreecommitdiff
path: root/challenge-105/dave-jacoby/node/ch-2.js
blob: e9c52090b5bfa2862cc36c0f04884535708ae1f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
"use strict";

let name = get_name(process.argv);
name_game(name);

function name_game(name) {
  name = name.toLowerCase();

  if ( name === 'chuck' ) {
    throw 'Name not allowed'
  }

  let lyrics = function () {
    /*
        NAME, NAME, bo-BY
        Bonanna-fanna fo-FY
        Fee fi mo-MY
        NAME!
    */
  }
    .toString()
    .split(/\/\*/)[1]
    .split(/\*\//)[0];

  let Name = ucfirst(name);
  let i = Name.substr(0, 1);
  let inits = Name.match(/^([^AEIOUaeiou]+)/);
  let y = Name.replace(/^([^AEIOUaeiou]+)/, "");

  let by = "B" + y;
  let fy = "F" + y;
  let my = "M" + y;

  let vowels = {
    A: 1,
    E: 1,
    I: 1,
    O: 1,
    U: 1,
  };

  if (0) {
  } else if (i === "B") {
    by = ucfirst(y);
  } else if (i === "F") {
    by = ucfirst(y);
  } else if (i === "M") {
    by = ucfirst(y);
  } else if (vowels[i]) {
    console.log("VOWEL");
    by = "B" + name;
    fy = "F" + name;
    my = "M" + name;
  }

  lyrics = lyrics.replace(/NAME/g, Name);
  lyrics = lyrics.replace(/BY/, by);
  lyrics = lyrics.replace(/FY/, fy);
  lyrics = lyrics.replace(/MY/, my);

  console.log(lyrics);
}

function get_name(argv) {
  let path = require("path");
  let programName = path.basename(__filename);
  let re = new RegExp(programName, "g");
  let name = argv.pop();

  if (name.match(re) ? 1 : 0) {
    name = "Dave";
  }
  return name;
}

function ucfirst(str) {
  str = str.toLowerCase();
  var firstLetter = str.substr(0, 1);
  return firstLetter.toUpperCase() + str.substr(1);
}