Skip to content

featurevisor/featurevisor-go

Repository files navigation

featurevisor-go

Go SDK for Featurevisor.

Under heavy development. Not ready yet.

TODOs

  • Types
    • Initial batch of types
    • Create parser functions for DatafileContent and Test
  • Bucketing
    • Add bucketing functions following murmurhashv3 algorith
    • Add tests using same fixtures as JS SDK
  • Logger
    • Create Logger struct
    • Add tests
  • DatafileReader
    • Create DatafileReader struct
    • Add tests
  • Conditions
    • Write conditions evaluator
    • Add tests
  • Segments
    • Write segments evaluator
    • Add tests
  • Emitter
    • Create Emitter class, keeping multithreading in mind
    • Add tests
  • Feature
    • Create common functions for feature evaluation
  • Instance
    • Create Instance struct
    • Options:
      • bucketKeySeparator
      • configureBucketKey
      • configureBucketValue
      • datafile
      • datafileUrl
      • handleDatafileFetch
      • initialFeatures
      • interceptContext
      • logger
      • onActivation
      • onReady
      • onRefresh
      • onUpdate
      • refreshInterval
      • stickyFeatures
    • Methods:
      • onReady
      • setDatafile
      • setStickyFeatures
      • getRevision
      • getFeature
      • getBucketKey
      • getBucketValue
      • isReady
      • refresh
      • startRefreshing
      • stopRefreshing
      • evaluateFlag
      • isEnabled
      • evaluateVariation
      • getVariation
      • activate
      • evaluateVariable
      • getVariable
      • getVariableBoolean
      • getVariableString
      • getVariableInteger
      • getVariableDouble
      • getVariableArray
      • getVariableObject
      • getVariableJSON
    • createInstance function
    • Add tests
  • Test runner
    • Create an executable featurevisor-go that runs tests

Local development

$ go build
$ go test

License

MIT

About

Go SDK for Featurevisor (in progress)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages