utils-define-read-only-property

1.0.0 • Public • Published

Read-Only

NPM version Build Status Coverage Status Dependencies

Defines a read-only property.

Installation

$ npm install utils-define-read-only-property

Usage

var setReadOnly = require( 'utils-define-read-only-property' );

setReadOnly( obj, prop, value )

Defines a read-only property.

var obj = {};
setReadOnly( obj, 'foo', 'bar' );
obj.foo = 'boop'; // => throws

Examples

var setReadOnly = require( 'utils-define-read-only-property' );
 
class Foo {
    constructor( name ) {
        setReadOnly( this, 'name', name );
    }
}
 
var foo = new Foo( 'beep' );
 
try {
    foo.name = 'boop';
} catch ( err ) {
    console.error( err.message );
}

To run the example code from the top-level application directory,

$ node ./examples/index.js

Tests

Unit

This repository uses tape for unit tests. To run the tests, execute the following command in the top-level application directory:

$ make test

All new feature development should have corresponding unit tests to validate correct functionality.

Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

$ make test-cov

Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

$ make view-cov

Browser Support

This repository uses Testling for browser testing. To run the tests in a (headless) local web browser, execute the following command in the top-level application directory:

$ make test-browsers

To view the tests in a local web browser,

$ make view-browser-tests

License

MIT license.

Copyright

Copyright © 2016. Athan Reines.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.0
    4,604
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.0
    4,604
  • 0.0.0
    0

Package Sidebar

Install

npm i utils-define-read-only-property

Weekly Downloads

4,604

Version

1.0.0

License

MIT

Last publish

Collaborators

  • kgryte