@flumens/utils 0.2.0 → 0.3.1

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.data.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.data.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/dist/sentry.d.ts CHANGED
@@ -1,8 +1,9 @@
1
+ import { ErrorEvent } from '@sentry/browser';
1
2
  declare function beforeBreadcrumb(crumb: any, hint: any): any;
2
3
  export declare const options: {
3
4
  maxBreadcrumbs: number;
4
5
  ignoreErrors: string[];
5
- beforeSend: (event: any) => any;
6
+ beforeSend: (event: ErrorEvent) => ErrorEvent | null;
6
7
  beforeBreadcrumb: typeof beforeBreadcrumb;
7
8
  integrations: any[];
8
9
  };
package/dist/sentry.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@sentry/integrations");function t(e){return e.replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,"UUID")}var a=["Unable to preventDefault inside passive event listener invocation.","Incorrect password or email","AbortError: Fetch is aborted","Attempted to load an infinite number of tiles","No images picked","User cancelled photos app","No image picked","User denied access to camera","User denied access to photos","Failed to fetch"],r={maxBreadcrumbs:400,ignoreErrors:a,beforeSend:function(e){var t,r;if("[object Object]"===e.message){var o=((null===(r=null===(t=e.extra)||void 0===t?void 0:t.arguments)||void 0===r?void 0:r[0])||{}).message;if(!o||a.includes(o))return null;e.message=o}return e},beforeBreadcrumb:function(e,a){if("navigation"===e.category)return e.data={to:t(e.data.to),from:t(e.data.from)},e;if(e.category.startsWith("ui")){var r=a.event.target,o=r.innerText,n=r.dataset;o&&o.length<15&&(e.message="[".concat(o,"] ").concat(e.message)),n.label&&(e.message="[".concat(n.label,"] ").concat(e.message))}if(["xhr","fetch"].includes(e.category)){if(e.data.url.startsWith("data:"))return null;"GET"===e.data.method&&e.data.url.match(/jpeg$/i)&&(e.data.url=e.data.url.replace(/files\/\d+\.jpeg/i,"files/FILENAME.jpeg"))}return e},integrations:[new e.CaptureConsole({levels:["error"]}),new e.Dedupe]};exports.options=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@sentry/integrations");function t(e){return e.replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,"UUID")}var a=["timeout","network error","load failed","request aborted"],r=["re-login is required","incorrect password","refresh token is invalid"],n=["Unable to preventDefault inside passive event listener invocation.","AbortError: Fetch is aborted","Attempted to load an infinite number of tiles","No images picked","User cancelled photos app","No image picked","User denied access to camera","User denied access to photos","Failed to fetch"],o={maxBreadcrumbs:400,ignoreErrors:n,beforeSend:function(e){var t,o;if("[object Object]"===e.message){var i=((null===(o=null===(t=e.extra)||void 0===t?void 0:t.arguments)||void 0===o?void 0:o[0])||{}).message;if(!i||n.includes(i))return null;e.message=i}return a.find((function(t){var a;return null===(a=e.message)||void 0===a?void 0:a.toLowerCase().includes(t)}))&&(e.tags||(e.tags={}),e.tags.type="network"),r.find((function(t){var a;return null===(a=e.message)||void 0===a?void 0:a.toLowerCase().includes(t)}))&&(e.tags||(e.tags={}),e.tags.type="authentication"),e},beforeBreadcrumb:function(e,a){if("navigation"===e.category)return e.data={to:t(e.data.to),from:t(e.data.from)},e;if(e.category.startsWith("ui")){var r=a.event.target,n=r.innerText,o=r.dataset;n&&n.length<15&&(e.message="[".concat(n,"] ").concat(e.message)),o.label&&(e.message="[".concat(o.label,"] ").concat(e.message))}if(["xhr","fetch"].includes(e.category)){if(e.data.url.startsWith("data:"))return null;"GET"===e.data.method&&e.data.url.match(/jpeg$/i)&&(e.data.url=e.data.url.replace(/files\/\d+\.jpeg/i,"files/FILENAME.jpeg"))}return e},integrations:[new e.CaptureConsole({levels:["error"]}),new e.Dedupe]};exports.options=o;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flumens/utils",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
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",