Index
Modules:
jamp
,
jamp/auth
,
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 `[]`[T](resp: JMAPResponse; call: Call[T]): T
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])
addUsing:
common: proc addUsing(request: var JMAPRequest; capability: string)
And:
methods: Operator.And
AsyncJMAPClient:
client: type AsyncJMAPClient
AuthHandler:
auth: type AuthHandler
AuthorisationError:
common: object AuthorisationError
Base:
methods: object Base
basicAuth:
auth: proc basicAuth(username, password: string): AuthHandler
bearerAuth:
auth: proc bearerAuth(token: string): AuthHandler
Blob:
common: object Blob
Call:
common: object Call
CallError:
common: object CallError
changes:
methods: proc changes(_: _`gensym2550137569:type; accountId: JPar[string]; sinceState: JPar[string]; maxChanges: JPar[uint] = defaultVal): JsonNode
ChangesResponse:
methods: type ChangesResponse
Comparator:
methods: object Comparator
copy:
core: proc copy(b: typedesc[Blob]; srcAccount, destAccount: string; blobs: seq[string]): Call[ CopyResponse]
CopyResponse:
methods: type CopyResponse
core: object CopyResponse
Core:
core: object Core
CoreCapabilities:
common: object CoreCapabilities
coreCapability:
core: const coreCapability
defaultVal:
methods: const defaultVal
downloadBlob:
client: proc downloadBlob(client: AsyncJMAPClient; accountID, blobID: string; contentType = "file/any"; name = "download"): Future[string]
client: proc downloadBlob(client: JMAPClient; accountID, blobID: string; contentType = "file/any"; name = "download"): string
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(blob: var Blob; data: JsonNode)
common: proc fromJsonHook(call: var Invocation; data: JsonNode)
get:
methods: proc get(_: _`gensym2550137552:type; accountId: JPar[string]; ids: JPar[seq[string]] = defaultVal; properties: JPar[seq[string]] = @["id"]): JsonNode
mail: proc get(mb: mb:type; accountId: JPar[string]; ids: JPar[seq[string]] = defaultVal; properties: JPar[seq[string]] = @["id"]): Call[GetResponse[Mailbox]]
mail: proc get(m: m:type; accountId: JPar[string]; ids: JPar[seq[string]] = defaultVal; properties: JPar[seq[string]] = @["id"]; bodyProperties: JPar[seq[string]] = @[ "partId", "blobId", "size", "name", "type", "charset", "disposition", "cid", "language", "location"]; fetchTextBodyValues: JPar[bool] = false; fetchHTMLBodyValues: JPar[bool] = false): Call[MailGet]
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
hasSession:
client: proc hasSession(client: BaseJMAPClient): bool
id:
common: proc id(call: Call): string
initCall:
common: proc initCall[T](needed: seq[string]; 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
isJson:
utils: proc isJson(resp: Response | AsyncResponse): 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
jmapDateFormat:
helpers: const jmapDateFormat
JMAPError:
common: object JMAPError
JMAPRequest:
common: object JMAPRequest
JMAPResponse:
common: object JMAPResponse
jmapUTCDateFormat:
helpers: const jmapUTCDateFormat
JPar:
methods: type JPar
Just:
methods: Operator.Just
Mailbox:
mail: object Mailbox
mailCapability:
mail: const mailCapability
MailGet:
mail: type MailGet
newAsyncHttpClient:
client: proc newAsyncHttpClient(auth: AuthHandler; 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(auth: AuthHandler; hostname: string): JMAPClient
Not:
methods: Operator.Not
ok:
common: proc ok(invoc: Invocation): bool
common: proc ok(resp: JMAPResponse; call: Call): bool
common: proc ok(resp: JMAPResponse; id: string): bool
Operator:
methods: enum Operator
Or:
methods: Operator.Or
parseDate:
helpers: proc parseDate(inp: string): DateTime
parseUTCDate:
helpers: proc parseUTCDate(inp: string): DateTime
PatchObject:
methods: type PatchObject
point:
jsonptr: macro point(kind: typedesc; path: untyped): string
pretty:
client: proc pretty(resp: JMAPResponse): string
props:
helpers: macro props(x: typedesc; props: varargs[untyped]): seq[string]
query:
methods: proc query(_: _`gensym2550137582: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[T](client: AsyncJMAPClient; call: Call[T]): Future[T]
client: proc request(client: AsyncJMAPClient; req: JMAPRequest): Future[JMAPResponse]
client: proc request[T](client: JMAPClient; call: Call[T]): T
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
SetError:
common: object SetError
methods: object SetError
SetResponse:
methods: type SetResponse
setVal:
methods: proc setVal[T](_: _`gensym2550137611:type; accountId: JPar[string]; ifInState: JPar[string] = defaultVal; create: JPar[Table[string, T]] = defaultVal; update: JPar[Table[string, PatchObject]] = defaultVal; destroy: JPar[seq[string]] = defaultVal): JsonNode
mail: proc setVal(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): Call[SetResponse[Email]]
startSession:
client: proc startSession(client: AsyncJMAPClient; insecure = false): owned(Future[void])
client: proc startSession(client: JMAPClient; insecure = false)
submissionCapability:
mail: const submissionCapability
toJsonHook:
common: proc toJsonHook(blob: Blob): JsonNode
common: proc toJsonHook(call: Invocation): JsonNode
methods: proc toJsonHook(op: FilterOperator): JsonNode
uploadBlob:
client: proc uploadBlob(client: AsyncJMAPClient; accountID, contentType, blob: string): Future[ Blob]
client: proc uploadBlob(client: JMAPClient; accountID, contentType, blob: string): Blob
vacationCapability:
mail: const vacationCapability