forked from basarat/typescript-book
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunctions.js
79 lines (79 loc) · 1.88 KB
/
functions.js
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
"use strict";
var parameter;
(function (parameter) {
var sampleVariable;
function foo(sampleParameter) { }
})(parameter || (parameter = {}));
var returnType;
(function (returnType) {
function foo(sample) {
return sample;
}
})(returnType || (returnType = {}));
var inferred;
(function (inferred) {
function foo(sample) {
return sample;
}
})(inferred || (inferred = {}));
var misspelled;
(function (misspelled) {
function foo() {
return { fou: 'John Doe' };
}
sendAsJSON(foo());
})(misspelled || (misspelled = {}));
var optional;
(function (optional) {
function foo(bar, bas) {
}
foo(123);
foo(123, 'hello');
})(optional || (optional = {}));
var optionalDefault;
(function (optionalDefault) {
function foo(bar, bas) {
if (bas === void 0) { bas = 'world'; }
console.log(bar, bas);
}
foo(123);
foo(123, 'hello');
})(optionalDefault || (optionalDefault = {}));
var overloads;
(function (overloads) {
function padding(a, b, c, d) {
if (b === undefined && c === undefined && d === undefined) {
b = c = d = a;
}
else if (c === undefined && d === undefined) {
c = a;
d = b;
}
return {
top: a,
right: b,
bottom: c,
left: d
};
}
overloads.padding = padding;
})(overloads || (overloads = {}));
var overloadsDone;
(function (overloadsDone) {
function padding(a, b, c, d) {
if (b === undefined && c === undefined && d === undefined) {
b = c = d = a;
}
else if (c === undefined && d === undefined) {
c = a;
d = b;
}
return {
top: a,
right: b,
bottom: c,
left: d
};
}
overloadsDone.padding = padding;
})(overloadsDone || (overloadsDone = {}));