1.1.0
This commit is contained in:
parent
bc5eea7841
commit
7274574f64
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"];
|
||||
};
|
||||
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;
|
||||
};
|
||||
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: {
|
||||
name: string;
|
||||
builder: (privateClient: BaseClient) => {
|
||||
exports: {
|
||||
/**
|
||||
* 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[]>;
|
||||
};
|
||||
exports: PlacesClient;
|
||||
};
|
||||
};
|
||||
export default _default;
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@remotestorage/module-places",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@remotestorage/module-places",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"latlon-geohash": "^2.0.0",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@remotestorage/module-places",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"description": "Manage favorite/saved places",
|
||||
"main": "dist/places.js",
|
||||
"types": "dist/places.d.ts",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user