This repository contains a client library for LaunchDarkly's REST API. This client was automatically
generated from our OpenAPI specification using a code generation library. View our sample code for example usage.
This REST API is for custom integrations, data export, or automating your feature flag workflows. DO NOT use this client library to include feature flags in your web or mobile application. To integrate feature flags with your application, read the SDK documentation.
launchdarkly-api-typescript@9.0.1
This generator creates TypeScript/JavaScript client that utilizes axios. The generated Node module can be used in the following environments:
Environment
Language level
- ES5 - you must have a Promises/A+ library installed
- ES6
Module system
- CommonJS
- ES6 module system
It can be used in both TypeScript and JavaScript. In TypeScript, the definition should be automatically resolved via package.json
. (Reference)
Building
To build and compile the typescript sources to javascript use:
npm install
npm run build
Publishing
First build the package then run npm publish
Consuming
navigate to the folder of your consuming project and run one of the following commands.
published:
npm install launchdarkly-api-typescript@9.0.1 --save
unPublished (not recommended):
npm install PATH_TO_GENERATED_PACKAGE --save
## Sample Code
```ts
import { FeatureFlagsApi, Configuration, FeatureFlagBody } from "launchdarkly-api-typescript";
const apiToken = process.env.LD_API_KEY;
const config = new Configuration({apiKey: apiToken});
let apiInstance = new FeatureFlagsApi(config);
const successCallback = function(res){
console.log('API called successfully. Returned data: ' + JSON.stringify(res.data));
};
const errorCallback = function(error) {
console.error('Error!', error);
process.exit(1);
};
const createSuccessCallback = function(res){
successCallback(res);
// Clean up
apiInstance.deleteFeatureFlag(projectName, keyName).then(successCallback, errorCallback);
};
const projectName = "openapi";
const keyName = "test-typescript";
const flagBody: FeatureFlagBody = {
name: "Test Flag Typescript",
key: keyName,
variations: [{value: [1, 2]}, {value: [3, 4]}, {value: [5]}]
};
apiInstance.deleteFeatureFlag(projectName, keyName)
.then(() => {
console.log("flag deleted")
apiInstance.postFeatureFlag(projectName, flagBody).then(createSuccessCallback, errorCallback);
})
.catch((err) => {
if (err?.response?.status == 404) {
console.log("No flag to cleanup")
} else {
errorCallback(err)
}
apiInstance.postFeatureFlag(projectName, flagBody).then(createSuccessCallback, errorCallback);
})