Socket
Socket
Sign inDemoInstall

@duvholt/tslint-yield

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@duvholt/tslint-yield

TSLint rule that requires a strict return type for Yield Expressions when result is used.


Version published
Maintainers
1
Created
Source

npm version License Build Status Coverage Status

Yield Rule

Lint rule that requires a strict return type for Yield Expressions when result is used for TSLint.

Usage

tslint-yield has peer dependencies on TSLint and TypeScript.

To use these lint rule with the default preset, use configuration inheritance via the extends keyword. Here's a sample configuration where tslint.json lives adjacent to your node_modules folder:

{
  "extends": ["@servicetitan/tslint-yield"],
  "rules": {
    // turn on tslint-yield rule here
    "yield": true
  }
}

To lint your .ts and .tsx files you can simply run tslint -c tslint.json 'src/**/*.{ts,tsx}'.

Rule

requires a strict return type for Yield Expressions when result is used in cases:

Property Access Expressions
//Fail
(yield getData()).result;

//Good
((yield getData()) as ResultType).result;
Variable Statement
//Fail
var result = yield getData();

//Good
var result = (yield getData()) as ResultType;
Binary Expression
//Fail
var result = null;
result = yield getData();

//Good
var result = null;
result = (yield getData()) as ResultType;
//Fail
var result = { data: null };
result.data = yield getData();

//Good
var result = { data: null };
result.data = (yield getData()) as ResultType;
Any is not allowed
//Fail
(yield getData()) as any).result

//Good
((yield getData()) as ResultType).result;
Yield Type and casting type should be equal
const getData = () => new Promise<number>(() => {});

//Fail - string !== number
(yield getData()) as string).result

//Good
((yield getData()) as number).result;
Yield Type should be Promise
const getData = () => new Promise<number>(() => {});

//Fail
let result = (yield number) as number)

//Good
let result = ((yield getData()) as number);

Keywords

FAQs

Package last updated on 01 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc