@turf/line-slice-along 7.2.0 → 7.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/README.md CHANGED
@@ -17,7 +17,7 @@ This can be useful for extracting only the part of a route between two distances
17
17
  * `stopDist` **[number][4]** distance along the line to ending point
18
18
  * `options` **[Object][5]** Optional parameters (optional, default `{}`)
19
19
 
20
- * `options.units` **[string][6]** can be degrees, radians, miles, or kilometers (optional, default `'kilometers'`)
20
+ * `options.units` **Units** Supports all valid Turf [Units][6] (optional, default `'kilometers'`)
21
21
 
22
22
  ### Examples
23
23
 
@@ -43,7 +43,7 @@ Returns **[Feature][3]<[LineString][1]>** sliced line
43
43
 
44
44
  [5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
45
45
 
46
- [6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
46
+ [6]: https://turfjs.org/docs/api/types/Units
47
47
 
48
48
  <!-- This file is automatically generated. Please don't edit it directly. If you find an error, edit the source file of the module in question (likely index.js or index.ts), and re-run "yarn docs" from the root of the turf project. -->
49
49
 
@@ -50,9 +50,9 @@ function lineSliceAlong(line, startDist, stopDist, options) {
50
50
  var last = coords[coords.length - 1];
51
51
  return _helpers.lineString.call(void 0, [last, last]);
52
52
  }
53
- var turf_line_slice_along_default = lineSliceAlong;
53
+ var index_default = lineSliceAlong;
54
54
 
55
55
 
56
56
 
57
- exports.default = turf_line_slice_along_default; exports.lineSliceAlong = lineSliceAlong;
57
+ exports.default = index_default; exports.lineSliceAlong = lineSliceAlong;
58
58
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-line-slice-along/dist/cjs/index.cjs","../../index.js"],"names":[],"mappings":"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","file":"/home/runner/work/turf/turf/packages/turf-line-slice-along/dist/cjs/index.cjs","sourcesContent":[null,"import { bearing } from \"@turf/bearing\";\nimport { distance } from \"@turf/distance\";\nimport { destination } from \"@turf/destination\";\nimport { lineString, isObject } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|line}, a specified distance along the line to a start {@link Point},\n * and a specified distance along the line to a stop point\n * and returns a subsection of the line in-between those points.\n *\n * This can be useful for extracting only the part of a route between two distances.\n *\n * @function\n * @param {Feature<LineString>|LineString} line input line\n * @param {number} startDist distance along the line to starting point\n * @param {number} stopDist distance along the line to ending point\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.units='kilometers'] can be degrees, radians, miles, or kilometers\n * @returns {Feature<LineString>} sliced line\n * @example\n * var line = turf.lineString([[7, 45], [9, 45], [14, 40], [14, 41]]);\n * var start = 12.5;\n * var stop = 25;\n * var sliced = turf.lineSliceAlong(line, start, stop, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [line, start, stop, sliced]\n */\nfunction lineSliceAlong(line, startDist, stopDist, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n\n var coords;\n var slice = [];\n\n // Validation\n if (line.type === \"Feature\") coords = line.geometry.coordinates;\n else if (line.type === \"LineString\") coords = line.coordinates;\n else throw new Error(\"input must be a LineString Feature or Geometry\");\n var origCoordsLength = coords.length;\n var travelled = 0;\n var overshot, direction, interpolated;\n for (var i = 0; i < coords.length; i++) {\n if (startDist >= travelled && i === coords.length - 1) break;\n else if (travelled > startDist && slice.length === 0) {\n overshot = startDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n }\n\n if (travelled >= stopDist) {\n overshot = stopDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n return lineString(slice);\n }\n\n if (travelled >= startDist) {\n slice.push(coords[i]);\n }\n\n if (i === coords.length - 1) {\n return lineString(slice);\n }\n\n travelled += distance(coords[i], coords[i + 1], options);\n }\n\n if (travelled < startDist && coords.length === origCoordsLength)\n throw new Error(\"Start position is beyond line\");\n\n var last = coords[coords.length - 1];\n return lineString([last, last]);\n}\n\nexport { lineSliceAlong };\nexport default lineSliceAlong;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-line-slice-along/dist/cjs/index.cjs","../../index.js"],"names":[],"mappings":"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","file":"/home/runner/work/turf/turf/packages/turf-line-slice-along/dist/cjs/index.cjs","sourcesContent":[null,"import { bearing } from \"@turf/bearing\";\nimport { distance } from \"@turf/distance\";\nimport { destination } from \"@turf/destination\";\nimport { lineString, isObject } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|line}, a specified distance along the line to a start {@link Point},\n * and a specified distance along the line to a stop point\n * and returns a subsection of the line in-between those points.\n *\n * This can be useful for extracting only the part of a route between two distances.\n *\n * @function\n * @param {Feature<LineString>|LineString} line input line\n * @param {number} startDist distance along the line to starting point\n * @param {number} stopDist distance along the line to ending point\n * @param {Object} [options={}] Optional parameters\n * @param {Units} [options.units='kilometers'] Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}\n * @returns {Feature<LineString>} sliced line\n * @example\n * var line = turf.lineString([[7, 45], [9, 45], [14, 40], [14, 41]]);\n * var start = 12.5;\n * var stop = 25;\n * var sliced = turf.lineSliceAlong(line, start, stop, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [line, start, stop, sliced]\n */\nfunction lineSliceAlong(line, startDist, stopDist, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n\n var coords;\n var slice = [];\n\n // Validation\n if (line.type === \"Feature\") coords = line.geometry.coordinates;\n else if (line.type === \"LineString\") coords = line.coordinates;\n else throw new Error(\"input must be a LineString Feature or Geometry\");\n var origCoordsLength = coords.length;\n var travelled = 0;\n var overshot, direction, interpolated;\n for (var i = 0; i < coords.length; i++) {\n if (startDist >= travelled && i === coords.length - 1) break;\n else if (travelled > startDist && slice.length === 0) {\n overshot = startDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n }\n\n if (travelled >= stopDist) {\n overshot = stopDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n return lineString(slice);\n }\n\n if (travelled >= startDist) {\n slice.push(coords[i]);\n }\n\n if (i === coords.length - 1) {\n return lineString(slice);\n }\n\n travelled += distance(coords[i], coords[i + 1], options);\n }\n\n if (travelled < startDist && coords.length === origCoordsLength)\n throw new Error(\"Start position is beyond line\");\n\n var last = coords[coords.length - 1];\n return lineString([last, last]);\n}\n\nexport { lineSliceAlong };\nexport default lineSliceAlong;\n"]}
package/dist/esm/index.js CHANGED
@@ -50,9 +50,9 @@ function lineSliceAlong(line, startDist, stopDist, options) {
50
50
  var last = coords[coords.length - 1];
51
51
  return lineString([last, last]);
52
52
  }
53
- var turf_line_slice_along_default = lineSliceAlong;
53
+ var index_default = lineSliceAlong;
54
54
  export {
55
- turf_line_slice_along_default as default,
55
+ index_default as default,
56
56
  lineSliceAlong
57
57
  };
58
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.js"],"sourcesContent":["import { bearing } from \"@turf/bearing\";\nimport { distance } from \"@turf/distance\";\nimport { destination } from \"@turf/destination\";\nimport { lineString, isObject } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|line}, a specified distance along the line to a start {@link Point},\n * and a specified distance along the line to a stop point\n * and returns a subsection of the line in-between those points.\n *\n * This can be useful for extracting only the part of a route between two distances.\n *\n * @function\n * @param {Feature<LineString>|LineString} line input line\n * @param {number} startDist distance along the line to starting point\n * @param {number} stopDist distance along the line to ending point\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.units='kilometers'] can be degrees, radians, miles, or kilometers\n * @returns {Feature<LineString>} sliced line\n * @example\n * var line = turf.lineString([[7, 45], [9, 45], [14, 40], [14, 41]]);\n * var start = 12.5;\n * var stop = 25;\n * var sliced = turf.lineSliceAlong(line, start, stop, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [line, start, stop, sliced]\n */\nfunction lineSliceAlong(line, startDist, stopDist, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n\n var coords;\n var slice = [];\n\n // Validation\n if (line.type === \"Feature\") coords = line.geometry.coordinates;\n else if (line.type === \"LineString\") coords = line.coordinates;\n else throw new Error(\"input must be a LineString Feature or Geometry\");\n var origCoordsLength = coords.length;\n var travelled = 0;\n var overshot, direction, interpolated;\n for (var i = 0; i < coords.length; i++) {\n if (startDist >= travelled && i === coords.length - 1) break;\n else if (travelled > startDist && slice.length === 0) {\n overshot = startDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n }\n\n if (travelled >= stopDist) {\n overshot = stopDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n return lineString(slice);\n }\n\n if (travelled >= startDist) {\n slice.push(coords[i]);\n }\n\n if (i === coords.length - 1) {\n return lineString(slice);\n }\n\n travelled += distance(coords[i], coords[i + 1], options);\n }\n\n if (travelled < startDist && coords.length === origCoordsLength)\n throw new Error(\"Start position is beyond line\");\n\n var last = coords[coords.length - 1];\n return lineString([last, last]);\n}\n\nexport { lineSliceAlong };\nexport default lineSliceAlong;\n"],"mappings":";AAAA,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAC5B,SAAS,YAAY,gBAAgB;AAyBrC,SAAS,eAAe,MAAM,WAAW,UAAU,SAAS;AAE1D,YAAU,WAAW,CAAC;AACtB,MAAI,CAAC,SAAS,OAAO,EAAG,OAAM,IAAI,MAAM,oBAAoB;AAE5D,MAAI;AACJ,MAAI,QAAQ,CAAC;AAGb,MAAI,KAAK,SAAS,UAAW,UAAS,KAAK,SAAS;AAAA,WAC3C,KAAK,SAAS,aAAc,UAAS,KAAK;AAAA,MAC9C,OAAM,IAAI,MAAM,gDAAgD;AACrE,MAAI,mBAAmB,OAAO;AAC9B,MAAI,YAAY;AAChB,MAAI,UAAU,WAAW;AACzB,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,QAAI,aAAa,aAAa,MAAM,OAAO,SAAS,EAAG;AAAA,aAC9C,YAAY,aAAa,MAAM,WAAW,GAAG;AACpD,iBAAW,YAAY;AACvB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAAA,IAC9C;AAEA,QAAI,aAAa,UAAU;AACzB,iBAAW,WAAW;AACtB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAC5C,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,QAAI,aAAa,WAAW;AAC1B,YAAM,KAAK,OAAO,CAAC,CAAC;AAAA,IACtB;AAEA,QAAI,MAAM,OAAO,SAAS,GAAG;AAC3B,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,iBAAa,SAAS,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO;AAAA,EACzD;AAEA,MAAI,YAAY,aAAa,OAAO,WAAW;AAC7C,UAAM,IAAI,MAAM,+BAA+B;AAEjD,MAAI,OAAO,OAAO,OAAO,SAAS,CAAC;AACnC,SAAO,WAAW,CAAC,MAAM,IAAI,CAAC;AAChC;AAGA,IAAO,gCAAQ;","names":[]}
1
+ {"version":3,"sources":["../../index.js"],"sourcesContent":["import { bearing } from \"@turf/bearing\";\nimport { distance } from \"@turf/distance\";\nimport { destination } from \"@turf/destination\";\nimport { lineString, isObject } from \"@turf/helpers\";\n\n/**\n * Takes a {@link LineString|line}, a specified distance along the line to a start {@link Point},\n * and a specified distance along the line to a stop point\n * and returns a subsection of the line in-between those points.\n *\n * This can be useful for extracting only the part of a route between two distances.\n *\n * @function\n * @param {Feature<LineString>|LineString} line input line\n * @param {number} startDist distance along the line to starting point\n * @param {number} stopDist distance along the line to ending point\n * @param {Object} [options={}] Optional parameters\n * @param {Units} [options.units='kilometers'] Supports all valid Turf {@link https://turfjs.org/docs/api/types/Units Units}\n * @returns {Feature<LineString>} sliced line\n * @example\n * var line = turf.lineString([[7, 45], [9, 45], [14, 40], [14, 41]]);\n * var start = 12.5;\n * var stop = 25;\n * var sliced = turf.lineSliceAlong(line, start, stop, {units: 'miles'});\n *\n * //addToMap\n * var addToMap = [line, start, stop, sliced]\n */\nfunction lineSliceAlong(line, startDist, stopDist, options) {\n // Optional parameters\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n\n var coords;\n var slice = [];\n\n // Validation\n if (line.type === \"Feature\") coords = line.geometry.coordinates;\n else if (line.type === \"LineString\") coords = line.coordinates;\n else throw new Error(\"input must be a LineString Feature or Geometry\");\n var origCoordsLength = coords.length;\n var travelled = 0;\n var overshot, direction, interpolated;\n for (var i = 0; i < coords.length; i++) {\n if (startDist >= travelled && i === coords.length - 1) break;\n else if (travelled > startDist && slice.length === 0) {\n overshot = startDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n }\n\n if (travelled >= stopDist) {\n overshot = stopDist - travelled;\n if (!overshot) {\n slice.push(coords[i]);\n return lineString(slice);\n }\n direction = bearing(coords[i], coords[i - 1]) - 180;\n interpolated = destination(coords[i], overshot, direction, options);\n slice.push(interpolated.geometry.coordinates);\n return lineString(slice);\n }\n\n if (travelled >= startDist) {\n slice.push(coords[i]);\n }\n\n if (i === coords.length - 1) {\n return lineString(slice);\n }\n\n travelled += distance(coords[i], coords[i + 1], options);\n }\n\n if (travelled < startDist && coords.length === origCoordsLength)\n throw new Error(\"Start position is beyond line\");\n\n var last = coords[coords.length - 1];\n return lineString([last, last]);\n}\n\nexport { lineSliceAlong };\nexport default lineSliceAlong;\n"],"mappings":";AAAA,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAC5B,SAAS,YAAY,gBAAgB;AAyBrC,SAAS,eAAe,MAAM,WAAW,UAAU,SAAS;AAE1D,YAAU,WAAW,CAAC;AACtB,MAAI,CAAC,SAAS,OAAO,EAAG,OAAM,IAAI,MAAM,oBAAoB;AAE5D,MAAI;AACJ,MAAI,QAAQ,CAAC;AAGb,MAAI,KAAK,SAAS,UAAW,UAAS,KAAK,SAAS;AAAA,WAC3C,KAAK,SAAS,aAAc,UAAS,KAAK;AAAA,MAC9C,OAAM,IAAI,MAAM,gDAAgD;AACrE,MAAI,mBAAmB,OAAO;AAC9B,MAAI,YAAY;AAChB,MAAI,UAAU,WAAW;AACzB,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,QAAI,aAAa,aAAa,MAAM,OAAO,SAAS,EAAG;AAAA,aAC9C,YAAY,aAAa,MAAM,WAAW,GAAG;AACpD,iBAAW,YAAY;AACvB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAAA,IAC9C;AAEA,QAAI,aAAa,UAAU;AACzB,iBAAW,WAAW;AACtB,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,OAAO,CAAC,CAAC;AACpB,eAAO,WAAW,KAAK;AAAA,MACzB;AACA,kBAAY,QAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI;AAChD,qBAAe,YAAY,OAAO,CAAC,GAAG,UAAU,WAAW,OAAO;AAClE,YAAM,KAAK,aAAa,SAAS,WAAW;AAC5C,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,QAAI,aAAa,WAAW;AAC1B,YAAM,KAAK,OAAO,CAAC,CAAC;AAAA,IACtB;AAEA,QAAI,MAAM,OAAO,SAAS,GAAG;AAC3B,aAAO,WAAW,KAAK;AAAA,IACzB;AAEA,iBAAa,SAAS,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,OAAO;AAAA,EACzD;AAEA,MAAI,YAAY,aAAa,OAAO,WAAW;AAC7C,UAAM,IAAI,MAAM,+BAA+B;AAEjD,MAAI,OAAO,OAAO,OAAO,SAAS,CAAC;AACnC,SAAO,WAAW,CAAC,MAAM,IAAI,CAAC;AAChC;AAGA,IAAO,gBAAQ;","names":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@turf/line-slice-along",
3
- "version": "7.2.0",
4
- "description": "turf line-slice-along module",
3
+ "version": "7.3.1",
4
+ "description": "Useful for extracting only the part of a route between two distances.",
5
5
  "author": "Turf Authors",
6
6
  "license": "MIT",
7
7
  "bugs": {
@@ -46,27 +46,26 @@
46
46
  "bench": "tsx bench.ts",
47
47
  "build": "tsup --config ../../tsup.config.ts",
48
48
  "docs": "tsx ../../scripts/generate-readmes.ts",
49
- "test": "npm-run-all --npm-path npm test:*",
49
+ "test": "pnpm run /test:.*/",
50
50
  "test:tape": "tsx test.ts"
51
51
  },
52
52
  "devDependencies": {
53
- "@turf/along": "^7.2.0",
54
- "@turf/length": "^7.2.0",
53
+ "@turf/along": "7.3.1",
54
+ "@turf/length": "7.3.1",
55
55
  "@types/benchmark": "^2.1.5",
56
- "@types/tape": "^4.13.4",
56
+ "@types/tape": "^5.8.1",
57
57
  "benchmark": "^2.1.4",
58
58
  "load-json-file": "^7.0.1",
59
- "npm-run-all": "^4.1.5",
60
59
  "tape": "^5.9.0",
61
- "tsup": "^8.3.5",
62
- "tsx": "^4.19.2"
60
+ "tsup": "^8.4.0",
61
+ "tsx": "^4.19.4"
63
62
  },
64
63
  "dependencies": {
65
- "@turf/bearing": "^7.2.0",
66
- "@turf/destination": "^7.2.0",
67
- "@turf/distance": "^7.2.0",
68
- "@turf/helpers": "^7.2.0",
64
+ "@turf/bearing": "7.3.1",
65
+ "@turf/destination": "7.3.1",
66
+ "@turf/distance": "7.3.1",
67
+ "@turf/helpers": "7.3.1",
69
68
  "@types/geojson": "^7946.0.10"
70
69
  },
71
- "gitHead": "7b0f0374c4668cd569f8904c71e2ae7d941be867"
70
+ "gitHead": "b7f1b4eafb760431e03955499d8eac9489438219"
72
71
  }