Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
d36bef185c
|
|||
|
b84010a332
|
|||
|
05516e7642
|
|||
|
22c6b02e4b
|
|||
|
e859bc3ee7
|
|||
|
b3fd092acf
|
|||
|
cd349944cf
|
17
.gitea/workflows/test.yaml
Normal file
17
.gitea/workflows/test.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
name: Test
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 9
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: 'pnpm'
|
||||
- run: pnpm install
|
||||
- run: pnpm test
|
||||
@@ -26,8 +26,10 @@ It is written in TypeScript and compiled to a JavaScript module suitable for use
|
||||
- `dist/`: specific build artifacts. Do not edit files here directly.
|
||||
|
||||
## Testing
|
||||
- Currently, no automated test suite is configured.
|
||||
- `pnpm test` will exit with an error.
|
||||
- **Framework:** `vitest`
|
||||
- **Run tests:** `pnpm test`
|
||||
- **Watch mode:** `pnpm run test:watch`
|
||||
- **Location:** Tests are located in the `test/` directory.
|
||||
|
||||
## Contribution Guidelines
|
||||
- When adding new functionality, ensure proper types are exported in `src/types.d.ts` or within the module files.
|
||||
|
||||
60
README.md
60
README.md
@@ -1,6 +1,6 @@
|
||||
# @remotestorage/module-places
|
||||
|
||||
[](https://www.npmjs.com/package/@remotestorage/module-places)
|
||||
[](https://www.npmjs.com/package/@remotestorage/module-places) [](https://gitea.kosmos.org/raucao/remotestorage-module-places/actions)
|
||||
|
||||
This module allows you to manage saved places (Points of Interest) using the [remoteStorage](https://remotestorage.io/) protocol.
|
||||
|
||||
@@ -11,7 +11,17 @@ For a demo application, as well as source code using this module, check out [Mar
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm install @remotestorage/module-places
|
||||
|
||||
# pnpm
|
||||
pnpm add @remotestorage/module-places
|
||||
|
||||
# yarn
|
||||
yarn add @remotestorage/module-places
|
||||
|
||||
# bun
|
||||
bun add @remotestorage/module-places
|
||||
```
|
||||
|
||||
## Usage
|
||||
@@ -41,12 +51,56 @@ console.log(allPlaces);
|
||||
// List places for specific geohash prefixes (e.g. for a map view)
|
||||
const areaPlaces = await places.getPlaces(['u33d', 'u33e']);
|
||||
console.log(areaPlaces);
|
||||
```
|
||||
|
||||
## Lists
|
||||
|
||||
### Default lists
|
||||
|
||||
There are currently two default lists, which you can initiate like this:
|
||||
|
||||
```javascript
|
||||
await places.lists.initDefaults();
|
||||
```
|
||||
|
||||
This will create the lists if they don't exist yet (meaning the user hasn't yet
|
||||
used an app that integrates this module).
|
||||
|
||||
The default lists are:
|
||||
|
||||
| Path | Default Name | Default Color |
|
||||
| --- | --- | --- |
|
||||
| `_lists/to-go` | Want to go | #2e9e4f (green) |
|
||||
| `_lists/to-do` | To do | #2a7fff (blue) |
|
||||
|
||||
### Custom lists
|
||||
|
||||
```javascript
|
||||
// Create a list
|
||||
await places.lists.create('favorites', 'My Favorites');
|
||||
await places.lists.create('hiking', 'Hiking', '#74d3ba');
|
||||
|
||||
// Delete a list
|
||||
await places.lists.delete('hiking');
|
||||
```
|
||||
|
||||
### List membership
|
||||
|
||||
```javascript
|
||||
// Add a place to a list (requires list ID, place ID, and place geohash)
|
||||
await places.lists.addPlace('favorites', 'place-id-123', 'u33dc0');
|
||||
await places.lists.addPlace('to-go', 'place-id-123', 'u33dc0');
|
||||
|
||||
// Remove from list
|
||||
await places.lists.removePlace('to-go', 'place-id-123');
|
||||
```
|
||||
|
||||
### Reading lists
|
||||
|
||||
```javascript
|
||||
// Get all lists
|
||||
await places.lists.getAll();
|
||||
|
||||
// Get specific list
|
||||
await places.lists.get('to-do');
|
||||
```
|
||||
|
||||
## API Reference
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@remotestorage/module-places",
|
||||
"version": "1.2.1",
|
||||
"version": "1.2.2",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@remotestorage/module-places",
|
||||
"version": "1.2.1",
|
||||
"version": "1.2.2",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"latlon-geohash": "^2.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@remotestorage/module-places",
|
||||
"version": "1.2.1",
|
||||
"version": "1.2.2",
|
||||
"description": "Manage favorite/saved places",
|
||||
"homepage": "https://gitea.kosmos.org/raucao/remotestorage-module-places#remotestoragemodule-places",
|
||||
"repository": {
|
||||
|
||||
Reference in New Issue
Block a user