From c132a9ca20ca18d863ec5185699c61a916bd526a Mon Sep 17 00:00:00 2001 From: Jimmy Jia Date: Wed, 26 Oct 2016 21:21:59 -0400 Subject: [PATCH] Factor out PromiseUtils --- src/PromiseUtils.js | 15 +++++++++++++++ src/index.js | 1 + src/resolveElements.js | 14 +------------- 3 files changed, 17 insertions(+), 13 deletions(-) create mode 100644 src/PromiseUtils.js diff --git a/src/PromiseUtils.js b/src/PromiseUtils.js new file mode 100644 index 00000000..d2cc2a4b --- /dev/null +++ b/src/PromiseUtils.js @@ -0,0 +1,15 @@ +import isPromise from 'is-promise'; + +const UNRESOLVED = {}; + +export function checkResolved(value) { + if (!isPromise(value)) { + return value; + } + + return Promise.race([value, UNRESOLVED]); +} + +export function isResolved(value) { + return value !== UNRESOLVED; +} diff --git a/src/index.js b/src/index.js index 7dab254c..d1029dfa 100644 --- a/src/index.js +++ b/src/index.js @@ -13,6 +13,7 @@ export HttpError from './HttpError'; export Link from './Link'; export Matcher from './Matcher'; export matchReducer from './matchReducer'; +export PromiseUtils from './PromiseUtils'; export Redirect from './Redirect'; export RedirectException from './RedirectException'; export resolveElements from './resolveElements'; diff --git a/src/resolveElements.js b/src/resolveElements.js index b448b145..4e42090a 100644 --- a/src/resolveElements.js +++ b/src/resolveElements.js @@ -2,19 +2,7 @@ import isPromise from 'is-promise'; import React from 'react'; import warning from 'warning'; -const UNRESOLVED = {}; - -function checkResolved(value) { - if (!isPromise(value)) { - return value; - } - - return Promise.race([value, UNRESOLVED]); -} - -function isResolved(value) { - return value !== UNRESOLVED; -} +import { checkResolved, isResolved } from './PromiseUtils'; function createElements(match, Components, matchData) { const { routes, routeParams: matchRouteParams } = match;