0.2.2 • Published 9 years ago

attr-accessor v0.2.2

Weekly downloads
8
License
MIT
Repository
github
Last release
9 years ago

Attr Accessor

Version Build Status Dependency Status Code Climate Coverage

Convenience factories for creating getter/setters.

Licensed under the MIT license, see LICENSE for more information.

Installation

Attr Accessor is available via npm:

npm install attr-accessor

Or for usage in the browser:

  • dist/attr-accessor.js
  • dist/attr-accessor.min.js

Usage

Pass in an object to attr.reader or attr.writer to obtain a getter or setter factory respectively:

get = attr.reader(object)
set = attr.writer(object)

ES2015 (ES6) introduced classes and has support for getter/setters.

CoffeeScript, on the other hand, has had no elegant way of defining getter/setters, until now. Use its destructuring syntax in combination with attr.accessor to obtain both factories:

[get, set] = attr.accessor(object)

Use attr.accessors when dealing with classes to obtain two prototypal / instance-bound factories as well as two static factories:

[get, set, @get, @set] = attr.accessors(object)

Example

class Person
  [get, set, @get, @set] = attr.accessors(this)

  group = []

  constructor: (@firstName, @lastName) ->
    group.push this

  get name: ->
    "#{@firstName} #{@lastName}"

  @get count: ->
    group.length
new Person('John', 'Doe').name # John Doe
Person.count # 1

Development & Contribution

Attr Accessor is written in ES2015, compiled by Babel, developed with Gulp and tested through Mocha.

Getting this toolchain up and running, is easy and straight-forward:

  1. Get the code:

    git clone git://github.com/timkurvers/attr-accessor.git
  2. Download and install Node.js (includes npm) for your platform.

  3. Install dependencies:

    npm install
  4. Run gulp which will automatically build and test the project when source files change.

    When not available, run ./node_modules/.bin/gulp instead.

When contributing, please:

  • Fork the repository
  • Accompany each logical unit of operation with at least one test
  • Open a pull request
  • Do not include any distribution files (such as dist/attr-accessor.js)
0.2.2

9 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.1

10 years ago

0.0.0

10 years ago