apeman-react-mixins
Version:
React mixin set of apeman.
69 lines (50 loc) • 4.01 kB
JavaScript
/**
* Mixin to check env.
* @mixin ApEnvMixin
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var ENV_ENV_KEY = "_apEnv";
/** @lends ApEnvMixin */
var ApEnvMixin = {
// --------------------
// Custom
// --------------------
$apEnvMixed: true,
/**
* Detect if env is production.
* @returns {boolean}
*/
isProductionEnv: function isProductionEnv() {
var s = this;
return s.getEnv() === 'production';
},
/**
* Get env values.
* @returns {string} - Env value.
*/
getEnv: function getEnv() {
var s = this;
return s.props.NODE_ENV || s.context[ENV_ENV_KEY] || process.env.NODE_ENV;
},
// --------------------
// Specs
// --------------------
propTypes: {
NODE_ENV: _react.PropTypes.string
},
contextTypes: _defineProperty({}, ENV_ENV_KEY, _react.PropTypes.string),
childContextTypes: _defineProperty({}, ENV_ENV_KEY, _react.PropTypes.string),
getChildContext: function getChildContext() {
var s = this;
return _defineProperty({}, ENV_ENV_KEY, s.getEnv());
}
};
exports.default = Object.freeze(ApEnvMixin);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX2Vudl9taXhpbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQTs7Ozs7O0FBRUE7Ozs7Ozs7O0FBRUEsSUFBTSxjQUFjLFFBQXBCOzs7QUFHQSxJQUFJLGFBQWE7Ozs7O0FBS2YsZUFBYSxJQUxFOzs7Ozs7QUFXZixpQkFYZSw2QkFXSTtBQUNqQixRQUFNLElBQUksSUFBVjtBQUNBLFdBQU8sRUFBRSxNQUFGLE9BQWUsWUFBdEI7QUFDRCxHQWRjOzs7Ozs7O0FBb0JmLFFBcEJlLG9CQW9CTDtBQUNSLFFBQU0sSUFBSSxJQUFWO0FBQ0EsV0FBTyxFQUFFLEtBQUYsQ0FBUSxRQUFSLElBQW9CLEVBQUUsT0FBRixDQUFXLFdBQVgsQ0FBcEIsSUFBZ0QsUUFBUSxHQUFSLENBQVksUUFBbkU7QUFDRCxHQXZCYzs7Ozs7OztBQTZCZixhQUFXO0FBQ1QsY0FBVSxpQkFBTTtBQURQLEdBN0JJOztBQWlDZixvQ0FDRyxXQURILEVBQ2lCLGlCQUFNLE1BRHZCLENBakNlOztBQXFDZix5Q0FDRyxXQURILEVBQ2lCLGlCQUFNLE1BRHZCLENBckNlOztBQXlDZixpQkF6Q2UsNkJBeUNJO0FBQ2pCLFFBQU0sSUFBSSxJQUFWO0FBQ0EsK0JBQ0csV0FESCxFQUNpQixFQUFFLE1BQUYsRUFEakI7QUFHRDtBQTlDYyxDQUFqQjs7a0JBa0RlLE9BQU8sTUFBUCxDQUFjLFVBQWQsQyIsImZpbGUiOiJhcF9lbnZfbWl4aW4uanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL29rdW5pc2hpbmlzaGkvUHJvamVjdHMvYXBlbWFuLXByb2plY3RzL2FwZW1hbi1yZWFjdC1taXhpbnMvbGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNaXhpbiB0byBjaGVjayBlbnYuXG4gKiBAbWl4aW4gQXBFbnZNaXhpblxuICovXG5cbid1c2Ugc3RyaWN0J1xuXG5pbXBvcnQgUmVhY3QsIHtQcm9wVHlwZXMgYXMgdHlwZXN9IGZyb20gJ3JlYWN0J1xuXG5jb25zdCBFTlZfRU5WX0tFWSA9IFwiX2FwRW52XCJcblxuLyoqIEBsZW5kcyBBcEVudk1peGluICovXG5sZXQgQXBFbnZNaXhpbiA9IHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBDdXN0b21cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgJGFwRW52TWl4ZWQ6IHRydWUsXG5cbiAgLyoqXG4gICAqIERldGVjdCBpZiBlbnYgaXMgcHJvZHVjdGlvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBpc1Byb2R1Y3Rpb25FbnYgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgcmV0dXJuIHMuZ2V0RW52KCkgPT09ICdwcm9kdWN0aW9uJ1xuICB9LFxuXG4gIC8qKlxuICAgKiBHZXQgZW52IHZhbHVlcy5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBFbnYgdmFsdWUuXG4gICAqL1xuICBnZXRFbnYgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgcmV0dXJuIHMucHJvcHMuTk9ERV9FTlYgfHwgcy5jb250ZXh0WyBFTlZfRU5WX0tFWSBdIHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WXG4gIH0sXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3BlY3NcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwcm9wVHlwZXM6IHtcbiAgICBOT0RFX0VOVjogdHlwZXMuc3RyaW5nXG4gIH0sXG5cbiAgY29udGV4dFR5cGVzOiB7XG4gICAgW0VOVl9FTlZfS0VZXTogdHlwZXMuc3RyaW5nXG4gIH0sXG5cbiAgY2hpbGRDb250ZXh0VHlwZXM6IHtcbiAgICBbRU5WX0VOVl9LRVldOiB0eXBlcy5zdHJpbmdcbiAgfSxcblxuICBnZXRDaGlsZENvbnRleHQgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgcmV0dXJuIHtcbiAgICAgIFtFTlZfRU5WX0tFWV06IHMuZ2V0RW52KClcbiAgICB9XG4gIH1cblxufVxuXG5leHBvcnQgZGVmYXVsdCBPYmplY3QuZnJlZXplKEFwRW52TWl4aW4pXG4iXX0=