@gravitee/ui-particles-angular 7.31.0-form-cron-p2-28372d9 → 7.31.0-form-cron-p2-e813056

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.
@@ -61,9 +61,7 @@ export const getDefaultCronDisplay = (mode) => {
61
61
  return parseCronExpression(modeFound.default);
62
62
  };
63
63
  export const parseCronExpression = (cronExpression) => {
64
- if (!cronIsValid(cronExpression)) {
65
- throw new Error('Invalid cron expression.');
66
- }
64
+ throwIfInvalid(cronExpression);
67
65
  const parts = cronExpression.split(' ');
68
66
  // Normalize cron so that second segment is included.
69
67
  if (cronExpression && cronExpression.split(' ').length === 6) {
@@ -142,17 +140,21 @@ export const toCronExpression = (cronDisplay) => {
142
140
  }
143
141
  };
144
142
  export const toCronDescription = (cronExpression) => {
143
+ throwIfInvalid(cronExpression);
145
144
  if (!isEmpty(cronExpression)) {
146
145
  return Cronstrue.toString(cronExpression);
147
146
  }
148
147
  return '';
149
148
  };
150
- const cronIsValid = (cronExpression) => {
151
- const parts = cronExpression.split(' ');
152
- if (parts.length < 5 || parts.length > 6) {
153
- return false;
149
+ /**
150
+ * Simple validation to ensure that the cron expression has 6 parts.
151
+ * Note : The full cron expression validation is done by the backend.
152
+ */
153
+ const throwIfInvalid = (cronExpression) => {
154
+ const parts = cronExpression.trim().split(/\s+/);
155
+ if (parts.length != 6) {
156
+ throw new Error('Cron expression must have 6 parts.');
154
157
  }
155
- return true;
156
158
  };
157
159
  const getDisplayMode = (cronExpression) => {
158
160
  const modeFound = DISPLAY_MODE_LIST.find(mf => {
@@ -213,4 +215,4 @@ const getSegment = (value) => {
213
215
  });
214
216
  });
215
217
  };
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tY3Jvbi5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1jcm9uL2dpby1mb3JtLWNyb24uYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sU0FBUyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFnQmpDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFHdEgsTUFBTSxpQkFBaUIsR0FJakI7SUFDSjtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSx5QkFBeUI7S0FDakM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSwyQkFBMkI7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLGdDQUFnQztLQUN4QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixPQUFPLEVBQUUsZUFBZTtRQUN4QixLQUFLLEVBQUUsZ0NBQWdDO0tBQ3hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLEtBQUssRUFBRSxvQ0FBb0M7S0FDNUM7SUFDRDtRQUNFLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLGFBQWE7UUFDdEIsS0FBSyxFQUFFLHNCQUFzQjtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFD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LEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ3hFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ3ZFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ3JFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ3RFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ25FLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ2pFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFhLEVBQWlDLEVBQUU7SUFDbEUsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQ3ZCLEtBQUssR0FBRyxHQUFHLENBQUM7S0FDYjtJQUNELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDOUIsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ25CLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDVDtRQUNELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMxQixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgQ3JvbnN0cnVlIGZyb20gJ2Nyb25zdHJ1ZS9pMThuJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyb25EaXNwbGF5IHtcbiAgbW9kZTogQ3JvbkRpc3BsYXlNb2RlO1xuXG4gIHNlY29uZEludGVydmFsPzogbnVtYmVyO1xuICBtaW51dGVJbnRlcnZhbD86IG51bWJlcjtcbiAgaG91ckludGVydmFsPzogbnVtYmVyO1xuICBkYXlJbnRlcnZhbD86IG51bWJlcjtcbiAgZGF5T2ZXZWVrPzogbnVtYmVyO1xuICBkYXlPZk1vbnRoPzogbnVtYmVyO1xuICBjdXN0b21FeHByZXNzaW9uPzogc3RyaW5nO1xuXG4gIGhvdXJzPzogbnVtYmVyO1xuICBtaW51dGVzPzogbnVtYmVyO1xufVxuZXhwb3J0IGNvbnN0IENST05fRElTUExBWV9NT0RFUyA9IFsnc2Vjb25kbHknLCAnbWludXRlbHknLCAnaG91cmx5JywgJ2RhaWx5JywgJ3dlZWtseScsICdtb250aGx5JywgJ2N1c3RvbSddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgQ3JvbkRpc3BsYXlNb2RlID0gKHR5cGVvZiBDUk9OX0RJU1BMQVlfTU9ERVMpW251bWJlcl07XG5cbmNvbnN0IERJU1BMQVlfTU9ERV9MSVNUOiB7XG4gIG1vZGU6IENyb25EaXNwbGF5TW9kZTtcbiAgZGVmYXVsdDogc3RyaW5nO1xuICByZWdleDogUmVnRXhwO1xufVtdID0gW1xuICB7XG4gICAgbW9kZTogJ3NlY29uZGx5JyxcbiAgICBkZWZhdWx0OiAnKi8xICogKiAqICogKicsXG4gICAgcmVnZXg6IC9eKFxcKlxcL1xcZCtcXHMpKFxcKlxccyl7NH1cXCovLFxuICB9LFxuICB7XG4gICAgbW9kZTogJ21pbnV0ZWx5JyxcbiAgICBkZWZhdWx0OiAnMCAqLzEgKiAqICogKicsXG4gICAgcmVnZXg6IC9eMFxcc1xcKlxcL1xcZCtcXHMoXFwqXFxzKXszfVxcKiQvLFxuICB9LFxuICB7XG4gICAgbW9kZTogJ2hvdXJseScsXG4gICAgZGVmYXVsdDogJzAgMCAqLzEgKiAqIConLFxuICAgIHJlZ2V4OiAvXjBcXHNcXGQrXFxzXFwqXFwvXFxkK1xccyhcXCpcXHMpezJ9XFwqJC8sXG4gIH0sXG4gIHtcbiAgICBtb2RlOiAnZGFpbHknLFxuICAgIGRlZmF1bHQ6ICcwIDAgMCAqLzEgKiAqJyxcbiAgICByZWdleDogL14wXFxzXFxkK1xcc1xcZCtcXHNcXCpcXC9cXGQrXFxzXFwqXFxzXFwqJC8sXG4gIH0sXG4gIHtcbiAgICBtb2RlOiAnd2Vla2x5JyxcbiAgICBkZWZhdWx0OiAnMCAwIDAgKiAqIDAnLFxuICAgIHJlZ2V4OiAvXihcXGR7MSwyfVxccyl7MiwzfShcXCpcXHMpezJ9XFxkezEsMn0kLyxcbiAgfSxcbiAge1xuICAgIG1vZGU6ICdtb250aGx5JyxcbiAgICBkZWZhdWx0OiAnMCAwIDAgMSAqIConLFxuICAgIHJlZ2V4OiAvXihcXGQrXFxzKXszLDR9XFwqXFxzXFwqJC8sXG4gIH0sXG4gIHtcbiAgICBtb2RlOiAnY3VzdG9tJyxcbiAgICBkZWZhdWx0OiAnKiAqICogKiAqIConLFxuICAgIHJlZ2V4OiAvXi4qJC8sXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdENyb25EaXNwbGF5ID0gKG1vZGU6IENyb25EaXNwbGF5TW9kZSk6IENyb25EaXNwbGF5ID0+IHtcbiAgY29uc3QgbW9kZUZvdW5kID0gRElTUExBWV9NT0RFX0xJU1QuZmluZChtZiA9PiBtZi5tb2RlID09PSBtb2RlKTtcbiAgaWYgKCFtb2RlRm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY3JvbiBtb2RlLicpO1xuICB9XG5cbiAgcmV0dXJuIHBhcnNlQ3JvbkV4cHJlc3Npb24obW9kZUZvdW5kLmRlZmF1bHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlQ3JvbkV4cHJlc3Npb24gPSAoY3JvbkV4cHJlc3Npb246IHN0cmluZyk6IENyb25EaXNwbGF5ID0+IHtcbiAgaWYgKCFjcm9uSXNWYWxpZChjcm9uRXhwcmVzc2lvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY3JvbiBleHByZXNzaW9uLicpO1xuICB9XG5cbiAgY29uc3QgcGFydHMgPSBjcm9uRXhwcmVzc2lvbi5zcGxpdCgnICcpO1xuXG4gIC8vIE5vcm1hbGl6ZSBjcm9uIHNvIHRoYXQgc2Vjb25kIHNlZ21lbnQgaXMgaW5jbHVkZWQuXG4gIGlmIChjcm9uRXhwcmVzc2lvbiAmJiBjcm9uRXhwcmVzc2lvbi5zcGxpdCgnICcpLmxlbmd0aCA9PT0gNikge1xuICAgIHBhcnRzLnB1c2goJycpO1xuICB9XG5cbiAgY29uc3QgaG91ckludGVydmFsID0gZ2V0SG91ckludGVydmFsKHBhcnRzKTtcbiAgY29uc3QgbWludXRlSW50ZXJ2YWwgPSBnZXRNaW51dGVJbnRlcnZhbChwYXJ0cyk7XG4gIGNvbnN0IHNlY29uZEludGVydmFsID0gZ2V0U2Vjb25kSW50ZXJ2YWwocGFydHMpO1xuICBjb25zdCBkYXlJbnRlcnZhbCA9IGdldERheUludGVydmFsKHBhcnRzKTtcbiAgY29uc3QgZGF5T2ZXZWVrID0gZ2V0RGF5T2ZXZWVrKHBhcnRzKTtcbiAgY29uc3QgZGF5T2ZNb250aCA9IGdldERheU9mTW9udGgocGFydHMpO1xuXG4gIGNvbnN0IGhvdXJzID0gZ2V0SG91cnMocGFydHMpO1xuICBjb25zdCBtaW51dGVzID0gZ2V0TWludXRlcyhwYXJ0cyk7XG5cbiAgY29uc3QgZGlzcGxheU1vZGUgPSBnZXREaXNwbGF5TW9kZShjcm9uRXhwcmVzc2lvbik7XG5cbiAgc3dpdGNoIChkaXNwbGF5TW9kZS5tb2RlKSB7XG4gICAgY2FzZSAnc2Vjb25kbHknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9kZTogJ3NlY29uZGx5JyxcbiAgICAgICAgc2Vjb25kSW50ZXJ2YWwsXG4gICAgICB9O1xuICAgIGNhc2UgJ21pbnV0ZWx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICdtaW51dGVseScsXG4gICAgICAgIG1pbnV0ZUludGVydmFsLFxuICAgICAgfTtcbiAgICBjYXNlICdob3VybHknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9kZTogJ2hvdXJseScsXG4gICAgICAgIGhvdXJJbnRlcnZhbCxcbiAgICAgICAgbWludXRlcyxcbiAgICAgIH07XG4gICAgY2FzZSAnZGFpbHknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9kZTogJ2RhaWx5JyxcbiAgICAgICAgZGF5SW50ZXJ2YWwsXG4gICAgICAgIGhvdXJzLFxuICAgICAgICBtaW51dGVzLFxuICAgICAgfTtcbiAgICBjYXNlICd3ZWVrbHknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9kZTogJ3dlZWtseScsXG4gICAgICAgIGRheU9mV2VlayxcbiAgICAgICAgaG91cnMsXG4gICAgICAgIG1pbnV0ZXMsXG4gICAgICB9O1xuICAgIGNhc2UgJ21vbnRobHknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9kZTogJ21vbnRobHknLFxuICAgICAgICBkYXlPZk1vbnRoLFxuICAgICAgICBob3VycyxcbiAgICAgICAgbWludXRlcyxcbiAgICAgIH07XG4gICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21FeHByZXNzaW9uOiBjcm9uRXhwcmVzc2lvbixcbiAgICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b0Nyb25FeHByZXNzaW9uID0gKGNyb25EaXNwbGF5OiBPbWl0PENyb25EaXNwbGF5LCAnY3JvbkRlc2NyaXB0aW9uJz4pOiBzdHJpbmcgPT4ge1xuICBzd2l0Y2ggKGNyb25EaXNwbGF5Lm1vZGUpIHtcbiAgICBjYXNlICdzZWNvbmRseSc6XG4gICAgICByZXR1cm4gYCovJHtjcm9uRGlzcGxheS5zZWNvbmRJbnRlcnZhbH0gKiAqICogKiAqYDtcbiAgICBjYXNlICdtaW51dGVseSc6XG4gICAgICByZXR1cm4gYDAgKi8ke2Nyb25EaXNwbGF5Lm1pbnV0ZUludGVydmFsfSAqICogKiAqYDtcbiAgICBjYXNlICdob3VybHknOlxuICAgICAgcmV0dXJuIGAwICR7Y3JvbkRpc3BsYXkubWludXRlc30gKi8ke2Nyb25EaXNwbGF5LmhvdXJJbnRlcnZhbH0gKiAqICpgO1xuICAgIGNhc2UgJ2RhaWx5JzpcbiAgICAgIHJldHVybiBgMCAke2Nyb25EaXNwbGF5Lm1pbnV0ZXN9ICR7Y3JvbkRpc3BsYXkuaG91cnN9ICovJHtjcm9uRGlzcGxheS5kYXlJbnRlcnZhbH0gKiAqYDtcbiAgICBjYXNlICd3ZWVrbHknOlxuICAgICAgcmV0dXJuIGAwICR7Y3JvbkRpc3BsYXkubWludXRlc30gJHtjcm9uRGlzcGxheS5ob3Vyc30gKiAqICR7Y3JvbkRpc3BsYXkuZGF5T2ZXZWVrfWA7XG4gICAgY2FzZSAnbW9udGhseSc6XG4gICAgICByZXR1cm4gYDAgJHtjcm9uRGlzcGxheS5taW51dGVzfSAke2Nyb25EaXNwbGF5LmhvdXJzfSAke2Nyb25EaXNwbGF5LmRheU9mTW9udGh9ICogKmA7XG4gICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgIHJldHVybiBgJHtjcm9uRGlzcGxheS5jdXN0b21FeHByZXNzaW9ufWA7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b0Nyb25EZXNjcmlwdGlvbiA9IChjcm9uRXhwcmVzc2lvbjogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKCFpc0VtcHR5KGNyb25FeHByZXNzaW9uKSkge1xuICAgIHJldHVybiBDcm9uc3RydWUudG9TdHJpbmcoY3JvbkV4cHJlc3Npb24pO1xuICB9XG5cbiAgcmV0dXJuICcnO1xufTtcblxuY29uc3QgY3JvbklzVmFsaWQgPSAoY3JvbkV4cHJlc3Npb246IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBwYXJ0cyA9IGNyb25FeHByZXNzaW9uLnNwbGl0KCcgJyk7XG5cbiAgaWYgKHBhcnRzLmxlbmd0aCA8IDUgfHwgcGFydHMubGVuZ3RoID4gNikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuY29uc3QgZ2V0RGlzcGxheU1vZGUgPSAoXG4gIGNyb25FeHByZXNzaW9uOiBzdHJpbmcsXG4pOiB7XG4gIG1vZGU6IENyb25EaXNwbGF5TW9kZTtcbiAgZGVmYXVsdDogc3RyaW5nO1xufSA9PiB7XG4gIGNvbnN0IG1vZGVGb3VuZCA9IERJU1BMQVlfTU9ERV9MSVNULmZpbmQobWYgPT4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gbWYucmVnZXg7XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoY3JvbkV4cHJlc3Npb24pO1xuICB9KTtcblxuICBpZiAoIW1vZGVGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcm9uIGV4cHJlc3Npb24uJyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1vZGU6IG1vZGVGb3VuZC5tb2RlLFxuICAgIGRlZmF1bHQ6IG1vZGVGb3VuZC5kZWZhdWx0LFxuICB9O1xufTtcblxuY29uc3QgZ2V0U2Vjb25kSW50ZXJ2YWwgPSAoZXhwcmVzc2lvblBhcnRzOiBzdHJpbmdbXSk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHYgPSBnZXRTZWdtZW50KGV4cHJlc3Npb25QYXJ0c1swXSlbMF1bMV07XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0TWludXRlSW50ZXJ2YWwgPSAoZXhwcmVzc2lvblBhcnRzOiBzdHJpbmdbXSk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHYgPSBnZXRTZWdtZW50KGV4cHJlc3Npb25QYXJ0c1sxXSlbMF1bMV07XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0SG91ckludGVydmFsID0gKGV4cHJlc3Npb25QYXJ0czogc3RyaW5nW10pOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCB2ID0gZ2V0U2VnbWVudChleHByZXNzaW9uUGFydHNbMl0pWzBdWzFdO1xuICByZXR1cm4gdHlwZW9mIHYgPT09ICdudW1iZXInID8gdiA6IHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGdldERheUludGVydmFsID0gKGV4cHJlc3Npb25QYXJ0czogc3RyaW5nW10pOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCB2ID0gZ2V0U2VnbWVudChleHByZXNzaW9uUGFydHNbM10pWzBdWzFdO1xuICByZXR1cm4gdHlwZW9mIHYgPT09ICdudW1iZXInID8gdiA6IHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGdldERheU9mV2VlayA9IChleHByZXNzaW9uUGFydHM6IHN0cmluZ1tdKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgdiA9IGdldFNlZ21lbnQoZXhwcmVzc2lvblBhcnRzWzVdKVswXVswXTtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJyA/IHYgOiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXREYXlPZk1vbnRoID0gKGV4cHJlc3Npb25QYXJ0czogc3RyaW5nW10pOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCB2ID0gZ2V0U2VnbWVudChleHByZXNzaW9uUGFydHNbM10pWzBdWzBdO1xuICByZXR1cm4gdHlwZW9mIHYgPT09ICdudW1iZXInID8gdiA6IHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGdldE1pbnV0ZXMgPSAoZXhwcmVzc2lvblBhcnRzOiBzdHJpbmdbXSk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHYgPSBnZXRTZWdtZW50KGV4cHJlc3Npb25QYXJ0c1sxXSlbMF1bMF07XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0SG91cnMgPSAoZXhwcmVzc2lvblBhcnRzOiBzdHJpbmdbXSk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHYgPSBnZXRTZWdtZW50KGV4cHJlc3Npb25QYXJ0c1syXSlbMF1bMF07XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0U2VnbWVudCA9ICh2YWx1ZTogc3RyaW5nKTogQXJyYXk8QXJyYXk8c3RyaW5nIHwgbnVtYmVyPj4gPT4ge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHZhbHVlID0gJyonO1xuICB9XG4gIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpLm1hcChzID0+IHtcbiAgICBpZiAocyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBzID0gJyonO1xuICAgIH1cbiAgICByZXR1cm4gcy5zcGxpdCgnLycpLm1hcChwID0+IHtcbiAgICAgIGNvbnN0IHYgPSBwYXJzZUludChwLCAxMCk7XG4gICAgICByZXR1cm4gaXNOYU4odikgPyBwIDogdjtcbiAgICB9KTtcbiAgfSk7XG59O1xuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tY3Jvbi5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS1jcm9uL2dpby1mb3JtLWNyb24uYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sU0FBUyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFnQmpDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFHdEgsTUFBTSxpQkFBaUIsR0FJakI7SUFDSjtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSx5QkFBeUI7S0FDakM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSwyQkFBMkI7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLGdDQUFnQztLQUN4QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixPQUFPLEVBQUUsZUFBZTtRQUN4QixLQUFLLEVBQUUsZ0NBQWdDO0tBQ3hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLEtBQUssRUFBRSxvQ0FBb0M7S0FDNUM7SUFDRDtRQUNFLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLGFBQWE7UUFDdEIsS0FBSyxFQUFFLHNCQUFzQjtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFD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O0lBQ3hFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ3ZFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ3JFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ3RFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ25FLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxlQUF5QixFQUFzQixFQUFFO0lBQ2pFLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFhLEVBQWlDLEVBQUU7SUFDbEUsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQ3ZCLEtBQUssR0FBRyxHQUFHLENBQUM7S0FDYjtJQUNELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDOUIsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ25CLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDVDtRQUNELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMxQixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgQ3JvbnN0cnVlIGZyb20gJ2Nyb25zdHJ1ZS9pMThuJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyb25EaXNwbGF5IHtcbiAgbW9kZTogQ3JvbkRpc3BsYXlNb2RlO1xuXG4gIHNlY29uZEludGVydmFsPzogbnVtYmVyO1xuICBtaW51dGVJbnRlcnZhbD86IG51bWJlcjtcbiAgaG91ckludGVydmFsPzogbnVtYmVyO1xuICBkYXlJbnRlcnZhbD86IG51bWJlcjtcbiAgZGF5T2ZXZWVrPzogbnVtYmVyO1xuICBkYXlPZk1vbnRoPzogbnVtYmVyO1xuICBjdXN0b21FeHByZXNzaW9uPzogc3RyaW5nO1xuXG4gIGhvdXJzPzogbnVtYmVyO1xuICBtaW51dGVzPzogbnVtYmVyO1xufVxuZXhwb3J0IGNvbnN0IENST05fRElTUExBWV9NT0RFUyA9IFsnc2Vjb25kbHknLCAnbWludXRlbHknLCAnaG91cmx5JywgJ2RhaWx5JywgJ3dlZWtseScsICdtb250aGx5JywgJ2N1c3RvbSddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgQ3JvbkRpc3BsYXlNb2RlID0gKHR5cGVvZiBDUk9OX0RJU1BMQVlfTU9ERVMpW251bWJlcl07XG5cbmNvbnN0IERJU1BMQVlfTU9ERV9MSVNUOiB7XG4gIG1vZGU6IENyb25EaXNwbGF5TW9kZTtcbiAgZGVmYXVsdDogc3RyaW5nO1xuICByZWdleDogUmVnRXhwO1xufVtdID0gW1xuICB7XG4gICAgbW9kZTogJ3NlY29uZGx5JyxcbiAgICBkZWZhdWx0OiAnKi8xICogKiAqICogKicsXG4gICAgcmVnZXg6IC9eKFxcKlxcL1xcZCtcXHMpKFxcKlxccyl7NH1cXCovLFxuICB9LFxuICB7XG4gICAgbW9kZTogJ21pbnV0ZWx5JyxcbiAgICBkZWZhdWx0OiAnMCAqLzEgKiAqICogKicsXG4gICAgcmVnZXg6IC9eMFxcc1xcKlxcL1xcZCtcXHMoXFwqXFxzKXszfVxcKiQvLFxuICB9LFxuICB7XG4gICAgbW9kZTogJ2hvdXJseScsXG4gICAgZGVmYXVsdDogJzAgMCAqLzEgKiAqIConLFxuICAgIHJlZ2V4OiAvXjBcXHNcXGQrXFxzXFwqXFwvXFxkK1xccyhcXCpcXHMpezJ9XFwqJC8sXG4gIH0sXG4gIHtcbiAgICBtb2RlOiAnZGFpbHknLFxuICAgIGRlZmF1bHQ6ICcwIDAgMCAqLzEgKiAqJyxcbiAgICByZWdleDogL14wXFxzXFxkK1xcc1xcZCtcXHNcXCpcXC9cXGQrXFxzXFwqXFxzXFwqJC8sXG4gIH0sXG4gIHtcbiAgICBtb2RlOiAnd2Vla2x5JyxcbiAgICBkZWZhdWx0OiAnMCAwIDAgKiAqIDAnLFxuICAgIHJlZ2V4OiAvXihcXGR7MSwyfVxccyl7MiwzfShcXCpcXHMpezJ9XFxkezEsMn0kLyxcbiAgfSxcbiAge1xuICAgIG1vZGU6ICdtb250aGx5JyxcbiAgICBkZWZhdWx0OiAnMCAwIDAgMSAqIConLFxuICAgIHJlZ2V4OiAvXihcXGQrXFxzKXszLDR9XFwqXFxzXFwqJC8sXG4gIH0sXG4gIHtcbiAgICBtb2RlOiAnY3VzdG9tJyxcbiAgICBkZWZhdWx0OiAnKiAqICogKiAqIConLFxuICAgIHJlZ2V4OiAvXi4qJC8sXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdENyb25EaXNwbGF5ID0gKG1vZGU6IENyb25EaXNwbGF5TW9kZSk6IENyb25EaXNwbGF5ID0+IHtcbiAgY29uc3QgbW9kZUZvdW5kID0gRElTUExBWV9NT0RFX0xJU1QuZmluZChtZiA9PiBtZi5tb2RlID09PSBtb2RlKTtcbiAgaWYgKCFtb2RlRm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY3JvbiBtb2RlLicpO1xuICB9XG5cbiAgcmV0dXJuIHBhcnNlQ3JvbkV4cHJlc3Npb24obW9kZUZvdW5kLmRlZmF1bHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlQ3JvbkV4cHJlc3Npb24gPSAoY3JvbkV4cHJlc3Npb246IHN0cmluZyk6IENyb25EaXNwbGF5ID0+IHtcbiAgdGhyb3dJZkludmFsaWQoY3JvbkV4cHJlc3Npb24pO1xuXG4gIGNvbnN0IHBhcnRzID0gY3JvbkV4cHJlc3Npb24uc3BsaXQoJyAnKTtcblxuICAvLyBOb3JtYWxpemUgY3JvbiBzbyB0aGF0IHNlY29uZCBzZWdtZW50IGlzIGluY2x1ZGVkLlxuICBpZiAoY3JvbkV4cHJlc3Npb24gJiYgY3JvbkV4cHJlc3Npb24uc3BsaXQoJyAnKS5sZW5ndGggPT09IDYpIHtcbiAgICBwYXJ0cy5wdXNoKCcnKTtcbiAgfVxuXG4gIGNvbnN0IGhvdXJJbnRlcnZhbCA9IGdldEhvdXJJbnRlcnZhbChwYXJ0cyk7XG4gIGNvbnN0IG1pbnV0ZUludGVydmFsID0gZ2V0TWludXRlSW50ZXJ2YWwocGFydHMpO1xuICBjb25zdCBzZWNvbmRJbnRlcnZhbCA9IGdldFNlY29uZEludGVydmFsKHBhcnRzKTtcbiAgY29uc3QgZGF5SW50ZXJ2YWwgPSBnZXREYXlJbnRlcnZhbChwYXJ0cyk7XG4gIGNvbnN0IGRheU9mV2VlayA9IGdldERheU9mV2VlayhwYXJ0cyk7XG4gIGNvbnN0IGRheU9mTW9udGggPSBnZXREYXlPZk1vbnRoKHBhcnRzKTtcblxuICBjb25zdCBob3VycyA9IGdldEhvdXJzKHBhcnRzKTtcbiAgY29uc3QgbWludXRlcyA9IGdldE1pbnV0ZXMocGFydHMpO1xuXG4gIGNvbnN0IGRpc3BsYXlNb2RlID0gZ2V0RGlzcGxheU1vZGUoY3JvbkV4cHJlc3Npb24pO1xuXG4gIHN3aXRjaCAoZGlzcGxheU1vZGUubW9kZSkge1xuICAgIGNhc2UgJ3NlY29uZGx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICdzZWNvbmRseScsXG4gICAgICAgIHNlY29uZEludGVydmFsLFxuICAgICAgfTtcbiAgICBjYXNlICdtaW51dGVseSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtb2RlOiAnbWludXRlbHknLFxuICAgICAgICBtaW51dGVJbnRlcnZhbCxcbiAgICAgIH07XG4gICAgY2FzZSAnaG91cmx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICdob3VybHknLFxuICAgICAgICBob3VySW50ZXJ2YWwsXG4gICAgICAgIG1pbnV0ZXMsXG4gICAgICB9O1xuICAgIGNhc2UgJ2RhaWx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICdkYWlseScsXG4gICAgICAgIGRheUludGVydmFsLFxuICAgICAgICBob3VycyxcbiAgICAgICAgbWludXRlcyxcbiAgICAgIH07XG4gICAgY2FzZSAnd2Vla2x5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICd3ZWVrbHknLFxuICAgICAgICBkYXlPZldlZWssXG4gICAgICAgIGhvdXJzLFxuICAgICAgICBtaW51dGVzLFxuICAgICAgfTtcbiAgICBjYXNlICdtb250aGx5JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6ICdtb250aGx5JyxcbiAgICAgICAgZGF5T2ZNb250aCxcbiAgICAgICAgaG91cnMsXG4gICAgICAgIG1pbnV0ZXMsXG4gICAgICB9O1xuICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtb2RlOiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tRXhwcmVzc2lvbjogY3JvbkV4cHJlc3Npb24sXG4gICAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9Dcm9uRXhwcmVzc2lvbiA9IChjcm9uRGlzcGxheTogT21pdDxDcm9uRGlzcGxheSwgJ2Nyb25EZXNjcmlwdGlvbic+KTogc3RyaW5nID0+IHtcbiAgc3dpdGNoIChjcm9uRGlzcGxheS5tb2RlKSB7XG4gICAgY2FzZSAnc2Vjb25kbHknOlxuICAgICAgcmV0dXJuIGAqLyR7Y3JvbkRpc3BsYXkuc2Vjb25kSW50ZXJ2YWx9ICogKiAqICogKmA7XG4gICAgY2FzZSAnbWludXRlbHknOlxuICAgICAgcmV0dXJuIGAwICovJHtjcm9uRGlzcGxheS5taW51dGVJbnRlcnZhbH0gKiAqICogKmA7XG4gICAgY2FzZSAnaG91cmx5JzpcbiAgICAgIHJldHVybiBgMCAke2Nyb25EaXNwbGF5Lm1pbnV0ZXN9ICovJHtjcm9uRGlzcGxheS5ob3VySW50ZXJ2YWx9ICogKiAqYDtcbiAgICBjYXNlICdkYWlseSc6XG4gICAgICByZXR1cm4gYDAgJHtjcm9uRGlzcGxheS5taW51dGVzfSAke2Nyb25EaXNwbGF5LmhvdXJzfSAqLyR7Y3JvbkRpc3BsYXkuZGF5SW50ZXJ2YWx9ICogKmA7XG4gICAgY2FzZSAnd2Vla2x5JzpcbiAgICAgIHJldHVybiBgMCAke2Nyb25EaXNwbGF5Lm1pbnV0ZXN9ICR7Y3JvbkRpc3BsYXkuaG91cnN9ICogKiAke2Nyb25EaXNwbGF5LmRheU9mV2Vla31gO1xuICAgIGNhc2UgJ21vbnRobHknOlxuICAgICAgcmV0dXJuIGAwICR7Y3JvbkRpc3BsYXkubWludXRlc30gJHtjcm9uRGlzcGxheS5ob3Vyc30gJHtjcm9uRGlzcGxheS5kYXlPZk1vbnRofSAqICpgO1xuICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICByZXR1cm4gYCR7Y3JvbkRpc3BsYXkuY3VzdG9tRXhwcmVzc2lvbn1gO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9Dcm9uRGVzY3JpcHRpb24gPSAoY3JvbkV4cHJlc3Npb246IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIHRocm93SWZJbnZhbGlkKGNyb25FeHByZXNzaW9uKTtcblxuICBpZiAoIWlzRW1wdHkoY3JvbkV4cHJlc3Npb24pKSB7XG4gICAgcmV0dXJuIENyb25zdHJ1ZS50b1N0cmluZyhjcm9uRXhwcmVzc2lvbik7XG4gIH1cblxuICByZXR1cm4gJyc7XG59O1xuXG4vKipcbiAqIFNpbXBsZSB2YWxpZGF0aW9uIHRvIGVuc3VyZSB0aGF0IHRoZSBjcm9uIGV4cHJlc3Npb24gaGFzIDYgcGFydHMuXG4gKiBOb3RlIDogVGhlIGZ1bGwgY3JvbiBleHByZXNzaW9uIHZhbGlkYXRpb24gaXMgZG9uZSBieSB0aGUgYmFja2VuZC5cbiAqL1xuY29uc3QgdGhyb3dJZkludmFsaWQgPSAoY3JvbkV4cHJlc3Npb246IHN0cmluZyk6IHZvaWQgPT4ge1xuICBjb25zdCBwYXJ0cyA9IGNyb25FeHByZXNzaW9uLnRyaW0oKS5zcGxpdCgvXFxzKy8pO1xuXG4gIGlmIChwYXJ0cy5sZW5ndGggIT0gNikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ3JvbiBleHByZXNzaW9uIG11c3QgaGF2ZSA2IHBhcnRzLicpO1xuICB9XG59O1xuXG5jb25zdCBnZXREaXNwbGF5TW9kZSA9IChcbiAgY3JvbkV4cHJlc3Npb246IHN0cmluZyxcbik6IHtcbiAgbW9kZTogQ3JvbkRpc3BsYXlNb2RlO1xuICBkZWZhdWx0OiBzdHJpbmc7XG59ID0+IHtcbiAgY29uc3QgbW9kZUZvdW5kID0gRElTUExBWV9NT0RFX0xJU1QuZmluZChtZiA9PiB7XG4gICAgY29uc3QgcmVnZXggPSBtZi5yZWdleDtcbiAgICByZXR1cm4gcmVnZXgudGVzdChjcm9uRXhwcmVzc2lvbik7XG4gIH0pO1xuXG4gIGlmICghbW9kZUZvdW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNyb24gZXhwcmVzc2lvbi4nKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbW9kZTogbW9kZUZvdW5kLm1vZGUsXG4gICAgZGVmYXVsdDogbW9kZUZvdW5kLmRlZmF1bHQsXG4gIH07XG59O1xuXG5jb25zdCBnZXRTZWNvbmRJbnRlcnZhbCA9IChleHByZXNzaW9uUGFydHM6IHN0cmluZ1tdKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgdiA9IGdldFNlZ21lbnQoZXhwcmVzc2lvblBhcnRzWzBdKVswXVsxXTtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJyA/IHYgOiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRNaW51dGVJbnRlcnZhbCA9IChleHByZXNzaW9uUGFydHM6IHN0cmluZ1tdKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgdiA9IGdldFNlZ21lbnQoZXhwcmVzc2lvblBhcnRzWzFdKVswXVsxXTtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJyA/IHYgOiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRIb3VySW50ZXJ2YWwgPSAoZXhwcmVzc2lvblBhcnRzOiBzdHJpbmdbXSk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHYgPSBnZXRTZWdtZW50KGV4cHJlc3Npb25QYXJ0c1syXSlbMF1bMV07XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0RGF5SW50ZXJ2YWwgPSAoZXhwcmVzc2lvblBhcnRzOiBzdHJpbmdbXSk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHYgPSBnZXRTZWdtZW50KGV4cHJlc3Npb25QYXJ0c1szXSlbMF1bMV07XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0RGF5T2ZXZWVrID0gKGV4cHJlc3Npb25QYXJ0czogc3RyaW5nW10pOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCB2ID0gZ2V0U2VnbWVudChleHByZXNzaW9uUGFydHNbNV0pWzBdWzBdO1xuICByZXR1cm4gdHlwZW9mIHYgPT09ICdudW1iZXInID8gdiA6IHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGdldERheU9mTW9udGggPSAoZXhwcmVzc2lvblBhcnRzOiBzdHJpbmdbXSk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHYgPSBnZXRTZWdtZW50KGV4cHJlc3Npb25QYXJ0c1szXSlbMF1bMF07XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogdW5kZWZpbmVkO1xufTtcblxuY29uc3QgZ2V0TWludXRlcyA9IChleHByZXNzaW9uUGFydHM6IHN0cmluZ1tdKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgdiA9IGdldFNlZ21lbnQoZXhwcmVzc2lvblBhcnRzWzFdKVswXVswXTtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJyA/IHYgOiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRIb3VycyA9IChleHByZXNzaW9uUGFydHM6IHN0cmluZ1tdKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgdiA9IGdldFNlZ21lbnQoZXhwcmVzc2lvblBhcnRzWzJdKVswXVswXTtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnbnVtYmVyJyA/IHYgOiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXRTZWdtZW50ID0gKHZhbHVlOiBzdHJpbmcpOiBBcnJheTxBcnJheTxzdHJpbmcgfCBudW1iZXI+PiA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdmFsdWUgPSAnKic7XG4gIH1cbiAgcmV0dXJuIHZhbHVlLnNwbGl0KCcsJykubWFwKHMgPT4ge1xuICAgIGlmIChzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHMgPSAnKic7XG4gICAgfVxuICAgIHJldHVybiBzLnNwbGl0KCcvJykubWFwKHAgPT4ge1xuICAgICAgY29uc3QgdiA9IHBhcnNlSW50KHAsIDEwKTtcbiAgICAgIHJldHVybiBpc05hTih2KSA/IHAgOiB2O1xuICAgIH0pO1xuICB9KTtcbn07XG4iXX0=
@@ -5766,9 +5766,7 @@ const getDefaultCronDisplay = (mode) => {
5766
5766
  return parseCronExpression(modeFound.default);
5767
5767
  };
5768
5768
  const parseCronExpression = (cronExpression) => {
5769
- if (!cronIsValid(cronExpression)) {
5770
- throw new Error('Invalid cron expression.');
5771
- }
5769
+ throwIfInvalid(cronExpression);
5772
5770
  const parts = cronExpression.split(' ');
5773
5771
  // Normalize cron so that second segment is included.
5774
5772
  if (cronExpression && cronExpression.split(' ').length === 6) {
@@ -5847,17 +5845,21 @@ const toCronExpression = (cronDisplay) => {
5847
5845
  }
5848
5846
  };
5849
5847
  const toCronDescription = (cronExpression) => {
5848
+ throwIfInvalid(cronExpression);
5850
5849
  if (!isEmpty(cronExpression)) {
5851
5850
  return Cronstrue.toString(cronExpression);
5852
5851
  }
5853
5852
  return '';
5854
5853
  };
5855
- const cronIsValid = (cronExpression) => {
5856
- const parts = cronExpression.split(' ');
5857
- if (parts.length < 5 || parts.length > 6) {
5858
- return false;
5854
+ /**
5855
+ * Simple validation to ensure that the cron expression has 6 parts.
5856
+ * Note : The full cron expression validation is done by the backend.
5857
+ */
5858
+ const throwIfInvalid = (cronExpression) => {
5859
+ const parts = cronExpression.trim().split(/\s+/);
5860
+ if (parts.length != 6) {
5861
+ throw new Error('Cron expression must have 6 parts.');
5859
5862
  }
5860
- return true;
5861
5863
  };
5862
5864
  const getDisplayMode = (cronExpression) => {
5863
5865
  const modeFound = DISPLAY_MODE_LIST.find(mf => {