{"version":3,"file":"string-utility.js","sourceRoot":"","sources":["../../../Scripts/commons/string-utility.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG;IAAwB,cAAiB;SAAjB,UAAiB,EAAjB,qBAAiB,EAAjB,IAAiB;QAAjB,yBAAiB;;IAClE,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,SAAS,EAAE;YACd,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C;KACD;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,iBAAiB,GAAG;IAAwB,gBAAqC;SAArC,UAAqC,EAArC,qBAAqC,EAArC,IAAqC;QAArC,2BAAqC;;IACjG,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,UAAC,GAAW,EAAE,QAAa;QAC9D,IAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAM,KAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,EAA9B,CAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAO,iBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAGF,MAAM,CAAC,SAAS,CAAC,cAAc,GAAG;IACjC,IAAM,MAAM,GAAG,gBAAgB,CAAC;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC,CAAC;AAEF,IAAU,IAAI,CA4Bb;AA5BD,WAAU,IAAI;IAAC,IAAA,OAAO,CA4BrB;IA5Bc,WAAA,OAAO;QAErB;YAAA;YAyBA,CAAC;YAvBc,sBAAQ,GAAtB,UAAuB,CAAS;gBAC/B,IAAI,CAAC,EAAE;oBACN,OAAO,CAAC;yBACN,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;yBACjB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;yBACjB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CACzB;iBACD;qBAAK;oBACL,OAAO,CAAC,CAAC;iBACT;YACF,CAAC;YAGa,8BAAgB,GAA9B,UAA+B,CAAS;gBACvC,IAAI,CAAC,EAAE;oBACN,OAAO,CAAC;yBACN,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAExB;iBACD;qBAAK;oBACL,OAAO,CAAC,CAAC;iBACT;YACF,CAAC;YACF,oBAAC;QAAD,CAAC,AAzBD,IAyBC;QAzBY,qBAAa,gBAyBzB,CAAA;IACF,CAAC,EA5Bc,OAAO,GAAP,YAAO,KAAP,YAAO,QA4BrB;AAAD,CAAC,EA5BS,IAAI,KAAJ,IAAI,QA4Bb","sourcesContent":["interface String {\r\n\tformat(...args: string[]): string;\r\n\tformatWithObjects(...args: Array | object>): string;\r\n\tisAlphanumeric(): boolean;\r\n}\r\n\r\n// Extension method della classe String per la formattazione delle stringhe\r\nString.prototype.format = function (this: string, ...args: string[]): string {\r\n\tlet formatted = this;\r\n\tfor (let i = 0; i < args.length; i++) {\r\n\t\tconst regexp = new RegExp('\\\\{' + i + '\\\\}', 'gi');\r\n\r\n\t\tif (formatted) {\r\n\t\t\tformatted = formatted.replace(regexp, args[i]);\r\n\t\t}\r\n\t}\r\n\treturn formatted;\r\n};\r\n\r\nString.prototype.formatWithObjects = function (this: string, ...params: Array | object>): string {\r\n\treturn this.replace(/[{](.*?)[}]/g, (tag: string, innerTag: any) => {\r\n\t\tconst tagValueContainer = params.filter((param) => (param)[innerTag] != null)[0];\r\n\t\treturn (tagValueContainer ? (tagValueContainer)[innerTag] : '');\r\n\t});\r\n};\r\n\r\n// Extension method della classe String che controlla se la stringa รจ di tipo Alfanumerico\r\nString.prototype.isAlphanumeric = function (this: string): boolean {\r\n\tconst regExp = /^[0-9a-zA-Z]+$/;\r\n\treturn this.match(regExp) != null;\r\n};\r\n\r\nnamespace Seac.Commons {\r\n\t/** Utility per la gestione delle stringhe */\r\n\texport class StringUtility {\r\n\t\t/** Formatta la stringa per essere utilizzata in codice JavaScript all'interno di una pagina HTML */\r\n\t\tpublic static JsInHtml(x: string): string {\r\n\t\t\tif (x) {\r\n\t\t\t\treturn x\r\n\t\t\t\t\t.replace(/'/g, '')\r\n\t\t\t\t\t.replace(/\"/g, '')\r\n\t\t\t\t\t.replace(/\\r|\\n|\\t/g, '')\r\n\t\t\t\t;\r\n\t\t\t}else {\r\n\t\t\t\treturn x;\r\n\t\t\t}\r\n\t\t}\r\n \r\n\t\t/** Formatta la stringa per essere utilizzata in un attributo HTML */\r\n\t\tpublic static ForHtmlAttrubute(x: string): string {\r\n\t\t\tif (x) {\r\n\t\t\t\treturn x\r\n\t\t\t\t\t.replace(/\"/g, '"')\r\n\t\t\t//\t\t.replace(/\\r|\\n|\\t/g, '')\r\n\t\t\t\t;\r\n\t\t\t}else {\r\n\t\t\t\treturn x;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n"]}