Google Cloud Common Promisify: Node.js Client
A simple utility for promisifying functions and classes.
A comprehensive list of changes in each version may be found in the CHANGELOG .
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. Each sample's README.md 
has instructions for running its sample.
| Sample | Source Code | Try it | 
|---|---|---|
|     
Quickstart  
 |  
 source code |    
 |  
The Google Cloud Common Promisify Node.js Client API Reference documentation also contains samples.
Supported Node.js Versions
Our client libraries follow the Node.js release schedule . Libraries are compatible with all current active and maintenance versions of Node.js. If you are using an end-of-life version of Node.js, we recommend that you update as soon as possible to an actively supported LTS version.
Google's client libraries support legacy versions of Node.js runtimes on a best-efforts basis with the following warnings:
- Legacy versions are not tested in continuous integration.
 - Some security patches and features cannot be backported.
 - Dependencies cannot be kept up-to-date.
 
Client libraries targeting some end-of-life versions of Node.js are available, and
can be installed through npm dist-tags 
.
The dist-tags follow the naming convention legacy-(version) 
.
For example, npm install @google-cloud/promisify@legacy-8 
installs client libraries
for versions compatible with Node.js 8.
Versioning
This library follows Semantic Versioning .
This library is considered to be 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 stablelibraries are addressed with the highest priority.
More Information: Google Cloud Platform Launch Stages
Contributing
Contributions welcome! See the Contributing Guide .
Please note that this README.md 
, the samples/README.md 
,
and a variety of configuration files in this repository (including .nycrc 
and tsconfig.json 
)
are generated from a central template. To edit one of these files, make an edit
to its templates in directory 
.
License
Apache Version 2.0
See LICENSE


