Socket
Socket
Sign inDemoInstall

@google-cloud/promisify

Package Overview
Dependencies
0
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@google-cloud/promisify

A simple utility for promisifying functions and classes.


Version published
Maintainers
1
Created

Package description

What is @google-cloud/promisify?

@google-cloud/promisify is a utility library that helps convert callback-based functions to promise-based functions. This is particularly useful for modern JavaScript development where promises and async/await syntax are preferred over traditional callback patterns.

What are @google-cloud/promisify's main functionalities?

Promisify a single function

This feature allows you to convert a single callback-based function to a promise-based function. The code sample demonstrates how to use the `promisify` function to convert a traditional callback function into one that returns a promise.

const {promisify} = require('@google-cloud/promisify');

function callbackFunction(arg1, arg2, callback) {
  // Simulate an asynchronous operation
  setTimeout(() => {
    callback(null, 'result');
  }, 1000);
}

const promiseFunction = promisify(callbackFunction);

promiseFunction('arg1', 'arg2').then(result => {
  console.log(result); // 'result'
}).catch(err => {
  console.error(err);
});

Promisify all functions in an object

This feature allows you to promisify all functions in an object. The code sample demonstrates how to use the `promisifyAll` function to convert all callback-based functions in an object to promise-based functions, appending 'Async' to the function names.

const {promisifyAll} = require('@google-cloud/promisify');

const obj = {
  callbackFunction(arg1, arg2, callback) {
    setTimeout(() => {
      callback(null, 'result');
    }, 1000);
  }
};

promisifyAll(obj);

obj.callbackFunctionAsync('arg1', 'arg2').then(result => {
  console.log(result); // 'result'
}).catch(err => {
  console.error(err);
});

Other packages similar to @google-cloud/promisify

Changelog

Source

1.0.2 (2019-06-26)

Bug Fixes

  • docs: link to reference docs section on googleapis.dev (#128) (5a8bd90)

Readme

Source

Google Cloud Platform logo

Google Cloud Common Promisify: Node.js Client

release level npm version codecov

A simple utility for promisifying functions and classes.

Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained.

Table of contents:

Quickstart

Installing the client library

npm install @google-cloud/promisify

Using the client library

const {promisify} = require('@google-cloud/promisify');

/**
 * This is a very basic example function that accepts a callback.
 */
function someCallbackFunction(name, callback) {
  if (!name) {
    callback(new Error('Name is required!'));
  } else {
    callback(null, `Well hello there, ${name}!`);
  }
}

// let's promisify it!
const somePromiseFunction = promisify(someCallbackFunction);

async function quickstart() {
  // now we can just `await` the function to use it like a promisified method
  const [result] = await somePromiseFunction('nodestronaut');
  console.log(result);
}
quickstart();

It's unlikely you will need to install this package directly, as it will be installed as a dependency when you install other @google-cloud packages.

Samples

Samples are in the samples/ directory. The samples' README.md has instructions for running the samples.

SampleSource CodeTry it
Quickstartsource codeOpen in Cloud Shell

The Google Cloud Common Promisify Node.js Client API Reference documentation also contains samples.

Versioning

This library follows Semantic Versioning.

This library is considered to be General Availability (GA). This means it is stable; the code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with an extensive deprecation period. Issues and requests against GA libraries are addressed with the highest priority.

More Information: Google Cloud Platform Launch Stages

Contributing

Contributions welcome! See the Contributing Guide.

License

Apache Version 2.0

See LICENSE

FAQs

Package last updated on 26 Jun 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc