From 68352aa22c0b79a6bc35ab576a776699bbfd2a6a Mon Sep 17 00:00:00 2001 From: Jan Vorwerk Date: Tue, 5 Mar 2024 15:26:52 +0100 Subject: [PATCH] Transform to ES module --- README.md | 7 +++++-- lib/binaryreader.js | 4 +--- lib/binarywriter.js | 3 +-- lib/geometry.js | 31 +++++++++++++++---------------- lib/geometrycollection.js | 11 +++++------ lib/linestring.js | 14 ++++++-------- lib/multilinestring.js | 16 +++++++--------- lib/multipoint.js | 13 ++++++------- lib/multipolygon.js | 15 +++++++-------- lib/point.js | 13 ++++++------- lib/polygon.js | 13 ++++++------- lib/types.js | 2 +- lib/wktparser.js | 7 +++---- lib/wkx.d.ts | 5 ----- lib/wkx.js | 17 ++++++++--------- lib/zigzag.js | 2 +- package.json | 7 ++++--- 17 files changed, 82 insertions(+), 98 deletions(-) diff --git a/README.md b/README.md index 378c023..4a4d3bb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ -wkx [![Build Status](https://travis-ci.org/cschwarz/wkx.svg?branch=master)](https://travis-ci.org/cschwarz/wkx) [![Coverage Status](https://coveralls.io/repos/cschwarz/wkx/badge.svg?branch=master)](https://coveralls.io/r/cschwarz/wkx?branch=master) -======== +> **NOTE** +This is a fork of https://github.com/syncpoint/wkx where I just tried to use ES modules instead of browserify, because importing this from Typescript code would yell and tell me that `wkx.d.ts is not a module`. + +I am publishing this package on a local registry hosted with https://verdaccio.org/ in order to avoid more mess on npm repository. + A WKT/WKB/EWKT/EWKB/TWKB/GeoJSON parser and serializer with support for diff --git a/lib/binaryreader.js b/lib/binaryreader.js index 4bb9115..fcc7522 100644 --- a/lib/binaryreader.js +++ b/lib/binaryreader.js @@ -1,6 +1,4 @@ -module.exports = BinaryReader; - -function BinaryReader(buffer, isBigEndian) { +export function BinaryReader(buffer, isBigEndian) { this.buffer = buffer; this.position = 0; this.isBigEndian = isBigEndian || false; diff --git a/lib/binarywriter.js b/lib/binarywriter.js index d252d75..ac0d919 100644 --- a/lib/binarywriter.js +++ b/lib/binarywriter.js @@ -1,6 +1,5 @@ -module.exports = BinaryWriter; -function BinaryWriter(size, allowResize) { +export function BinaryWriter(size, allowResize) { this.buffer = new Buffer.alloc(size); this.position = 0; this.allowResize = allowResize; diff --git a/lib/geometry.js b/lib/geometry.js index a20a0d6..b156d63 100644 --- a/lib/geometry.js +++ b/lib/geometry.js @@ -1,19 +1,18 @@ -module.exports = Geometry; - -var Types = require('./types'); -var Point = require('./point'); -var LineString = require('./linestring'); -var Polygon = require('./polygon'); -var MultiPoint = require('./multipoint'); -var MultiLineString = require('./multilinestring'); -var MultiPolygon = require('./multipolygon'); -var GeometryCollection = require('./geometrycollection'); -var BinaryReader = require('./binaryreader'); -var BinaryWriter = require('./binarywriter'); -var WktParser = require('./wktparser'); -var ZigZag = require('./zigzag.js'); - -function Geometry() { + +import Types from './types' +import {Point} from './point' +import {LineString} from './linestring' +import {Polygon} from './polygon' +import {MultiPoint} from './multipoint' +import {MultiLineString} from './multilinestring' +import {MultiPolygon} from './multipolygon' +import {GeometryCollection} from './geometrycollection' +import {BinaryReader} from './binaryreader' +import {BinaryWriter} from './binarywriter' +import {WktParser} from './wktparser' +import ZigZag from './zigzag.js' + +export function Geometry() { this.srid = undefined; this.hasZ = false; this.hasM = false; diff --git a/lib/geometrycollection.js b/lib/geometrycollection.js index 393c16a..6249c6f 100644 --- a/lib/geometrycollection.js +++ b/lib/geometrycollection.js @@ -1,12 +1,11 @@ -module.exports = GeometryCollection; -var util = require('util'); +import util from 'util' -var Types = require('./types'); -var Geometry = require('./geometry'); -var BinaryWriter = require('./binarywriter'); +import Types from './types' +import {Geometry} from './geometry' +import {BinaryWriter} from './binarywriter' -function GeometryCollection(geometries, srid) { +export function GeometryCollection(geometries, srid) { Geometry.call(this); this.geometries = geometries || []; diff --git a/lib/linestring.js b/lib/linestring.js index 86ca088..1cae54d 100644 --- a/lib/linestring.js +++ b/lib/linestring.js @@ -1,13 +1,11 @@ -module.exports = LineString; +import util from 'util' -var util = require('util'); +import Types from './types' +import {Geometry} from './geometry' +import {Point} from './point' +import {BinaryWriter} from './binarywriter' -var Geometry = require('./geometry'); -var Types = require('./types'); -var Point = require('./point'); -var BinaryWriter = require('./binarywriter'); - -function LineString(points, srid) { +export function LineString(points, srid) { Geometry.call(this); this.points = points || []; diff --git a/lib/multilinestring.js b/lib/multilinestring.js index 42f8ff4..100f007 100644 --- a/lib/multilinestring.js +++ b/lib/multilinestring.js @@ -1,14 +1,12 @@ -module.exports = MultiLineString; +import util from 'util' -var util = require('util'); +import Types from './types' +import {Geometry} from './geometry' +import {Point} from './point' +import {LineString} from './linestring' +import {BinaryWriter} from './binarywriter' -var Types = require('./types'); -var Geometry = require('./geometry'); -var Point = require('./point'); -var LineString = require('./linestring'); -var BinaryWriter = require('./binarywriter'); - -function MultiLineString(lineStrings, srid) { +export function MultiLineString(lineStrings, srid) { Geometry.call(this); this.lineStrings = lineStrings || []; diff --git a/lib/multipoint.js b/lib/multipoint.js index ab50f53..a2133d0 100644 --- a/lib/multipoint.js +++ b/lib/multipoint.js @@ -1,13 +1,12 @@ -module.exports = MultiPoint; -var util = require('util'); +import util from 'util' -var Types = require('./types'); -var Geometry = require('./geometry'); -var Point = require('./point'); -var BinaryWriter = require('./binarywriter'); +import Types from './types' +import {Geometry} from './geometry' +import {Point} from './point' +import {BinaryWriter} from './binarywriter' -function MultiPoint(points, srid) { +export function MultiPoint(points, srid) { Geometry.call(this); this.points = points || []; diff --git a/lib/multipolygon.js b/lib/multipolygon.js index 099e8c4..6621264 100644 --- a/lib/multipolygon.js +++ b/lib/multipolygon.js @@ -1,14 +1,13 @@ -module.exports = MultiPolygon; -var util = require('util'); +import util from 'util' -var Types = require('./types'); -var Geometry = require('./geometry'); -var Point = require('./point'); -var Polygon = require('./polygon'); -var BinaryWriter = require('./binarywriter'); +import Types from './types' +import {Geometry} from './geometry' +import {Point} from './point' +import {Polygon} from './polygon' +import {BinaryWriter} from './binarywriter' -function MultiPolygon(polygons, srid) { +export function MultiPolygon(polygons, srid) { Geometry.call(this); this.polygons = polygons || []; diff --git a/lib/point.js b/lib/point.js index 20bb1f8..e752e44 100644 --- a/lib/point.js +++ b/lib/point.js @@ -1,13 +1,12 @@ -module.exports = Point; -var util = require('util'); +import util from 'util' -var Geometry = require('./geometry'); -var Types = require('./types'); -var BinaryWriter = require('./binarywriter'); -var ZigZag = require('./zigzag.js'); +import {Geometry} from './geometry' +import {BinaryWriter} from './binarywriter' +import Types from './types' +import ZigZag from './zigzag.js' -function Point(x, y, z, m, srid) { +export function Point(x, y, z, m, srid) { Geometry.call(this); this.x = x; diff --git a/lib/polygon.js b/lib/polygon.js index f54b878..6b199b6 100644 --- a/lib/polygon.js +++ b/lib/polygon.js @@ -1,13 +1,12 @@ -module.exports = Polygon; -var util = require('util'); +import util from 'util' -var Geometry = require('./geometry'); -var Types = require('./types'); -var Point = require('./point'); -var BinaryWriter = require('./binarywriter'); +import Types from './types' +import {Geometry} from './geometry' +import {Point} from './point' +import {BinaryWriter} from './binarywriter' -function Polygon(exteriorRing, interiorRings, srid) { +export function Polygon(exteriorRing, interiorRings, srid) { Geometry.call(this); this.exteriorRing = exteriorRing || []; diff --git a/lib/types.js b/lib/types.js index 5d9f0b0..41d41bf 100644 --- a/lib/types.js +++ b/lib/types.js @@ -1,4 +1,4 @@ -module.exports = { +export default { wkt: { Point: 'POINT', LineString: 'LINESTRING', diff --git a/lib/wktparser.js b/lib/wktparser.js index 5d0b0df..66cfea6 100644 --- a/lib/wktparser.js +++ b/lib/wktparser.js @@ -1,9 +1,8 @@ -module.exports = WktParser; -var Types = require('./types'); -var Point = require('./point'); +import { Point } from './point'; +import Types from './types'; -function WktParser(value) { +export function WktParser(value) { this.value = value; this.position = 0; } diff --git a/lib/wkx.d.ts b/lib/wkx.d.ts index 7c97c66..3dc825e 100644 --- a/lib/wkx.d.ts +++ b/lib/wkx.d.ts @@ -1,7 +1,3 @@ -/// - -declare module "wkx" { - export class Geometry { srid: number; hasZ: boolean; @@ -97,4 +93,3 @@ declare module "wkx" { static M(geometries?: Geometry[], srid?: number): GeometryCollection; static ZM(geometries?: Geometry[], srid?: number): GeometryCollection; } -} \ No newline at end of file diff --git a/lib/wkx.js b/lib/wkx.js index e04ae06..2d95f41 100644 --- a/lib/wkx.js +++ b/lib/wkx.js @@ -1,9 +1,8 @@ -exports.Types = require('./types'); -exports.Geometry = require('./geometry'); -exports.Point = require('./point'); -exports.LineString = require('./linestring'); -exports.Polygon = require('./polygon'); -exports.MultiPoint = require('./multipoint'); -exports.MultiLineString = require('./multilinestring'); -exports.MultiPolygon = require('./multipolygon'); -exports.GeometryCollection = require('./geometrycollection'); \ No newline at end of file +export { Geometry } from "./geometry"; +export { Point } from "./point"; +export { LineString } from "./linestring"; +export { Polygon } from "./polygon"; +export { MultiPoint } from "./multipoint"; +export { MultiLineString } from "./multilinestring"; +export { MultiPolygon } from "./multipolygon"; +export { GeometryCollection } from "./geometrycollection"; diff --git a/lib/zigzag.js b/lib/zigzag.js index b4dfeea..6520c3b 100644 --- a/lib/zigzag.js +++ b/lib/zigzag.js @@ -1,4 +1,4 @@ -module.exports = { +export default { encode: function (value) { return (value << 1) ^ (value >> 31); }, diff --git a/package.json b/package.json index cb9fde2..d6f1fb2 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,10 @@ { - "name": "@syncpoint/wkx", + "name": "@local-registry/wkx", "version": "0.5.2", "description": "A WKT/WKB/EWKT/EWKB/TWKB/GeoJSON parser and serializer", - "main": "lib/wkx.js", - "types": "lib/wkx.d.ts", + "type": "module", + "exports": "./lib/wkx.js", + "types": "./lib/wkx.d.ts", "files": [ "dist/", "lib/"