{"version":3,"sources":["../source/edit.js"],"names":["edit","value","caret","operation","slice"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,IAAT,CAAcC,KAAd,EAAqBC,KAArB,EAA4BC,SAA5B,EACf;AACC,UAAQA,SAAR;AAEC,SAAK,WAAL;AACC;AACA;AACA,UAAID,KAAK,GAAG,CAAZ,EACA;AACC;AACAD,QAAAA,KAAK,GAAGA,KAAK,CAACG,KAAN,CAAY,CAAZ,EAAeF,KAAK,GAAG,CAAvB,IAA4BD,KAAK,CAACG,KAAN,CAAYF,KAAZ,CAApC,CAFD,CAGC;;AACAA,QAAAA,KAAK;AACL;;AACD;;AAED,SAAK,QAAL;AACC;AACAD,MAAAA,KAAK,GAAGA,KAAK,CAACG,KAAN,CAAY,CAAZ,EAAeF,KAAf,IAAwBD,KAAK,CAACG,KAAN,CAAYF,KAAK,GAAG,CAApB,CAAhC;AACA;AAjBF;;AAoBA,SAAO;AAAED,IAAAA,KAAK,EAALA,KAAF;AAASC,IAAAA,KAAK,EAALA;AAAT,GAAP;AACA","sourcesContent":["// Edits text `value` (if `operation` is passed) and repositions the `caret` if needed.\r\n//\r\n// Example:\r\n//\r\n// value - '88005553535'\r\n// caret - 2 // starting from 0; is positioned before the first zero\r\n// operation - 'Backspace'\r\n//\r\n// Returns\r\n// {\r\n// \tvalue: '8005553535'\r\n// \tcaret: 1\r\n// }\r\n//\r\n// Currently supports just 'Delete' and 'Backspace' operations\r\n//\r\nexport default function edit(value, caret, operation)\r\n{\r\n\tswitch (operation)\r\n\t{\r\n\t\tcase 'Backspace':\r\n\t\t\t// If there exists the previous character,\r\n\t\t\t// then erase it and reposition the caret.\r\n\t\t\tif (caret > 0)\r\n\t\t\t{\r\n\t\t\t\t// Remove the previous character\r\n\t\t\t\tvalue = value.slice(0, caret - 1) + value.slice(caret)\r\n\t\t\t\t// Position the caret where the previous (erased) character was\r\n\t\t\t\tcaret--\r\n\t\t\t}\r\n\t\t\tbreak\r\n\r\n\t\tcase 'Delete':\r\n\t\t\t// Remove current digit (if any)\r\n\t\t\tvalue = value.slice(0, caret) + value.slice(caret + 1)\r\n\t\t\tbreak\r\n\t}\r\n\r\n\treturn { value, caret }\r\n}"],"file":"edit.js"}