@openfeature/flagd-provider 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,4 @@
1
- # Server-side JavaScript flagd Provider for OpenFeature
2
-
3
- ![Experimental](https://img.shields.io/badge/experimental-breaking%20changes%20allowed-yellow)
1
+ # Server-side flagd Provider
4
2
 
5
3
  Flagd is a simple daemon for evaluating feature flags.
6
4
  It is designed to conform to OpenFeature schema for flag definitions.
@@ -12,6 +10,12 @@ This repository and package provides the client code for interacting with it via
12
10
  $ npm install @openfeature/flagd-provider
13
11
  ```
14
12
 
13
+ Required peer dependencies
14
+
15
+ ```
16
+ $ npm install @openfeature/js-sdk
17
+ ```
18
+
15
19
  ## Usage
16
20
 
17
21
  The `FlagdProvider` supports multiple configuration options that determine now the SDK communicates with flagd.
package/index.cjs CHANGED
@@ -4683,6 +4683,10 @@ if (NOT_GENERIC || INCORRECT_NAME) {
4683
4683
  }, { unsafe: true });
4684
4684
  }
4685
4685
 
4686
+ class Empty$Type extends MessageType{constructor(){super("google.protobuf.Empty",[]);}create(a){const b={};return globalThis.Object.defineProperty(b,MESSAGE_TYPE,{enumerable:!1,value:this}),void 0!==a&&reflectionMergePartial(this,b,a),b}internalBinaryRead(a,b,c,d){return null!==d&&void 0!==d?d:this.create()}internalBinaryWrite(a,b,c){let d=c.writeUnknownFields;return !1!==d&&(!0==d?UnknownFieldHandler.onWrite:d)(this.typeName,a,b),b}}/**
4687
+ * @generated MessageType for protobuf message google.protobuf.Empty
4688
+ */const Empty=new Empty$Type;
4689
+
4686
4690
  /**
4687
4691
  * Turns PartialMethodInfo into MethodInfo.
4688
4692
  */
@@ -4750,9 +4754,6 @@ function stackIntercept(kind, transport, method, options, input) {
4750
4754
  assertNever(kind);
4751
4755
  }
4752
4756
 
4753
- class ErrorResponse$Type extends MessageType{constructor(){super("schema.v1.ErrorResponse",[{no:1,name:"error_code",kind:"scalar",T:9/*ScalarType.STRING*/},{no:2,name:"reason",kind:"scalar",T:9/*ScalarType.STRING*/}]);}create(a){const b={errorCode:"",reason:""};return globalThis.Object.defineProperty(b,MESSAGE_TYPE,{enumerable:!1,value:this}),void 0!==a&&reflectionMergePartial(this,b,a),b}internalBinaryRead(a,b,c,d){let e=null!==d&&void 0!==d?d:this.create(),f=a.pos+b;for(;a.pos<f;){let[b,f]=a.tag();switch(b){case/* string error_code */1:e.errorCode=a.string();break;case/* string reason */2:e.reason=a.string();break;default:let g=c.readUnknownField;if("throw"===g)throw new globalThis.Error(`Unknown field ${b} (wire type ${f}) for ${this.typeName}`);let h=a.skip(f);!1!==g&&(!0===g?UnknownFieldHandler.onRead:g)(this.typeName,e,b,f,h);}}return e}internalBinaryWrite(a,b,c){""!==a.errorCode&&b.tag(1,WireType.LengthDelimited).string(a.errorCode),""!==a.reason&&b.tag(2,WireType.LengthDelimited).string(a.reason);let d=c.writeUnknownFields;return !1!==d&&(!0==d?UnknownFieldHandler.onWrite:d)(this.typeName,a,b),b}}/**
4754
- * @generated MessageType for protobuf message schema.v1.ErrorResponse
4755
- */new ErrorResponse$Type;// @generated message type with reflection information, may provide speed optimized methods
4756
4757
  class ResolveBooleanRequest$Type extends MessageType{constructor(){super("schema.v1.ResolveBooleanRequest",[{no:1,name:"flag_key",kind:"scalar",T:9/*ScalarType.STRING*/},{no:2,name:"context",kind:"message",T:()=>Struct}]);}create(a){const b={flagKey:""};return globalThis.Object.defineProperty(b,MESSAGE_TYPE,{enumerable:!1,value:this}),void 0!==a&&reflectionMergePartial(this,b,a),b}internalBinaryRead(a,b,c,d){let e=null!==d&&void 0!==d?d:this.create(),f=a.pos+b;for(;a.pos<f;){let[b,f]=a.tag();switch(b){case/* string flag_key */1:e.flagKey=a.string();break;case/* google.protobuf.Struct context */2:e.context=Struct.internalBinaryRead(a,a.uint32(),c,e.context);break;default:let g=c.readUnknownField;if("throw"===g)throw new globalThis.Error(`Unknown field ${b} (wire type ${f}) for ${this.typeName}`);let h=a.skip(f);!1!==g&&(!0===g?UnknownFieldHandler.onRead:g)(this.typeName,e,b,f,h);}}return e}internalBinaryWrite(a,b,c){""!==a.flagKey&&b.tag(1,WireType.LengthDelimited).string(a.flagKey),a.context&&Struct.internalBinaryWrite(a.context,b.tag(2,WireType.LengthDelimited).fork(),c).join();let d=c.writeUnknownFields;return !1!==d&&(!0==d?UnknownFieldHandler.onWrite:d)(this.typeName,a,b),b}}/**
4757
4758
  * @generated MessageType for protobuf message schema.v1.ResolveBooleanRequest
4758
4759
  */const ResolveBooleanRequest=new ResolveBooleanRequest$Type;// @generated message type with reflection information, may provide speed optimized methods
@@ -4782,9 +4783,12 @@ class ResolveObjectRequest$Type extends MessageType{constructor(){super("schema.
4782
4783
  */const ResolveObjectRequest=new ResolveObjectRequest$Type;// @generated message type with reflection information, may provide speed optimized methods
4783
4784
  class ResolveObjectResponse$Type extends MessageType{constructor(){super("schema.v1.ResolveObjectResponse",[{no:1,name:"value",kind:"message",T:()=>Struct},{no:2,name:"reason",kind:"scalar",T:9/*ScalarType.STRING*/},{no:3,name:"variant",kind:"scalar",T:9/*ScalarType.STRING*/}]);}create(a){const b={reason:"",variant:""};return globalThis.Object.defineProperty(b,MESSAGE_TYPE,{enumerable:!1,value:this}),void 0!==a&&reflectionMergePartial(this,b,a),b}internalBinaryRead(a,b,c,d){let e=null!==d&&void 0!==d?d:this.create(),f=a.pos+b;for(;a.pos<f;){let[b,f]=a.tag();switch(b){case/* google.protobuf.Struct value */1:e.value=Struct.internalBinaryRead(a,a.uint32(),c,e.value);break;case/* string reason */2:e.reason=a.string();break;case/* string variant */3:e.variant=a.string();break;default:let g=c.readUnknownField;if("throw"===g)throw new globalThis.Error(`Unknown field ${b} (wire type ${f}) for ${this.typeName}`);let h=a.skip(f);!1!==g&&(!0===g?UnknownFieldHandler.onRead:g)(this.typeName,e,b,f,h);}}return e}internalBinaryWrite(a,b,c){a.value&&Struct.internalBinaryWrite(a.value,b.tag(1,WireType.LengthDelimited).fork(),c).join(),""!==a.reason&&b.tag(2,WireType.LengthDelimited).string(a.reason),""!==a.variant&&b.tag(3,WireType.LengthDelimited).string(a.variant);let d=c.writeUnknownFields;return !1!==d&&(!0==d?UnknownFieldHandler.onWrite:d)(this.typeName,a,b),b}}/**
4784
4785
  * @generated MessageType for protobuf message schema.v1.ResolveObjectResponse
4785
- */const ResolveObjectResponse=new ResolveObjectResponse$Type;/**
4786
+ */const ResolveObjectResponse=new ResolveObjectResponse$Type;// @generated message type with reflection information, may provide speed optimized methods
4787
+ class EventStreamResponse$Type extends MessageType{constructor(){super("schema.v1.EventStreamResponse",[{no:1,name:"type",kind:"scalar",T:9/*ScalarType.STRING*/},{no:2,name:"data",kind:"message",T:()=>Struct}]);}create(a){const b={type:""};return globalThis.Object.defineProperty(b,MESSAGE_TYPE,{enumerable:!1,value:this}),void 0!==a&&reflectionMergePartial(this,b,a),b}internalBinaryRead(a,b,c,d){let e=null!==d&&void 0!==d?d:this.create(),f=a.pos+b;for(;a.pos<f;){let[b,f]=a.tag();switch(b){case/* string type */1:e.type=a.string();break;case/* google.protobuf.Struct data */2:e.data=Struct.internalBinaryRead(a,a.uint32(),c,e.data);break;default:let g=c.readUnknownField;if("throw"===g)throw new globalThis.Error(`Unknown field ${b} (wire type ${f}) for ${this.typeName}`);let h=a.skip(f);!1!==g&&(!0===g?UnknownFieldHandler.onRead:g)(this.typeName,e,b,f,h);}}return e}internalBinaryWrite(a,b,c){""!==a.type&&b.tag(1,WireType.LengthDelimited).string(a.type),a.data&&Struct.internalBinaryWrite(a.data,b.tag(2,WireType.LengthDelimited).fork(),c).join();let d=c.writeUnknownFields;return !1!==d&&(!0==d?UnknownFieldHandler.onWrite:d)(this.typeName,a,b),b}}/**
4788
+ * @generated MessageType for protobuf message schema.v1.EventStreamResponse
4789
+ */const EventStreamResponse=new EventStreamResponse$Type;/**
4786
4790
  * @generated ServiceType for protobuf service schema.v1.Service
4787
- */const Service=new ServiceType("schema.v1.Service",[{name:"ResolveBoolean",options:{"google.api.http":{post:"/flags/{flag_key}/resolve/boolean",body:"context"}},I:ResolveBooleanRequest,O:ResolveBooleanResponse},{name:"ResolveString",options:{"google.api.http":{post:"/flags/{flag_key}/resolve/string",body:"context"}},I:ResolveStringRequest,O:ResolveStringResponse},{name:"ResolveFloat",options:{"google.api.http":{post:"/flags/{flag_key}/resolve/float",body:"context"}},I:ResolveFloatRequest,O:ResolveFloatResponse},{name:"ResolveInt",options:{"google.api.http":{post:"/flags/{flag_key}/resolve/int",body:"context"}},I:ResolveIntRequest,O:ResolveIntResponse},{name:"ResolveObject",options:{"google.api.http":{post:"/flags/{flag_key}/resolve/object",body:"context"}},I:ResolveObjectRequest,O:ResolveObjectResponse}]);
4791
+ */const Service=new ServiceType("schema.v1.Service",[{name:"ResolveBoolean",options:{},I:ResolveBooleanRequest,O:ResolveBooleanResponse},{name:"ResolveString",options:{},I:ResolveStringRequest,O:ResolveStringResponse},{name:"ResolveFloat",options:{},I:ResolveFloatRequest,O:ResolveFloatResponse},{name:"ResolveInt",options:{},I:ResolveIntRequest,O:ResolveIntResponse},{name:"ResolveObject",options:{},I:ResolveObjectRequest,O:ResolveObjectResponse},{name:"EventStream",serverStreaming:!0,options:{},I:Empty,O:EventStreamResponse}]);
4788
4792
 
4789
4793
  /**
4790
4794
  * @generated from protobuf service schema.v1.Service
@@ -4798,7 +4802,9 @@ class ResolveObjectResponse$Type extends MessageType{constructor(){super("schema
4798
4802
  * @generated from protobuf rpc: ResolveInt(schema.v1.ResolveIntRequest) returns (schema.v1.ResolveIntResponse);
4799
4803
  */resolveInt(a,b){const c=this.methods[3],d=this._transport.mergeOptions(b);return stackIntercept("unary",this._transport,c,d,a)}/**
4800
4804
  * @generated from protobuf rpc: ResolveObject(schema.v1.ResolveObjectRequest) returns (schema.v1.ResolveObjectResponse);
4801
- */resolveObject(a,b){const c=this.methods[4],d=this._transport.mergeOptions(b);return stackIntercept("unary",this._transport,c,d,a)}}
4805
+ */resolveObject(a,b){const c=this.methods[4],d=this._transport.mergeOptions(b);return stackIntercept("unary",this._transport,c,d,a)}/**
4806
+ * @generated from protobuf rpc: EventStream(google.protobuf.Empty) returns (stream schema.v1.EventStreamResponse);
4807
+ */eventStream(a,b){const c=this.methods[5],d=this._transport.mergeOptions(b);return stackIntercept("serverStreaming",this._transport,c,d,a)}}
4802
4808
 
4803
4809
  const Codes={InvalidArgument:"INVALID_ARGUMENT",NotFound:"NOT_FOUND",DataLoss:"DATA_LOSS",Unavailable:"UNAVAILABLE"};class GRPCService{constructor(a,b){this.onFulfilled=a=>a,this.onRejected=a=>{// map the errors
4804
4810
  switch(null===a||void 0===a?void 0:a.code){case Codes.DataLoss:throw new jsSdk.ParseError(a.message);case Codes.InvalidArgument:throw new jsSdk.TypeMismatchError(a.message);case Codes.NotFound:throw new jsSdk.FlagNotFoundError(a.message);case Codes.Unavailable:throw new jsSdk.FlagNotFoundError(a.message);default:throw new jsSdk.GeneralError(a.message);}};const{host:c,port:d,tls:e,socketPath:f}=a;this.client=b?b:new ServiceClient(new grpcTransport.GrpcTransport({host:f?`unix://${f}`:`${c}:${d}`,channelCredentials:e?grpc__namespace.credentials.createSsl():grpc__namespace.credentials.createInsecure()}));}resolveBoolean(a,b,c){return __awaiter(this,void 0,void 0,function*(){const{response:d}=yield this.client.resolveBoolean({flagKey:a,context:this.convertContext(b,c)}).then(this.onFulfilled,this.onRejected);return {value:d.value,reason:d.reason,variant:d.variant}})}resolveString(a,b,c){return __awaiter(this,void 0,void 0,function*(){const{response:d}=yield this.client.resolveString({flagKey:a,context:this.convertContext(b,c)}).then(this.onFulfilled,this.onRejected);return {value:d.value,reason:d.reason,variant:d.variant}})}resolveNumber(a,b,c){return __awaiter(this,void 0,void 0,function*(){const{response:d}=yield this.client.resolveFloat({flagKey:a,context:this.convertContext(b,c)}).then(this.onFulfilled,this.onRejected);return {value:d.value,reason:d.reason,variant:d.variant}})}resolveObject(a,b,c){return __awaiter(this,void 0,void 0,function*(){const{response:d}=yield this.client.resolveObject({flagKey:a,context:this.convertContext(b,c)}).then(this.onFulfilled,this.onRejected);if(d.value!==void 0)return {value:Struct.toJson(d.value),reason:d.reason,variant:d.variant};throw new jsSdk.ParseError("Object value undefined or missing.")})}convertContext(a,b){try{// stringify to remove invalid js props
package/index.js CHANGED
@@ -4659,6 +4659,10 @@ if (NOT_GENERIC || INCORRECT_NAME) {
4659
4659
  }, { unsafe: true });
