message-box
Advanced tools
Comparing version 0.2.6 to 0.2.7
# MessageBox Changelog | ||
## 0.2.7 | ||
Fix transpiling configuration to support IE11 (try again) | ||
## 0.2.6 | ||
@@ -4,0 +8,0 @@ |
@@ -17,5 +17,9 @@ "use strict"; | ||
*/ | ||
function merge(destination, ...sources) { | ||
sources.forEach(source => { | ||
Object.keys(source).forEach(prop => { | ||
function merge(destination) { | ||
for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
sources[_key - 1] = arguments[_key]; | ||
} | ||
sources.forEach(function (source) { | ||
Object.keys(source).forEach(function (prop) { | ||
if (source[prop] && source[prop].constructor && source[prop].constructor === Object) { | ||
@@ -22,0 +26,0 @@ if (!destination[prop] || !destination[prop].constructor || destination[prop].constructor !== Object) { |
@@ -18,2 +18,4 @@ "use strict"; | ||
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
@@ -23,2 +25,8 @@ | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } | ||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } | ||
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; } | ||
@@ -28,17 +36,20 @@ | ||
// https://regex101.com/r/ce27tA/5 | ||
const DEFAULT_INTERPOLATE = exports.DEFAULT_INTERPOLATE = /{{{([^{}#][\s\S]+?)}}}/g; // https://regex101.com/r/8sRC8b/8 | ||
var DEFAULT_INTERPOLATE = exports.DEFAULT_INTERPOLATE = /{{{([^{}#][\s\S]+?)}}}/g; // https://regex101.com/r/8sRC8b/8 | ||
const DEFAULT_ESCAPE = exports.DEFAULT_ESCAPE = /{{([^{}#][\s\S]+?)}}/g; // https://regex101.com/r/ndDqxg/4 | ||
var DEFAULT_ESCAPE = exports.DEFAULT_ESCAPE = /{{([^{}#][\s\S]+?)}}/g; // https://regex101.com/r/ndDqxg/4 | ||
const SUGGESTED_EVALUATE = exports.SUGGESTED_EVALUATE = /{{#([^{}].*?)}}/g; | ||
var SUGGESTED_EVALUATE = exports.SUGGESTED_EVALUATE = /{{#([^{}].*?)}}/g; | ||
class MessageBox { | ||
constructor({ | ||
escape, | ||
evaluate, | ||
initialLanguage, | ||
interpolate, | ||
messages, | ||
tracker | ||
} = {}) { | ||
var MessageBox = /*#__PURE__*/function () { | ||
function MessageBox() { | ||
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, | ||
escape = _ref.escape, | ||
evaluate = _ref.evaluate, | ||
initialLanguage = _ref.initialLanguage, | ||
interpolate = _ref.interpolate, | ||
messages = _ref.messages, | ||
tracker = _ref.tracker; | ||
_classCallCheck(this, MessageBox); | ||
this.language = initialLanguage || MessageBox.language || 'en'; | ||
@@ -58,101 +69,114 @@ this.messageList = messages || {}; | ||
clone() { | ||
const copy = new MessageBox({ | ||
escape: this.escape, | ||
evaluate: this.evaluate, | ||
initialLanguage: this.language, | ||
interpolate: this.interpolate, | ||
tracker: this.tracker | ||
}); | ||
copy.messages(this.messageList); | ||
return copy; | ||
} | ||
getMessages(language) { | ||
if (!language) { | ||
language = this.language; | ||
if (this.trackerDep) this.trackerDep.depend(); | ||
_createClass(MessageBox, [{ | ||
key: "clone", | ||
value: function clone() { | ||
var copy = new MessageBox({ | ||
escape: this.escape, | ||
evaluate: this.evaluate, | ||
initialLanguage: this.language, | ||
interpolate: this.interpolate, | ||
tracker: this.tracker | ||
}); | ||
copy.messages(this.messageList); | ||
return copy; | ||
} | ||
}, { | ||
key: "getMessages", | ||
value: function getMessages(language) { | ||
if (!language) { | ||
language = this.language; | ||
if (this.trackerDep) this.trackerDep.depend(); | ||
} | ||
const globalMessages = MessageBox.messages[language]; | ||
let messages = this.messageList[language]; | ||
var globalMessages = MessageBox.messages[language]; | ||
var messages = this.messageList[language]; | ||
if (messages) { | ||
if (globalMessages) messages = (0, _merge2.default)({}, globalMessages, messages); | ||
} else { | ||
messages = globalMessages; | ||
if (messages) { | ||
if (globalMessages) messages = (0, _merge2.default)({}, globalMessages, messages); | ||
} else { | ||
messages = globalMessages; | ||
} | ||
if (!messages) throw new Error("No messages found for language \"".concat(language, "\"")); | ||
return { | ||
messages: messages, | ||
language: language | ||
}; | ||
} | ||
}, { | ||
key: "message", | ||
value: function message(errorInfo) { | ||
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, | ||
context = _ref2.context, | ||
language = _ref2.language; | ||
if (!messages) throw new Error(`No messages found for language "${language}"`); | ||
return { | ||
messages, | ||
language | ||
}; | ||
} | ||
// Error objects can optionally include a preformatted message, | ||
// in which case we use that. | ||
if (errorInfo.message) return errorInfo.message; | ||
var fieldName = errorInfo.name; | ||
var genericName = MessageBox.makeNameGeneric(fieldName); | ||
message(errorInfo, { | ||
context, | ||
language | ||
} = {}) { | ||
// Error objects can optionally include a preformatted message, | ||
// in which case we use that. | ||
if (errorInfo.message) return errorInfo.message; | ||
const fieldName = errorInfo.name; | ||
const genericName = MessageBox.makeNameGeneric(fieldName); | ||
const { | ||
messages | ||
} = this.getMessages(language); | ||
let message = messages[errorInfo.type]; | ||
var _this$getMessages = this.getMessages(language), | ||
messages = _this$getMessages.messages; | ||
const fullContext = _objectSpread({ | ||
genericName | ||
}, context, {}, errorInfo); | ||
var message = messages[errorInfo.type]; | ||
if (message && typeof message === 'object') message = message[genericName] || message._default; // eslint-disable-line no-underscore-dangle | ||
var fullContext = _objectSpread({ | ||
genericName: genericName | ||
}, context, {}, errorInfo); | ||
if (typeof message === 'string') { | ||
message = (0, _lodash2.default)(message, { | ||
interpolate: this.interpolate, | ||
evaluate: this.evaluate, | ||
escape: this.escape | ||
}); | ||
} | ||
if (message && _typeof(message) === 'object') message = message[genericName] || message._default; // eslint-disable-line no-underscore-dangle | ||
if (typeof message !== 'function') return `${fieldName} is invalid`; | ||
return message(fullContext); | ||
} | ||
if (typeof message === 'string') { | ||
message = (0, _lodash2.default)(message, { | ||
interpolate: this.interpolate, | ||
evaluate: this.evaluate, | ||
escape: this.escape | ||
}); | ||
} | ||
messages(messages) { | ||
(0, _merge2.default)(this.messageList, messages); | ||
} | ||
if (typeof message !== 'function') return "".concat(fieldName, " is invalid"); | ||
return message(fullContext); | ||
} | ||
}, { | ||
key: "messages", | ||
value: function messages(_messages) { | ||
(0, _merge2.default)(this.messageList, _messages); | ||
} | ||
}, { | ||
key: "setLanguage", | ||
value: function setLanguage(language) { | ||
this.language = language; | ||
if (this.trackerDep) this.trackerDep.changed(); | ||
} | ||
}], [{ | ||
key: "makeNameGeneric", | ||
value: function makeNameGeneric(name) { | ||
if (typeof name !== 'string') return null; | ||
return name.replace(/\.[0-9]+(?=\.|$)/g, '.$'); | ||
} | ||
}, { | ||
key: "defaults", | ||
value: function defaults() { | ||
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, | ||
escape = _ref3.escape, | ||
evaluate = _ref3.evaluate, | ||
initialLanguage = _ref3.initialLanguage, | ||
interpolate = _ref3.interpolate, | ||
messages = _ref3.messages; | ||
setLanguage(language) { | ||
this.language = language; | ||
if (this.trackerDep) this.trackerDep.changed(); | ||
} | ||
if (typeof initialLanguage === 'string') MessageBox.language = initialLanguage; | ||
if (interpolate instanceof RegExp) MessageBox.interpolate = interpolate; | ||
if (evaluate instanceof RegExp) MessageBox.evaluate = evaluate; | ||
if (escape instanceof RegExp) MessageBox.escape = escape; | ||
static makeNameGeneric(name) { | ||
if (typeof name !== 'string') return null; | ||
return name.replace(/\.[0-9]+(?=\.|$)/g, '.$'); | ||
} | ||
static defaults({ | ||
escape, | ||
evaluate, | ||
initialLanguage, | ||
interpolate, | ||
messages | ||
} = {}) { | ||
if (typeof initialLanguage === 'string') MessageBox.language = initialLanguage; | ||
if (interpolate instanceof RegExp) MessageBox.interpolate = interpolate; | ||
if (evaluate instanceof RegExp) MessageBox.evaluate = evaluate; | ||
if (escape instanceof RegExp) MessageBox.escape = escape; | ||
if (messages) { | ||
if (!MessageBox.messages) MessageBox.messages = {}; | ||
(0, _merge2.default)(MessageBox.messages, messages); | ||
if (messages) { | ||
if (!MessageBox.messages) MessageBox.messages = {}; | ||
(0, _merge2.default)(MessageBox.messages, messages); | ||
} | ||
} | ||
} | ||
}]); | ||
} | ||
return MessageBox; | ||
}(); | ||
@@ -159,0 +183,0 @@ _defineProperty(MessageBox, "messages", {}); |
{ | ||
"name": "message-box", | ||
"version": "0.2.6", | ||
"version": "0.2.7", | ||
"description": "A package for defining and getting validation error messages, with support for Meteor Tracker reactivity", | ||
@@ -5,0 +5,0 @@ "author": "Eric Dobbertin <aldeed@gmail.com>", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
17734
177