Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/westonganger/js-try

JS-Try is a Javascript implementation of the try method from Rails for safe navigation
https://github.com/westonganger/js-try

javascript js node-js rails ruby safe-navigation try

Last synced: 21 days ago
JSON representation

JS-Try is a Javascript implementation of the try method from Rails for safe navigation

Awesome Lists containing this project

README

        

# JS-Try
NPM Version
CI Status
NPM Downloads
Buy Me a Coffee

JS-Try is a Javascript implementation of the try method from Rails for safe navigation.

# Install

#### Yarn, NPM, or Bower
```javascript
yarn add js-try

npm install js-try

bower install js-try
```

#### Rails / Bundler

```ruby
# Gemfile
source 'https://rails-assets.org' do
gem 'rails-assets-js-try'
end

# app/assets/javascripts/application.js
/*
*= require js-try
*/
```

# Usage
#### Require/Import
```javascript
var Try = require('js-try');
// or
import { Try } from 'js-try';
```

#### Basic Examples
```javascript
Try(undefined) == false;
Try(null) == false;
Try(false) == false;
Try(true) == true;
Try(0) == 0;
Try('') == '';
Try('foobar') == 'foobar';
Try([]) == [];
Try({}) == {};

false.try('length') == false;
true.try('length') == false;

''.try('length') == 0;
''.try('foobar') == false;
'foobar'.try('charAt', 3) == 'b';
''.try('badMethod').try('anotherBadMethod'); == false

var x = 0;
x.try('toString') == '0';
x.try('foobar') == false;

[].try('sort') == [];
[].try('foobar') == false;
[1,2,3].try(2) == 3;
[1,2,3].try(3) == false;

{}.try('toString') == "[object Object]";
{}.try('foobar') == false;
{foo: 'bar'}.try('foo') == 'bar';
{foo: 'bar'}.try('bar') == false;
```

# Credits
Created by Weston Ganger - [@westonganger](https://github.com/westonganger)