fastango

1.0.0-beta1 • Public • Published

fastango

supercharged arangodb poc client

impelentation status

drawbacks

  • not the full http api is implemented
  • all request go into the same queue. on socket error this queue will resubmited to the db -> split queue to pipelined an non pipelined requests
  • no cursor iteration (possbile when async functions land in in ES7)

initialize client

parser = new (require 'fastango/parser') 'IP'PORT
require('fastango/fastango') parser'_system'(status, fastango) ->
  if status >= 400
    'some error'
    return
  'now you can use fastango'

database

_use

fastango._use 'myDb'(status, fastango) ->
  if status >= 400
    'some error'

Change the database. Note: the old fastango object points to the old db. You have to use the newly returned fastango object.

collections

truncate

fastango.testCollection.truncate (status, heads, body) ->
  if status >= 400
    'some error'

drop

fastango.testCollection.drop (status, heads, body) ->
  if status >= 400
    'some error'

_createDocumentCollection

fastango._createDocumentCollection 'NAME'{options}(status, heads, body) ->
  if status >= 400
    'some error'

for options see https://docs.arangodb.com/HttpCollection/Creating.html

documents

save

fastango.testCollection.save JSON.strinigfy({key:'value'})(status, heads, body) ->
  if status >= 400
    'some error'

update

fastango.testCollection.update '_key'JSON.strinigfy({key:'value'}){options}(status, heads, body) ->
  if status >= 400
    'some error'

for options (optional) see https://docs.arangodb.com/HttpDocument/WorkingWithDocuments.html (Patch document)

document

fastango.testCollection.document '_key'(status, heads, body) ->
  if status >= 400
    'some error'

count

fastango.testCollection.count (status, heads, body) ->
  if status >= 400
    'some error'

misc

_query

fastango._query 'FOR doc IN docs RETURN doc._key'{bindVars}{options}(status, cursor) ->
  if status >= 400
    'some error'
    return
  cursor.all (status, results) ->
    if status >= 400
      'some error'

for options see https://docs.arangodb.com/HttpAqlQueryCursor/AccessingCursors.html example:

fastango._query 'FOR doc IN docs RETURN doc._key'{}{fullCount:truemaxPlans:1}(status, cursor) ->

for the moment only cursor.all is supported.

_transaction

fastango._transaction {
  params:
    a: 4
  collections: ['col1''col2'| # optional 
    read: ['col1''col2']
    write: ['col1''col2']
  waitForSync: true|false # optional 
  lockTimeout: UNUMBER # optional 
}(params) -> # the action function 
  return params.a
(status, headers, body) ->
  if status >= 400
    'some error'

Dependents (0)

Package Sidebar

Install

npm i fastango

Weekly Downloads

1

Version

1.0.0-beta1

License

none

Last publish

Collaborators

  • baslr