@asutov/nagan-types
TypeScript icon, indicating that this package has built-in type declarations

1.0.31 • Public • Published

Type Document

interface TypeDocument {
  _id: string;
  _rev: string;
  type: string;
}

Services Collection

{{couchdb}}/services

Service document

interface Last {
  timestamp: number;
  state: string;
}

interface Center {
  lat: number;
  lng: number;
}

interface ServiceDocument extends TypeDocument {
  type: 'service';
  center?: Center;
  state: string;
  lasts: Last[];
}

Access Collection

{{couchdb}}/Access

Elements Document

interface Element {
  selector: string;
  script: string;
  icon: string;
  name: string;
  description: string;
}
interface ElementsDocument extends TypeDocument {
  type: 'elements';
  elements: Element[];
}

Layer Document

interface LayerDocument extends TypeDocument {
  type: 'layer';
  enabled: boolean;
  name: string;
  description: string;
  icon: string;
}

Map Document

interface MapDocument extends TypeDocument {
  type: 'map';
  mapType: 'leaflet' | 'image';
  enabled: boolean;
  name: string;
  description: string;
  icon: string;
  availableLayerIds: string[];
  widgets: Widget[];
}
interface LeafletMapDocument extends MapDocument {
  mapType: 'leaflet';
  options: {
    center: Center;
    zoom: number;
  };
}
interface ImageMapDocument extends MapDocument {
  mapType: 'image';
  options: {
    image: string;
  };
}
interface Widget {
  id: string;
  layerId: string;
  locked: boolean;
  selector: string;
  style: Object;
  options: Object;
  center?: Center | (subs: ServiceDocument[]) => Center,
  mapper?: (subs: ServiceDocument[]) => any,
  subscriptions: string[]
}

Users

{{couchdb}}/_users

User Document

interface UserDocument extends TypeDocument {
  type: 'user';
  name: string;
  roles: string[];
  allowedInstances: number;
  description: string;
  avatar: string;
  access: Access;
}
interface Access {
  state: string;
  defaultMap: string;
  maps: string[];
  layers: string[];
  services: string[];
}

Readme

Keywords

none

Package Sidebar

Install

npm i @asutov/nagan-types

Weekly Downloads

1

Version

1.0.31

License

MIT

Unpacked Size

47 kB

Total Files

38

Last publish

Collaborators

  • asutov