From d067d1a0a357ac221ddb83efe4e0d9719a39c672 Mon Sep 17 00:00:00 2001 From: yjimk Date: Sat, 18 May 2019 04:34:13 +1000 Subject: [PATCH] Backspace and delay in development mode (#65) * Fix the ability to use Backspace and Delay functionality when running in development mode * Bump package patch version * Revert version in package.json --- src/utils.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/utils.js b/src/utils.js index 61f7201..aeecc64 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,4 +1,6 @@ -import React from 'react'; +import React from "react"; +import Backspace from "./Backspace"; +import Delay from "./Delay"; export const sleep = (val) => new Promise((resolve) => ( val != null ? setTimeout(resolve, val) : resolve() @@ -31,12 +33,25 @@ export function exclude(obj, keys) { return res; } +export function isElementType(element, component, name) { + const elementType = element && element.type; + if (!elementType) { + return false; + } + + return ( + elementType === component || + elementType.componentName === name || + elementType.displayName === name + ); +} + export function isBackspaceElement(element) { - return element && element.type && element.type.componentName === 'Backspace'; + return isElementType(element, Backspace, "Backspace"); } export function isDelayElement(element) { - return element && element.type && element.type.componentName === 'Delay'; + return isElementType(element, Delay, "Delay"); } export function extractTextFromElement(element) {