Comparing version 2.0.0 to 2.1.0
@@ -36,7 +36,7 @@ "use strict"; | ||
function Field(name) { | ||
function Field() { | ||
var _this = this; | ||
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
var form = arguments.length > 2 ? arguments[2] : undefined; | ||
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
var form = arguments.length > 1 ? arguments[1] : undefined; | ||
(0, _classCallCheck2["default"])(this, Field); | ||
@@ -147,4 +147,4 @@ (0, _defineProperty2["default"])(this, "form", void 0); | ||
this.form = form; | ||
this.name = name; | ||
this.opts = opts; | ||
this.name = opts.name; | ||
this.node = opts.node; | ||
@@ -242,2 +242,2 @@ this.readOnly = opts.readOnly || false; | ||
exports["default"] = _default; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9GaWVsZC50cyJdLCJuYW1lcyI6WyJGaWVsZCIsInZhbHVlIiwidW5kZWZpbmVkIiwibmFtZSIsIm9wdHMiLCJmb3JtIiwiX2V2ZW50cyIsImRpc3BhdGNoIiwidmFsaWRhdG9ycyIsImxlbmd0aCIsImVycm9yIiwic2V0RXJyb3IiLCJzZXRTdGF0ZSIsImlzVmFsaWQiLCJpc1ZhbGlkYXRpbmciLCJpc1ZhbGlkYXRlZCIsInN0YXRlIiwiX2NhbmNlbGFibGVQcm9taXNlIiwiY2FuY2VsIiwiQ2FuY2VsYWJsZVByb21pc2UiLCJyZXNvbHZlIiwidmFsaWRhdG9yIiwiZmllbGRzIiwiQm9vbGVhbiIsInRoZW4iLCJub2RlIiwicmVhZE9ubHkiLCJ2YWxpZGF0ZSIsImRlYm91bmNlVmFsaWRhdGUiLCJ2YWxpZGF0aW9uRGVsYXkiLCJtb2RpZnlWYWx1ZSIsImlzQ2hhbmdlZCIsIkV2ZW50cyIsIl9pbml0aWFsVmFsdWUiLCJ2YWx1ZXMiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlQmx1ciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtb2RpZmllZFZhbHVlIiwiZXZlbnROYW1lIiwiaGFuZGxlciIsInN1YnNjcmliZSIsInVuc3Vic2NyaWJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7SUFvQk1BLEs7Ozs7O2dDQWVlQyxLLEVBQU87QUFDeEIsYUFBT0EsS0FBSyxLQUFLQyxTQUFWLElBQXVCRCxLQUFLLEtBQUssSUFBakMsR0FBd0MsRUFBeEMsR0FBNkNBLEtBQXBEO0FBQ0Q7OztBQUVELGlCQUFZRSxJQUFaLEVBQTZEO0FBQUE7O0FBQUEsUUFBbkNDLElBQW1DLHVFQUFqQixFQUFpQjtBQUFBLFFBQWJDLElBQWE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSx5REFpRGhELFlBQU07QUFDakIsTUFBQSxLQUFJLENBQUNDLE9BQUws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U0FBUyxFQUFFO0FBRkMsU0FBZDs7QUFLQSxhQUFLekIsT0FBTCxDQUFhQyxRQUFiLENBQXNCLEtBQXRCLEVBQTZCLEtBQUtTLEtBQUwsQ0FBV2YsS0FBeEM7O0FBQ0EsYUFBS0ssT0FBTCxDQUFhQyxRQUFiLENBQXNCLFFBQXRCLEVBQWdDLEtBQUtTLEtBQUwsQ0FBV2YsS0FBM0MsRUFQd0QsQ0FPTjs7QUFDbkQ7QUFDRjs7OzRCQUVPO0FBQ04sV0FBS1csUUFBTCxDQUFjO0FBQ1pYLFFBQUFBLEtBQUssRUFBRSxLQUFLZ0MsYUFEQTtBQUVadkIsUUFBQUEsS0FBSyxFQUFFLElBRks7QUFHWnFCLFFBQUFBLFNBQVMsRUFBRSxLQUhDO0FBSVpqQixRQUFBQSxZQUFZLEVBQUUsS0FKRjtBQUtaQyxRQUFBQSxXQUFXLEVBQUUsS0FMRDtBQU1aRixRQUFBQSxPQUFPLEVBQUU7QUFORyxPQUFkOztBQVNBLFdBQUtQLE9BQUwsQ0FBYUMsUUFBYixDQUFzQixPQUF0QjtBQUNEOzs7dUJBNkNFZ0MsUyxFQUFtQkMsTyxFQUFtQjtBQUN2QyxXQUFLbEMsT0FBTCxDQUFhbUMsU0FBYixDQUF1QkYsU0FBdkIsRUFBa0NDLE9BQWxDO0FBQ0Q7Ozt3QkFFR0QsUyxFQUFtQkMsTyxFQUFtQjtBQUN4QyxXQUFLbEMsT0FBTCxDQUFhb0MsV0FBYixDQUF5QkgsU0FBekIsRUFBb0NDLE9BQXBDO0FBQ0Q7Ozs7O2VBSVl4QyxLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEV2ZW50cyBmcm9tICcuL0V2ZW50cydcbmltcG9ydCBGb3JtIGZyb20gJy4vRm9ybSdcbmltcG9ydCB7IGFzeW5jU29tZSwgZGVib3VuY2UsIENhbmNlbGFibGVQcm9taXNlIH0gZnJvbSAnLi91dGlsJ1xuXG5cbmV4cG9ydCB0eXBlIEZpZWxkT3B0cyA9IHtcbiAgbm9kZT86IEhUTUxFbGVtZW50XG4gIHZhbHVlPzogc3RyaW5nXG4gIHZhbGlkYXRlPzogQXJyYXk8RnVuY3Rpb24+XG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICB2YWxpZGF0aW9uRGVsYXk/OiBudW1iZXJcbn1cblxudHlwZSBTdGF0ZSA9IHtcbiAgdmFsdWU6IGFueVxuICBlcnJvcjogYW55XG4gIGlzQ2hhbmdlZDogYm9vbGVhblxuICBpc1ZhbGlkYXRpbmc6IGJvb2xlYW5cbiAgaXNWYWxpZGF0ZWQ6IGJvb2xlYW5cbiAgaXNWYWxpZDogYm9vbGVhblxufVxuXG5jbGFzcyBGaWVsZCB7XG5cbiAgZm9ybTogRm9ybVxuICBuYW1lOiBzdHJpbmdcbiAgb3B0czogRmllbGRPcHRzXG4gIG5vZGU6IEhUTUxFbGVtZW50XG4gIHZhbGlkYXRvcnM/OiBBcnJheTxGdW5jdGlvbj5cbiAgcmVhZE9ubHk6IGJvb2xlYW5cbiAgZGVib3VuY2VWYWxpZGF0ZTogRnVuY3Rpb25cbiAgc3RhdGU6IFN0YXRlXG5cbiAgcHJpdmF0ZSBfZXZlbnRzOiBFdmVudHNcbiAgcHJpdmF0ZSBfaW5pdGlhbFZhbHVlOiBhbnlcbiAgcHJpdmF0ZSBfY2FuY2VsYWJsZVByb21pc2U6IENhbmNlbGFibGVQcm9taXNlXG5cbiAgc3RhdGljIG1vZGlmeVZhbHVlKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgPyAnJyA6IHZhbHVlXG4gIH1cblxuICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIG9wdHM6IEZpZWxkT3B0cyA9IHt9LCBmb3JtPzogRm9ybSkge1xuICAgIHRoaXMuZm9ybSAgICAgICAgICAgICAgICAgPSBmb3JtXG4gICAgdGhpcy5uYW1lICAgICAgICAgICAgICAgICA9IG5hbWVcbiAgICB0aGlzLm9wdHMgICAgICAgICAgICAgICAgID0gb3B0c1xuICAgIHRoaXMubm9kZSAgICAgICAgICAgICAgICAgPSBvcHRzLm5vZGVcbiAgICB0aGlzLnJlYWRPbmx5ICAgICAgICAgICAgID0gb3B0cy5yZWFkT25seSB8fCBmYWxzZVxuICAgIHRoaXMudmFsaWRhdG9ycyAgICAgICAgICAgPSBvcHRzLnZhbGlkYXRlIHx8IFtdXG4gICAgdGhpcy5kZWJvdW5jZVZhbGlkYXRlICAgICA9IHRoaXMub3B0cy52YWxpZGF0aW9uRGVsYXkgPyBkZWJvdW5jZSh0aGlzLnZhbGlkYXRlLCB0aGlzLm9wdHMudmFsaWRhdGlvbkRlbGF5KSA6IHRoaXMudmFsaWRhdGVcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICB2YWx1ZTogRmllbGQubW9kaWZ5VmFsdWUob3B0cy52YWx1ZSksXG4gICAgICBlcnJvcjogbnVsbCxcbiAgICAgIGlzQ2hhbmdlZDogZmFsc2UsXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNWYWxpZGF0ZWQ6IGZhbHNlLFxuICAgICAgaXNWYWxpZDogdHJ1ZSxcbiAgICB9XG5cbiAgICB0aGlzLl9ldmVudHMgICAgICAgICAgICAgID0gbmV3IEV2ZW50cygpXG4gICAgdGhpcy5faW5pdGlhbFZhbHVlICAgICAgICA9IHRoaXMuc3RhdGUudmFsdWVcbiAgICB0aGlzLl9jYW5jZWxhYmxlUHJvbWlzZSAgID0gbnVsbFxuXG4gICAgLy8gVE9ETyBob3cgdG8gZGV0ZWN0IHRoaXM/XG4gICAgLy8gdGhpcy5oYXNBc3luY1ZhbGlkYXRvcnMgPSB0aGlzLnZhbGlkYXRvcnMuc29tZSgodmFsaWRhdG9yKSA9PiAoXG4gICAgLy8gICB2YWxpZGF0b3IuY29uc3RydWN0b3IubmFtZSA9PT0gJ0FzeW5jRnVuY3Rpb24nXG4gICAgLy8gKSlcbiAgfVxuXG4gIHNldFN0YXRlKHZhbHVlczogUGFydGlhbDxTdGF0ZT4pIHtcbiAgICB0aGlzLnN0YXRlID0geyAuLi50aGlzLnN0YXRlLCAuLi52YWx1ZXMgfVxuICAgIHRoaXMuX2V2ZW50cy5kaXNwYXRjaCgnc3RhdGUgY2hhbmdlJywgdGhpcy5zdGF0ZSlcbiAgfVxuXG4gIHNldFJlZihub2RlKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZVxuXG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgdGhpcy5ub2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCB0aGlzLmhhbmRsZUJsdXIpXG4gICAgfVxuICB9XG5cbiAgdW5zZXRSZWYoKSB7XG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgdGhpcy5ub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCB0aGlzLmhhbmRsZUJsdXIpXG4gICAgfVxuXG4gICAgdGhpcy5ub2RlID0gbnVsbFxuICB9XG5cbiAgaGFuZGxlQmx1ciA9ICgpID0+IHtcbiAgICB0aGlzLl9ldmVudHMuZGlzcGF0Y2goJ2JsdXInKVxuICB9XG5cbiAgc2V0KHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBtb2RpZmllZFZhbHVlID0gRmllbGQubW9kaWZ5VmFsdWUodmFsdWUpXG5cbiAgICBpZiAobW9kaWZpZWRWYWx1ZSAhPT0gdGhpcy5zdGF0ZS52YWx1ZSAmJiAhdGhpcy5yZWFkT25seSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHZhbHVlOiBtb2RpZmllZFZhbHVlLFxuICAgICAgICBpc0NoYW5nZWQ6IHRydWUsXG4gICAgICB9KVxuXG4gICAgICB0aGlzLl9ldmVudHMuZGlzcGF0Y2goJ3NldCcsIHRoaXMuc3RhdGUudmFsdWUpXG4gICAgICB0aGlzLl9ldmVudHMuZGlzcGF0Y2goJ2NoYW5nZScsIHRoaXMuc3RhdGUudmFsdWUpIC8vIEBkZXByZWNhdGVkXG4gICAgfVxuICB9XG5cbiAgdW5zZXQoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICB2YWx1ZTogdGhpcy5faW5pdGlhbFZhbHVlLFxuICAgICAgZXJyb3I6IG51bGwsXG4gICAgICBpc0NoYW5nZWQ6IGZhbHNlLFxuICAgICAgaXNWYWxpZGF0aW5nOiBmYWxzZSxcbiAgICAgIGlzVmFsaWRhdGVkOiBmYWxzZSxcbiAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgfSlcblxuICAgIHRoaXMuX2V2ZW50cy5kaXNwYXRjaCgndW5zZXQnKVxuICB9XG5cbiAgdmFsaWRhdGUgPSAoKTogQ2FuY2VsYWJsZVByb21pc2UgPT4ge1xuICAgIGlmICghdGhpcy52YWxpZGF0b3JzIHx8ICF0aGlzLnZhbGlkYXRvcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBsZXQgZXJyb3JcblxuICAgIHRoaXMuX2V2ZW50cy5kaXNwYXRjaCgnc3RhcnQgdmFsaWRhdGUnKVxuXG4gICAgY29uc3Qgc2V0RXJyb3IgPSAoZXJyb3I6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGVycm9yLFxuICAgICAgICBpc1ZhbGlkOiAhZXJyb3IsXG4gICAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgICAgIGlzVmFsaWRhdGVkOiB0cnVlLFxuICAgICAgfSlcblxuICAgICAgdGhpcy5fZXZlbnRzLmRpc3BhdGNoKCd2YWxpZGF0ZScsIHRoaXMuc3RhdGUuZXJyb3IpXG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc1ZhbGlkYXRpbmc6IHRydWUsXG4gICAgfSlcblxuICAgIGlmICh0aGlzLl9jYW5jZWxhYmxlUHJvbWlzZSkge1xuICAgICAgdGhpcy5fY2FuY2VsYWJsZVByb21pc2UuY2FuY2VsKClcbiAgICB9XG5cbiAgICB0aGlzLl9jYW5jZWxhYmxlUHJvbWlzZSA9IG5ldyBDYW5jZWxhYmxlUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4ge1xuICAgICAgYXdhaXQgYXN5bmNTb21lKHRoaXMudmFsaWRhdG9ycywgYXN5bmMgKHZhbGlkYXRvcikgPT4ge1xuICAgICAgICBlcnJvciA9IGF3YWl0IHZhbGlkYXRvcih0aGlzLnN0YXRlLnZhbHVlLCB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmZpZWxkcykgLy8gZXJyb3IgaGVyZSBpcyBTdHJpbmcgZXJyb3IgbWVzc2FnZVxuICAgICAgICByZXR1cm4gQm9vbGVhbihlcnJvcilcbiAgICAgIH0pXG4gICAgICByZXNvbHZlKClcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXMuX2NhbmNlbGFibGVQcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgc2V0RXJyb3IoZXJyb3IpXG5cbiAgICAgIHJldHVybiBlcnJvclxuICAgIH0pXG4gIH1cblxuICBvbihldmVudE5hbWU6IHN0cmluZywgaGFuZGxlcjogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9ldmVudHMuc3Vic2NyaWJlKGV2ZW50TmFtZSwgaGFuZGxlcilcbiAgfVxuXG4gIG9mZihldmVudE5hbWU6IHN0cmluZywgaGFuZGxlcjogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9ldmVudHMudW5zdWJzY3JpYmUoZXZlbnROYW1lLCBoYW5kbGVyKVxuICB9XG59XG5cblxuZXhwb3J0IGRlZmF1bHQgRmllbGRcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9GaWVsZC50cyJdLCJuYW1lcyI6WyJGaWVsZCIsInZhbHVlIiwidW5kZWZpbmVkIiwib3B0cyIsImZvcm0iLCJfZXZlbnRzIiwiZGlzcGF0Y2giLCJ2YWxpZGF0b3JzIiwibGVuZ3RoIiwiZXJyb3IiLCJzZXRFcnJvciIsInNldFN0YXRlIiwiaXNWYWxpZCIsImlzVmFsaWRhdGluZyIsImlzVmFsaWRhdGVkIiwic3RhdGUiLCJfY2FuY2VsYWJsZVByb21pc2UiLCJjYW5jZWwiLCJDYW5jZWxhYmxlUHJvbWlzZSIsInJlc29sdmUiLCJ2YWxpZGF0b3IiLCJmaWVsZHMiLCJCb29sZWFuIiwidGhlbiIsIm5hbWUiLCJub2RlIiwicmVhZE9ubHkiLCJ2YWxpZGF0ZSIsImRlYm91bmNlVmFsaWRhdGUiLCJ2YWxpZGF0aW9uRGVsYXkiLCJtb2RpZnlWYWx1ZSIsImlzQ2hhbmdlZCIsIkV2ZW50cyIsIl9pbml0aWFsVmFsdWUiLCJ2YWx1ZXMiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlQmx1ciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtb2RpZmllZFZhbHVlIiwiZXZlbnROYW1lIiwiaGFuZGxlciIsInN1YnNjcmliZSIsInVuc3Vic2NyaWJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7SUFxQk1BLEs7Ozs7O2dDQWVlQyxLLEVBQU87QUFDeEIsYUFBT0EsS0FBSyxLQUFLQyxTQUFWLElBQXVCRCxLQUFLLEtBQUssSUFBakMsR0FBd0MsRUFBeEMsR0FBNkNBLEtBQXBEO0FBQ0Q7OztBQUVELG1CQUErQztBQUFBOztBQUFBLFFBQW5DRSxJQUFtQyx1RUFBakIsRUFBaUI7QUFBQSxRQUFiQyxJQUFhO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEseURBaURsQyxZQUFNO0FBQ2pCLE1BQUEsS0FBSSxDQUFDQyxPQUFMLENBQWFDLFFBQWIs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LFNBQVMsRUFBRTtBQUZDLFNBQWQ7O0FBS0EsYUFBSzFCLE9BQUwsQ0FBYUMsUUFBYixDQUFzQixLQUF0QixFQUE2QixLQUFLUyxLQUFMLENBQVdkLEtBQXhDOztBQUNBLGFBQUtJLE9BQUwsQ0FBYUMsUUFBYixDQUFzQixRQUF0QixFQUFnQyxLQUFLUyxLQUFMLENBQVdkLEtBQTNDLEVBUHdELENBT047O0FBQ25EO0FBQ0Y7Ozs0QkFFTztBQUNOLFdBQUtVLFFBQUwsQ0FBYztBQUNaVixRQUFBQSxLQUFLLEVBQUUsS0FBS2dDLGFBREE7QUFFWnhCLFFBQUFBLEtBQUssRUFBRSxJQUZLO0FBR1pzQixRQUFBQSxTQUFTLEVBQUUsS0FIQztBQUlabEIsUUFBQUEsWUFBWSxFQUFFLEtBSkY7QUFLWkMsUUFBQUEsV0FBVyxFQUFFLEtBTEQ7QUFNWkYsUUFBQUEsT0FBTyxFQUFFO0FBTkcsT0FBZDs7QUFTQSxXQUFLUCxPQUFMLENBQWFDLFFBQWIsQ0FBc0IsT0FBdEI7QUFDRDs7O3VCQTZDRWlDLFMsRUFBbUJDLE8sRUFBbUI7QUFDdkMsV0FBS25DLE9BQUwsQ0FBYW9DLFNBQWIsQ0FBdUJGLFNBQXZCLEVBQWtDQyxPQUFsQztBQUNEOzs7d0JBRUdELFMsRUFBbUJDLE8sRUFBbUI7QUFDeEMsV0FBS25DLE9BQUwsQ0FBYXFDLFdBQWIsQ0FBeUJILFNBQXpCLEVBQW9DQyxPQUFwQztBQUNEOzs7OztlQUlZeEMsSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFdmVudHMgZnJvbSAnLi9FdmVudHMnXG5pbXBvcnQgRm9ybSBmcm9tICcuL0Zvcm0nXG5pbXBvcnQgeyBhc3luY1NvbWUsIGRlYm91bmNlLCBDYW5jZWxhYmxlUHJvbWlzZSB9IGZyb20gJy4vdXRpbCdcblxuXG5leHBvcnQgdHlwZSBGaWVsZE9wdHMgPSB7XG4gIG5hbWU/OiBzdHJpbmdcbiAgbm9kZT86IEhUTUxFbGVtZW50XG4gIHZhbHVlPzogc3RyaW5nXG4gIHZhbGlkYXRlPzogQXJyYXk8RnVuY3Rpb24+XG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICB2YWxpZGF0aW9uRGVsYXk/OiBudW1iZXJcbn1cblxudHlwZSBTdGF0ZSA9IHtcbiAgdmFsdWU6IGFueVxuICBlcnJvcjogYW55XG4gIGlzQ2hhbmdlZDogYm9vbGVhblxuICBpc1ZhbGlkYXRpbmc6IGJvb2xlYW5cbiAgaXNWYWxpZGF0ZWQ6IGJvb2xlYW5cbiAgaXNWYWxpZDogYm9vbGVhblxufVxuXG5jbGFzcyBGaWVsZCB7XG5cbiAgZm9ybTogRm9ybVxuICBuYW1lPzogc3RyaW5nXG4gIG9wdHM6IEZpZWxkT3B0c1xuICBub2RlOiBIVE1MRWxlbWVudFxuICB2YWxpZGF0b3JzPzogQXJyYXk8RnVuY3Rpb24+XG4gIHJlYWRPbmx5OiBib29sZWFuXG4gIGRlYm91bmNlVmFsaWRhdGU6IEZ1bmN0aW9uXG4gIHN0YXRlOiBTdGF0ZVxuXG4gIHByaXZhdGUgX2V2ZW50czogRXZlbnRzXG4gIHByaXZhdGUgX2luaXRpYWxWYWx1ZTogYW55XG4gIHByaXZhdGUgX2NhbmNlbGFibGVQcm9taXNlOiBDYW5jZWxhYmxlUHJvbWlzZVxuXG4gIHN0YXRpYyBtb2RpZnlWYWx1ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZVxuICB9XG5cbiAgY29uc3RydWN0b3Iob3B0czogRmllbGRPcHRzID0ge30sIGZvcm0/OiBGb3JtKSB7XG4gICAgdGhpcy5mb3JtICAgICAgICAgICAgICAgICA9IGZvcm1cbiAgICB0aGlzLm9wdHMgICAgICAgICAgICAgICAgID0gb3B0c1xuICAgIHRoaXMubmFtZSAgICAgICAgICAgICAgICAgPSBvcHRzLm5hbWVcbiAgICB0aGlzLm5vZGUgICAgICAgICAgICAgICAgID0gb3B0cy5ub2RlXG4gICAgdGhpcy5yZWFkT25seSAgICAgICAgICAgICA9IG9wdHMucmVhZE9ubHkgfHwgZmFsc2VcbiAgICB0aGlzLnZhbGlkYXRvcnMgICAgICAgICAgID0gb3B0cy52YWxpZGF0ZSB8fCBbXVxuICAgIHRoaXMuZGVib3VuY2VWYWxpZGF0ZSAgICAgPSB0aGlzLm9wdHMudmFsaWRhdGlvbkRlbGF5ID8gZGVib3VuY2UodGhpcy52YWxpZGF0ZSwgdGhpcy5vcHRzLnZhbGlkYXRpb25EZWxheSkgOiB0aGlzLnZhbGlkYXRlXG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgdmFsdWU6IEZpZWxkLm1vZGlmeVZhbHVlKG9wdHMudmFsdWUpLFxuICAgICAgZXJyb3I6IG51bGwsXG4gICAgICBpc0NoYW5nZWQ6IGZhbHNlLFxuICAgICAgaXNWYWxpZGF0aW5nOiBmYWxzZSxcbiAgICAgIGlzVmFsaWRhdGVkOiBmYWxzZSxcbiAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgfVxuXG4gICAgdGhpcy5fZXZlbnRzICAgICAgICAgICAgICA9IG5ldyBFdmVudHMoKVxuICAgIHRoaXMuX2luaXRpYWxWYWx1ZSAgICAgICAgPSB0aGlzLnN0YXRlLnZhbHVlXG4gICAgdGhpcy5fY2FuY2VsYWJsZVByb21pc2UgICA9IG51bGxcblxuICAgIC8vIFRPRE8gaG93IHRvIGRldGVjdCB0aGlzP1xuICAgIC8vIHRoaXMuaGFzQXN5bmNWYWxpZGF0b3JzID0gdGhpcy52YWxpZGF0b3JzLnNvbWUoKHZhbGlkYXRvcikgPT4gKFxuICAgIC8vICAgdmFsaWRhdG9yLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdBc3luY0Z1bmN0aW9uJ1xuICAgIC8vICkpXG4gIH1cblxuICBzZXRTdGF0ZSh2YWx1ZXM6IFBhcnRpYWw8U3RhdGU+KSB7XG4gICAgdGhpcy5zdGF0ZSA9IHsgLi4udGhpcy5zdGF0ZSwgLi4udmFsdWVzIH1cbiAgICB0aGlzLl9ldmVudHMuZGlzcGF0Y2goJ3N0YXRlIGNoYW5nZScsIHRoaXMuc3RhdGUpXG4gIH1cblxuICBzZXRSZWYobm9kZSkge1xuICAgIHRoaXMubm9kZSA9IG5vZGVcblxuICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgIHRoaXMubm9kZS5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5oYW5kbGVCbHVyKVxuICAgIH1cbiAgfVxuXG4gIHVuc2V0UmVmKCkge1xuICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgIHRoaXMubm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5oYW5kbGVCbHVyKVxuICAgIH1cblxuICAgIHRoaXMubm9kZSA9IG51bGxcbiAgfVxuXG4gIGhhbmRsZUJsdXIgPSAoKSA9PiB7XG4gICAgdGhpcy5fZXZlbnRzLmRpc3BhdGNoKCdibHVyJylcbiAgfVxuXG4gIHNldCh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgbW9kaWZpZWRWYWx1ZSA9IEZpZWxkLm1vZGlmeVZhbHVlKHZhbHVlKVxuXG4gICAgaWYgKG1vZGlmaWVkVmFsdWUgIT09IHRoaXMuc3RhdGUudmFsdWUgJiYgIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB2YWx1ZTogbW9kaWZpZWRWYWx1ZSxcbiAgICAgICAgaXNDaGFuZ2VkOiB0cnVlLFxuICAgICAgfSlcblxuICAgICAgdGhpcy5fZXZlbnRzLmRpc3BhdGNoKCdzZXQnLCB0aGlzLnN0YXRlLnZhbHVlKVxuICAgICAgdGhpcy5fZXZlbnRzLmRpc3BhdGNoKCdjaGFuZ2UnLCB0aGlzLnN0YXRlLnZhbHVlKSAvLyBAZGVwcmVjYXRlZFxuICAgIH1cbiAgfVxuXG4gIHVuc2V0KCkge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgdmFsdWU6IHRoaXMuX2luaXRpYWxWYWx1ZSxcbiAgICAgIGVycm9yOiBudWxsLFxuICAgICAgaXNDaGFuZ2VkOiBmYWxzZSxcbiAgICAgIGlzVmFsaWRhdGluZzogZmFsc2UsXG4gICAgICBpc1ZhbGlkYXRlZDogZmFsc2UsXG4gICAgICBpc1ZhbGlkOiB0cnVlLFxuICAgIH0pXG5cbiAgICB0aGlzLl9ldmVudHMuZGlzcGF0Y2goJ3Vuc2V0JylcbiAgfVxuXG4gIHZhbGlkYXRlID0gKCk6IENhbmNlbGFibGVQcm9taXNlID0+IHtcbiAgICBpZiAoIXRoaXMudmFsaWRhdG9ycyB8fCAhdGhpcy52YWxpZGF0b3JzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgbGV0IGVycm9yXG5cbiAgICB0aGlzLl9ldmVudHMuZGlzcGF0Y2goJ3N0YXJ0IHZhbGlkYXRlJylcblxuICAgIGNvbnN0IHNldEVycm9yID0gKGVycm9yOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBlcnJvcixcbiAgICAgICAgaXNWYWxpZDogIWVycm9yLFxuICAgICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgICBpc1ZhbGlkYXRlZDogdHJ1ZSxcbiAgICAgIH0pXG5cbiAgICAgIHRoaXMuX2V2ZW50cy5kaXNwYXRjaCgndmFsaWRhdGUnLCB0aGlzLnN0YXRlLmVycm9yKVxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNWYWxpZGF0aW5nOiB0cnVlLFxuICAgIH0pXG5cbiAgICBpZiAodGhpcy5fY2FuY2VsYWJsZVByb21pc2UpIHtcbiAgICAgIHRoaXMuX2NhbmNlbGFibGVQcm9taXNlLmNhbmNlbCgpXG4gICAgfVxuXG4gICAgdGhpcy5fY2FuY2VsYWJsZVByb21pc2UgPSBuZXcgQ2FuY2VsYWJsZVByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIGF3YWl0IGFzeW5jU29tZSh0aGlzLnZhbGlkYXRvcnMsIGFzeW5jICh2YWxpZGF0b3IpID0+IHtcbiAgICAgICAgZXJyb3IgPSBhd2FpdCB2YWxpZGF0b3IodGhpcy5zdGF0ZS52YWx1ZSwgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5maWVsZHMpIC8vIGVycm9yIGhlcmUgaXMgU3RyaW5nIGVycm9yIG1lc3NhZ2VcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4oZXJyb3IpXG4gICAgICB9KVxuICAgICAgcmVzb2x2ZSgpXG4gICAgfSlcblxuICAgIHJldHVybiB0aGlzLl9jYW5jZWxhYmxlUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgIHNldEVycm9yKGVycm9yKVxuXG4gICAgICByZXR1cm4gZXJyb3JcbiAgICB9KVxuICB9XG5cbiAgb24oZXZlbnROYW1lOiBzdHJpbmcsIGhhbmRsZXI6IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5fZXZlbnRzLnN1YnNjcmliZShldmVudE5hbWUsIGhhbmRsZXIpXG4gIH1cblxuICBvZmYoZXZlbnROYW1lOiBzdHJpbmcsIGhhbmRsZXI6IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5fZXZlbnRzLnVuc3Vic2NyaWJlKGV2ZW50TmFtZSwgaGFuZGxlcilcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWZhdWx0IEZpZWxkXG4iXX0= |
@@ -67,2 +67,3 @@ "use strict"; | ||
} : fieldOpts; | ||
fieldOpts.name = fieldName; | ||
@@ -73,3 +74,3 @@ if (typeof initialValue !== 'undefined') { | ||
var field = new _Field["default"](fieldName, fieldOpts, _this); | ||
var field = new _Field["default"](fieldOpts, _this); | ||
_this.fields[fieldName] = field; | ||
@@ -244,2 +245,2 @@ field.on('change', function () { | ||
exports["default"] = _default; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Gb3JtLnRzIl0sIm5hbWVzIjpbImRlZmF1bHRPcHRpb25zIiwiaW5pdGlhbFZhbHVlcyIsIkZvcm0iLCJvcHRzIiwibmFtZSIsImZpZWxkcyIsInN0YXRlIiwiaXNWYWxpZCIsImlzQ2hhbmdlZCIsImlzVmFsaWRhdGluZyIsImlzU3VibWl0dGluZyIsImlzU3VibWl0dGVkIiwiX2V2ZW50cyIsIkV2ZW50cyIsIl9zZXR1cEZpZWxkcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiZmllbGROYW1lIiwiaW5pdGlhbFZhbHVlIiwiZmllbGRPcHRzIiwiQXJyYXkiLCJpc0FycmF5IiwidmFsaWRhdGUiLCJ2YWx1ZSIsImZpZWxkIiwiRmllbGQiLCJvbiIsImRpc3BhdGNoIiwidmFsdWVzIiwic2V0Iiwic2V0U3RhdGUiLCJ1bnNldCIsImVycm9ycyIsImVycm9yIiwicHJvbWlzZXMiLCJtYXAiLCJQcm9taXNlIiwiYWxsIiwiZXZlcnkiLCJnZXRWYWx1ZXMiLCJyZWplY3QiLCJnZXRFcnJvcnMiLCJldmVudE5hbWUiLCJoYW5kbGVyIiwic3Vic2NyaWJlIiwidW5zdWJzY3JpYmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQWlCQSxJQUFNQSxjQUFjLEdBQUc7QUFDckJDLEVBQUFBLGFBQWEsRUFBRTtBQURNLENBQXZCOztJQUlNQyxJOzs7QUFRSixnQkFBWUMsSUFBWixFQUE0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUMxQixTQUFLQyxJQUFMLEdBQWNELElBQUksQ0FBQ0MsSUFBbkI7QUFDQSxTQUFLRCxJQUFMLGlDQUFtQkgsY0FBbkIsTUFBc0NHLElBQXRDO0FBQ0EsU0FBS0UsTUFBTCxHQUFjLEVBQWQ7QUFFQSxTQUFLQyxLQUFMLEdBQWE7QUFDWEMsTUFBQUEsT0FBTyxFQUFFLElBREU7QUFFWEMsTUFBQUEsU0FBUyxFQUFFLEtBRkE7QUFFUTtBQUNuQkMsTUFBQUEsWUFBWSxFQUFFLEtBSEg7QUFJWEMsTUFBQUEsWUFBWSxFQUFFLEtBSkg7QUFLWEMsTUFBQUEsV0FBVyxFQUFFO0FBTEYsS0FBYjtBQVFBLFNBQUtDLE9BQUwsR0FBZSxJQUFJQyxrQkFBSixFQUFmOztBQUVBLFNBQUtDLFlBQUw7QUFDRDs7OzttQ0FFc0I7QUFBQTs7QUFDckJDLE1BQUFBLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLEtBQUtiLElBQUwsQ0FBVUUsTUFBdEIsRUFBOEJZLE9BQTlCLENBQXNDLFVBQUNDLFNBQUQsRUFBZTtBQUNuRCxZQUFNQyxZQUFZLEdBQUksS0FBSSxDQUFDaEIsSUFBTCxDQUFVRixhQUFWLElBQTJCLEtBQUksQ0FBQ0UsSUFBTCxDQUFVRixhQUFWLENBQXdCaUIsU0FBeEIsQ0FBakQ7QUFDQSxZQUFJRSxTQUFTLEdBQVMsS0FBSSxDQUFDakIsSUFBTCxDQUFVRSxNQUFWLENBQWlCYSxTQUFqQixDQUF0QjtBQUVBRSxRQUFBQSxTQUFTLEdBQUdDLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixTQUFkLElBQTJCO0FBQUVHLFVBQUFBLFFBQVEsRUFBRUg7QUFBWixTQUEzQixHQUFxREEsU0FBakU7O0FBRUEsWUFBSSxPQUFPRCxZQUFQLEtBQXdCLFdBQTVCLEVBQXlDO0FBQ3ZDQyxVQUFBQSxTQUFTLENBQUNJLEtBQVYsR0FBa0JMLFlBQWxCO0FBQ0Q7O0FBRUQsWUFBTU0sS0FBSyxHQUFHLElBQUlDLGlCQUFKLENBQVVSLFNBQVYsRUFBcUJFLFNBQXJCLEVBQWdDLEtBQWhDLENBQWQ7QUFFQSxRQUFBLEtBQUksQ0FBQ2YsTUFBTCxDQUFZYSxTQUFaLElBQXlCTyxLQUF6QjtBQUVBQSxRQUFBQSxLQUFLLENBQUNFLEVBQU4sQ0FBUyxRQUFULEVBQW1CLFlBQU07QUFDdkIsVUFBQSxLQUFJLENBQUNmLE9BQUwsQ0FBYWdCLFFBQWIsQ0FBc0IsUUFBdEIsRUFBZ0NILEtBQWhDO0FBQ0QsU0FGRDtBQUlBQSxRQUFBQSxLQUFLLENBQUNFLEVBQU4sQ0FBUyxNQUFULEVBQWlCLFlBQU07QUFDckIsVUFBQSxLQUFJLENBQUNmLE9BQUwsQ0FBYWdCLFFBQWIsQ0FBc0IsTUFBdEIsRUFBOEJILEtBQTlCO0FBQ0QsU0FGRDtBQUdELE9BckJEO0FBc0JEOzs7NkJBRVFJLE0sRUFBd0I7QUFDL0IsV0FBS3ZCLEtBQUwsaUNBQWtCLEtBQUtBLEtBQXZCLE1BQWlDdUIsTUFBakM7O0FBQ0EsV0FBS2pCLE9BQUwsQ0FBYWdCLFFBQWIsQ0FBc0IsY0FBdEIsRUFBc0MsS0FBS3RCLEtBQTNDO0FBQ0Q7Ozs4QkFFU3VCLE0sRUFBZ0I7QUFBQTs7QUFDeEI7QUFDQWQsTUFBQUEsTUFBTSxDQUFDQyxJQUFQLENBQVlhLE1BQVosRUFBb0JaLE9BQXBCLENBQTRCLFVBQUNDLFNBQUQsRUFBZTtBQUN6QyxZQUFNTyxLQUFZLEdBQUcsTUFBSSxDQUFDcEIsTUFBTCxDQUFZYSxTQUFaLENBQXJCOztBQUVBLFlBQUlPLEtBQUosRUFBVztBQUNUQSxVQUFBQSxLQUFLLENBQUNLLEdBQU4sQ0FBVUQsTUFBTSxDQUFDWCxTQUFELENBQWhCO0FBQ0Q7QUFDRixPQU5EO0FBT0Q7OztnQ0FFbUI7QUFBQTs7QUFDbEIsVUFBTVcsTUFBTSxHQUFHLEVBQWY7QUFFQWQsTUFBQUEsTUFBTSxDQUFDQyxJQUFQLENBQVksS0FBS1gsTUFBakIsRUFBeUJZLE9BQXpCLENBQWlDLFVBQUNDLFNBQUQsRUFBZTtBQUM5Q1csUUFBQUEsTUFBTSxDQUFDWCxTQUFELENBQU4sR0FBb0IsTUFBSSxDQUFDYixNQUFMLENBQVlhLFNBQVosRUFBdUJaLEtBQXZCLENBQTZCa0IsS0FBakQ7QUFDRCxPQUZEO0FBSUEsYUFBT0ssTUFBUDtBQUNEOzs7a0NBRWE7QUFBQTs7QUFDWixXQUFLRSxRQUFMLENBQWM7QUFDWnZCLFFBQUFBLFNBQVMsRUFBRSxLQURDO0FBRVpELFFBQUFBLE9BQU8sRUFBRTtBQUZHLE9BQWQ7QUFLQVEsTUFBQUEsTUFBTSxDQUFDQyxJQUFQLENBQVksS0FBS1gsTUFBakIsRUFBeUJZLE9BQXpCLENBQWlDLFVBQUNDLFNBQUQsRUFBZTtBQUM5QyxRQUFBLE1BQUksQ0FBQ2IsTUFBTCxDQUFZYSxTQUFaLEVBQXVCYyxLQUF2QjtBQUNELE9BRkQ7QUFHRDs7O2dDQUVtQjtBQUFBOztBQUNsQixVQUFNQyxNQUFNLEdBQUcsRUFBZjtBQUVBbEIsTUFBQUEsTUFBTSxDQUFDQyxJQUFQLENBQVksS0FBS1gsTUFBakIsRUFBeUJZLE9BQXpCLENBQWlDLFVBQUNDLFNBQUQsRUFBZTtBQUM5Q2UsUUFBQUEsTUFBTSxDQUFDZixTQUFELENBQU4sR0FBb0IsTUFBSSxDQUFDYixNQUFMLENBQVlhLFNBQVosRUFBdUJaLEtBQXZCLENBQTZCNEIsS0FBakQ7QUFDRCxPQUZEO0FBSUEsYUFBT0QsTUFBUDtBQUNEOzs7Ozs7Ozs7Ozs7OztBQUdPRSxnQkFBQUEsUSxHQUFZcEIsTUFBTSxDQUFDQyxJQUFQLENBQVksS0FBS1gsTUFBakIsRUFBeUIrQixHQUF6QixDQUE2QixVQUFDbEIsU0FBRDtBQUFBLHlCQUFlLE1BQUksQ0FBQ2IsTUFBTCxDQUFZYSxTQUFaLEVBQXVCSyxRQUF2QixFQUFmO0FBQUEsaUJBQTdCLEM7O3VCQUNNYyxPQUFPLENBQUNDLEdBQVIsQ0FBWUgsUUFBWixDOzs7QUFBbEJGLGdCQUFBQSxNO0FBQ0ExQixnQkFBQUEsTyxHQUFZMEIsTUFBTSxDQUFDTSxLQUFQLENBQWEsVUFBQ0wsS0FBRDtBQUFBLHlCQUFXLENBQUNBLEtBQVo7QUFBQSxpQkFBYixDO0FBRWxCLHFCQUFLSCxRQUFMLENBQWM7QUFBRXhCLGtCQUFBQSxPQUFPLEVBQVBBO0FBQUYsaUJBQWQ7aURBRU9BLE87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlQO0FBQ0E7QUFDQTtBQUNBO0FBQ01zQixnQkFBQUEsTSxHQUFTLEtBQUtXLFNBQUwsRSxFQUVmOzs7dUJBQ00sS0FBS2pCLFFBQUwsRTs7O29CQUVELEtBQUtqQixLQUFMLENBQVdDLE87Ozs7O2tEQUNQOEIsT0FBTyxDQUFDSSxNQUFSLENBQWUsS0FBS0MsU0FBTCxFQUFmLEM7OztrREFHRmIsTTs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VCQUdOYyxTLEVBQW1CQyxPLEVBQW1CO0FBQ3ZDLFdBQUtoQyxPQUFMLENBQWFpQyxTQUFiLENBQXVCRixTQUF2QixFQUFrQ0MsT0FBbEM7QUFDRDs7O3dCQUVHRCxTLEVBQW1CQyxPLEVBQW1CO0FBQ3hDLFdBQUtoQyxPQUFMLENBQWFrQyxXQUFiLENBQXlCSCxTQUF6QixFQUFvQ0MsT0FBcEM7QUFDRDs7Ozs7ZUFJWTFDLEkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXZlbnRzIGZyb20gJy4vRXZlbnRzJ1xuaW1wb3J0IEZpZWxkIGZyb20gJy4vRmllbGQnXG5cblxuZXhwb3J0IHR5cGUgRm9ybU9wdHMgPSB7XG4gIG5hbWU/OiBzdHJpbmdcbiAgZmllbGRzOiBvYmplY3RcbiAgaW5pdGlhbFZhbHVlcz86IG9iamVjdFxufVxuXG50eXBlIFN0YXRlID0ge1xuICBpc1ZhbGlkOiBib29sZWFuXG4gIGlzQ2hhbmdlZDogYm9vbGVhblxuICBpc1ZhbGlkYXRpbmc6IGJvb2xlYW5cbiAgaXNTdWJtaXR0aW5nOiBib29sZWFuXG4gIGlzU3VibWl0dGVkOiBib29sZWFuXG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICBpbml0aWFsVmFsdWVzOiB7fSxcbn1cblxuY2xhc3MgRm9ybSB7XG5cbiAgcHJpdmF0ZSBfZXZlbnRzOiBFdmVudHNcbiAgbmFtZTogc3RyaW5nXG4gIG9wdHM6IEZvcm1PcHRzXG4gIGZpZWxkczogb2JqZWN0XG4gIHN0YXRlOiBTdGF0ZVxuXG4gIGNvbnN0cnVjdG9yKG9wdHM6IEZvcm1PcHRzKSB7XG4gICAgdGhpcy5uYW1lICAgPSBvcHRzLm5hbWVcbiAgICB0aGlzLm9wdHMgICA9IHsgLi4uZGVmYXVsdE9wdGlvbnMsIC4uLm9wdHMgfVxuICAgIHRoaXMuZmllbGRzID0ge31cblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBpc1ZhbGlkOiB0cnVlLFxuICAgICAgaXNDaGFuZ2VkOiBmYWxzZSwgIC8vIFRPRE8gY29ubmVjdCB0byBGaWVsZFxuICAgICAgaXNWYWxpZGF0aW5nOiBmYWxzZSxcbiAgICAgIGlzU3VibWl0dGluZzogZmFsc2UsXG4gICAgICBpc1N1Ym1pdHRlZDogZmFsc2UsXG4gICAgfVxuXG4gICAgdGhpcy5fZXZlbnRzID0gbmV3IEV2ZW50cygpXG5cbiAgICB0aGlzLl9zZXR1cEZpZWxkcygpXG4gIH1cblxuICBwcml2YXRlIF9zZXR1cEZpZWxkcygpIHtcbiAgICBPYmplY3Qua2V5cyh0aGlzLm9wdHMuZmllbGRzKS5mb3JFYWNoKChmaWVsZE5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGluaXRpYWxWYWx1ZSAgPSB0aGlzLm9wdHMuaW5pdGlhbFZhbHVlcyAmJiB0aGlzLm9wdHMuaW5pdGlhbFZhbHVlc1tmaWVsZE5hbWVdXG4gICAgICBsZXQgZmllbGRPcHRzICAgICAgID0gdGhpcy5vcHRzLmZpZWxkc1tmaWVsZE5hbWVdXG5cbiAgICAgIGZpZWxkT3B0cyA9IEFycmF5LmlzQXJyYXkoZmllbGRPcHRzKSA/IHsgdmFsaWRhdGU6IGZpZWxkT3B0cyB9IDogZmllbGRPcHRzXG5cbiAgICAgIGlmICh0eXBlb2YgaW5pdGlhbFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBmaWVsZE9wdHMudmFsdWUgPSBpbml0aWFsVmFsdWVcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmllbGQgPSBuZXcgRmllbGQoZmllbGROYW1lLCBmaWVsZE9wdHMsIHRoaXMpXG5cbiAgICAgIHRoaXMuZmllbGRzW2ZpZWxkTmFtZV0gPSBmaWVsZFxuXG4gICAgICBmaWVsZC5vbignY2hhbmdlJywgKCkgPT4ge1xuICAgICAgICB0aGlzLl9ldmVudHMuZGlzcGF0Y2goJ2NoYW5nZScsIGZpZWxkKVxuICAgICAgfSlcblxuICAgICAgZmllbGQub24oJ2JsdXInLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuX2V2ZW50cy5kaXNwYXRjaCgnYmx1cicsIGZpZWxkKVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgc2V0U3RhdGUodmFsdWVzOiBQYXJ0aWFsPFN0YXRlPikge1xuICAgIHRoaXMuc3RhdGUgPSB7IC4uLnRoaXMuc3RhdGUsIC4uLnZhbHVlcyB9XG4gICAgdGhpcy5fZXZlbnRzLmRpc3BhdGNoKCdzdGF0ZSBjaGFuZ2UnLCB0aGlzLnN0YXRlKVxuICB9XG5cbiAgc2V0VmFsdWVzKHZhbHVlczogb2JqZWN0KSB7XG4gICAgLy8gVE9ETyBzaG91bGQgd2UgbWFyayBmb3JtIGFzIGNoYW5nZWQgYW5kIHZhbGlkYXRlIGl0P1xuICAgIE9iamVjdC5rZXlzKHZhbHVlcykuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZDogRmllbGQgPSB0aGlzLmZpZWxkc1tmaWVsZE5hbWVdXG5cbiAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICBmaWVsZC5zZXQodmFsdWVzW2ZpZWxkTmFtZV0pXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldFZhbHVlcygpOiBvYmplY3Qge1xuICAgIGNvbnN0IHZhbHVlcyA9IHt9XG5cbiAgICBPYmplY3Qua2V5cyh0aGlzLmZpZWxkcykuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgICB2YWx1ZXNbZmllbGROYW1lXSA9IHRoaXMuZmllbGRzW2ZpZWxkTmFtZV0uc3RhdGUudmFsdWVcbiAgICB9KVxuXG4gICAgcmV0dXJuIHZhbHVlc1xuICB9XG5cbiAgdW5zZXRWYWx1ZXMoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc0NoYW5nZWQ6IGZhbHNlLFxuICAgICAgaXNWYWxpZDogdHJ1ZSxcbiAgICB9KVxuXG4gICAgT2JqZWN0LmtleXModGhpcy5maWVsZHMpLmZvckVhY2goKGZpZWxkTmFtZSkgPT4ge1xuICAgICAgdGhpcy5maWVsZHNbZmllbGROYW1lXS51bnNldCgpXG4gICAgfSlcbiAgfVxuXG4gIGdldEVycm9ycygpOiBvYmplY3Qge1xuICAgIGNvbnN0IGVycm9ycyA9IHt9XG5cbiAgICBPYmplY3Qua2V5cyh0aGlzLmZpZWxkcykuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgICBlcnJvcnNbZmllbGROYW1lXSA9IHRoaXMuZmllbGRzW2ZpZWxkTmFtZV0uc3RhdGUuZXJyb3JcbiAgICB9KVxuXG4gICAgcmV0dXJuIGVycm9yc1xuICB9XG5cbiAgYXN5bmMgdmFsaWRhdGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcHJvbWlzZXMgID0gT2JqZWN0LmtleXModGhpcy5maWVsZHMpLm1hcCgoZmllbGROYW1lKSA9PiB0aGlzLmZpZWxkc1tmaWVsZE5hbWVdLnZhbGlkYXRlKCkpXG4gICAgY29uc3QgZXJyb3JzICAgID0gYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgY29uc3QgaXNWYWxpZCAgID0gZXJyb3JzLmV2ZXJ5KChlcnJvcikgPT4gIWVycm9yKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzVmFsaWQgfSlcblxuICAgIHJldHVybiBpc1ZhbGlkXG4gIH1cblxuICBhc3luYyBzdWJtaXQoKTogUHJvbWlzZTxvYmplY3Q+IHtcbiAgICAvLyB2YWxpZGF0aW9uIHRha2VzIHZhbHVlcyBvbiBzdGFydCBidXQgdXNlciBtYXkgY2hhbmdlIGZvcm0gdmFsdWVzIGFmdGVyIHRoaXMgbW9tZW50IGFuZCBiZWZvcmUgdGhlIHZhbGlkYXRpb24gZW5kXG4gICAgLy8gc28gaWYgZ2V0VmFsdWVzIGlzIGNhbGxlZCBhZnRlciB2YWxpZGF0ZSgpIC0gdmFsdWVzIG1heSBiZSBkaWZmZXJlbnQgaW4gdmFsaWRhdGlvbiBhbmQgcmVzdWx0IG9mIHN1bWJpdFxuICAgIC8vIHNvIHdlIHNob3VsZCBnZXQgZm9ybSB2YWx1ZXMgYmVmb3JlIGFzeW5jIHZhbGlkYXRpb25cbiAgICAvLyBUT0RPIGxvY2sgZmllbGRzIG9uIHZhbGlkYXRpb25zIHN0YXJ0XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXRWYWx1ZXMoKVxuXG4gICAgLy8gVE9ETyBkb24ndCB2YWxpZGF0ZSBpZiBhbGwgZmllbGRzIGFyZSBjaGFuZ2VkIGFuZCB2YWxpZFxuICAgIGF3YWl0IHRoaXMudmFsaWRhdGUoKVxuXG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCh0aGlzLmdldEVycm9ycygpKVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZXNcbiAgfVxuXG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiBGdW5jdGlvbikge1xuICAgIHRoaXMuX2V2ZW50cy5zdWJzY3JpYmUoZXZlbnROYW1lLCBoYW5kbGVyKVxuICB9XG5cbiAgb2ZmKGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiBGdW5jdGlvbikge1xuICAgIHRoaXMuX2V2ZW50cy51bnN1YnNjcmliZShldmVudE5hbWUsIGhhbmRsZXIpXG4gIH1cbn1cblxuXG5leHBvcnQgZGVmYXVsdCBGb3JtXG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Gb3JtLnRzIl0sIm5hbWVzIjpbImRlZmF1bHRPcHRpb25zIiwiaW5pdGlhbFZhbHVlcyIsIkZvcm0iLCJvcHRzIiwibmFtZSIsImZpZWxkcyIsInN0YXRlIiwiaXNWYWxpZCIsImlzQ2hhbmdlZCIsImlzVmFsaWRhdGluZyIsImlzU3VibWl0dGluZyIsImlzU3VibWl0dGVkIiwiX2V2ZW50cyIsIkV2ZW50cyIsIl9zZXR1cEZpZWxkcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiZmllbGROYW1lIiwiaW5pdGlhbFZhbHVlIiwiZmllbGRPcHRzIiwiQXJyYXkiLCJpc0FycmF5IiwidmFsaWRhdGUiLCJ2YWx1ZSIsImZpZWxkIiwiRmllbGQiLCJvbiIsImRpc3BhdGNoIiwidmFsdWVzIiwic2V0Iiwic2V0U3RhdGUiLCJ1bnNldCIsImVycm9ycyIsImVycm9yIiwicHJvbWlzZXMiLCJtYXAiLCJQcm9taXNlIiwiYWxsIiwiZXZlcnkiLCJnZXRWYWx1ZXMiLCJyZWplY3QiLCJnZXRFcnJvcnMiLCJldmVudE5hbWUiLCJoYW5kbGVyIiwic3Vic2NyaWJlIiwidW5zdWJzY3JpYmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQWlCQSxJQUFNQSxjQUFjLEdBQUc7QUFDckJDLEVBQUFBLGFBQWEsRUFBRTtBQURNLENBQXZCOztJQUlNQyxJOzs7QUFRSixnQkFBWUMsSUFBWixFQUE0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUMxQixTQUFLQyxJQUFMLEdBQWNELElBQUksQ0FBQ0MsSUFBbkI7QUFDQSxTQUFLRCxJQUFMLGlDQUFtQkgsY0FBbkIsTUFBc0NHLElBQXRDO0FBQ0EsU0FBS0UsTUFBTCxHQUFjLEVBQWQ7QUFFQSxTQUFLQyxLQUFMLEdBQWE7QUFDWEMsTUFBQUEsT0FBTyxFQUFFLElBREU7QUFFWEMsTUFBQUEsU0FBUyxFQUFFLEtBRkE7QUFFUTtBQUNuQkMsTUFBQUEsWUFBWSxFQUFFLEtBSEg7QUFJWEMsTUFBQUEsWUFBWSxFQUFFLEtBSkg7QUFLWEMsTUFBQUEsV0FBVyxFQUFFO0FBTEYsS0FBYjtBQVFBLFNBQUtDLE9BQUwsR0FBZSxJQUFJQyxrQkFBSixFQUFmOztBQUVBLFNBQUtDLFlBQUw7QUFDRDs7OzttQ0FFc0I7QUFBQTs7QUFDckJDLE1BQUFBLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLEtBQUtiLElBQUwsQ0FBVUUsTUFBdEIsRUFBOEJZLE9BQTlCLENBQXNDLFVBQUNDLFNBQUQsRUFBZTtBQUNuRCxZQUFNQyxZQUFZLEdBQUksS0FBSSxDQUFDaEIsSUFBTCxDQUFVRixhQUFWLElBQTJCLEtBQUksQ0FBQ0UsSUFBTCxDQUFVRixhQUFWLENBQXdCaUIsU0FBeEIsQ0FBakQ7QUFDQSxZQUFJRSxTQUFTLEdBQVMsS0FBSSxDQUFDakIsSUFBTCxDQUFVRSxNQUFWLENBQWlCYSxTQUFqQixDQUF0QjtBQUVBRSxRQUFBQSxTQUFTLEdBQUdDLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixTQUFkLElBQTJCO0FBQUVHLFVBQUFBLFFBQVEsRUFBRUg7QUFBWixTQUEzQixHQUFxREEsU0FBakU7QUFDQUEsUUFBQUEsU0FBUyxDQUFDaEIsSUFBVixHQUFpQmMsU0FBakI7O0FBRUEsWUFBSSxPQUFPQyxZQUFQLEtBQXdCLFdBQTVCLEVBQXlDO0FBQ3ZDQyxVQUFBQSxTQUFTLENBQUNJLEtBQVYsR0FBa0JMLFlBQWxCO0FBQ0Q7O0FBRUQsWUFBTU0sS0FBSyxHQUFHLElBQUlDLGlCQUFKLENBQVVOLFNBQVYsRUFBcUIsS0FBckIsQ0FBZDtBQUVBLFFBQUEsS0FBSSxDQUFDZixNQUFMLENBQVlhLFNBQVosSUFBeUJPLEtBQXpCO0FBRUFBLFFBQUFBLEtBQUssQ0FBQ0UsRUFBTixDQUFTLFFBQVQsRUFBbUIsWUFBTTtBQUN2QixVQUFBLEtBQUksQ0FBQ2YsT0FBTCxDQUFhZ0IsUUFBYixDQUFzQixRQUF0QixFQUFnQ0gsS0FBaEM7QUFDRCxTQUZEO0FBSUFBLFFBQUFBLEtBQUssQ0FBQ0UsRUFBTixDQUFTLE1BQVQsRUFBaUIsWUFBTTtBQUNyQixVQUFBLEtBQUksQ0FBQ2YsT0FBTCxDQUFhZ0IsUUFBYixDQUFzQixNQUF0QixFQUE4QkgsS0FBOUI7QUFDRCxTQUZEO0FBR0QsT0F0QkQ7QUF1QkQ7Ozs2QkFFUUksTSxFQUF3QjtBQUMvQixXQUFLdkIsS0FBTCxpQ0FBa0IsS0FBS0EsS0FBdkIsTUFBaUN1QixNQUFqQzs7QUFDQSxXQUFLakIsT0FBTCxDQUFhZ0IsUUFBYixDQUFzQixjQUF0QixFQUFzQyxLQUFLdEIsS0FBM0M7QUFDRDs7OzhCQUVTdUIsTSxFQUFnQjtBQUFBOztBQUN4QjtBQUNBZCxNQUFBQSxNQUFNLENBQUNDLElBQVAsQ0FBWWEsTUFBWixFQUFvQlosT0FBcEIsQ0FBNEIsVUFBQ0MsU0FBRCxFQUFlO0FBQ3pDLFlBQU1PLEtBQVksR0FBRyxNQUFJLENBQUNwQixNQUFMLENBQVlhLFNBQVosQ0FBckI7O0FBRUEsWUFBSU8sS0FBSixFQUFXO0FBQ1RBLFVBQUFBLEtBQUssQ0FBQ0ssR0FBTixDQUFVRCxNQUFNLENBQUNYLFNBQUQsQ0FBaEI7QUFDRDtBQUNGLE9BTkQ7QUFPRDs7O2dDQUVtQjtBQUFBOztBQUNsQixVQUFNVyxNQUFNLEdBQUcsRUFBZjtBQUVBZCxNQUFBQSxNQUFNLENBQUNDLElBQVAsQ0FBWSxLQUFLWCxNQUFqQixFQUF5QlksT0FBekIsQ0FBaUMsVUFBQ0MsU0FBRCxFQUFlO0FBQzlDVyxRQUFBQSxNQUFNLENBQUNYLFNBQUQsQ0FBTixHQUFvQixNQUFJLENBQUNiLE1BQUwsQ0FBWWEsU0FBWixFQUF1QlosS0FBdkIsQ0FBNkJrQixLQUFqRDtBQUNELE9BRkQ7QUFJQSxhQUFPSyxNQUFQO0FBQ0Q7OztrQ0FFYTtBQUFBOztBQUNaLFdBQUtFLFFBQUwsQ0FBYztBQUNadkIsUUFBQUEsU0FBUyxFQUFFLEtBREM7QUFFWkQsUUFBQUEsT0FBTyxFQUFFO0FBRkcsT0FBZDtBQUtBUSxNQUFBQSxNQUFNLENBQUNDLElBQVAsQ0FBWSxLQUFLWCxNQUFqQixFQUF5QlksT0FBekIsQ0FBaUMsVUFBQ0MsU0FBRCxFQUFlO0FBQzlDLFFBQUEsTUFBSSxDQUFDYixNQUFMLENBQVlhLFNBQVosRUFBdUJjLEtBQXZCO0FBQ0QsT0FGRDtBQUdEOzs7Z0NBRW1CO0FBQUE7O0FBQ2xCLFVBQU1DLE1BQU0sR0FBRyxFQUFmO0FBRUFsQixNQUFBQSxNQUFNLENBQUNDLElBQVAsQ0FBWSxLQUFLWCxNQUFqQixFQUF5QlksT0FBekIsQ0FBaUMsVUFBQ0MsU0FBRCxFQUFlO0FBQzlDZSxRQUFBQSxNQUFNLENBQUNmLFNBQUQsQ0FBTixHQUFvQixNQUFJLENBQUNiLE1BQUwsQ0FBWWEsU0FBWixFQUF1QlosS0FBdkIsQ0FBNkI0QixLQUFqRDtBQUNELE9BRkQ7QUFJQSxhQUFPRCxNQUFQO0FBQ0Q7Ozs7Ozs7Ozs7Ozs7O0FBR09FLGdCQUFBQSxRLEdBQVlwQixNQUFNLENBQUNDLElBQVAsQ0FBWSxLQUFLWCxNQUFqQixFQUF5QitCLEdBQXpCLENBQTZCLFVBQUNsQixTQUFEO0FBQUEseUJBQWUsTUFBSSxDQUFDYixNQUFMLENBQVlhLFNBQVosRUFBdUJLLFFBQXZCLEVBQWY7QUFBQSxpQkFBN0IsQzs7dUJBQ01jLE9BQU8sQ0FBQ0MsR0FBUixDQUFZSCxRQUFaLEM7OztBQUFsQkYsZ0JBQUFBLE07QUFDQTFCLGdCQUFBQSxPLEdBQVkwQixNQUFNLENBQUNNLEtBQVAsQ0FBYSxVQUFDTCxLQUFEO0FBQUEseUJBQVcsQ0FBQ0EsS0FBWjtBQUFBLGlCQUFiLEM7QUFFbEIscUJBQUtILFFBQUwsQ0FBYztBQUFFeEIsa0JBQUFBLE9BQU8sRUFBUEE7QUFBRixpQkFBZDtpREFFT0EsTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSVA7QUFDQTtBQUNBO0FBQ0E7QUFDTXNCLGdCQUFBQSxNLEdBQVMsS0FBS1csU0FBTCxFLEVBRWY7Ozt1QkFDTSxLQUFLakIsUUFBTCxFOzs7b0JBRUQsS0FBS2pCLEtBQUwsQ0FBV0MsTzs7Ozs7a0RBQ1A4QixPQUFPLENBQUNJLE1BQVIsQ0FBZSxLQUFLQyxTQUFMLEVBQWYsQzs7O2tEQUdGYixNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7dUJBR05jLFMsRUFBbUJDLE8sRUFBbUI7QUFDdkMsV0FBS2hDLE9BQUwsQ0FBYWlDLFNBQWIsQ0FBdUJGLFNBQXZCLEVBQWtDQyxPQUFsQztBQUNEOzs7d0JBRUdELFMsRUFBbUJDLE8sRUFBbUI7QUFDeEMsV0FBS2hDLE9BQUwsQ0FBYWtDLFdBQWIsQ0FBeUJILFNBQXpCLEVBQW9DQyxPQUFwQztBQUNEOzs7OztlQUlZMUMsSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFdmVudHMgZnJvbSAnLi9FdmVudHMnXG5pbXBvcnQgRmllbGQgZnJvbSAnLi9GaWVsZCdcblxuXG5leHBvcnQgdHlwZSBGb3JtT3B0cyA9IHtcbiAgbmFtZT86IHN0cmluZ1xuICBmaWVsZHM6IG9iamVjdFxuICBpbml0aWFsVmFsdWVzPzogb2JqZWN0XG59XG5cbnR5cGUgU3RhdGUgPSB7XG4gIGlzVmFsaWQ6IGJvb2xlYW5cbiAgaXNDaGFuZ2VkOiBib29sZWFuXG4gIGlzVmFsaWRhdGluZzogYm9vbGVhblxuICBpc1N1Ym1pdHRpbmc6IGJvb2xlYW5cbiAgaXNTdWJtaXR0ZWQ6IGJvb2xlYW5cbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG4gIGluaXRpYWxWYWx1ZXM6IHt9LFxufVxuXG5jbGFzcyBGb3JtIHtcblxuICBwcml2YXRlIF9ldmVudHM6IEV2ZW50c1xuICBuYW1lOiBzdHJpbmdcbiAgb3B0czogRm9ybU9wdHNcbiAgZmllbGRzOiBvYmplY3RcbiAgc3RhdGU6IFN0YXRlXG5cbiAgY29uc3RydWN0b3Iob3B0czogRm9ybU9wdHMpIHtcbiAgICB0aGlzLm5hbWUgICA9IG9wdHMubmFtZVxuICAgIHRoaXMub3B0cyAgID0geyAuLi5kZWZhdWx0T3B0aW9ucywgLi4ub3B0cyB9XG4gICAgdGhpcy5maWVsZHMgPSB7fVxuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgICBpc0NoYW5nZWQ6IGZhbHNlLCAgLy8gVE9ETyBjb25uZWN0IHRvIEZpZWxkXG4gICAgICBpc1ZhbGlkYXRpbmc6IGZhbHNlLFxuICAgICAgaXNTdWJtaXR0aW5nOiBmYWxzZSxcbiAgICAgIGlzU3VibWl0dGVkOiBmYWxzZSxcbiAgICB9XG5cbiAgICB0aGlzLl9ldmVudHMgPSBuZXcgRXZlbnRzKClcblxuICAgIHRoaXMuX3NldHVwRmllbGRzKClcbiAgfVxuXG4gIHByaXZhdGUgX3NldHVwRmllbGRzKCkge1xuICAgIE9iamVjdC5rZXlzKHRoaXMub3B0cy5maWVsZHMpLmZvckVhY2goKGZpZWxkTmFtZSkgPT4ge1xuICAgICAgY29uc3QgaW5pdGlhbFZhbHVlICA9IHRoaXMub3B0cy5pbml0aWFsVmFsdWVzICYmIHRoaXMub3B0cy5pbml0aWFsVmFsdWVzW2ZpZWxkTmFtZV1cbiAgICAgIGxldCBmaWVsZE9wdHMgICAgICAgPSB0aGlzLm9wdHMuZmllbGRzW2ZpZWxkTmFtZV1cblxuICAgICAgZmllbGRPcHRzID0gQXJyYXkuaXNBcnJheShmaWVsZE9wdHMpID8geyB2YWxpZGF0ZTogZmllbGRPcHRzIH0gOiBmaWVsZE9wdHNcbiAgICAgIGZpZWxkT3B0cy5uYW1lID0gZmllbGROYW1lXG5cbiAgICAgIGlmICh0eXBlb2YgaW5pdGlhbFZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBmaWVsZE9wdHMudmFsdWUgPSBpbml0aWFsVmFsdWVcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmllbGQgPSBuZXcgRmllbGQoZmllbGRPcHRzLCB0aGlzKVxuXG4gICAgICB0aGlzLmZpZWxkc1tmaWVsZE5hbWVdID0gZmllbGRcblxuICAgICAgZmllbGQub24oJ2NoYW5nZScsICgpID0+IHtcbiAgICAgICAgdGhpcy5fZXZlbnRzLmRpc3BhdGNoKCdjaGFuZ2UnLCBmaWVsZClcbiAgICAgIH0pXG5cbiAgICAgIGZpZWxkLm9uKCdibHVyJywgKCkgPT4ge1xuICAgICAgICB0aGlzLl9ldmVudHMuZGlzcGF0Y2goJ2JsdXInLCBmaWVsZClcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIHNldFN0YXRlKHZhbHVlczogUGFydGlhbDxTdGF0ZT4pIHtcbiAgICB0aGlzLnN0YXRlID0geyAuLi50aGlzLnN0YXRlLCAuLi52YWx1ZXMgfVxuICAgIHRoaXMuX2V2ZW50cy5kaXNwYXRjaCgnc3RhdGUgY2hhbmdlJywgdGhpcy5zdGF0ZSlcbiAgfVxuXG4gIHNldFZhbHVlcyh2YWx1ZXM6IG9iamVjdCkge1xuICAgIC8vIFRPRE8gc2hvdWxkIHdlIG1hcmsgZm9ybSBhcyBjaGFuZ2VkIGFuZCB2YWxpZGF0ZSBpdD9cbiAgICBPYmplY3Qua2V5cyh2YWx1ZXMpLmZvckVhY2goKGZpZWxkTmFtZSkgPT4ge1xuICAgICAgY29uc3QgZmllbGQ6IEZpZWxkID0gdGhpcy5maWVsZHNbZmllbGROYW1lXVxuXG4gICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgZmllbGQuc2V0KHZhbHVlc1tmaWVsZE5hbWVdKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnZXRWYWx1ZXMoKTogb2JqZWN0IHtcbiAgICBjb25zdCB2YWx1ZXMgPSB7fVxuXG4gICAgT2JqZWN0LmtleXModGhpcy5maWVsZHMpLmZvckVhY2goKGZpZWxkTmFtZSkgPT4ge1xuICAgICAgdmFsdWVzW2ZpZWxkTmFtZV0gPSB0aGlzLmZpZWxkc1tmaWVsZE5hbWVdLnN0YXRlLnZhbHVlXG4gICAgfSlcblxuICAgIHJldHVybiB2YWx1ZXNcbiAgfVxuXG4gIHVuc2V0VmFsdWVzKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaXNDaGFuZ2VkOiBmYWxzZSxcbiAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgfSlcblxuICAgIE9iamVjdC5rZXlzKHRoaXMuZmllbGRzKS5mb3JFYWNoKChmaWVsZE5hbWUpID0+IHtcbiAgICAgIHRoaXMuZmllbGRzW2ZpZWxkTmFtZV0udW5zZXQoKVxuICAgIH0pXG4gIH1cblxuICBnZXRFcnJvcnMoKTogb2JqZWN0IHtcbiAgICBjb25zdCBlcnJvcnMgPSB7fVxuXG4gICAgT2JqZWN0LmtleXModGhpcy5maWVsZHMpLmZvckVhY2goKGZpZWxkTmFtZSkgPT4ge1xuICAgICAgZXJyb3JzW2ZpZWxkTmFtZV0gPSB0aGlzLmZpZWxkc1tmaWVsZE5hbWVdLnN0YXRlLmVycm9yXG4gICAgfSlcblxuICAgIHJldHVybiBlcnJvcnNcbiAgfVxuXG4gIGFzeW5jIHZhbGlkYXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHByb21pc2VzICA9IE9iamVjdC5rZXlzKHRoaXMuZmllbGRzKS5tYXAoKGZpZWxkTmFtZSkgPT4gdGhpcy5maWVsZHNbZmllbGROYW1lXS52YWxpZGF0ZSgpKVxuICAgIGNvbnN0IGVycm9ycyAgICA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgIGNvbnN0IGlzVmFsaWQgICA9IGVycm9ycy5ldmVyeSgoZXJyb3IpID0+ICFlcnJvcilcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1ZhbGlkIH0pXG5cbiAgICByZXR1cm4gaXNWYWxpZFxuICB9XG5cbiAgYXN5bmMgc3VibWl0KCk6IFByb21pc2U8b2JqZWN0PiB7XG4gICAgLy8gdmFsaWRhdGlvbiB0YWtlcyB2YWx1ZXMgb24gc3RhcnQgYnV0IHVzZXIgbWF5IGNoYW5nZSBmb3JtIHZhbHVlcyBhZnRlciB0aGlzIG1vbWVudCBhbmQgYmVmb3JlIHRoZSB2YWxpZGF0aW9uIGVuZFxuICAgIC8vIHNvIGlmIGdldFZhbHVlcyBpcyBjYWxsZWQgYWZ0ZXIgdmFsaWRhdGUoKSAtIHZhbHVlcyBtYXkgYmUgZGlmZmVyZW50IGluIHZhbGlkYXRpb24gYW5kIHJlc3VsdCBvZiBzdW1iaXRcbiAgICAvLyBzbyB3ZSBzaG91bGQgZ2V0IGZvcm0gdmFsdWVzIGJlZm9yZSBhc3luYyB2YWxpZGF0aW9uXG4gICAgLy8gVE9ETyBsb2NrIGZpZWxkcyBvbiB2YWxpZGF0aW9ucyBzdGFydFxuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZ2V0VmFsdWVzKClcblxuICAgIC8vIFRPRE8gZG9uJ3QgdmFsaWRhdGUgaWYgYWxsIGZpZWxkcyBhcmUgY2hhbmdlZCBhbmQgdmFsaWRcbiAgICBhd2FpdCB0aGlzLnZhbGlkYXRlKClcblxuICAgIGlmICghdGhpcy5zdGF0ZS5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QodGhpcy5nZXRFcnJvcnMoKSlcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVzXG4gIH1cblxuICBvbihldmVudE5hbWU6IHN0cmluZywgaGFuZGxlcjogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9ldmVudHMuc3Vic2NyaWJlKGV2ZW50TmFtZSwgaGFuZGxlcilcbiAgfVxuXG4gIG9mZihldmVudE5hbWU6IHN0cmluZywgaGFuZGxlcjogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9ldmVudHMudW5zdWJzY3JpYmUoZXZlbnROYW1lLCBoYW5kbGVyKVxuICB9XG59XG5cblxuZXhwb3J0IGRlZmF1bHQgRm9ybVxuIl19 |
{ | ||
"name": "formular", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"author": "Pavel Ivanov", | ||
@@ -5,0 +5,0 @@ "description": "Build forms in React. Easy-Peasy!", |
325
README.md
@@ -1,308 +0,51 @@ | ||
# Form | ||
# Formular | ||
## Usage | ||
Easy way to work with forms in React. Using React Hooks 😏 | ||
### Form initialization | ||
```js | ||
import Form from 'formular' | ||
## Quick start | ||
const form = new Form({ | ||
fields: { | ||
email: { | ||
validate: [ required, email ], | ||
}, | ||
}, | ||
initialValues: { | ||
email: 'test-email@test.com', | ||
}, | ||
}) | ||
#### Installation | ||
``` | ||
npm install | ||
``` | ||
### In React | ||
#### Usage | ||
```jsx | ||
import { Input } from 'formular/react/tags' | ||
```jsx harmony | ||
const App = () => { | ||
const form = useMemo(() => ( | ||
new Form({ | ||
fields: { | ||
email: [ required ], | ||
password: [ required ], | ||
}, | ||
}) | ||
), []) | ||
const handleSubmit = () => form.submit() | ||
const Form = () => ( | ||
<form> | ||
return ( | ||
<Input field={form.fields.email} /> | ||
<button onClick={handleSubmit)>Submit</button> | ||
</form> | ||
) | ||
) | ||
} | ||
``` | ||
## Form | ||
Or if you need only one field you can just do | ||
### Properties | ||
```jsx harmony | ||
const App = () => { | ||
const field = useMemo(() => ( | ||
new Field({ | ||
validate: [ required ], | ||
}) | ||
), []) | ||
`opts: object` | ||
Your form options. | ||
`fields: object` | ||
Your form fields. | ||
`isValid: boolean` | ||
Keeps form validation state. Default is `true`. | ||
`isChanged: boolean` | ||
Tells if form has been changed. Default is `false`. | ||
### Methods | ||
`setInitialValues: (values: object) => void` | ||
Calls `field.setInitialValue(value)` for every form field. | ||
`setValues: (values: object) => void` | ||
Calls `field.set(value)` for every form field. | ||
`unsetValues: () => void` | ||
Calls `field.unset()` for every form field. | ||
`getValues: () => object` | ||
Returns current form field values. | ||
`getErrors: () => object` | ||
Returns current form field errors. | ||
`validate: async () => boolean` | ||
Fires form validation and returns resulted validation state. | ||
`submit: async () => object` | ||
Calls `validate` method and then if form passed the validation it returns `getValues` result. If not, it returns `getErrors` result. | ||
`on: (eventName: string, handler: Function) => void` | ||
Subscribes `handler` to the event with certain `eventName`. | ||
`off: (eventName: string, handler: Function) => void` | ||
Unsubscribes `handler` from the event with certain `eventName`. | ||
## Field | ||
### Usage | ||
```js | ||
const options = { | ||
validate: [ required, email ], | ||
value: 'test-email@test.com', | ||
return ( | ||
<Input field={field} /> | ||
) | ||
} | ||
const emailField = new Field('email', options) | ||
const passwordField = new Field('password', [ required ]) | ||
``` | ||
Your field options can be either object or array. If it's an array, it will be used as `options.validate` param. | ||
## Examples | ||
`options.validate: array` | ||
An array of your field validators. | ||
`options.value?: any` | ||
Your field initial value. | ||
`options.hasAsyncValidators?: boolean` | ||
Determines if your field has async validators. Default is `false`. | ||
### Properties | ||
`node: Node` | ||
Field's html node ref. | ||
`name: string` | ||
Field's name. | ||
`validators: array` | ||
Array of field's validators. | ||
`value: any` | ||
Field's value. | ||
`initialValue: any` | ||
Field's initial value. | ||
`error: string` | ||
Field's error. | ||
`isChanged: boolean` | ||
Determines whether field was changed. Default is `false`. | ||
`isValid: boolean` | ||
Determines whether field passed validation. Default is `true`. | ||
`cancelablePromise: Promise` | ||
TODO | ||
`hasAsyncValidators: boolean` | ||
Determines whether field has async validators. Default is `false`. | ||
`debounceValidate: Function` | ||
TODO | ||
### Methods | ||
`setInitialValue: (value: any) => void` | ||
Sets field's initial value. | ||
`setRef: (node: Node) => void` | ||
Sets field's node ref. | ||
`unsetRef: (node: Node) => void` | ||
Unsets field's node ref. | ||
`setInitialValue: (value: any) => void` | ||
Sets field's initial value. | ||
`handleBlur: () => void` | ||
TODO | ||
`set: (value: any) => void` | ||
Sets field's new value. New value is set when it is not equal to current value. | ||
`unset: () => void` | ||
Unsets field. | ||
`validate: async () => string` | ||
Fires field validation and returns validation error. | ||
`on: (eventName: string, handler: Function) => void` | ||
Subscribes `handler` to the event with certain `eventName`. | ||
`off: (eventName: string, handler: Function) => void` | ||
Unsubscribes `handler` from the event with certain `eventName`. | ||
## FormGroup | ||
### Usage | ||
If you are using several forms and you need to control them in one place you can combine them using `FormGroup` | ||
```js | ||
import Form, { FormGroup } from 'formular' | ||
const shippingAddressForm = new Form({ | ||
fields: { | ||
zip: [ required ], | ||
address: [ required ], | ||
city: [ required ], | ||
country: [ required ], | ||
}, | ||
}) | ||
const creditCardForm = new Form({ | ||
fields: { | ||
cardNumber: [ required ], | ||
expDate: [ required ], | ||
cvv: [ required ], | ||
}, | ||
}) | ||
const formGroup = new FormGroup({ shippingAddressForm, creditCardForm }) | ||
``` | ||
### Properties | ||
`forms: object` | ||
An object containing forms instances. | ||
### Methods | ||
`replace: (forms: object) => void` | ||
Reinitialises your form group with new `forms`. | ||
`validate: () => boolean` | ||
Calls `validate` method for each form in form group and returns validation result. If one of the forms is not valid then the result is `false`, otherwise the result is `true`. | ||
`setValues: (values: object) => void` | ||
Calls `setValues` method for each form in form group if `values['yourFormName'] exists. | ||
`getValues: () => object` | ||
Calls `getValues` for each form and returns an object containing these values. | ||
`unsetValues: () => object` | ||
Calls `unsetValues` for each form. | ||
`submit: () => object` | ||
Calls `validate` method and then if forms passed the validation returns `getValues` result. If not, it returns `getErrors` result. | ||
`on: (eventName: string, handler: Function) => void` | ||
Subscribes `handler` to the event with certain `eventName`. | ||
`off: (eventName: string, handler: Function) => void` | ||
Unsubscribes `handler` from the event with certain `eventName`. | ||
## To run examples | ||
``` | ||
npx babel-node examples/validate-form.js | ||
``` | ||
## TODOs | ||
- [x] Pass initial values in options | ||
- [x] Set initial values | ||
- [x] Validate form | ||
- [x] Validate one field | ||
- [x] Group forms to one container (group) | ||
- [x] Validate forms group | ||
- [x] Async validation | ||
- [x] Validate field on blur | ||
- [x] Validate field on each change if it has been already validated | ||
- [x] Validate field on each change if form was submitted | ||
- [ ] 'isChanged' on field, form, forms group | ||
- [ ] Get forms group state (values, isChanged, etc) | ||
- [ ] Set state to forms group | ||
- [ ] Reset form to default state, options, etc | ||
- [ ] Add option to `setValues()` to allow set values without validation each field | ||
- [ ] Checkbox and Radio support (boolean checked, value) | ||
- [ ] Memo for async validators (decorator) | ||
- [ ] Option for validation debounce timeout | ||
- [Basics](https://codesandbox.io/s/formular-basics-cke7r) |
@@ -7,2 +7,3 @@ import Events from './Events' | ||
export type FieldOpts = { | ||
name?: string | ||
node?: HTMLElement | ||
@@ -27,3 +28,3 @@ value?: string | ||
form: Form | ||
name: string | ||
name?: string | ||
opts: FieldOpts | ||
@@ -44,6 +45,6 @@ node: HTMLElement | ||
constructor(name: string, opts: FieldOpts = {}, form?: Form) { | ||
constructor(opts: FieldOpts = {}, form?: Form) { | ||
this.form = form | ||
this.name = name | ||
this.opts = opts | ||
this.name = opts.name | ||
this.node = opts.node | ||
@@ -50,0 +51,0 @@ this.readOnly = opts.readOnly || false |
@@ -55,2 +55,3 @@ import Events from './Events' | ||
fieldOpts = Array.isArray(fieldOpts) ? { validate: fieldOpts } : fieldOpts | ||
fieldOpts.name = fieldName | ||
@@ -61,3 +62,3 @@ if (typeof initialValue !== 'undefined') { | ||
const field = new Field(fieldName, fieldOpts, this) | ||
const field = new Field(fieldOpts, this) | ||
@@ -64,0 +65,0 @@ this.fields[fieldName] = field |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
2728
0
261851
52