4660
4660
  }
4661
4661
 
4662
+ class Empty$Type extends MessageType{constructor(){super("google.protobuf.Empty",[]);}create(a){const b={};return globalThis.Object.defineProperty(b,MESSAGE_TYPE,{enumerable:!1,value:this}),void 0!==a&&reflectionMergePartial(this,b,a),b}internalBinaryRead(a,b,c,d){return null!==d&&void 0!==d?d:this.create()}internalBinaryWrite(a,b,c){let d=c.writeUnknownFields;return !1!==d&&(!0==d?UnknownFieldHandler.onWrite:d)(this.typeName,a,b),b}}/**
4663
+ * @generated MessageType for protobuf message google.protobuf.Empty
4664
+ */const Empty=new Empty$Type;
4665
+
4662
4666
  /**
4663
4667
  * Turns PartialMethodInfo into MethodInfo.
4664
4668
  */
@@ -4726,9 +4730,6 @@ function stackIntercept(kind, transport, method, options, input) {
4726
4730
  assertNever(kind);
4727
4731
  }
4728
4732
 
4729
- class ErrorResponse$Type extends MessageType{constructor(){super("schema.v1.ErrorResponse",[{no:1,name:"error_code",kind:"scalar",T:9/*ScalarType.STRING*/},{no:2,name:"reason",kind:"scalar",T:9/*ScalarType.STRING*/}]);}create(a){const b={errorCode:"",reason:""};return globalThis.Object.defineProperty(b,MESSAGE_TYPE,{enumerable:!1,value:this}),void 0!==a&&reflectionMergePartial(this,b,a),b}internalBinaryRead(a,b,c,d){let e=null!==d&&void 0!==d?d:this.create(),f=a.pos+b;for(;a.pos<f;){let[b,f]=a.tag();switch(b){case/* string error_code */1:e.errorCode=a.string();break;case/* string reason */2:e.reason=a.string();break;default:let g=c.readUnknownField;if("throw"===g)throw new globalThis.Error(`Unknown field ${b} (wire type ${f}) for ${this.typeName}`);let h=a.skip(f);!1!==g&&(!0===g?UnknownFieldHandler.onRead:g)(this.typeName,e,b,f,h);}}return e}internalBinaryWrite(a,b,c){""!==a.errorCode&&b.tag(1,WireType.LengthDelimited).string(a.errorCode),""!==a.reason&&b.tag(2,WireType.LengthDelimited).string(a.reason);let d=c.writeUnknownFields;return !1!==d&&(!0==d?UnknownFieldHandler.onWrite:d)(this.typeName,a,b),b}}/**
4730
- * @generated MessageType for protobuf message schema.v1.ErrorResponse
4731
- */new ErrorResponse$Type;// @generated message type with reflection information, may provide speed optimized methods
4732
4733
  class ResolveBooleanRequest$Type extends MessageType{constructor(){super("schema.v1.ResolveBooleanRequest",[{no:1,name:"flag_key",kind:"scalar",T:9/*ScalarType.STRING*/},{no:2,name:"context",kind:"message",T:()=>Struct}]);}create(a){const b={flagKey:""};return globalThis.Object.defineProperty(b,MESSAGE_TYPE,{enumerable:!1,value:this}),void 0!==a&&reflectionMergePartial(this,b,a),b}internalBinaryRead(a,b,c,d){let e=null!==d&&void 0!==d?d:this.create(),f=a.pos+b;for(;a.pos<f;){let[b,f]=a.tag();switch(b){case/* string flag_key */1:e.flagKey=a.string();break;case/* google.protobuf.Struct context */2:e.context=Struct.internalBinaryRead(a,a.uint32(),c,e.context);break;default:let g=c.readUnknownField;if("throw"===g)throw new globalThis.Error(`Unknown field ${b} (wire type ${f}) for ${this.typeName}`);let h=a.skip(f);!1!==g&&(!0===g?UnknownFieldHandler.onRead:g)(this.typeName,e,b,f,h);}}return e}internalBinaryWrite(a,b,c){""!==a.flagKey&&b.tag(1,WireType.LengthDelimited).string(a.flagKey),a.context&&Struct.internalBinaryWrite(a.context,b.tag(2,WireType.LengthDelimited).fork(),c).join();let d=c.writeUnknownFields;return !1!==d&&(!0==d?UnknownFieldHandler.onWrite:d)(this.typeName,a,b),b}}/**
4733
4734
  * @generated MessageType for protobuf message schema.v1.ResolveBooleanRequest
4734
4735
  */const ResolveBooleanRequest=new ResolveBooleanRequest$Type;// @generated message type with reflection information, may provide speed optimized methods
