npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

couch-cursor

v1.1.3

Published

Library for fetching paginated data from couchdb

Downloads

2

Readme

couch-cursor

Library for fetching paginated data from couchdb

Classes

Document

Document is used to read and write a single document from couch

Constructor(Object? document, Object? connectionData)

document param will be the raw document will be replaced if hydrate is invoked if hydrate is used then doc must contain the "_id" field connectionData param is the connection information used if replace is invoked, gets replaced if hydrate is invoked

Object getRawDocument()

returns the internal document

async void hydrate(Object connectionData, String? revOverride)

will replace the internal document and update connection information, will pull latest rev by default, revOverride will pull down a specific rev

async void upsertTo(Object connectionData, String id)

will upload the internal document to the specified connection and replace the id

async void replace()

replaces the current document if connection information is present and bumps the rev

DocumentCursor

Useful for iterating through a collection of documents, documents are paginated

Constructor({int? initialIdx, int? pageSize, int? attachmentPageSize, Object connection_data})

initialIdx is the starting index of the cursor, defaults to 0 pageSize is the size of pages of docs fetched from the remote database, defaults to 1 attachmentPageSize is the size of pages that derived attachment cursors will use, defaults to 1 connectionData is the connection information the cursor will use to pull documents

async this init(Object? selector, Object? sort)

readies the cursor, must be invoked before reading pages, can also reset the cursor selector and sort are optional

async Document[] getCurrentPage()

returns the current page of documents, will not bump current index

async Document[] nextPage()

returns the current page of documents, will bump the current index

async Document[] nextFilteredPage(function filterFunction)

returns documents that pass the filter, will continue to get pages until the total number of docs is >= pageSize or all docs have been filtered, updates the index of the cursor

boolean completed

property that represents whether the end of the database has been reached

async getAttachmentCursor(Document doc)

returns a new AttachmentCursor for the given document will be hydrated before returning

Attachment

AttachmentCursor

ConnectionData

var connectionData = {USERNAME:username, PASSWORD:password, COUCHDB_HOST:host, COUCHDB_NAME:database, COUCHDB_PROTOCOL:protocol};