{"_id":"@canterbury-air-patrol/deg-converter","_rev":"4-fd941b6f054964ad68fed144f9677b68","name":"@canterbury-air-patrol/deg-converter","dist-tags":{"latest":"0.3.0"},"versions":{"0.0.1":{"name":"@canterbury-air-patrol/deg-converter","version":"0.0.1","keywords":["degrees","dms","converter"],"author":{"name":"Scott Parlane"},"license":"MIT","_id":"@canterbury-air-patrol/deg-converter@0.0.1","maintainers":[{"name":"sparlane","email":"sparlane@gmail.com"}],"homepage":"https://github.com/canterbury-air-patrol/deg-converter#readme","bugs":{"url":"https://github.com/canterbury-air-patrol/deg-converter/issues"},"dist":{"shasum":"1db6a0394375f475d5990b3934a4d3933e7ece38","tarball":"https://registry.npmjs.org/@canterbury-air-patrol/deg-converter/-/deg-converter-0.0.1.tgz","fileCount":6,"integrity":"sha512-CXhz8r1fPnB6tCochPXrEAxxpgd9+4I9JzFcW0QYI0OCWlgLij22iXqhpl5Wzz8+ugxifVHp2QqIO0uvJwP04A==","signatures":[{"sig":"MEUCIHc+4HYmQGivQ82qOkfhS3KVlfNvZkTfL3bC+QZri5JBAiEA/ODt2mkLKR8+h1iaGw0dRHd8ClsSS7mTUzEU/vC+7Ik=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirBjLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoiqQ/9Fw3SIoj7rO9Q9jMNgomxldu+gT+icfGP0pmSkfr5D0Lo2wXD\r\ntOerKc4h2cusebdl0GkDQAxv6kRTa7B34cxyQOS+LQG4sYNNBD8oIk+iOYtc\r\noOZOHFRM+gDgP9BtmGD4btaqH9P1hFFu2dmKis8lrGwS+3zjACdovSqkOQkN\r\no7cfvfXJIWvi2v/crspGvc5cyI/PRe/tALPgbqPBiChxjO1zDwWwdqNIdrYT\r\nCd4LDeJfOQYCeR9iDUi+wK2N4nLbJlO6+Sr9ZtKgWl7kK4g9zhZrPfgnwXgB\r\nipyJezA/96pCo4xncBbSaFZq73OeqHb7qCINyxcTwu1vXCzZDkVRKDWuvtXL\r\nPQTlqWyjwqvVLVHIT6etuZe49TV+6e4l2B9n8hxHANC1HJ5C44/dpfskntmO\r\nYEqIgyt0qTRebsdHOEG6ePGh7argSCylpBQSQE4+Zv3QJkNF99I2WL/iuQG9\r\nUHZB/8sGV350p1jsEOmRn6z5B8ZYAzSzA8B35/OaupWX+GskErHUGN7iQd/P\r\nW9aoRBTEKfJKxW/HOJT2IjOi6JLa9FTpZuGr6IFOYRlffg5v12sKQqhi8Hoc\r\nrBjEKvF/Y7N+sLn2to2TbM8inuVFsBqFkZX8OP9LMQjZ7W4TVvjE+zFD1UTP\r\nS/qCNzHwzk++iI9YXWJSvit5ffyuE8ELuDI=\r\n=YQw0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"deg-conv.js","gitHead":"07cb2ce77e8e2737a4effb36a0fb069545c9b6a9","scripts":{"test":"echo \"Error: no test specified\" && exit 1","check":"eslint *.js"},"_npmUser":{"name":"sparlane","email":"sparlane@gmail.com"},"repository":{"url":"git+https://github.com/canterbury-air-patrol/deg-converter.git","type":"git"},"_npmVersion":"8.5.5","description":"Convert Deg Between varying deg/min/sec decimal formats","directories":{},"_nodeVersion":"18.3.0","dependencies":{"eslist":"^1.0.0-beta.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.17.0","eslint-plugin-n":"^15.2.3","eslint-plugin-import":"^2.26.0","eslint-plugin-promise":"^6.0.0","eslint-config-standard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/deg-converter_0.0.1_1655445707634_0.21699388437899825","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@canterbury-air-patrol/deg-converter","version":"0.0.2","keywords":["degrees","dms","converter"],"author":{"name":"Scott Parlane"},"license":"MIT","_id":"@canterbury-air-patrol/deg-converter@0.0.2","maintainers":[{"name":"sparlane","email":"sparlane@gmail.com"}],"homepage":"https://github.com/canterbury-air-patrol/deg-converter#readme","bugs":{"url":"https://github.com/canterbury-air-patrol/deg-converter/issues"},"dist":{"shasum":"b195b97f602829d3b6b4595572d67554f0765ab7","tarball":"https://registry.npmjs.org/@canterbury-air-patrol/deg-converter/-/deg-converter-0.0.2.tgz","fileCount":8,"integrity":"sha512-XgzmeUZ7XGNyuxS14a11LCCtgTQQ5QcCXDE8bGUHYWRvQletpeJeLclb0jNLaPqKOIkrPT0V+Uum+m6fyFK36w==","signatures":[{"sig":"MEYCIQDyKiYiUTKmHuDz8RrqxMIjJCxnPcOF3iCh/CLq3GK0YwIhAM/qERaR3HV3ee+n+EuKcc00spufwHsLElk7tAtuO8hX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4424},"main":"deg-conv.js","gitHead":"7ad33e95205768aefae607ed7bbe67739e8f78ae","scripts":{"test":"echo \"Error: no test specified\" && exit 1","check":"eslint *.js"},"_npmUser":{"name":"sparlane","email":"sparlane@gmail.com"},"repository":{"url":"git+https://github.com/canterbury-air-patrol/deg-converter.git","type":"git"},"_npmVersion":"8.19.2","description":"Convert Deg Between varying deg/min/sec decimal formats","directories":{},"_nodeVersion":"20.3.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"~8.44.0","eslint-plugin-n":"~16.0.1","eslint-plugin-import":"~2.27.5","eslint-plugin-promise":"~6.1.1","eslint-config-standard":"~17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/deg-converter_0.0.2_1688727201733_0.8108117313252061","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@canterbury-air-patrol/deg-converter","version":"0.2.0","keywords":["degrees","dms","converter"],"author":{"name":"Scott Parlane"},"license":"MIT","_id":"@canterbury-air-patrol/deg-converter@0.2.0","maintainers":[{"name":"sparlane","email":"sparlane@gmail.com"}],"homepage":"https://github.com/canterbury-air-patrol/deg-converter#readme","bugs":{"url":"https://github.com/canterbury-air-patrol/deg-converter/issues"},"dist":{"shasum":"375f03287e7c9efb0d30c36e1f8dc2851eb195f3","tarball":"https://registry.npmjs.org/@canterbury-air-patrol/deg-converter/-/deg-converter-0.2.0.tgz","fileCount":9,"integrity":"sha512-yGEya6smb1RszuoXmG77q4Zh3HsW3AxZBo7fNQt73cxt+Gbvs2N2DwL+ua0ClyrNjQCF1QqpcDV7GX7vBvkikg==","signatures":[{"sig":"MEUCIQCPGMZGOgoSpxyH7cXK++AFMOCt0gqDJ7poSS6zaanFnQIgd09fXf48wy/wEomDDMKp+kU0VybjCOLBe+eummlSr6k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12744},"main":"./dist/deg-conv.js","types":"./dist/deg-conv.d.ts","module":"./dist/deg-conv.mjs","gitHead":"7dd435fe48d7c9d648c5593e64b55bfe7ac5998f","scripts":{"test":"jest","build":"tsup","check":"eslint *.js *.ts && prettier -c *.js *.ts"},"_npmUser":{"name":"sparlane","email":"sparlane@gmail.com"},"repository":{"url":"git+https://github.com/canterbury-air-patrol/deg-converter.git","type":"git"},"_npmVersion":"10.9.2","description":"Convert Deg Between varying deg/min/sec decimal formats","directories":{},"_nodeVersion":"23.4.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","eslint":"^9.16.0","globals":"^15.13.0","jest-cli":"^29.7.0","prettier":"^3.3.3","@eslint/js":"^9.16.0","typescript":"^5.7.2","@types/jest":"^29.5.14","@babel/preset-env":"^7.24.8","typescript-eslint":"^8.18.0","eslint-plugin-jest":"^28.8.3","eslint-plugin-react":"^7.37.2","@babel/preset-typescript":"^7.26.0"},"_npmOperationalInternal":{"tmp":"tmp/deg-converter_0.2.0_1734432219694_0.7182780615009972","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@canterbury-air-patrol/deg-converter","version":"0.3.0","description":"Convert Deg Between varying deg/min/sec decimal formats","main":"./dist/deg-conv.js","module":"./dist/deg-conv.mjs","types":"./dist/deg-conv.d.ts","scripts":{"build":"tsup","check":"eslint *.js *.ts && prettier -c *.js *.ts","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/canterbury-air-patrol/deg-converter.git"},"keywords":["degrees","dms","converter"],"author":{"name":"Scott Parlane"},"license":"MIT","bugs":{"url":"https://github.com/canterbury-air-patrol/deg-converter/issues"},"homepage":"https://github.com/canterbury-air-patrol/deg-converter#readme","devDependencies":{"@babel/preset-env":"^7.24.8","@babel/preset-typescript":"^7.26.0","@eslint/js":"^9.16.0","@types/jest":"^30.0.0","eslint":"^9.16.0","eslint-plugin-jest":"^29.0.1","eslint-plugin-react":"^7.37.2","globals":"^17.0.0","jest":"^30.0.2","jest-cli":"^30.0.0","prettier":"^3.3.3","typescript-eslint":"^8.18.0","tsup":"^8.3.5","typescript":"^6.0.3"},"dependencies":{},"gitHead":"6b0d16964998d4b0c2c97defd4dc151b5b3a9648","_id":"@canterbury-air-patrol/deg-converter@0.3.0","_nodeVersion":"26.1.0","_npmVersion":"11.14.1","dist":{"integrity":"sha512-97fAfJ2X0SxTkbHg2NJbEoRYY2ur4x9kIBTSJajJwCYQsKb4KGibqKWnPGtE0O+hCn3pLGX6IJECIU5/cXjFnQ==","shasum":"9e8212c6df2a36d892606c8a05d911a449afdcb4","tarball":"https://registry.npmjs.org/@canterbury-air-patrol/deg-converter/-/deg-converter-0.3.0.tgz","fileCount":9,"unpackedSize":19017,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCkzz7/PVa60wvStm8ipWZZnMcxX8S9VksOQylsh/PkqAIgUpY1sd/UgCLU/nkZDLEq6jRk+1992JNvOIAJNpUv6eU="}]},"_npmUser":{"name":"sparlane","email":"sparlane@gmail.com"},"directories":{},"maintainers":[{"name":"sparlane","email":"sparlane@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deg-converter_0.3.0_1779527288591_0.0054410300077094575"},"_hasShrinkwrap":false}},"time":{"created":"2022-06-17T06:01:47.552Z","modified":"2026-05-23T09:08:08.869Z","0.0.1":"2022-06-17T06:01:47.797Z","0.0.2":"2023-07-07T10:53:21.880Z","0.2.0":"2024-12-17T10:43:39.864Z","0.3.0":"2026-05-23T09:08:08.736Z"},"bugs":{"url":"https://github.com/canterbury-air-patrol/deg-converter/issues"},"author":{"name":"Scott Parlane"},"license":"MIT","homepage":"https://github.com/canterbury-air-patrol/deg-converter#readme","keywords":["degrees","dms","converter"],"repository":{"type":"git","url":"git+https://github.com/canterbury-air-patrol/deg-converter.git"},"description":"Convert Deg Between varying deg/min/sec decimal formats","maintainers":[{"name":"sparlane","email":"sparlane@gmail.com"}],"readme":"# deg-converter\n\nConvert geographic coordinates between decimal degrees and degree/minute(/second) string formats.\n\n## Install\n\n```sh\nnpm install @canterbury-air-patrol/deg-converter\n```\n\n## Usage\n\n```ts\nimport {\n  degreesToDM,\n  degreesToDMS,\n  DMToDegrees,\n  DMSToDegrees\n} from '@canterbury-air-patrol/deg-converter'\n\ndegreesToDM(43.5, 'lat')          // \"43 30.000 N\"\ndegreesToDM(-172.5, 'lon')        // \"172 30.000 W\"\n\ndegreesToDMS(43.508333, 'lat')    // \"43 30 30.0 N\"\ndegreesToDMS(-43.508333, 'lat')   // \"43 30 30.0 S\"\n\nDMToDegrees('43 30 N')            // 43.5\nDMSToDegrees('43 30 30 W')        // -43.508333...\n```\n\nThe parsers accept the direction letter as a leading or trailing token,\neither with or without a space (`'N 43 30'`, `'N43 30'`, `'43 30 N'`,\n`'43 30N'`).\n\n## API\n\n### `degreesToDM(degs: number, axis: 'lat' | 'lon'): string`\nFormat decimal degrees as `D M.mmm Dir`. Throws `RangeError` if `degs`\nis non-finite or outside `±90` (lat) / `±180` (lon).\n\n### `degreesToDMS(degs: number, axis: 'lat' | 'lon'): string`\nFormat decimal degrees as `D M S.s Dir`. Same range rules as\n`degreesToDM`.\n\n### `DMToDegrees(dm: string): number`\nParse a degree/minute string into decimal degrees. Requires exactly\ntwo numeric parts plus an optional `N`/`S`/`E`/`W` direction. Throws\n`SyntaxError` on malformed input.\n\n### `DMSToDegrees(dms: string): number`\nParse a degree/minute/second string. Requires exactly three numeric\nparts. Throws `SyntaxError` on malformed input.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}