| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- class CustomField {
 
-   constructor(definition) {
 
-     this.definition = definition;
 
-   }
 
- }
 
- export class CustomFieldStringTemplate extends CustomField {
 
-   constructor(definition) {
 
-     super(definition);
 
-     this.format = definition.settings.stringtemplateFormat;
 
-     this.separator = definition.settings.stringtemplateSeparator;
 
-   }
 
-   getFormattedValue(rawValue) {
 
-     const ret = (rawValue ?? [])
 
-       .filter(value => !!value.trim())
 
-       .map(value => {
 
-         let _ret = this.format.replace(/[%$]\{.+?[^0-9]\}/g, function(_match) {
 
-           let __ret;
 
-           if (_match.match(/%\{value\}/i)) {
 
-             __ret = value;
 
-           } else {
 
-             _match = _match.replace(/^\$/, "");
 
-             try {
 
-               const _json = JSON.parse(_match);
 
-               __ret =  value.replace(new RegExp(_json.regex, _json.flags), _json.replace);
 
-             } catch (err) {
 
-               console.error(err);
 
-             }
 
-           }
 
-           return __ret;
 
-         });
 
-         return _ret;
 
-       })
 
-       .join(this.separator ?? '');
 
-     return ret;
 
-   }
 
- }
 
 
  |