1.1.0
This commit is contained in:
101
dist/places.d.ts
vendored
101
dist/places.d.ts
vendored
@@ -57,43 +57,80 @@ declare const placeSchema: {
|
|||||||
};
|
};
|
||||||
readonly required: readonly ["id", "title", "lat", "lon", "geohash", "createdAt"];
|
readonly required: readonly ["id", "title", "lat", "lon", "geohash", "createdAt"];
|
||||||
};
|
};
|
||||||
type Place = FromSchema<typeof placeSchema> & {
|
/**
|
||||||
|
* Represents a Place object.
|
||||||
|
*
|
||||||
|
* Core properties enforced by schema:
|
||||||
|
* - `id`: Unique identifier (ULID)
|
||||||
|
* - `title`: Name of the place
|
||||||
|
* - `lat`: Latitude
|
||||||
|
* - `lon`: Longitude
|
||||||
|
* - `geohash`: Geohash for indexing
|
||||||
|
* - `createdAt`: ISO date string
|
||||||
|
*
|
||||||
|
* Optional properties:
|
||||||
|
* - `description`: Text description
|
||||||
|
* - `zoom`: Map zoom level
|
||||||
|
* - `url`: Related URL
|
||||||
|
* - `osmId`, `osmType`, `osmTags`: OpenStreetMap data
|
||||||
|
* - `tags`: Array of string tags
|
||||||
|
* - `updatedAt`: ISO date string
|
||||||
|
*/
|
||||||
|
export type Place = FromSchema<typeof placeSchema> & {
|
||||||
[key: string]: any;
|
[key: string]: any;
|
||||||
};
|
};
|
||||||
|
export interface PlacesClient {
|
||||||
|
/**
|
||||||
|
* Store a place.
|
||||||
|
* Generates ID and Geohash if missing.
|
||||||
|
* Path structure: <geohash-prefix-2>/<geohash-prefix-2>/<id>
|
||||||
|
*
|
||||||
|
* @param placeData - The data of the place to store.
|
||||||
|
* @returns The stored place object.
|
||||||
|
*/
|
||||||
|
store(placeData: Partial<Place>): Promise<Place>;
|
||||||
|
/**
|
||||||
|
* Remove a place.
|
||||||
|
* Requires geohash to locate the folder.
|
||||||
|
*
|
||||||
|
* @param id - The ID of the place to remove.
|
||||||
|
* @param geohash - The geohash of the place.
|
||||||
|
*/
|
||||||
|
remove(id: string, geohash: string): Promise<unknown>;
|
||||||
|
/**
|
||||||
|
* Get a single place.
|
||||||
|
* Requires geohash to locate the folder.
|
||||||
|
*
|
||||||
|
* @param id - The ID of the place to retrieve.
|
||||||
|
* @param geohash - The geohash of the place.
|
||||||
|
* @returns The place object.
|
||||||
|
*/
|
||||||
|
get(id: string, geohash: string): Promise<Place | unknown>;
|
||||||
|
/**
|
||||||
|
* List places matching a geohash prefix.
|
||||||
|
* Supports 2-char ("ab") or 4-char ("abcd") prefixes.
|
||||||
|
* If 2-char, it returns the sub-folders (prefixes), not places.
|
||||||
|
* If 4-char, it returns the places in that sector.
|
||||||
|
*
|
||||||
|
* @param prefix - The geohash prefix to filter by.
|
||||||
|
* @returns A map of objects found at the prefix.
|
||||||
|
*/
|
||||||
|
listByPrefix(prefix: string): Promise<unknown | {
|
||||||
|
[key: string]: any;
|
||||||
|
}>;
|
||||||
|
/**
|
||||||
|
* Get places from specific prefixes.
|
||||||
|
*
|
||||||
|
* @param prefixes - Optional array of 4-character geohash prefixes to load (e.g. ['w1q7', 'w1q8']).
|
||||||
|
* If not provided, it will attempt to scan ALL prefixes (recursive).
|
||||||
|
* @returns An array of places.
|
||||||
|
*/
|
||||||
|
getPlaces(prefixes?: string[]): Promise<Place[]>;
|
||||||
|
}
|
||||||
declare const _default: {
|
declare const _default: {
|
||||||
name: string;
|
name: string;
|
||||||
builder: (privateClient: BaseClient) => {
|
builder: (privateClient: BaseClient) => {
|
||||||
exports: {
|
exports: PlacesClient;
|
||||||
/**
|
|
||||||
* Store a place.
|
|
||||||
* Generates ID and Geohash if missing.
|
|
||||||
* Path structure: <geohash-prefix-2>/<geohash-prefix-2>/<id>
|
|
||||||
*/
|
|
||||||
store: (placeData: Partial<Place>) => Promise<Place>;
|
|
||||||
/**
|
|
||||||
* Remove a place.
|
|
||||||
* Requires geohash to locate the folder.
|
|
||||||
*/
|
|
||||||
remove: (id: string, geohash: string) => Promise<import("remotestoragejs/release/types/interfaces/queued_request_response").QueuedRequestResponse>;
|
|
||||||
/**
|
|
||||||
* Get a single place.
|
|
||||||
* Requires geohash to locate the folder.
|
|
||||||
*/
|
|
||||||
get: (id: string, geohash: string) => Promise<unknown>;
|
|
||||||
/**
|
|
||||||
* List places matching a geohash prefix.
|
|
||||||
* Supports 2-char ("ab") or 4-char ("abcd") prefixes.
|
|
||||||
* If 2-char, it returns the sub-folders (prefixes), not places.
|
|
||||||
* If 4-char, it returns the places in that sector.
|
|
||||||
*/
|
|
||||||
listByPrefix: (prefix: string) => Promise<unknown>;
|
|
||||||
/**
|
|
||||||
* Get places from specific prefixes.
|
|
||||||
* @param prefixes Optional array of 4-character geohash prefixes to load (e.g. ['w1q7', 'w1q8']).
|
|
||||||
* If not provided, it will attempt to scan ALL prefixes (recursive).
|
|
||||||
*/
|
|
||||||
getPlaces: (prefixes?: string[]) => Promise<Place[]>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
export default _default;
|
export default _default;
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@remotestorage/module-places",
|
"name": "@remotestorage/module-places",
|
||||||
"version": "1.0.0",
|
"version": "1.1.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@remotestorage/module-places",
|
"name": "@remotestorage/module-places",
|
||||||
"version": "1.0.0",
|
"version": "1.1.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"latlon-geohash": "^2.0.0",
|
"latlon-geohash": "^2.0.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@remotestorage/module-places",
|
"name": "@remotestorage/module-places",
|
||||||
"version": "1.0.0",
|
"version": "1.1.0",
|
||||||
"description": "Manage favorite/saved places",
|
"description": "Manage favorite/saved places",
|
||||||
"main": "dist/places.js",
|
"main": "dist/places.js",
|
||||||
"types": "dist/places.d.ts",
|
"types": "dist/places.d.ts",
|
||||||
|
|||||||
Reference in New Issue
Block a user