File: controlFlowBinaryOrExpression.js

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (58 lines) | stat: -rw-r--r-- 1,191 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//// [controlFlowBinaryOrExpression.ts]
let x: string | number | boolean;
let cond: boolean;

(x = "") || (x = 0);
x; // string | number

x = "";
cond || (x = 0);
x; // string | number

export interface NodeList {
    length: number;
}

export interface HTMLCollection {
    length: number;
}

declare function isNodeList(sourceObj: any): sourceObj is NodeList;
declare function isHTMLCollection(sourceObj: any): sourceObj is HTMLCollection;

type EventTargetLike = {a: string} | HTMLCollection | NodeList;

var sourceObj: EventTargetLike = <any>undefined;
if (isNodeList(sourceObj)) {
    sourceObj.length;
}

if (isHTMLCollection(sourceObj)) {
    sourceObj.length;
}

if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) {
    sourceObj.length;
}


//// [controlFlowBinaryOrExpression.js]
"use strict";
exports.__esModule = true;
var x;
var cond;
(x = "") || (x = 0);
x; // string | number
x = "";
cond || (x = 0);
x; // string | number
var sourceObj = undefined;
if (isNodeList(sourceObj)) {
    sourceObj.length;
}
if (isHTMLCollection(sourceObj)) {
    sourceObj.length;
}
if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) {
    sourceObj.length;
}