+7
-0
| # Changelog | ||
| ## [2.0.1] - 2020-02-26 | ||
| ### Fixed | ||
| - Fix `optional()` to allow typescript to create optional keys | ||
| ## [2.0.0] - 2020-01-31 | ||
@@ -4,0 +11,0 @@ |
+4
-1
@@ -16,3 +16,6 @@ import { Validator } from './validate'; | ||
| export declare function defaultTo<R>(validator: Validator<R>, _default: R | (() => R)): ObjectOptions<R>; | ||
| export declare function optional<R>(validator: Validator<R>): ObjectOptions<R>; | ||
| export declare function optional<R>(validator: Validator<R>): { | ||
| validator: Validator<R>; | ||
| optional: true; | ||
| }; | ||
| export {}; |
@@ -65,4 +65,9 @@ "use strict"; | ||
| chai_1.expect(options).to.eql({ validator, optional: true }); | ||
| const validate = object_1.object({ foo: options }); | ||
| const result = validate({ foo: 'bar' }); | ||
| chai_1.expect(result).to.eql({ foo: 'bar' }); | ||
| const emptyResult = validate({}); | ||
| chai_1.expect(emptyResult).to.eql({}); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=object.test.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"object.test.js","sourceRoot":"","sources":["../src/object.test.ts"],"names":[],"mappings":";;AAAA,+BAA6B;AAE7B,qCAAoC;AACpC,qCAAqE;AACrE,qCAAiC;AAEjC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,QAAQ,GAAG,eAAM,CAAC,EAAE,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,aAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAS,EAAE,gBAAgB,CAAC;aAC7E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,QAAQ,GAAG,eAAM,CAAC,EAAE,GAAG,EAAE,eAAM,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,EAAE,CAAA;QAChB,MAAM,KAAK,GAAG,aAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAS,EAAE,oBAAoB,CAAC;aAClF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,QAAQ,GAAG,eAAM,CAAC,EAAE,GAAG,EAAE,eAAM,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,aAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAS,EAAE,oBAAoB,CAAC;aAClF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,QAAQ,GAAG,eAAM,CAAC,EAAE,GAAG,EAAE,eAAM,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAoB,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QACxD,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,QAAQ,GAAG,eAAM,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,eAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QACzD,MAAM,MAAM,GAAoB,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QACxD,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,QAAQ,GAAG,eAAM,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,eAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QACzE,MAAM,MAAM,GAAqB,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QACzD,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QACrC,MAAM,WAAW,GAAqB,QAAQ,CAAC,EAAE,CAAC,CAAA;QAClD,aAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,eAAM,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,eAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QACzE,MAAM,MAAM,GAAoB,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC5C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,QAAQ,GAAG,eAAM,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,eAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAC/E,MAAM,MAAM,GAAoB,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC5C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,SAAS,GAAG,eAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAA0B,kBAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAClE,aAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,SAAS,GAAG,eAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAA0B,iBAAQ,CAAC,SAAS,CAAC,CAAA;QAC1D,aAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} | ||
| {"version":3,"file":"object.test.js","sourceRoot":"","sources":["../src/object.test.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "fefe", | ||
| "version": "2.0.0", | ||
| "version": "2.0.1", | ||
| "description": "Validate, sanitize and transform values with proper types.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -72,5 +72,10 @@ import { expect } from 'chai' | ||
| const validator = string() | ||
| const options: ObjectOptions<string> = optional(validator) | ||
| const options = optional(validator) | ||
| expect(options).to.eql({ validator, optional: true }) | ||
| const validate = object({ foo: options }) | ||
| const result: { foo?: string } = validate({ foo: 'bar' }) | ||
| expect(result).to.eql({ foo: 'bar' }) | ||
| const emptyResult: { foo?: string } = validate({}) | ||
| expect(emptyResult).to.eql({}) | ||
| }) | ||
| }) |
+1
-1
@@ -78,3 +78,3 @@ import { FefeError } from './errors' | ||
| export function optional<R> (validator: Validator<R>): ObjectOptions<R> { | ||
| export function optional<R> (validator: Validator<R>): {validator: Validator<R>, optional: true} { | ||
| return { | ||
@@ -81,0 +81,0 @@ validator, |
100074
0.97%1521
0.86%