optional-chain
Advanced tools
Comparing version 0.1.2 to 0.1.3
@@ -57,4 +57,8 @@ import { optional, Option, OptionType } from "../src"; | ||
it("can be called after k function", () => { | ||
const obj = { | ||
a: [0, 1, 2] | ||
type ArrObj = { | ||
a: number[] | ||
b?: number[] | ||
} | ||
const obj: ArrObj = { | ||
a: [0, 1, 2], | ||
}; | ||
@@ -74,2 +78,8 @@ const optionalObj = new Option(obj); | ||
).toBe(1); | ||
expect( | ||
optionalObj | ||
.k("b") | ||
.i(0) | ||
.get() | ||
).toBe(undefined) | ||
}); | ||
@@ -76,0 +86,0 @@ }); |
@@ -42,3 +42,3 @@ "use strict"; | ||
Option.prototype.i = function (index) { | ||
if (this.value[index] === undefined) { | ||
if (this.value === undefined || this.value[index] === undefined) { | ||
return new Option(undefined); | ||
@@ -48,2 +48,2 @@ } | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFZLFVBR1g7QUFIRCxXQUFZLFVBQVU7SUFDcEIsMkNBQUksQ0FBQTtJQUNKLDJDQUFJLENBQUE7QUFDTixDQUFDLEVBSFcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFHckI7QUFFRCwwRkFBMEY7QUFDN0UsUUFBQSxRQUFRLEdBQUcsVUFBSSxLQUFRO0lBQ2xDLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFRLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBS0Y7SUFHRSxnQkFBWSxLQUFRO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbkQsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBQ00sa0JBQUMsR0FBUixVQUE0QixHQUFNO1FBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFRLENBQUM7U0FDckM7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQVEsQ0FBQztJQUM1QyxDQUFDO0lBTU0sb0JBQUcsR0FBVjtRQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ00sc0JBQUssR0FBWixVQUFhLEVBTVo7WUFMQyxjQUFJLEVBQ0osY0FBSTtRQUtKLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFDTSwwQkFBUyxHQUFoQixVQUFpQixLQUFRO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUQsQ0FBQztJQUNILGFBQUM7QUFBRCxDQUFDLEFBckNELElBcUNDO0FBckNZLHdCQUFNO0FBdUNuQixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxVQUFZLEtBQWE7SUFDNUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLFNBQVMsRUFBRTtRQUNuQyxPQUFPLElBQUksTUFBTSxDQUFDLFNBQWdCLENBQUMsQ0FBQztLQUNyQztJQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyJ9 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFZLFVBR1g7QUFIRCxXQUFZLFVBQVU7SUFDcEIsMkNBQUksQ0FBQTtJQUNKLDJDQUFJLENBQUE7QUFDTixDQUFDLEVBSFcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFHckI7QUFFRCwwRkFBMEY7QUFDN0UsUUFBQSxRQUFRLEdBQUcsVUFBSSxLQUFRO0lBQ2xDLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFRLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBS0Y7SUFHRSxnQkFBWSxLQUFRO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbkQsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBQ00sa0JBQUMsR0FBUixVQUE0QixHQUFNO1FBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFRLENBQUM7U0FDckM7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQVEsQ0FBQztJQUM1QyxDQUFDO0lBTU0sb0JBQUcsR0FBVjtRQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ00sc0JBQUssR0FBWixVQUFhLEVBTVo7WUFMQyxjQUFJLEVBQ0osY0FBSTtRQUtKLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFDTSwwQkFBUyxHQUFoQixVQUFpQixLQUFRO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUQsQ0FBQztJQUNILGFBQUM7QUFBRCxDQUFDLEFBckNELElBcUNDO0FBckNZLHdCQUFNO0FBdUNuQixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxVQUFZLEtBQWE7SUFDNUMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLFNBQVMsRUFBRTtRQUMvRCxPQUFPLElBQUksTUFBTSxDQUFDLFNBQWdCLENBQUMsQ0FBQztLQUNyQztJQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyJ9 |
{ | ||
"name": "optional-chain", | ||
"version": "0.1.2", | ||
"version": "0.1.3", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -54,3 +54,3 @@ export enum OptionType { | ||
Option.prototype.i = function<U>(index: number): Option<U> { | ||
if (this.value[index] === undefined) { | ||
if (this.value === undefined || this.value[index] === undefined) { | ||
return new Option(undefined as any); | ||
@@ -57,0 +57,0 @@ } |
23274
455