Awesome
jsflagr
Jsflagr - JavaScript client for jsflagr Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is "/api/v1". This SDK is automatically generated by the Swagger Codegen project:
- API version: 1.1.10
- Package version: 1.1.10
- Build package: io.swagger.codegen.languages.JavascriptClientCodegen
Installation
For Node.js
npm
To publish the library as a npm, please follow the procedure in "Publishing npm packages".
Then install it via:
npm install jsflagr --save
Local development
To use the library locally without publishing to a remote npm registry, first install the dependencies by changing
into the directory containing package.json
(and this README). Let's call this JAVASCRIPT_CLIENT_DIR
. Then run:
npm install
Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR
:
npm link
Finally, switch to the directory you want to use your jsflagr from, and run:
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
You should now be able to require('jsflagr')
in javascript files from the directory you ran the last
command above from.
git
If the library is hosted at a git repository, e.g. https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:
npm install GIT_USER_ID/GIT_REPO_ID --save
For browser
The library also works in the browser environment via npm and browserify. After following
the above steps with Node.js and installing browserify with npm install -g browserify
,
perform the following (assuming main.js is your entry file, that's to say your javascript file where you actually
use this library):
browserify main.js > bundle.js
Then include bundle.js in the HTML pages.
Webpack Configuration
Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:
module: {
rules: [
{
parser: {
amd: false
}
}
]
}
Getting Started
Please follow the installation instruction and execute the following JS code:
var Jsflagr = require('jsflagr');
var api = new Jsflagr.ConstraintApi()
var flagID = 789; // {Number} numeric ID of the flag
var segmentID = 789; // {Number} numeric ID of the segment
var body = new Jsflagr.CreateConstraintRequest(); // {CreateConstraintRequest} create a constraint
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
api.createConstraint(flagID, segmentID, body, callback);
Documentation for API Endpoints
All URIs are relative to http://localhost/api/v1
Class | Method | HTTP request | Description |
---|---|---|---|
Jsflagr.ConstraintApi | createConstraint | POST /flags/{flagID}/segments/{segmentID}/constraints | |
Jsflagr.ConstraintApi | deleteConstraint | DELETE /flags/{flagID}/segments/{segmentID}/constraints/{constraintID} | |
Jsflagr.ConstraintApi | findConstraints | GET /flags/{flagID}/segments/{segmentID}/constraints | |
Jsflagr.ConstraintApi | putConstraint | PUT /flags/{flagID}/segments/{segmentID}/constraints/{constraintID} | |
Jsflagr.DistributionApi | findDistributions | GET /flags/{flagID}/segments/{segmentID}/distributions | |
Jsflagr.DistributionApi | putDistributions | PUT /flags/{flagID}/segments/{segmentID}/distributions | |
Jsflagr.EvaluationApi | postEvaluation | POST /evaluation | |
Jsflagr.EvaluationApi | postEvaluationBatch | POST /evaluation/batch | |
Jsflagr.ExportApi | getExportEvalCacheJSON | GET /export/eval_cache/json | |
Jsflagr.ExportApi | getExportSqlite | GET /export/sqlite | |
Jsflagr.FlagApi | createFlag | POST /flags | |
Jsflagr.FlagApi | deleteFlag | DELETE /flags/{flagID} | |
Jsflagr.FlagApi | findFlags | GET /flags | |
Jsflagr.FlagApi | getFlag | GET /flags/{flagID} | |
Jsflagr.FlagApi | getFlagEntityTypes | GET /flags/entity_types | |
Jsflagr.FlagApi | getFlagSnapshots | GET /flags/{flagID}/snapshots | |
Jsflagr.FlagApi | putFlag | PUT /flags/{flagID} | |
Jsflagr.FlagApi | setFlagEnabled | PUT /flags/{flagID}/enabled | |
Jsflagr.HealthApi | getHealth | GET /health | |
Jsflagr.SegmentApi | createSegment | POST /flags/{flagID}/segments | |
Jsflagr.SegmentApi | deleteSegment | DELETE /flags/{flagID}/segments/{segmentID} | |
Jsflagr.SegmentApi | findSegments | GET /flags/{flagID}/segments | |
Jsflagr.SegmentApi | putSegment | PUT /flags/{flagID}/segments/{segmentID} | |
Jsflagr.SegmentApi | putSegmentsReorder | PUT /flags/{flagID}/segments/reorder | |
Jsflagr.TagApi | createTag | POST /flags/{flagID}/tags | |
Jsflagr.TagApi | deleteTag | DELETE /flags/{flagID}/tags/{tagID} | |
Jsflagr.TagApi | findAllTags | GET /tags | |
Jsflagr.TagApi | findTags | GET /flags/{flagID}/tags | |
Jsflagr.VariantApi | createVariant | POST /flags/{flagID}/variants | |
Jsflagr.VariantApi | deleteVariant | DELETE /flags/{flagID}/variants/{variantID} | |
Jsflagr.VariantApi | findVariants | GET /flags/{flagID}/variants | |
Jsflagr.VariantApi | putVariant | PUT /flags/{flagID}/variants/{variantID} |
Documentation for Models
- Jsflagr.Constraint
- Jsflagr.CreateConstraintRequest
- Jsflagr.CreateFlagRequest
- Jsflagr.CreateSegmentRequest
- Jsflagr.CreateTagRequest
- Jsflagr.CreateVariantRequest
- Jsflagr.Distribution
- Jsflagr.Error
- Jsflagr.EvalContext
- Jsflagr.EvalDebugLog
- Jsflagr.EvalResult
- Jsflagr.EvaluationBatchRequest
- Jsflagr.EvaluationBatchResponse
- Jsflagr.EvaluationEntity
- Jsflagr.Flag
- Jsflagr.FlagSnapshot
- Jsflagr.Health
- Jsflagr.PutDistributionsRequest
- Jsflagr.PutFlagRequest
- Jsflagr.PutSegmentReorderRequest
- Jsflagr.PutSegmentRequest
- Jsflagr.PutVariantRequest
- Jsflagr.Segment
- Jsflagr.SegmentDebugLog
- Jsflagr.SetFlagEnabledRequest
- Jsflagr.Tag
- Jsflagr.Variant
Documentation for Authorization
All endpoints do not require authorization.