@inpassor/firebase-config
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

Firebase Remote Config library

This library used for interaction with Firebase Remote Config REST API to set or get Remote Config values in node.js environment.

Dependencies

google-auth-library

The library uses google-auth-library npm package and provides a variety of ways to authenticate Remote Config API requests:

  • Provide a keyId and key of your Firebase project.
  • Provide a private key file for your Firebase service account.
  • Provide GOOGLE_APPLICATION_CREDENTIALS environment variable.
  • Use none of above in case of usage of the library on Google Cloud.

Read about Google Cloud API authentication at Getting Started with Authentication

node-cache

The library uses node-cache npm package for storing ETag value.

See cacheOptions config option.

flat

The library uses flat npm package for flatten and unflatten Remote Config parameters.

See delimiter config option.

Example

import * as path from 'path';
import {
    FirebaseConfig,
    DataObject,
} from '@inpassor/firebase-config';

/**
 * Instantiate FirebaseConfig
 */
const firebaseConfig = new FirebaseConfig({
    projectId: 'my-awesome-project-id',
    keyFileName: path.resolve('path', 'to', 'my-awesome-project-service-key.json'),
    // key: 'my-project-key',
    // keyId: 'my-project-key-id',
    // cacheOptions: {
    //     forceString?: boolean;
    //     objectValueSize?: number;
    //     arrayValueSize?: number;
    //     stdTTL?: number;
    //     checkperiod?: number;
    //     useClones?: boolean;
    //     errorOnMissing?: boolean;
    //     deleteOnExpire?: boolean;
    // },
    // delimiter: '___',
    // defaultErrorMessage: 'Invalid response from the Firebase Remote Config service',
});

/**
 * Set Remote Config 
 */
firebaseConfig.set({
    // [key: string]: any
}).then(
    () => console.log('published'),
    (error: any) => console.error(error),
);

/**
 * Get Remote Config 
 */
firebaseConfig.get().then(
    (parameters: DataObject) => console.log(parameters),
    (error: any) => console.error(error),
);

Package Sidebar

Install

npm i @inpassor/firebase-config

Weekly Downloads

1

Version

1.3.0

License

MIT

Unpacked Size

31.3 kB

Total Files

16

Last publish

Collaborators

  • inpassor