New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@globalfishingwatch/data-transforms

Package Overview
Dependencies
Maintainers
3
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@globalfishingwatch/data-transforms - npm Package Compare versions

Comparing version 1.2.2 to 1.3.0

dist/guessColumns-134bc34b.js

6

CHANGELOG.md
# @globalfishingwatch/data-transforms
## 1.3.0
### Minor Changes
- b3f3ca64: Sync valueArray decoding with encoding in api-vessels-service
## 1.2.2

@@ -4,0 +10,0 @@

2

dist/csv-to-track-segments/index.js

@@ -1,2 +0,2 @@

export{c as checkRecordValidity,a as csvToTrackSegments,g as guessColumns}from"../guessColumns-f3e40d02.js";
export{c as checkRecordValidity,a as csvToTrackSegments,g as guessColumns}from"../guessColumns-134bc34b.js";import"lodash";
//# sourceMappingURL=index.js.map

@@ -1,2 +0,2 @@

export{D as DEFAULT_NULL_VALUE,F as Field,T as TRACK_FIELDS,t as trackValueArrayToSegments}from"./track-value-array-to-segments-682cc8f2.js";export{f as filterSegmentsByTimerange,g as geoJSONToSegments,a as segmentsToBbox,s as segmentsToGeoJSON}from"./segments-to-geojson-3a5bd3f1.js";export{c as checkRecordValidity,a as csvToTrackSegments,g as guessColumns}from"./guessColumns-f3e40d02.js";
export{D as DEFAULT_NULL_VALUE,F as Field,T as TRACK_FIELDS,t as trackValueArrayToSegments}from"./track-value-array-to-segments-834c4373.js";export{f as filterSegmentsByTimerange,g as geoJSONToSegments,a as segmentsToBbox,s as segmentsToGeoJSON}from"./segments-to-geojson-3a5bd3f1.js";export{c as checkRecordValidity,a as csvToTrackSegments,g as guessColumns}from"./guessColumns-134bc34b.js";import"lodash";
//# sourceMappingURL=index.js.map

@@ -1,2 +0,2 @@

export{D as DEFAULT_NULL_VALUE,F as Field,T as TRACK_FIELDS,t as trackValueArrayToSegments}from"../track-value-array-to-segments-682cc8f2.js";
export{D as DEFAULT_NULL_VALUE,F as Field,T as TRACK_FIELDS,t as trackValueArrayToSegments}from"../track-value-array-to-segments-834c4373.js";
//# sourceMappingURL=index.js.map
{
"name": "@globalfishingwatch/data-transforms",
"version": "1.2.2",
"version": "1.3.0",
"description": "Utils to decode various data formats",

@@ -30,2 +30,5 @@ "main": "dist/index.js",

},
"peerDependencies": {
"lodash": "^4.17.21"
},
"publishConfig": {

@@ -37,3 +40,3 @@ "access": "public"

},
"gitHead": "fc7e545437bb4f5270ee8e27f780c5f15e7e0c7a"
"gitHead": "8cb56ccf3ccc862e5070e009f9630d9542202cb4"
}

@@ -1,2 +0,2 @@

import groupBy from 'lodash/groupBy'
import { groupBy } from 'lodash'
import { Segment } from '../track-value-array-to-segments'

@@ -3,0 +3,0 @@ import { Columns } from './types'

@@ -6,2 +6,26 @@ import { Field, Segment, Point } from './types'

/**
* Transformer functions to be applied on every valueArray field
* to convert the received value (Int32) to the actual value (Float)
* depending on its precision.
* This transformations should be the inverse of the formatterValueArray
* property of every field defined in:
* https://github.com/GlobalFishingWatch/api-vessels-service/blob/develop/src/modules/api/v1/vessels/modules/tracks/services/feature.service.ts
*/
const transformerByField: Partial<Record<Field, (value: number) => number>> = {
[Field.course]: (value: number) => value / Math.pow(10, 6),
[Field.distanceFromPort]: (value: number) => value,
// Uncomment when added to new package version
// [Field.distanceFromShore]: (value: number) => value,
[Field.elevation]: (value: number) => value,
// Uncomment when added to new package version
// [Field.encounter]: (value: number) => value,
[Field.latitude]: (value: number) => value / Math.pow(10, 6),
[Field.longitude]: (value: number) => value / Math.pow(10, 6),
[Field.fishing]: (value: number) => value,
[Field.night]: (value: number) => value,
[Field.speed]: (value: number) => value / Math.pow(10, 6),
[Field.timestamp]: (value: number) => value * Math.pow(10, 3),
}
export const trackValueArrayToSegments = (valueArray: number[], fields_: Field[]) => {

@@ -12,3 +36,3 @@ if (!fields_.length) {

const fields = fields_
const fields: Field[] = [...fields_]
if (fields.includes(Field.lonlat)) {

@@ -68,9 +92,8 @@ const llIndex = fields.indexOf(Field.lonlat)

const field: Field = fields[currentPointFieldIndex]
const transformer = transformerByField[field]
// values by default must be / 1000000 in order to convert ints to floats
// except for timestamp that mmust be converted from s to ms
if (value === nullValue) {
if (value === nullValue || transformer === undefined) {
currentPoint[field] = null
} else {
currentPoint[field] = field === Field.timestamp ? value * 1000 : value / 1000000
currentPoint[field] = transformer(value)
}

@@ -77,0 +100,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc