Git Product home page Git Product logo

emitter_task's Introduction

Emitter

Create an implementation of an Emitter module. The implementation must include the following functions:

  • off
  • on
  • once
  • trigger

For more information about the API, see specification.md.

Purpose

The purpose of the task is to use:

  • git commands, such as git clone
  • Node.js scripts, such as e.g. npm test
  • babel (also, to understand the concept of "transpiling" from ES2015+ to ES5)
  • Karma for testing JavaScript code
  • A pre-defined specification for creating a code implementation
  • The latest JavaScript specification. such as ES2015+ (this is optional to use)

Note: The task does not require an understanding of Node.js, as this is only used to execute the test cases. It does however require an understanding of how to install Node.js and use of the terminal/command prompt.

Development

You must write the Emitter module in JavaScript. However, the JavaScript specification you use is up to you as the module will automatically be transpiled using babel before passing it to the Karma test runner.

Write all your code in the src/emitter.js file and use the following command to run the Karma test runner (which includes all the tests that your implementation must pass before submission):

npm test

Note: The implementation must not rely on any third-party libraries or Node.js APIs/modules.

Requirements

To create the implementation, you must have Node.js v6.4.0+ installed (either system-wide or through nvm or similar). No global modules are required as all the necessary modules are locally installed.

Setup

Before implementing the Emitter module, you must execute the following command to set up all the locally installed modules within the node_modules directory:

npm run setup

On completion

Ensure that all tests defined in the test directory are passing and execute the following command to ZIP everything required for submission:

npm run zip

Upload the submission.zip file to a file sharing service such as Google Drive or Dropbox and provide the link to your Frosmo contact via e-mail.

Note: Do NOT upload your final implementation to any public repository such as GitHub.

emitter_task's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.