Index
Modules:
jamp
,
jamp/client
,
jamp/common
,
jamp/helpers
,
jamp/jsonptr
,
jamp/methods
,
jamp/specs/core
,
jamp/specs/mail
,
jamp/utils
.
API symbols
`$`:
client: proc `$`(req: JMAPRequest): string
`[]=`:
methods: proc `[]=`(data: JsonNode; key: string; param: JPar)
`[]`:
common: proc `[]`(resp: JMAPResponse; call: Call): JsonNode
common: proc `[]`(resp: JMAPResponse; id: string): JsonNode
`and`:
methods: proc `and`(a`gensym2, b`gensym2: FilterOperator): FilterOperator
`not`:
methods: proc `not`(op: FilterOperator): FilterOperator
`or`:
methods: proc `or`(a`gensym0, b`gensym0: FilterOperator): FilterOperator
Account:
common: object Account
add:
common: proc add(request: var JMAPRequest; call: Call)
AddedItem:
methods: object AddedItem
addParams:
methods: macro addParams(data: JsonNode; params: varargs[untyped])
And:
methods: Operator.And
AsyncJMAPClient:
client: type AsyncJMAPClient
Base:
methods: object Base
Call:
common: object Call
changes:
methods: proc changes(_: _`gensym2499806011:type; accountId: JPar[string]; sinceState: JPar[string]; maxChanges: JPar[uint] = defaultVal): JsonNode
ChangesResponse:
methods: type ChangesResponse
Comparator:
methods: object Comparator
CopyResponse:
methods: type CopyResponse
Core:
core: object Core
CoreCapabilities:
common: object CoreCapabilities
defaultVal:
methods: const defaultVal
echo:
core: proc echo(c: typedesc[Core]; args: JsonNode): Call[JsonNode]
Email:
mail: object Email
EmailFilter:
mail: object EmailFilter
eqNil:
methods: proc eqNil(param: JPar): bool
FilterCondition:
methods: type FilterCondition
FilterOperator:
methods: type FilterOperator
formatDate:
helpers: proc formatDate(date: DateTime): string
formatUTCDate:
helpers: proc formatUTCDate(date: DateTime): string
fromJson:
mail: proc fromJson(rights: var set[MailboxRight]; data: JsonNode)
fromJsonHook:
common: proc fromJsonHook(call: var Invocation; data: JsonNode)
get:
methods: proc get(_: _`gensym2499805994:type; accountId: JPar[string]; ids: JPar[seq[string]] = defaultVal; properties: JPar[seq[string]] = @["id"]): JsonNode
mail: proc get(m: m:type; accountId: JPar[string]; ids: JPar[seq[string]] = defaultVal; properties: JPar[seq[string]] = @["id"]): Call[MailGet]
mail: proc get(mb: mb:type; accountId: JPar[string]; ids: JPar[seq[string]] = defaultVal; properties: JPar[seq[string]] = @["id"]): Call[Mailbox]
getFullType:
utils: proc getFullType(obj: NimNode): NimNode
getParam:
utils: proc getParam(obj: NimNode; key: string): NimNode
GetResponse:
methods: type GetResponse
hasParam:
utils: proc hasParam(obj: NimNode; key: string): bool
id:
common: proc id(call: Call): string
initCall:
common: proc initCall[T](needed, name: string; args: sink JsonNode; id = ""): Call[T]
initComparator:
methods: proc initComparator(property: string; isAscending = true; collation = ""): Comparator
Invocation:
common: type Invocation
isEmpty:
utils: proc isEmpty(obj: NimNode): bool
isNumeric:
utils: proc isNumeric(x: openArray[char]): bool
isRef:
methods: template isRef(param: JPar): bool
isSeq:
utils: proc isSeq(x: NimNode): bool
JMAPClient:
client: type JMAPClient
JMAPError:
common: object JMAPError
JMAPRequest:
common: object JMAPRequest
JMAPResponse:
common: object JMAPResponse
JPar:
methods: type JPar
Just:
methods: Operator.Just
LimitError:
common: object LimitError
Mailbox:
mail: object Mailbox
mailCapability:
mail: const mailCapability
MailGet:
mail: object MailGet
makePoint:
jsonptr: proc makePoint(curr: NimNode): seq[PointNode]
newAsyncHttpClient:
client: proc newAsyncHttpClient(username, password: string; hostname: string): AsyncJMAPClient
newFilter:
methods: proc newFilter(conditions: JsonNode): FilterOperator
newInvocation:
common: proc newInvocation(name: string; args: sink JsonNode; id = ""): Invocation
newJMAPClient:
client: proc newJMAPClient(username, password: string; hostname: string): JMAPClient
Not:
methods: Operator.Not
ok:
common: proc ok(resp: JMAPResponse; call: Call): bool
common: proc ok(resp: JMAPResponse; id: string): bool
Operator:
methods: enum Operator
Or:
methods: Operator.Or
passArgs:
methods: macro passArgs(ns: typedesc; name: typed): JsonNode
PatchObject:
methods: type PatchObject
PathObject:
common: type PathObject
point:
jsonptr: macro point(kind: typedesc; path: untyped): string
props:
helpers: macro props(x: typedesc; props: varargs[untyped]): seq[string]
query:
methods: proc query(_: _`gensym2499806024:type; accountId: JPar[string]; filter: JPar[FilterOperator] = defaultVal; sort: JPar[seq[Comparator]] = defaultVal; position: JPar[int] = 0; anchor: JPar[string] = defaultVal; anchorOffset: JPar[int] = 0; limit: JPar[uint] = defaultVal; calculateTotal: JPar[bool] = false): JsonNode
mail: proc query(mb: mb:type; accountId: JPar[string]; filter: JPar[FilterOperator | EmailFilter] = defaultVal; sort: JPar[seq[Comparator]] = defaultVal; position: JPar[int] = 0; anchor: JPar[string] = defaultVal; anchorOffset: JPar[int] = 0; limit: JPar[uint] = defaultVal; calculateTotal: JPar[bool] = false; sortAsTree: JPar[bool] = false; filterAsTree: JPar[bool] = false): Call[ QueryResponse]
mail: proc query(m: m:type; accountId: JPar[string]; filter: JPar[FilterOperator] = defaultVal; sort: JPar[seq[Comparator]] = defaultVal; position: JPar[int] = 0; anchor: JPar[string] = defaultVal; anchorOffset: JPar[int] = 0; limit: JPar[uint] = defaultVal; calculateTotal: JPar[bool] = false; collapseThreads: JPar[bool] = false): Call[QueryResponse]
QueryChangesResponse:
methods: type QueryChangesResponse
QueryResponse:
methods: type QueryResponse
request:
client: proc request(client: AsyncJMAPClient; req: JMAPRequest): Future[JMAPResponse]
client: proc request(client: JMAPClient; req: JMAPRequest): JMAPResponse
ResultReference:
common: type ResultReference
reuse:
helpers: proc reuse(call: Call; path: string): ResultReference
helpers: proc reuse(inv: Invocation; path: string): ResultReference
reuseIt:
helpers: macro reuseIt(call: Call; path: untyped): ResultReference
Session:
common: object Session
set:
methods: proc set(_: _`gensym2499806052:type; accountId: JPar[string]; ifInState: JPar[string] = defaultVal; create: JPar[Table[string, JsonNode]]; update: JPar[Table[string, PatchObject]]; destroy: JPar[seq[string]]): JsonNode
mail: proc set(m: m:type; accountId: JPar[string]; ifInState: JPar[string] = defaultVal; create: JPar[Table[string, Email]] = defaultVal; update: JPar[Table[string, PatchObject]] = defaultVal; destroy: JPar[seq[string]] = defaultVal; onDestroyRemoveEmails: JPar[bool] = defaultVal): Call[SetResponse]
SetError:
methods: object SetError
SetResponse:
methods: type SetResponse
startSession:
client: proc startSession(client: AsyncJMAPClient): owned(Future[void])
client: proc startSession(client: JMAPClient)
submissionCapability:
mail: const submissionCapability
toJsonHook:
common: proc toJsonHook(call: Invocation): JsonNode
methods: proc toJsonHook(op: FilterOperator): JsonNode
UnknownCapabilityError:
common: object UnknownCapabilityError
vacationCapability:
mail: const vacationCapability