@flumens/utils 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./string.js"),r=require("./device.js"),t=require("./deferred.js"),o=require("./date.js"),i=require("./image.js"),s=require("./location.js"),a=require("./sentry.js"),d=require("./errors.js"),p=require("./platform.js"),x=require("./uuid.js");exports.string=e.default,exports.device=r.default,exports.Deferred=t.Deferred,exports.dateFormat=o.dateFormat,exports.getRelativeDate=o.getRelativeDate,exports.isValidDate=o.isValidDate,exports.timeFormat=o.timeFormat,exports.toISOTimezoneString=o.toISOTimezoneString,exports.captureImage=i.captureImage,exports.createImage=i.createImage,exports.cropImage=i.cropImage,exports.deleteFile=i.deleteFile,exports.getObjectURL=i.getObjectURL,exports.resizeImage=i.resizeImage,exports.saveFile=i.saveFile,exports.checkGridType=s.checkGridType,exports.doesExceedGridRef=s.doesExceedGridRef,exports.getGridSquareCenter=s.getGridSquareCenter,exports.gridrefAccuracy=s.gridrefAccuracy,exports.gridrefStringToLatLng=s.gridrefStringToLatLng,exports.isInGB=s.isInGB,exports.isValidGridRef=s.isValidGridRef,exports.isValidLocation=s.isValidLocation,exports.locationToGrid=s.locationToGrid,exports.normalizeCoords=s.normalizeCoords,exports.normalizeGridRefAcc=s.normalizeGridRefAcc,exports.parseGrid=s.parseGrid,exports.prettyPrintGridRef=s.prettyPrintGridRef,exports.prettyPrintLocation=s.prettyPrintLocation,exports.updateModelLocation=s.updateModelLocation,exports.options=a.options,exports.HandledError=d.HandledError,exports.isAxiosNetworkError=d.isAxiosNetworkError,exports.isPlatform=p.isPlatform,exports.UUIDv7=x.UUIDv7,exports.hashCode=x.hashCode;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./string.js"),r=require("./device.js"),t=require("./deferred.js"),o=require("./date.js"),i=require("./image.js"),s=require("./location.js"),a=require("./sentry.js"),d=require("./errors.js"),p=require("./platform.js"),x=require("./uuid.js");exports.string=e.default,exports.device=r.default,exports.Deferred=t.Deferred,exports.dateFormat=o.dateFormat,exports.getRelativeDate=o.getRelativeDate,exports.isValidDate=o.isValidDate,exports.timeFormat=o.timeFormat,exports.toISOTimezoneString=o.toISOTimezoneString,exports.captureImage=i.captureImage,exports.createImage=i.createImage,exports.cropImage=i.cropImage,exports.deleteFile=i.deleteFile,exports.getObjectURL=i.getObjectURL,exports.resizeImage=i.resizeImage,exports.saveFile=i.saveFile,exports.checkGridType=s.checkGridType,exports.doesExceedGridRef=s.doesExceedGridRef,exports.getGeomCenter=s.getGeomCenter,exports.getGeomWKT=s.getGeomWKT,exports.getGridSquareCenter=s.getGridSquareCenter,exports.gridrefAccuracy=s.gridrefAccuracy,exports.gridrefStringToLatLng=s.gridrefStringToLatLng,exports.isInGB=s.isInGB,exports.isValidGridRef=s.isValidGridRef,exports.isValidLocation=s.isValidLocation,exports.locationToGrid=s.locationToGrid,exports.normalizeCoords=s.normalizeCoords,exports.normalizeGridRefAcc=s.normalizeGridRefAcc,exports.parseGrid=s.parseGrid,exports.prettyPrintGridRef=s.prettyPrintGridRef,exports.prettyPrintLocation=s.prettyPrintLocation,exports.updateModelLocation=s.updateModelLocation,exports.options=a.options,exports.HandledError=d.HandledError,exports.isAxiosNetworkError=d.isAxiosNetworkError,exports.isPlatform=p.isPlatform,exports.UUIDv7=x.UUIDv7,exports.hashCode=x.hashCode;
@@ -69,4 +69,8 @@ type LatLng = {
69
69
  */
70
70
  export declare const normalizeCoords: ({ lat, lng }: LatLng) => LatLng;
71
71
  export declare const isValidLocation: (location?: Location | null) => boolean;
72
+ type XYPoint = [number, number];
73
+ export default function transformToLatLon(geometry: any): any;
74
+ export declare function getGeomWKT(geometry: LineString | Polygon): string;
75
+ export declare function getGeomCenter(geometry: LineString | Polygon): XYPoint;
72
76
  export {};
package/dist/location.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib");function e(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=e(require("@flumens/bigu")),a={tetrad:{label:"Tetrad (2km square)",length:5},monad:{label:"Monad (1km square)",length:6}};function n(t){var e=t.match(/^([A-Z]*)\d/i)[1],r=t.replace(e,""),a=r.length;if(a%2)return"".concat(e," ").concat(r);var n=r.slice(0,a/2),i=r.slice(a/2);return"".concat(e," ").concat(n," ").concat(i)}function i(t){var e=r.default.latlng_to_grid_coords(t.latitude,t.longitude);if(!e||!Number.isFinite(t.accuracy))return null;var a=r.default.GridRefParser.get_normalized_precision(2*t.accuracy);return e.to_gridref(a)}function o(t,e,r){var a=e.accuracy,n=t.x,i=t.y;return n%r-a<0||(n%r+a>r||(i%r-a<0||i%r+a>r))}exports.checkGridType=function(t,e){if(!e)return!1;var r=t.gridref||"",n=a[e].length;return/^.\d/.test(r)&&(n-=1),r.length===n},exports.doesExceedGridRef=o,exports.getGridSquareCenter=function(t){var e=r.default.GridRefParser.factory(t);if(!e)return null;var a=e.osRef;return new e.NationalRef(a.x+e.length/2,a.y+e.length/2).to_latLng()},exports.gridrefAccuracy=a,exports.gridrefStringToLatLng=function(t){try{var e=r.default.GridRefParser.factory(t);return e?e.osRef.to_latLng():null}catch(t){console.error(t.message)}return null},exports.isInGB=function(t){if(t.latitude){var e=r.default.latlng_to_grid_coords(t.latitude,t.longitude);return!!e&&"GB"===e.country}return!1},exports.isValidGridRef=function(t){try{var e=r.default.GridRefParser.factory(t);return!(!e||!r.default.MappingUtils.is_gb_hectad(e.hectad))}catch(t){console.error(t.message)}return!1},exports.isValidLocation=function(t){return Number.isFinite(null==t?void 0:t.latitude)&&Number.isFinite(null==t?void 0:t.longitude)},exports.locationToGrid=i,exports.normalizeCoords=function(t){var e=t.lat,r=t.lng;return r>180?{lat:e,lng:r-180-180}:r<-180?{lat:e,lng:180+(r+180)}:{lat:e,lng:r}},exports.normalizeGridRefAcc=function t(e,r,a){return a>=1e4?null:o(e,r,a)?t(e,r,10*a):e.to_gridref(a)},exports.parseGrid=function(t){var e,a=r.default.GridRefParser.factory(t);return a&&(a.osRef.x+=a.length/2,a.osRef.y+=a.length/2,e=a.osRef),e},exports.prettyPrintGridRef=n,exports.prettyPrintLocation=function(t){if(!t||!t.latitude)return"";if(t.gridref)return n(t.gridref);t.accuracy;var e=i(t);return e?n(e):"".concat(parseFloat(t.latitude).toFixed(4),", ").concat(parseFloat(t.longitude).toFixed(4))},exports.updateModelLocation=function(e,r){return t.__awaiter(this,arguments,void 0,(function(e,r,a){var n,o,c,u;return void 0===a&&(a=!1),t.__generator(this,(function(l){switch(l.label){case 0:return(null===(u=e.metadata)||void 0===u?void 0:u.deleted)?(console.warn("LocationUtils: skipping deleted model location set"),[2]):((n=t.__assign({},r)).latitude=parseFloat(parseFloat("".concat(n.latitude)).toFixed(5)),n.longitude=parseFloat(parseFloat("".concat(n.longitude)).toFixed(5)),(n.accuracy||Number.isFinite(n.accuracy))&&(n.accuracy=parseFloat(parseFloat("".concat(n.accuracy)).toFixed(2))),(n.altitude||Number.isFinite(n.altitude))&&(n.altitude=parseFloat(parseFloat("".concat(n.altitude)).toFixed(2))),(n.altitudeAccuracy||Number.isFinite(n.altitudeAccuracy))&&(n.altitudeAccuracy=parseFloat(parseFloat("".concat(n.altitudeAccuracy)).toFixed(2))),n.source="gps",a||(n.gridref=i(n)),o=e.attrs.location,c=t.__assign(t.__assign({},o),n),e.setGPSLocation?[4,e.setGPSLocation(c)]:[3,2]);case 1:case 3:return l.sent(),[2];case 2:return e.attrs.location=c,[4,e.save()]}}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),e=require("wellknown"),r=require("@flumens/bigu"),a=require("@mapbox/sphericalmercator");function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=n(e),i=n(r),c={tetrad:{label:"Tetrad (2km square)",length:5},monad:{label:"Monad (1km square)",length:6}};function u(t){var e=t.match(/^([A-Z]*)\d/i)[1],r=t.replace(e,""),a=r.length;if(a%2)return"".concat(e," ").concat(r);var n=r.slice(0,a/2),o=r.slice(a/2);return"".concat(e," ").concat(n," ").concat(o)}function l(t){var e=i.default.latlng_to_grid_coords(t.latitude,t.longitude);if(!e||!Number.isFinite(t.accuracy))return null;var r=i.default.GridRefParser.get_normalized_precision(2*t.accuracy);return e.to_gridref(r)}function s(t,e,r){var a=e.accuracy,n=t.x,o=t.y;return n%r-a<0||(n%r+a>r||(o%r-a<0||o%r+a>r))}var d=new a.SphericalMercator;exports.checkGridType=function(t,e){if(!e)return!1;var r=t.gridref||"",a=c[e].length;return/^.\d/.test(r)&&(a-=1),r.length===a},exports.default=function t(e){try{var r=e.type,a=e.coordinates;if("Point"===r)a=[a];else if("MultiLineString"===r){return e.coordinates.map((function(e){return t({coordinates:e})}))}return a.map((function(t){return d.inverse(t)}))}catch(t){return[]}},exports.doesExceedGridRef=s,exports.getGeomCenter=function(t){var e=JSON.parse(JSON.stringify(t));return"Polygon"===e.type?[e.coordinates[0][0][0],e.coordinates[0][0][1]]:[e.coordinates[0][0],e.coordinates[0][1]]},exports.getGeomWKT=function(t){function e(t){return t.map((function(t){var e=t[0],r=t[1];return d.forward([e,r])}))}var r=JSON.parse(JSON.stringify(t));return"Polygon"===r.type?r.coordinates[0]=e(r.coordinates[0]):r.coordinates=e(r.coordinates),o.default.stringify(r)},exports.getGridSquareCenter=function(t){var e=i.default.GridRefParser.factory(t);if(!e)return null;var r=e.osRef;return new e.NationalRef(r.x+e.length/2,r.y+e.length/2).to_latLng()},exports.gridrefAccuracy=c,exports.gridrefStringToLatLng=function(t){try{var e=i.default.GridRefParser.factory(t);return e?e.osRef.to_latLng():null}catch(t){console.error(t.message)}return null},exports.isInGB=function(t){if(t.latitude){var e=i.default.latlng_to_grid_coords(t.latitude,t.longitude);return!!e&&"GB"===e.country}return!1},exports.isValidGridRef=function(t){try{var e=i.default.GridRefParser.factory(t);return!(!e||!i.default.MappingUtils.is_gb_hectad(e.hectad))}catch(t){console.error(t.message)}return!1},exports.isValidLocation=function(t){return Number.isFinite(null==t?void 0:t.latitude)&&Number.isFinite(null==t?void 0:t.longitude)},exports.locationToGrid=l,exports.normalizeCoords=function(t){var e=t.lat,r=t.lng;return r>180?{lat:e,lng:r-180-180}:r<-180?{lat:e,lng:180+(r+180)}:{lat:e,lng:r}},exports.normalizeGridRefAcc=function t(e,r,a){return a>=1e4?null:s(e,r,a)?t(e,r,10*a):e.to_gridref(a)},exports.parseGrid=function(t){var e,r=i.default.GridRefParser.factory(t);return r&&(r.osRef.x+=r.length/2,r.osRef.y+=r.length/2,e=r.osRef),e},exports.prettyPrintGridRef=u,exports.prettyPrintLocation=function(t){if(!t||!t.latitude)return"";if(t.gridref)return u(t.gridref);t.accuracy;var e=l(t);return e?u(e):"".concat(parseFloat(t.latitude).toFixed(4),", ").concat(parseFloat(t.longitude).toFixed(4))},exports.updateModelLocation=function(e,r){return t.__awaiter(this,arguments,void 0,(function(e,r,a){var n,o,i,c;return void 0===a&&(a=!1),t.__generator(this,(function(u){switch(u.label){case 0:return(null===(c=e.metadata)||void 0===c?void 0:c.deleted)?(console.warn("LocationUtils: skipping deleted model location set"),[2]):((n=t.__assign({},r)).latitude=parseFloat(parseFloat("".concat(n.latitude)).toFixed(5)),n.longitude=parseFloat(parseFloat("".concat(n.longitude)).toFixed(5)),(n.accuracy||Number.isFinite(n.accuracy))&&(n.accuracy=parseFloat(parseFloat("".concat(n.accuracy)).toFixed(2))),(n.altitude||Number.isFinite(n.altitude))&&(n.altitude=parseFloat(parseFloat("".concat(n.altitude)).toFixed(2))),(n.altitudeAccuracy||Number.isFinite(n.altitudeAccuracy))&&(n.altitudeAccuracy=parseFloat(parseFloat("".concat(n.altitudeAccuracy)).toFixed(2))),n.source="gps",a||(n.gridref=l(n)),o=e.data.location,i=t.__assign(t.__assign({},o),n),e.setGPSLocation?[4,e.setGPSLocation(i)]:[3,2]);case 1:case 3:return u.sent(),[2];case 2:return e.data.location=i,[4,e.save()]}}))}))};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flumens/utils",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -18,6 +18,7 @@
18
18
  "@rollup/plugin-json": "6.1.0",
19
19
  "@rollup/plugin-node-resolve": "16.0.0",
20
20
  "@rollup/plugin-typescript": "12.1.2",
21
+ "@types/wellknown": "^0.5.8",
21
22
  "@trivago/prettier-plugin-sort-imports": "5.2.2",
22
23
  "prettier": "3.5.0",
23
24
  "rollup-plugin-clear": "2.0.7",
@@ -33,9 +34,11 @@
33
34
  "@capacitor/network": "^5 || ^6 || ^7",
34
35
  "@flumens/bigu": "^0.4.0",
35
36
  "@sentry/integrations": "^7 || ^8",
37
+ "@mapbox/sphericalmercator": "^2",
36
38
  "axios": "^1",
37
39
  "geojson": "^0.5.0",
38
- "mobx": "^6"
40
+ "mobx": "^6",
41
+ "wellknown": "0.5.0"
39
42
  },
40
43
  "jest": {
41
44
  "testEnvironment": "jsdom",