From d25047ebf11656ef32ea23b38ba72b81187532fb Mon Sep 17 00:00:00 2001 From: Jean Lauliac Date: Tue, 8 Nov 2016 04:46:13 -0800 Subject: [PATCH] declareOpts: @flow Reviewed By: cpojer Differential Revision: D4146711 fbshipit-source-id: edd360b3dd8444c7ec5be5c69db97e1e0906a730 --- react-packager/src/lib/declareOpts.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/react-packager/src/lib/declareOpts.js b/react-packager/src/lib/declareOpts.js index c20ae6d1..719da941 100644 --- a/react-packager/src/lib/declareOpts.js +++ b/react-packager/src/lib/declareOpts.js @@ -15,13 +15,24 @@ * }); * * var myOptions = validate(someOptions); + * + * @flow */ 'use strict'; var Joi = require('joi'); -module.exports = function(descriptor) { +/** + * TOut is always more specific than TIn, so it's a subtype. + */ +module.exports = function( + descriptor: {[name: string]: { + type: mixed, + required?: boolean, + default?: mixed, + }}, +): (untyped: TIn) => TOut { var joiKeys = {}; Object.keys(descriptor).forEach(function(prop) { var record = descriptor[prop];