@@ -4758,9 +4759,12 @@ class ResolveObjectRequest$Type extends MessageType{constructor(){super("schema.
4758
4759
  */const ResolveObjectRequest=new ResolveObjectRequest$Type;// @generated message type with reflection information, may provide speed optimized methods
4759
4760
  class ResolveObjectResponse$Type extends MessageType{constructor(){super("schema.v1.ResolveObjectResponse",[{no:1,name:"value",kind:"message",T:()=>Struct},{no:2,name:"reason",kind:"scalar",T:9/*ScalarType.STRING*/},{no:3,name:"variant",kind:"scalar",T:9/*ScalarType.STRING*/}]);}create(a){const b={reason:"",variant:""};return globalThis.Object.defineProperty(b,MESSAGE_TYPE,{enumerable:!1,value:this}),void 0!==a&&reflectionMergePartial(this,b,a),b}internalBinaryRead(a,b,c,d){let e=null!==d&&void 0!==d?d:this.create(),f=a.pos+b;for(;a.pos<f;){let[b,f]=a.tag();switch(b){case/* google.protobuf.Struct value */1:e.value=Struct.internalBinaryRead(a,a.uint32(),c,e.value);break;case/* string reason */2:e.reason=a.string();break;case/* string variant */3:e.variant=a.string();break;default:let g=c.readUnknownField;if("throw"===g)throw new globalThis.Error(`Unknown field ${b} (wire type ${f}) for ${this.typeName}`);let h=a.skip(f);!1!==g&&(!0===g?UnknownFieldHandler.onRead:g)(this.typeName,e,b,f,h);}}return e}internalBinaryWrite(a,b,c){a.value&&Struct.internalBinaryWrite(a.value,b.tag(1,WireType.LengthDelimited).fork(),c).join(),""!==a.reason&&b.tag(2,WireType.LengthDelimited).string(a.reason),""!==a.variant&&b.tag(3,WireType.LengthDelimited).string(a.variant);let d=c.writeUnknownFields;return !1!==d&&(!0==d?UnknownFieldHandler.onWrite:d)(this.typeName,a,b),b}}/**
4760
4761
  * @generated MessageType for protobuf message schema.v1.ResolveObjectResponse
4761
- */const ResolveObjectResponse=new ResolveObjectResponse$Type;/**
4762
+ */const ResolveObjectResponse=new ResolveObjectResponse$Type;// @generated message type with reflection information, may provide speed optimized methods
4763
+ class EventStreamResponse$Type extends MessageType{constructor(){super("schema.v1.EventStreamResponse",[{no:1,name:"type",kind:"scalar",T:9/*ScalarType.STRING*/},{no:2,name:"data",kind:"message",T:()=>Struct}]);}create(a){const b={type:""};return globalThis.Object.defineProperty(b,MESSAGE_TYPE,{enumerable:!1,value:this}),void 0!==a&&reflectionMergePartial(this,b,a),b}internalBinaryRead(a,b,c,d){let e=null!==d&&void 0!==d?d:this.create(),f=a.pos+b;for(;a.pos<f;){let[b,f]=a.tag();switch(b){case/* string type */1:e.type=a.string();break;case/* google.protobuf.Struct data */2:e.data=Struct.internalBinaryRead(a,a.uint32(),c,e.data);break;default:let g=c.readUnknownField;if("throw"===g)throw new globalThis.Error(`Unknown field ${b} (wire type ${f}) for ${this.typeName}`);let h=a.skip(f);!1!==g&&(!0===g?UnknownFieldHandler.onRead:g)(this.typeName,e,b,f,h);}}return e}internalBinaryWrite(a,b,c){""!==a.type&&b.tag(1,WireType.LengthDelimited).string(a.type),a.data&&Struct.internalBinaryWrite(a.data,b.tag(2,WireType.LengthDelimited).fork(),c).join();let d=c.writeUnknownFields;return !1!==d&&(!0==d?UnknownFieldHandler.onWrite:d)(this.typeName,a,b),b}}/**
4764
+ * @generated MessageType for protobuf message schema.v1.EventStreamResponse
4765
+ */const EventStreamResponse=new EventStreamResponse$Type;/**
4762
4766
  * @generated ServiceType for protobuf service schema.v1.Service
4763
- */const Service=new ServiceType("schema.v1.Service",[{name:"ResolveBoolean",options:{"google.api.http":{post:"/flags/{flag_key}/resolve/boolean",body:"context"}},I:ResolveBooleanRequest,O:ResolveBooleanResponse},{name:"ResolveString",options:{"google.api.http":{post:"/flags/{flag_key}/resolve/string",body:"context"}},I:ResolveStringRequest,O:ResolveStringResponse},{name:"ResolveFloat",options:{"google.api.http":{post:"/flags/{flag_key}/resolve/float",body:"context"}},I:ResolveFloatRequest,O:ResolveFloatResponse},{name:"ResolveInt",options:{"google.api.http":{post:"/flags/{flag_key}/resolve/int",body:"context"}},I:ResolveIntRequest,O:ResolveIntResponse},{name:"ResolveObject",options:{"google.api.http":{post:"/flags/{flag_key}/resolve/object",body:"context"}},I:ResolveObjectRequest,O:ResolveObjectResponse}]);
4767
+ */const Service=new ServiceType("schema.v1.Service",[{name:"ResolveBoolean",options:{},I:ResolveBooleanRequest,O:ResolveBooleanResponse},{name:"ResolveString",options:{},I:ResolveStringRequest,O:ResolveStringResponse},{name:"ResolveFloat",options:{},I:ResolveFloatRequest,O:ResolveFloatResponse},{name:"ResolveInt",options:{},I:ResolveIntRequest,O:ResolveIntResponse},{name:"ResolveObject",options:{},I:ResolveObjectRequest,O:ResolveObjectResponse},{name:"EventStream",serverStreaming:!0,options:{},I:Empty,O:EventStreamResponse}]);
4764
4768
 
4765
4769
  /**
4766
4770
  * @generated from protobuf service schema.v1.Service
@@ -4774,7 +4778,9 @@ class ResolveObjectResponse$Type extends MessageType{constructor(){super("schema
4774
4778
  * @generated from protobuf rpc: ResolveInt(schema.v1.ResolveIntRequest) returns (schema.v1.ResolveIntResponse);
4775
4779
  */resolveInt(a,b){const c=this.methods[3],d=this._transport.mergeOptions(b);return stackIntercept("unary",this._transport,c,d,a)}/**
4776
4780
  * @generated from protobuf rpc: ResolveObject(schema.v1.ResolveObjectRequest) returns (schema.v1.ResolveObjectResponse);
4777
- */resolveObject(a,b){const c=this.methods[4],d=this._transport.mergeOptions(b);return stackIntercept("unary",this._transport,c,d,a)}}
4781
+ */resolveObject(a,b){const c=this.methods[4],d=this._transport.mergeOptions(b);return stackIntercept("unary",this._transport,c,d,a)}/**
4782
+ * @generated from protobuf rpc: EventStream(google.protobuf.Empty) returns (stream schema.v1.EventStreamResponse);
4783
+ */eventStream(a,b){const c=this.methods[5],d=this._transport.mergeOptions(b);return stackIntercept("serverStreaming",this._transport,c,d,a)}}
4778
4784
 
4779
4785
  const Codes={InvalidArgument:"INVALID_ARGUMENT",NotFound:"NOT_FOUND",DataLoss:"DATA_LOSS",Unavailable:"UNAVAILABLE"};class GRPCService{constructor(a,b){this.onFulfilled=a=>a,this.onRejected=a=>{// map the errors
4780
4786
  switch(null===a||void 0===a?void 0:a.code){case Codes.DataLoss:throw new ParseError(a.message);case Codes.InvalidArgument:throw new TypeMismatchError(a.message);case Codes.NotFound:throw new FlagNotFoundError(a.message);case Codes.Unavailable:throw new FlagNotFoundError(a.message);default:throw new GeneralError(a.message);}};const{host:c,port:d,tls:e,socketPath:f}=a;this.client=b?b:new ServiceClient(new GrpcTransport({host:f?`unix://${f}`:`${c}:${d}`,channelCredentials:e?grpc.credentials.createSsl():grpc.credentials.createInsecure()}));}resolveBoolean(a,b,c){return __awaiter(this,void 0,void 0,function*(){const{response:d}=yield this.client.resolveBoolean({flagKey:a,context:this.convertContext(b,c)}).then(this.onFulfilled,this.onRejected);return {value:d.value,reason:d.reason,variant:d.variant}})}resolveString(a,b,c){return __awaiter(this,void 0,void 0,function*(){const{response:d}=yield this.client.resolveString({flagKey:a,context:this.convertContext(b,c)}).then(this.onFulfilled,this.onRejected);return {value:d.value,reason:d.reason,variant:d.variant}})}resolveNumber(a,b,c){return __awaiter(this,void 0,void 0,function*(){const{response:d}=yield this.client.resolveFloat({flagKey:a,context:this.convertContext(b,c)}).then(this.onFulfilled,this.onRejected);return {value:d.value,reason:d.reason,variant:d.variant}})}resolveObject(a,b,c){return __awaiter(this,void 0,void 0,function*(){const{response:d}=yield this.client.resolveObject({flagKey:a,context:this.convertContext(b,c)}).then(this.onFulfilled,this.onRejected);if(d.value!==void 0)return {value:Struct.toJson(d.value),reason:d.reason,variant:d.variant};throw new ParseError("Object value undefined or missing.")})}convertContext(a,b){try{// stringify to remove invalid js props
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@openfeature/flagd-provider",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "publish-if-not-exists": "cp $NPM_CONFIG_USERCONFIG .npmrc && if [ \"$(npm show $npm_package_name@$npm_package_version version)\" = \"$(npm run current-version -s)\" ]; then echo 'already published, skipping'; else npm publish --access public; fi",
7
7
  "current-version": "echo $npm_package_version"
8
8
  },
9
9
  "peerDependencies": {
10
- "@openfeature/js-sdk": "~0.5.0"
10
+ "@openfeature/js-sdk": "^1.0.0"
11
11
  },
12
12
  "module": "./index.js",
13
13
  "main": "./index.cjs",
@@ -20,7 +20,7 @@
20
20
  }
21
21
  },
22
22
  "dependencies": {
23
- "@protobuf-ts/grpc-transport": "^2.7.0",
24
- "@grpc/grpc-js": "^1.6.7"
23
+ "@protobuf-ts/grpc-transport": "2.7.0",
24
+ "@grpc/grpc-js": "1.6.8"
25
25
  }
26
26
  }
@@ -0,0 +1,32 @@
1
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
2
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
3
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
4
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
5
+ import type { PartialMessage } from "@protobuf-ts/runtime";
6
+ import { MessageType } from "@protobuf-ts/runtime";
7
+ /**
8
+ * A generic empty message that you can re-use to avoid defining duplicated
9
+ * empty messages in your APIs. A typical example is to use it as the request
10
+ * or the response type of an API method. For instance:
11
+ *
12
+ * service Foo {
13
+ * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
14
+ * }
15
+ *
16
+ * The JSON representation for `Empty` is empty JSON object `{}`.
17
+ *
18
+ * @generated from protobuf message google.protobuf.Empty
19
+ */
20
+ export interface Empty {
21
+ }
22
+ declare class Empty$Type extends MessageType<Empty> {
23
+ constructor();
24
+ create(value?: PartialMessage<Empty>): Empty;
25
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Empty): Empty;
26
+ internalBinaryWrite(message: Empty, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
27
+ }
28
+ /**
29
+ * @generated MessageType for protobuf message google.protobuf.Empty
30
+ */
31
+ export declare const Empty: Empty$Type;
32
+ export {};
@@ -1,5 +1,8 @@
1
1
  import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
2
2
  import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
3
+ import type { EventStreamResponse } from "./schema";
4
+ import type { Empty } from "../../google/protobuf/empty";
5
+ import type { ServerStreamingCall } from "@protobuf-ts/runtime-rpc";
3
6
  import type { ResolveObjectResponse } from "./schema";
4
7
  import type { ResolveObjectRequest } from "./schema";
5
8
  import type { ResolveIntResponse } from "./schema";
@@ -36,6 +39,10 @@ export interface IServiceClient {
36
39
  * @generated from protobuf rpc: ResolveObject(schema.v1.ResolveObjectRequest) returns (schema.v1.ResolveObjectResponse);
37
40
  */
38
41
  resolveObject(input: ResolveObjectRequest, options?: RpcOptions): UnaryCall<ResolveObjectRequest, ResolveObjectResponse>;
42
+ /**
43
+ * @generated from protobuf rpc: EventStream(google.protobuf.Empty) returns (stream schema.v1.EventStreamResponse);
44
+ */
45
+ eventStream(input: Empty, options?: RpcOptions): ServerStreamingCall<Empty, EventStreamResponse>;
39
46
  }
40
47
  /**
41
48
  * @generated from protobuf service schema.v1.Service
@@ -68,4 +75,8 @@ export declare class ServiceClient implements IServiceClient, ServiceInfo {
68
75
  * @generated from protobuf rpc: ResolveObject(schema.v1.ResolveObjectRequest) returns (schema.v1.ResolveObjectResponse);
69
76
  */
70
77
  resolveObject(input: ResolveObjectRequest, options?: RpcOptions): UnaryCall<ResolveObjectRequest, ResolveObjectResponse>;
78
+ /**
79
+ * @generated from protobuf rpc: EventStream(google.protobuf.Empty) returns (stream schema.v1.EventStreamResponse);
80
+ */
81
+ eventStream(input: Empty, options?: RpcOptions): ServerStreamingCall<Empty, EventStreamResponse>;
71
82
  }
