@ledgerhq/live-config
v3.1.0
Published
Ledger Live configuration tools
Downloads
808
Maintainers
Keywords
Readme
Welcome to Ledger's @ledgerhq/live-config JavaScript lib.
Introduction
@ledgerhq/live-config is a versatile TypeScript library designed to manage application configurations dynamically. It supports various data types and integrates seamlessly with different configuration providers.
Features
- Singleton pattern: Ensures only one instance of the configuration is active.
- Support for multiple data types: string, boolean, number, object, array.
- Custom configuration providers: Extendable to various backend services.
- Easy to use API for fetching configuration values.
Installation
npm install @ledgerhq/live-config
or
yarn add @ledgerhq/live-config
Usage
Initializing LiveConfig
LiveConfig is a singleton class. To use it, you must first set a provider and a configuration schema.
Set a Provider Implement your own provider by extending the Provider interface. Here is an example provider implementation:
import { Provider } from "@ledgerhq/live-config/providers/index";
import { ConfigInfo, LiveConfig } from "@ledgerhq/live-config/LiveConfig";
class MyCustomProvider implements Provider {
getValueByKey(key: string, info: ConfigInfo) {
// Implement logic to retrieve the value for the given key
// This can be an API call, local storage access, etc.
}
}
const myProvider = new MyCustomProvider();
LiveConfig.setProvider(myProvider);
Set Configuration Schema Define your configuration schema as follows:
import { LiveConfig } from "@ledgerhq/live-config/LiveConfig";
const configSchema = {
key1: { type: "string", default: "value1" },
key2: { type: "boolean", default: false },
key3: { type: "number", default: 1 },
key4: {
type: "object",
default: {
url: "https://url.com",
supportedCurrencies: ["btc", "eth"],
},
},
};
LiveConfig.setConfig(configSchema);
Retrieving Configuration Values
To retrieve a value from the configuration, use the getValueByKey method:
const value = LiveConfig.getValueByKey("key1");