@resolveio/client-lib-core 1.1.32 → 1.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -150,6 +150,14 @@ export class ValidationService {
150
150
  return { 'minLengthArray': { valid: false } };
151
151
  };
152
152
  }
153
+ maxLengthArray(max) {
154
+ return (c) => {
155
+ if (c.value && c.value.length <= max) {
156
+ return null;
157
+ }
158
+ return { 'maxLengthArray': { valid: false } };
159
+ };
160
+ }
153
161
  validIPAddress(c) {
154
162
  let regEx = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/;
155
163
  if (c.value === '' || c.value === null) {
@@ -174,4 +182,4 @@ ValidationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
174
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: ValidationService, decorators: [{
175
183
  type: Injectable
176
184
  }], ctorParameters: function () { return []; } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3V0aWwvdmFsaWRhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBR3pDLE1BQU0sT0FBTyxpQkFBaUI7SUFFN0IsZ0JBQWdCLENBQUM7SUFFakIseUJBQXlCLENBQUMsQ0FBYztRQUN2QyxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUM7UUFFekIsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQztTQUNaO1FBRUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuQyx5QkFBeUIsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7U0FDM0MsQ0FBQztJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxDQUFjO1FBQ2xDLElBQUksS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUV2QixJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDO1NBQ1o7UUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25DLG9CQUFvQixFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtTQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLENBQWM7UUFDekMsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7UUFF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dkMsT0FBTyxJQUFJLENBQUM7U0FDWjtRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbkMsY0FBYyxFQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtTQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQixDQUFDLENBQWM7UUFDcEMsSUFBSSxLQUFLLEdBQUcsa0JBQWtCLENBQUM7UUFFL0IsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQztTQUNaO1FBRUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuQyxzQkFBc0IsRUFBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7U0FDekMsQ0FBQztJQUNILENBQUM7OzhHQTdOVyxpQkFBaUI7a0hBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25TZXJ2aWNlIHtcblxuXHRjb25zdHJ1Y3RvcigpIHsgfVxuXG5cdHdob2xlTnVtYmVyc0FsbG93TmVnYXRpdmUoYzogRm9ybUNvbnRyb2wpIHtcblx0XHRsZXQgcmVnRXggPSAvXltcXC1dP1xcZCskLztcblxuXHRcdGlmIChjLnZhbHVlID09PSAnJyB8fCBjLnZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVnRXgudGVzdChjLnZhbHVlKSA/IG51bGwgOiB7XG5cdFx0XHR3aG9sZU51bWJlcnNBbGxvd05lZ2F0aXZlOiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxuXG5cdHdob2xlTnVtYmVyc1dpdGhaZXJvKGM6IEZvcm1Db250cm9sKSB7XG5cdFx0bGV0IHJlZ0V4ID0gL15bMC05XSokLztcblxuXHRcdGlmIChjLnZhbHVlID09PSAnJyB8fCBjLnZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVnRXgudGVzdChjLnZhbHVlKSA/IG51bGwgOiB7XG5cdFx0XHR3aG9sZU51bWJlcnNXaXRoWmVybzogeyB2YWxpZDogZmFsc2UgfVxuXHRcdH07XG5cdH1cblxuXHR3aG9sZU51bWJlcnNHcmVhdGVyVGhhblplcm8oYzogRm9ybUNvbnRyb2wpIHtcblx0XHRsZXQgcmVnRXggPSAvXlsxLTldK1swLTldKiQvO1xuXG5cdFx0aWYgKGMudmFsdWUgPT09ICcnIHx8IGMudmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiByZWdFeC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IHtcblx0XHRcdHdob2xlTnVtYmVyc0dyZWF0ZXJUaGFuWmVybzogeyB2YWxpZDogZmFsc2UgfVxuXHRcdH07XG5cdH1cblxuXHRkZWNpbWFsV2l0aFplcm8oYzogRm9ybUNvbnRyb2wpIHtcblx0XHRsZXQgcmVnRXggPSAvXlxcZCpcXC4/XFxkKiQvO1xuXG5cdFx0aWYgKGMudmFsdWUgPT09ICcnIHx8IGMudmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRcblx0XHRyZXR1cm4gcmVnRXgudGVzdChjLnZhbHVlKSA/IG51bGwgOiB7XG5cdFx0XHRkZWNpbWFsV2l0aFplcm8gOiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxuXG5cdGRlY2ltYWxHcmVhdGVyVGhhblplcm8oYzogRm9ybUNvbnRyb2wpIHtcblx0XHRsZXQgcmVnRXggPSAvXlxccyooPz0uKlsxLTldKVxcZCooPzpcXC5cXGR7MSwxMH0pP1xccyokLztcblxuXHRcdGlmIChjLnZhbHVlID09PSAnJyB8fCBjLnZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0XG5cdFx0cmV0dXJuIHJlZ0V4LnRlc3QoYy52YWx1ZSkgPyBudWxsIDoge1xuXHRcdFx0ZGVjaW1hbEdyZWF0ZXJUaGFuWmVybyA6IHsgdmFsaWQ6IGZhbHNlIH1cblx0XHR9O1xuXHR9XG5cblx0Y3VycmVuY3koYzogRm9ybUNvbnRyb2wpIHtcblx0XHRsZXQgcmVnRXggPSAvXlswLTldXFxkKihcXC5cXGQrKT8kLztcblxuXHRcdGlmIChjLnZhbHVlID09PSAnJyB8fCBjLnZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVnRXgudGVzdChjLnZhbHVlKSA/IG51bGwgOiB7XG5cdFx0XHRjdXJyZW5jeTogeyB2YWxpZDogZmFsc2UgfVxuXHRcdH07XG5cdH1cblxuXHRjdXJyZW5jeUdyZWF0ZXJUaGFuWmVybyhjOiBGb3JtQ29udHJvbCkge1xuXHRcdGxldCByZWdFeCA9IC9eWzAtOV1cXGQqKFxcLlxcZCspPyQvO1xuXG5cdFx0aWYgKGMudmFsdWUgPT09ICcnIHx8IGMudmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiByZWdFeC50ZXN0KGMudmFsdWUpICYmIGMudmFsdWUgPiAwID8gbnVsbCA6IHtcblx0XHRcdGN1cnJlbmN5OiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxuXG5cdGN1cnJlbmN5QWxsb3dOZWdhdGl2ZShjOiBGb3JtQ29udHJvbCkge1xuXHRcdGxldCByZWdFeCA9IC9eW1xcLV0/WzAtOV1cXGQqKFxcLlxcZCspPyQvO1xuXG5cdFx0aWYgKGMudmFsdWUgPT09ICcnIHx8IGMudmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiByZWdFeC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IHtcblx0XHRcdGN1cnJlbmN5OiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxuXG5cdHBob25lTnVtYmVyKGM6IEZvcm1Db250cm9sKSB7XG5cdFx0Ly9sZXQgcmVnRXggPSAvXig/Oig/OlxcKz8xXFxzKig/OlsuLV1cXHMqKT8pPyg/OlxcKFxccyooWzItOV0xWzAyLTldfFsyLTldWzAyLThdMXxbMi05XVswMi04XVswMi05XSlcXHMqXFwpfChbMi05XTFbMDItOV18WzItOV1bMDItOF0xfFsyLTldWzAyLThdWzAyLTldKSlcXHMqKD86Wy4tXVxccyopPyk/KFsyLTldMVswMi05XXxbMi05XVswMi05XTF8WzItOV1bMDItOV17Mn0pXFxzKig/OlsuLV1cXHMqKT8oWzAtOV17NH0pKD86XFxzKig/OiN8eFxcLj98ZXh0XFwuP3xleHRlbnNpb24pXFxzKihcXGQrKSk/JC87XG5cdFx0bGV0IHJlZ0V4ID0gL14xPyhbMi05XSkoXFxkezl9KS87XG5cblx0XHRpZiAoYy52YWx1ZSA9PT0gJycgfHwgYy52YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlZ0V4LnRlc3QoYy52YWx1ZSkgPyBudWxsIDoge1xuXHRcdFx0cGhvbmVOdW1iZXI6IHsgdmFsaWQ6IGZhbHNlIH1cblx0XHR9O1xuXHR9XG5cblx0ZW1haWwoYzogRm9ybUNvbnRyb2wpIHtcblx0XHRsZXQgcmVnRXggPSAvXigoW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKyhcXC5bXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKSopfChcIi4rXCIpKUAoKFxcW1swLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31dKXwoKFthLXpBLVpcXC0wLTldK1xcLikrW2EtekEtWl17Mix9KSkkLztcblxuXHRcdGlmIChjLnZhbHVlID09PSAnJyB8fCBjLnZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVnRXgudGVzdChjLnZhbHVlKSA/IG51bGwgOiB7XG5cdFx0XHRlbWFpbDogeyB2YWxpZDogZmFsc2UgfVxuXHRcdH07XG5cdH1cblxuXHRtYXRjaFBhc3N3b3JkKGdyb3VwOiBGb3JtR3JvdXApOiBhbnkge1xuXHRcdGxldCBwYXNzd29yZCA9IDxGb3JtQ29udHJvbD5ncm91cC5jb250cm9sc1sncGFzc3dvcmQnXTtcblx0XHRsZXQgY29uZmlybV9wYXNzd29yZCA9IDxGb3JtQ29udHJvbD5ncm91cC5jb250cm9sc1snY29uZmlybV9wYXNzd29yZCddO1xuXG5cdFx0aWYgKCFwYXNzd29yZC52YWx1ZSB8fCAhY29uZmlybV9wYXNzd29yZC52YWx1ZSkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSBcblxuXHRcdHJldHVybiAocGFzc3dvcmQudmFsdWUgPT09IGNvbmZpcm1fcGFzc3dvcmQudmFsdWUpID8gbnVsbCA6IHtcblx0XHRcdG1hdGNoUGFzc3dvcmQgOiB7IGlzVmFsaWQ6IGZhbHNlIH1cblx0XHR9O1xuXHR9XG5cblx0ZGVuc2l0eShjOiBGb3JtQ29udHJvbCkge1xuXHRcdGxldCByZWdFeCA9IC9eW1xcLV0/XFxkKlxcLj9cXGQqJC87XG5cblx0XHRpZiAoYy52YWx1ZSA9PT0gJycgfHwgYy52YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlZ0V4LnRlc3QoYy52YWx1ZSkgPyBudWxsIDoge1xuXHRcdFx0ZGVuc2l0eTogeyB2YWxpZDogZmFsc2UgfVxuXHRcdH07XG5cdH1cblxuXHRtYXhWYWx1ZShtYXg6IG51bWJlcikge1xuXHRcdHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKToge1trZXk6IHN0cmluZ106IGFueX0gPT4ge1xuXHRcdFx0Y29uc3QgaW5wdXQgPSB0eXBlb2YoY29udHJvbC52YWx1ZSkgPT09ICdzdHJpbmcnID8gcGFyc2VGbG9hdChjb250cm9sLnZhbHVlKSA6IGNvbnRyb2wudmFsdWU7XG5cdFx0XHRjb25zdCBoYXNFcnJvciA9IGlucHV0ID4gbWF4O1xuXG5cdFx0XHRpZiAoaGFzRXJyb3IpIHtcblx0XHRcdFx0cmV0dXJuIHsgJ21heFZhbHVlJzoge21heH0gfTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fTsgXG5cdH1cblxuXHRtaW5WYWx1ZShtaW46IG51bWJlcikge1xuXHRcdHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKToge1trZXk6IHN0cmluZ106IGFueX0gPT4ge1xuXHRcdFx0Y29uc3QgaW5wdXQgPSB0eXBlb2YoY29udHJvbC52YWx1ZSkgPT09ICdzdHJpbmcnID8gcGFyc2VGbG9hdChjb250cm9sLnZhbHVlKSA6IGNvbnRyb2wudmFsdWU7XG5cdFx0XHRjb25zdCBoYXNFcnJvciA9IGlucHV0IDwgbWluO1xuXG5cdFx0XHRpZiAoaGFzRXJyb3IpIHtcblx0XHRcdFx0cmV0dXJuIHsgJ21pblZhbHVlJzoge21pbn0gfTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fTsgXG5cdH1cblxuXHRtdWx0aXBsZU9mKHZhbHVlOiBudW1iZXIpIHtcblx0XHRyZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHtba2V5OiBzdHJpbmddOiBhbnl9ID0+IHtcblx0XHRcdGNvbnN0IGlucHV0ID0gdHlwZW9mKGNvbnRyb2wudmFsdWUpID09PSAnc3RyaW5nJyA/IHBhcnNlRmxvYXQoY29udHJvbC52YWx1ZSkgOiBjb250cm9sLnZhbHVlO1xuXHRcdFx0Y29uc3QgaGFzRXJyb3IgPSBpbnB1dCAlIHZhbHVlICE9PSAwO1xuXG5cdFx0XHRpZiAoaGFzRXJyb3IpIHtcblx0XHRcdFx0cmV0dXJuIHsgJ211bHRpcGxlT2YnOiB7dmFsdWV9IH07XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH07IFxuXHR9XG5cblx0bWluTGVuZ3RoQXJyYXkobWluOiBudW1iZXIpIHtcblx0XHRyZXR1cm4gKGM6IEFic3RyYWN0Q29udHJvbCk6IHtba2V5OiBzdHJpbmddOiBhbnl9ID0+IHtcblx0XHRcdGlmIChjLnZhbHVlICYmIGMudmFsdWUubGVuZ3RoID49IG1pbikge1xuXHRcdFx0XHRyZXR1cm4gbnVsbDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0cmV0dXJuIHsgJ21pbkxlbmd0aEFycmF5Jzoge3ZhbGlkOiBmYWxzZSB9fTtcblx0XHR9O1xuXHR9XG5cblx0dmFsaWRJUEFkZHJlc3MoYzogRm9ybUNvbnRyb2wpIHtcblx0XHRsZXQgcmVnRXggPSAvXigoWzAtOV18WzEtOV1bMC05XXwxWzAtOV17Mn18MlswLTRdWzAtOV18MjVbMC01XSlcXC4pezN9KFswLTldfFsxLTldWzAtOV18MVswLTldezJ9fDJbMC00XVswLTldfDI1WzAtNV0pJC87XG5cblx0XHRpZiAoYy52YWx1ZSA9PT0gJycgfHwgYy52YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdFxuXHRcdHJldHVybiByZWdFeC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IHtcblx0XHRcdHZhbGlkSVBBZGRyZXNzIDogeyB2YWxpZDogZmFsc2UgfVxuXHRcdH07XG5cdH1cblxuXHRhbHBoYU51bWVyaWNXaXRoRGFzaGVzKGM6IEZvcm1Db250cm9sKSB7XG5cdFx0bGV0IHJlZ0V4ID0gL15bYS16QS1aMC05LV9dKyQvO1xuXG5cdFx0aWYgKGMudmFsdWUgPT09ICcnIHx8IGMudmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRcblx0XHRyZXR1cm4gcmVnRXgudGVzdChjLnZhbHVlKSA/IG51bGwgOiB7XG5cdFx0XHRhbHBoYU51bWVyaWNXaXRoRGFzaGVzIDogeyB2YWxpZDogZmFsc2UgfVxuXHRcdH07XG5cdH1cbn1cbiJdfQ==
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3V0aWwvdmFsaWRhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBR3pDLE1BQU0sT0FBTyxpQkFBaUI7SUFFN0IsZ0JBQWdCLENBQUM7SUFFakIseUJBQXlCLENBQUMsQ0FBYztRQUN2QyxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUM7UUFFekIsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQztTQUNaO1FBRUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuQyx5QkFBeUIsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7U0FDM0MsQ0FBQztJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxDQUFjO1FBQ2xDLElBQUksS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUV2QixJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDO1NBQ1o7UUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25DLG9CQUFvQixFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtTQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLENBQWM7UUFDekMsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7UUFF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Q3JDLE9BQU8sSUFBSSxDQUFDO2FBQ1o7WUFFRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLENBQWM7UUFDNUIsSUFBSSxLQUFLLEdBQUcsMkdBQTJHLENBQUM7UUFFeEgsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQztTQUNaO1FBRUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuQyxjQUFjLEVBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1NBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsQ0FBYztRQUNwQyxJQUFJLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztRQUUvQixJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDO1NBQ1o7UUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25DLHNCQUFzQixFQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtTQUN6QyxDQUFDO0lBQ0gsQ0FBQzs7OEdBdk9XLGlCQUFpQjtrSEFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvblNlcnZpY2Uge1xuXG5cdGNvbnN0cnVjdG9yKCkgeyB9XG5cblx0d2hvbGVOdW1iZXJzQWxsb3dOZWdhdGl2ZShjOiBGb3JtQ29udHJvbCkge1xuXHRcdGxldCByZWdFeCA9IC9eW1xcLV0/XFxkKyQvO1xuXG5cdFx0aWYgKGMudmFsdWUgPT09ICcnIHx8IGMudmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiByZWdFeC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IHtcblx0XHRcdHdob2xlTnVtYmVyc0FsbG93TmVnYXRpdmU6IHsgdmFsaWQ6IGZhbHNlIH1cblx0XHR9O1xuXHR9XG5cblx0d2hvbGVOdW1iZXJzV2l0aFplcm8oYzogRm9ybUNvbnRyb2wpIHtcblx0XHRsZXQgcmVnRXggPSAvXlswLTldKiQvO1xuXG5cdFx0aWYgKGMudmFsdWUgPT09ICcnIHx8IGMudmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiByZWdFeC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IHtcblx0XHRcdHdob2xlTnVtYmVyc1dpdGhaZXJvOiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxuXG5cdHdob2xlTnVtYmVyc0dyZWF0ZXJUaGFuWmVybyhjOiBGb3JtQ29udHJvbCkge1xuXHRcdGxldCByZWdFeCA9IC9eWzEtOV0rWzAtOV0qJC87XG5cblx0XHRpZiAoYy52YWx1ZSA9PT0gJycgfHwgYy52YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlZ0V4LnRlc3QoYy52YWx1ZSkgPyBudWxsIDoge1xuXHRcdFx0d2hvbGVOdW1iZXJzR3JlYXRlclRoYW5aZXJvOiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxuXG5cdGRlY2ltYWxXaXRoWmVybyhjOiBGb3JtQ29udHJvbCkge1xuXHRcdGxldCByZWdFeCA9IC9eXFxkKlxcLj9cXGQqJC87XG5cblx0XHRpZiAoYy52YWx1ZSA9PT0gJycgfHwgYy52YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdFxuXHRcdHJldHVybiByZWdFeC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IHtcblx0XHRcdGRlY2ltYWxXaXRoWmVybyA6IHsgdmFsaWQ6IGZhbHNlIH1cblx0XHR9O1xuXHR9XG5cblx0ZGVjaW1hbEdyZWF0ZXJUaGFuWmVybyhjOiBGb3JtQ29udHJvbCkge1xuXHRcdGxldCByZWdFeCA9IC9eXFxzKig/PS4qWzEtOV0pXFxkKig/OlxcLlxcZHsxLDEwfSk/XFxzKiQvO1xuXG5cdFx0aWYgKGMudmFsdWUgPT09ICcnIHx8IGMudmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRcblx0XHRyZXR1cm4gcmVnRXgudGVzdChjLnZhbHVlKSA/IG51bGwgOiB7XG5cdFx0XHRkZWNpbWFsR3JlYXRlclRoYW5aZXJvIDogeyB2YWxpZDogZmFsc2UgfVxuXHRcdH07XG5cdH1cblxuXHRjdXJyZW5jeShjOiBGb3JtQ29udHJvbCkge1xuXHRcdGxldCByZWdFeCA9IC9eWzAtOV1cXGQqKFxcLlxcZCspPyQvO1xuXG5cdFx0aWYgKGMudmFsdWUgPT09ICcnIHx8IGMudmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiByZWdFeC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IHtcblx0XHRcdGN1cnJlbmN5OiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxuXG5cdGN1cnJlbmN5R3JlYXRlclRoYW5aZXJvKGM6IEZvcm1Db250cm9sKSB7XG5cdFx0bGV0IHJlZ0V4ID0gL15bMC05XVxcZCooXFwuXFxkKyk/JC87XG5cblx0XHRpZiAoYy52YWx1ZSA9PT0gJycgfHwgYy52YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlZ0V4LnRlc3QoYy52YWx1ZSkgJiYgYy52YWx1ZSA+IDAgPyBudWxsIDoge1xuXHRcdFx0Y3VycmVuY3k6IHsgdmFsaWQ6IGZhbHNlIH1cblx0XHR9O1xuXHR9XG5cblx0Y3VycmVuY3lBbGxvd05lZ2F0aXZlKGM6IEZvcm1Db250cm9sKSB7XG5cdFx0bGV0IHJlZ0V4ID0gL15bXFwtXT9bMC05XVxcZCooXFwuXFxkKyk/JC87XG5cblx0XHRpZiAoYy52YWx1ZSA9PT0gJycgfHwgYy52YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlZ0V4LnRlc3QoYy52YWx1ZSkgPyBudWxsIDoge1xuXHRcdFx0Y3VycmVuY3k6IHsgdmFsaWQ6IGZhbHNlIH1cblx0XHR9O1xuXHR9XG5cblx0cGhvbmVOdW1iZXIoYzogRm9ybUNvbnRyb2wpIHtcblx0XHQvL2xldCByZWdFeCA9IC9eKD86KD86XFwrPzFcXHMqKD86Wy4tXVxccyopPyk/KD86XFwoXFxzKihbMi05XTFbMDItOV18WzItOV1bMDItOF0xfFsyLTldWzAyLThdWzAyLTldKVxccypcXCl8KFsyLTldMVswMi05XXxbMi05XVswMi04XTF8WzItOV1bMDItOF1bMDItOV0pKVxccyooPzpbLi1dXFxzKik/KT8oWzItOV0xWzAyLTldfFsyLTldWzAyLTldMXxbMi05XVswMi05XXsyfSlcXHMqKD86Wy4tXVxccyopPyhbMC05XXs0fSkoPzpcXHMqKD86I3x4XFwuP3xleHRcXC4/fGV4dGVuc2lvbilcXHMqKFxcZCspKT8kLztcblx0XHRsZXQgcmVnRXggPSAvXjE/KFsyLTldKShcXGR7OX0pLztcblxuXHRcdGlmIChjLnZhbHVlID09PSAnJyB8fCBjLnZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVnRXgudGVzdChjLnZhbHVlKSA/IG51bGwgOiB7XG5cdFx0XHRwaG9uZU51bWJlcjogeyB2YWxpZDogZmFsc2UgfVxuXHRcdH07XG5cdH1cblxuXHRlbWFpbChjOiBGb3JtQ29udHJvbCkge1xuXHRcdGxldCByZWdFeCA9IC9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvO1xuXG5cdFx0aWYgKGMudmFsdWUgPT09ICcnIHx8IGMudmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiByZWdFeC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IHtcblx0XHRcdGVtYWlsOiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxuXG5cdG1hdGNoUGFzc3dvcmQoZ3JvdXA6IEZvcm1Hcm91cCk6IGFueSB7XG5cdFx0bGV0IHBhc3N3b3JkID0gPEZvcm1Db250cm9sPmdyb3VwLmNvbnRyb2xzWydwYXNzd29yZCddO1xuXHRcdGxldCBjb25maXJtX3Bhc3N3b3JkID0gPEZvcm1Db250cm9sPmdyb3VwLmNvbnRyb2xzWydjb25maXJtX3Bhc3N3b3JkJ107XG5cblx0XHRpZiAoIXBhc3N3b3JkLnZhbHVlIHx8ICFjb25maXJtX3Bhc3N3b3JkLnZhbHVlKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9IFxuXG5cdFx0cmV0dXJuIChwYXNzd29yZC52YWx1ZSA9PT0gY29uZmlybV9wYXNzd29yZC52YWx1ZSkgPyBudWxsIDoge1xuXHRcdFx0bWF0Y2hQYXNzd29yZCA6IHsgaXNWYWxpZDogZmFsc2UgfVxuXHRcdH07XG5cdH1cblxuXHRkZW5zaXR5KGM6IEZvcm1Db250cm9sKSB7XG5cdFx0bGV0IHJlZ0V4ID0gL15bXFwtXT9cXGQqXFwuP1xcZCokLztcblxuXHRcdGlmIChjLnZhbHVlID09PSAnJyB8fCBjLnZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVnRXgudGVzdChjLnZhbHVlKSA/IG51bGwgOiB7XG5cdFx0XHRkZW5zaXR5OiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxuXG5cdG1heFZhbHVlKG1heDogbnVtYmVyKSB7XG5cdFx0cmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7W2tleTogc3RyaW5nXTogYW55fSA9PiB7XG5cdFx0XHRjb25zdCBpbnB1dCA9IHR5cGVvZihjb250cm9sLnZhbHVlKSA9PT0gJ3N0cmluZycgPyBwYXJzZUZsb2F0KGNvbnRyb2wudmFsdWUpIDogY29udHJvbC52YWx1ZTtcblx0XHRcdGNvbnN0IGhhc0Vycm9yID0gaW5wdXQgPiBtYXg7XG5cblx0XHRcdGlmIChoYXNFcnJvcikge1xuXHRcdFx0XHRyZXR1cm4geyAnbWF4VmFsdWUnOiB7bWF4fSB9O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9OyBcblx0fVxuXG5cdG1pblZhbHVlKG1pbjogbnVtYmVyKSB7XG5cdFx0cmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7W2tleTogc3RyaW5nXTogYW55fSA9PiB7XG5cdFx0XHRjb25zdCBpbnB1dCA9IHR5cGVvZihjb250cm9sLnZhbHVlKSA9PT0gJ3N0cmluZycgPyBwYXJzZUZsb2F0KGNvbnRyb2wudmFsdWUpIDogY29udHJvbC52YWx1ZTtcblx0XHRcdGNvbnN0IGhhc0Vycm9yID0gaW5wdXQgPCBtaW47XG5cblx0XHRcdGlmIChoYXNFcnJvcikge1xuXHRcdFx0XHRyZXR1cm4geyAnbWluVmFsdWUnOiB7bWlufSB9O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9OyBcblx0fVxuXG5cdG11bHRpcGxlT2YodmFsdWU6IG51bWJlcikge1xuXHRcdHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKToge1trZXk6IHN0cmluZ106IGFueX0gPT4ge1xuXHRcdFx0Y29uc3QgaW5wdXQgPSB0eXBlb2YoY29udHJvbC52YWx1ZSkgPT09ICdzdHJpbmcnID8gcGFyc2VGbG9hdChjb250cm9sLnZhbHVlKSA6IGNvbnRyb2wudmFsdWU7XG5cdFx0XHRjb25zdCBoYXNFcnJvciA9IGlucHV0ICUgdmFsdWUgIT09IDA7XG5cblx0XHRcdGlmIChoYXNFcnJvcikge1xuXHRcdFx0XHRyZXR1cm4geyAnbXVsdGlwbGVPZic6IHt2YWx1ZX0gfTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fTsgXG5cdH1cblxuXHRtaW5MZW5ndGhBcnJheShtaW46IG51bWJlcikge1xuXHRcdHJldHVybiAoYzogQWJzdHJhY3RDb250cm9sKToge1trZXk6IHN0cmluZ106IGFueX0gPT4ge1xuXHRcdFx0aWYgKGMudmFsdWUgJiYgYy52YWx1ZS5sZW5ndGggPj0gbWluKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRyZXR1cm4geyAnbWluTGVuZ3RoQXJyYXknOiB7dmFsaWQ6IGZhbHNlIH19O1xuXHRcdH07XG5cdH1cblxuXHRtYXhMZW5ndGhBcnJheShtYXg6IG51bWJlcikge1xuXHRcdHJldHVybiAoYzogQWJzdHJhY3RDb250cm9sKToge1trZXk6IHN0cmluZ106IGFueX0gPT4ge1xuXHRcdFx0aWYgKGMudmFsdWUgJiYgYy52YWx1ZS5sZW5ndGggPD0gbWF4KSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRyZXR1cm4geyAnbWF4TGVuZ3RoQXJyYXknOiB7dmFsaWQ6IGZhbHNlIH19O1xuXHRcdH07XG5cdH1cblxuXHR2YWxpZElQQWRkcmVzcyhjOiBGb3JtQ29udHJvbCkge1xuXHRcdGxldCByZWdFeCA9IC9eKChbMC05XXxbMS05XVswLTldfDFbMC05XXsyfXwyWzAtNF1bMC05XXwyNVswLTVdKVxcLil7M30oWzAtOV18WzEtOV1bMC05XXwxWzAtOV17Mn18MlswLTRdWzAtOV18MjVbMC01XSkkLztcblxuXHRcdGlmIChjLnZhbHVlID09PSAnJyB8fCBjLnZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0XG5cdFx0cmV0dXJuIHJlZ0V4LnRlc3QoYy52YWx1ZSkgPyBudWxsIDoge1xuXHRcdFx0dmFsaWRJUEFkZHJlc3MgOiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxuXG5cdGFscGhhTnVtZXJpY1dpdGhEYXNoZXMoYzogRm9ybUNvbnRyb2wpIHtcblx0XHRsZXQgcmVnRXggPSAvXlthLXpBLVowLTktX10rJC87XG5cblx0XHRpZiAoYy52YWx1ZSA9PT0gJycgfHwgYy52YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdFxuXHRcdHJldHVybiByZWdFeC50ZXN0KGMudmFsdWUpID8gbnVsbCA6IHtcblx0XHRcdGFscGhhTnVtZXJpY1dpdGhEYXNoZXMgOiB7IHZhbGlkOiBmYWxzZSB9XG5cdFx0fTtcblx0fVxufVxuIl19
@@ -1784,6 +1784,14 @@ class ValidationService {
1784
1784
  return { 'minLengthArray': { valid: false } };
1785
1785
  };
1786
1786
  }
1787
+ maxLengthArray(max) {
1788
+ return (c) => {
1789
+ if (c.value && c.value.length <= max) {
1790
+ return null;
1791
+ }
1792
+ return { 'maxLengthArray': { valid: false } };
1793
+ };
1794
+ }
1787
1795
  validIPAddress(c) {
1788
1796
  let regEx = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/;
1789
1797
  if (c.value === '' || c.value === null) {