TypeScript

by Terrance Smith

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/Faker/3.1.0/faker.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Faker/3.1.0/faker.min.js" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Faker/3.1.0/faker.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>
<div id="app"></div>

CSS

body {
  background: #20262e;
  padding: 20px;
  font-family: Helvetica;
}

#app {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  transition: all 0.2s;
  text-align: center;
}

TypeScript

declare var _: any; // Declares the global '_' variable from Lodash

interface Person {
  firstName: string;
  lastName:  string;
}

function greeter(person: Person) {
  return "Hello, " + person.firstName + " " + person.lastName;
}

let user = {
	firstName: "Malcolm",
  lastName:  "Reynolds"
};

// function genPerson():Person {
//   return {firstName: faker.company.name(), lastName: "" }
// }

function generatePerson(){
  return {firstName: 'Foo', lastName: 'bar' };
}

document.querySelector("#app").innerHTML = greeter(user);
document.querySelector("#app").innerHTML += _(user).map(u=>u.firstName)