@@ -6,19 +6,6 @@ import type { IBinaryReader } from "@protobuf-ts/runtime";
6
6
  import type { PartialMessage } from "@protobuf-ts/runtime";
7
7
  import { MessageType } from "@protobuf-ts/runtime";
8
8
  import { Struct } from "../../google/protobuf/struct";
9
- /**
10
- * @generated from protobuf message schema.v1.ErrorResponse
11
- */
12
- export interface ErrorResponse {
13
- /**
14
- * @generated from protobuf field: string error_code = 1;
15
- */
16
- errorCode: string;
17
- /**
18
- * @generated from protobuf field: string reason = 2;
19
- */
20
- reason: string;
21
- }
22
9
  /**
23
10
  * @generated from protobuf message schema.v1.ResolveBooleanRequest
24
11
  */
@@ -169,16 +156,19 @@ export interface ResolveObjectResponse {
169
156
  */
170
157
  variant: string;
171
158
  }
172
- declare class ErrorResponse$Type extends MessageType<ErrorResponse> {
173
- constructor();
174
- create(value?: PartialMessage<ErrorResponse>): ErrorResponse;
175
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ErrorResponse): ErrorResponse;
176
- internalBinaryWrite(message: ErrorResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
177
- }
178
159
  /**
179
- * @generated MessageType for protobuf message schema.v1.ErrorResponse
160
+ * @generated from protobuf message schema.v1.EventStreamResponse
180
161
  */
