diff --git a/addon/utils/utils.js b/addon/utils/utils.js index 5099c311..d5fe85ff 100644 --- a/addon/utils/utils.js +++ b/addon/utils/utils.js @@ -4,14 +4,9 @@ */ import Ember from 'ember'; -import require from 'require'; -export function hasEmberData() { - return require.has('ember-data'); -} - -export function getEmberData() { - return hasEmberData() ? require('ember-data')['default'] : undefined; +export function requireModule(module) { + return self.requirejs.has(module) ? self.require(module).default : undefined; } export function unwrapString(input) { diff --git a/addon/validations/internal-result-object.js b/addon/validations/internal-result-object.js index b354daa4..f2c66d3d 100644 --- a/addon/validations/internal-result-object.js +++ b/addon/validations/internal-result-object.js @@ -5,9 +5,9 @@ import Ember from 'ember'; import ValidationError from './error'; -import { getEmberData } from '../utils/utils'; +import { requireModule } from '../utils/utils'; -const DS = getEmberData(); +const DS = requireModule('ember-data'); const { get, diff --git a/addon/validators/date.js b/addon/validators/date.js index 1209de4a..a42b7e5d 100755 --- a/addon/validators/date.js +++ b/addon/validators/date.js @@ -5,9 +5,11 @@ import Ember from 'ember'; import Base from 'ember-cp-validations/validators/base'; -const moment = (self.requirejs.entries.moment || self.requirejs.entries['moment/index']) && self.require('moment').default; +import { requireModule } from 'ember-cp-validations/utils/utils'; -if (typeof moment === 'undefined') { +const moment = requireModule('moment'); + +if (!moment) { throw new Error('MomentJS is required to use the Date validator. The easiest way to install moment.js is to install ember-moment.\n' + 'Installation instructions and documentation can be found at https://github.com/stefanpenner/ember-moment'); } diff --git a/addon/validators/ds-error.js b/addon/validators/ds-error.js index db44e729..d8b7175a 100755 --- a/addon/validators/ds-error.js +++ b/addon/validators/ds-error.js @@ -5,9 +5,9 @@ import Ember from 'ember'; import Base from 'ember-cp-validations/validators/base'; -import { getEmberData } from 'ember-cp-validations/utils/utils'; +import { requireModule } from 'ember-cp-validations/utils/utils'; -const DS = getEmberData(); +const DS = requireModule('ember-data'); if (!DS) { throw new Error('Ember-Data is required to use the DS Error validator.');