defs.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import globals from './global';
  2. import parseProj from './projString';
  3. import wkt from 'wkt-parser';
  4. function defs(name) {
  5. /*global console*/
  6. var that = this;
  7. if (arguments.length === 2) {
  8. var def = arguments[1];
  9. if (typeof def === 'string') {
  10. if (def.charAt(0) === '+') {
  11. defs[name] = parseProj(arguments[1]);
  12. }
  13. else {
  14. defs[name] = wkt(arguments[1]);
  15. }
  16. } else {
  17. defs[name] = def;
  18. }
  19. }
  20. else if (arguments.length === 1) {
  21. if (Array.isArray(name)) {
  22. return name.map(function(v) {
  23. if (Array.isArray(v)) {
  24. defs.apply(that, v);
  25. }
  26. else {
  27. defs(v);
  28. }
  29. });
  30. }
  31. else if (typeof name === 'string') {
  32. if (name in defs) {
  33. return defs[name];
  34. }
  35. }
  36. else if ('EPSG' in name) {
  37. defs['EPSG:' + name.EPSG] = name;
  38. }
  39. else if ('ESRI' in name) {
  40. defs['ESRI:' + name.ESRI] = name;
  41. }
  42. else if ('IAU2000' in name) {
  43. defs['IAU2000:' + name.IAU2000] = name;
  44. }
  45. else {
  46. console.log(name);
  47. }
  48. return;
  49. }
  50. }
  51. globals(defs);
  52. export default defs;