181
- export declare const ErrorResponse: ErrorResponse$Type;
162
+ export interface EventStreamResponse {
163
+ /**
164
+ * @generated from protobuf field: string type = 1;
165
+ */
166
+ type: string;
167
+ /**
168
+ * @generated from protobuf field: google.protobuf.Struct data = 2;
169
+ */
170
+ data?: Struct;
171
+ }
182
172
  declare class ResolveBooleanRequest$Type extends MessageType<ResolveBooleanRequest> {
183
173
  constructor();
184
174
  create(value?: PartialMessage<ResolveBooleanRequest>): ResolveBooleanRequest;
@@ -279,6 +269,16 @@ declare class ResolveObjectResponse$Type extends MessageType<ResolveObjectRespon
279
269
  * @generated MessageType for protobuf message schema.v1.ResolveObjectResponse
280
270
  */
281
271
  export declare const ResolveObjectResponse: ResolveObjectResponse$Type;
272
+ declare class EventStreamResponse$Type extends MessageType<EventStreamResponse> {
273
+ constructor();
274
+ create(value?: PartialMessage<EventStreamResponse>): EventStreamResponse;
275
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EventStreamResponse): EventStreamResponse;
276
+ internalBinaryWrite(message: EventStreamResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
277
+ }
278
+ /**
279
+ * @generated MessageType for protobuf message schema.v1.EventStreamResponse
280
+ */
281
+ export declare const EventStreamResponse: EventStreamResponse$Type;
282
282
  /**
283
283
  * @generated ServiceType for protobuf service schema.v1.Service
284
284
  */