helper.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. export function isUrl(urlToCheck: string): boolean {
  2. if (urlToCheck.indexOf('http') === 0 || urlToCheck.indexOf('/') === 0 || urlToCheck.indexOf('./') === 0 || urlToCheck.indexOf('../') === 0) {
  3. return true;
  4. }
  5. return false;
  6. }
  7. export function loadFile(url: string): Promise<any> {
  8. /*let cacheReference = this.configurationCache;
  9. if (cacheReference[url]) {
  10. return Promise.resolve(cacheReference[url]);
  11. }*/
  12. return new Promise(function (resolve, reject) {
  13. var xhr = new XMLHttpRequest();
  14. xhr.open('GET', url);
  15. xhr.send();
  16. xhr.onreadystatechange = function () {
  17. var DONE = 4;
  18. var OK = 200;
  19. if (xhr.readyState === DONE) {
  20. if (xhr.status === OK) {
  21. //cacheReference[url] = xhr.responseText;
  22. resolve(xhr.responseText); // 'This is the returned text.'
  23. }
  24. } else {
  25. console.log('Error: ' + xhr.status, url);
  26. reject('Error: ' + xhr.status); // An error occurred during the request.
  27. }
  28. }
  29. });
  30. }
  31. export function kebabToCamel(s) {
  32. return s.replace(/(\-\w)/g, function (m) { return m[1].toUpperCase(); });
  33. }
  34. //https://gist.github.com/youssman/745578062609e8acac9f
  35. export function camelToKebab(str) {
  36. return !str ? null : str.replace(/([A-Z])/g, function (g) { return '-' + g[0].toLowerCase() });
  37. }