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

extremum-sdk

v3.0.7

Published

frontend development kit

Downloads

452

Readme

Extremum SDK

Overview

Simple lib that allows developers to make serverless applications.

Usage:

const client = new ExtremumSDK("0", "http://api.app-0.ajev84ud35k4m2lo4n39.extremum.io"); // app-id & url for further requests client.login("client-lib", "rKg7b7HjbBITrCl42yERiTMFdCcy1rIj"); // use client_id & secret for login

Bucket

$ client.bucket.create("test-bucket"); # Create test-bucket Bucket

$ client.bucket.remove("test-bucket"); # Remove test-bucket Bucket

$ client.bucket.getMetadata("test-bucket"); # Get test-bucket metadata

$ client.bucket.setupTrigger("test-bucket", { function: "test-fn", options: { prefix: "", operations: ["create"] } }); set test-fn trigger on test-bucket

$ client.bucket.removeTrigger(test-bucket, "test-fn"); # Remove trigger from test-bucket

$ client.bucket.getBuckets(0, 20); # Get Bucket list with offset = 0 and limit = 20

Storage

$ client.storage.createOrReplaceObject("test-bucket", "test-file", data); # Add test-file to test-bucket

$ client.storage.getObject("test-bucket", "test-key", isStream); # Get test-key from test-bucket

$ client.storage.deleteObject("test-bucket", "test-key"); # Remove test-key from test-bucket

$ client.storage.createPostForm("test-bucket", "test-key"); # Create test-key form for test-bucket

$ client.storage.getObjectMetadata("test-bucket", "test-key"); # Get test-key metadata

$ client.storage.getKeys("test-bucket", 0, 20); # Get Storage list with offset = 0 and limit = 20

Functions

$ client.functions.create("test-function", body, "1.0.0"); # Create test-function function

$ client.functions.createNewVersion("test-function", body: Patch, "1.0.0") # Update test-function

$ client.functions.remove("test-function", "1.0.0"); # Remove test-function function

$ client.functions.getMetadata("test-function"); # get test-function metadata

$ client.functions.getFunctions(0, 20); # Get Functions list with offset = 0 and limit = 20

JOBS

$ client.job.create(action: "delete" | "invoke_function", "test-bucket", keys?: string[], func?: string) # Create job

$ client.job.getJobs(0, 20); # Get Job list with offset = 0 and limit = 20

$ client.job.cancel(id) # Cancel job by id

$ client.job.getMetadata(id) # Get job metadata by id

MESSAGING

$ client.messaging.createQueue('test-queue') # Create test-queue Queue

$ client.messaging.removeQueue('test-queue') # Remove test-queue Queue

$ client.messaging.getMetadata('test-queue') # Get test-queue metadata

$ client.messaging.getQueues(0, 20) # Get Queue list with offset = 0 and limit = 20

MESSAGE QUEUES

$ client.messageQueues.publish('test-queue', Buffer|string) # Publish a message to test-queue

$ client.messageQueues.pollUnreadMessages('test-queue', n) # Poll n messages from test-queue

$ client.messageQueues.remove('test-queue', 'id') # Remove message from test-queue by id

$ client.messageQueues.subscribe('test-queue', 'mycoolfunction') Subscribe mycoolfunction to test-queue

$ client.messageQueues.subscribe('test-queue', 'mycoolfunction') Unsubscribe mycoolfunction from test-queue

MULTIPART UPLOADS

TODO

ROLE

$ client.role.create('user') # Create user role

$ client.role.delete('user') # Remove user role

$ client.role.getRoleMeta('user') Get a user metadata

$ client.role.list(0, 20) # Get Role list with offset = 0 and limit = 20

$ client.role.createUser({name: 'John', email: '[email protected]', roles: ['user']}) # Create a new user

$ client.role.updateUser('John', [{path: 'email', op: 'replace', value: '[email protected]'}]) # Update user data

$ client.role.deleteUser('John') # Delete user

$ client.role.getUserMeta('John') # Get John metadata

$ client.role.listUser(0, 20) # Get User list with offset = 0 and limit = 20

$ client.role.changePassword('John', { old: 'old-password', new: 'new-password' }) # Change John password

$ client.role.getRules([{path: 'read', op: 'create', value: true}]) # Get access rules *

$ client.role.uploadRules(body) # Set access rules *

$ client.role.appendRules() # Append new access rules

SIGNAL

$ client.signals.send(Signal) # Send a signal * see Signal interface on the description

$ client.signals.poll(id, 20) # Poll 20 signals from id

$ client.signals.subscribe(id, Subscription) # Subscribe to topic by id

$client.signals.unsubscribe(id) # Unsubscribe from topic by id

DB

$ client.db.create('events', {name: 'event'}) # Create event

$ client.db.update(id, [{path: 'name', op: 'replace', value: 'new-event'}]) # Update data by id

$ client.db.delete(id) # Remove data by id

$ client.db.get(id, Params) # Get data by id with Params

$ client.db.link(srcId, targetId, predicate, options?) # Create RFC link

$ client.db.unlink(srcId, targetId, predicate, options) # Remove RFC link