@kenji71089/evaluation 0.0.1

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.
Files changed (209) hide show
  1. package/.release-please-manifest.json +3 -0
  2. package/README.md +9 -0
  3. package/eslint.config.mjs +27 -0
  4. package/lib/clauseEvaluator.d.ts +22 -0
  5. package/lib/clauseEvaluator.js +299 -0
  6. package/lib/clauseEvaluator.mjs +214 -0
  7. package/lib/dependencyEvaluator.d.ts +6 -0
  8. package/lib/dependencyEvaluator.js +46 -0
  9. package/lib/dependencyEvaluator.mjs +19 -0
  10. package/lib/errors.d.ts +9 -0
  11. package/lib/errors.js +15 -0
  12. package/lib/errors.mjs +12 -0
  13. package/lib/evaluation.d.ts +25 -0
  14. package/lib/evaluation.js +503 -0
  15. package/lib/evaluation.mjs +328 -0
  16. package/lib/google/api/annotations_pb.d.ts +8 -0
  17. package/lib/google/api/annotations_pb.js +40 -0
  18. package/lib/google/api/annotations_pb.mjs +54 -0
  19. package/lib/google/api/annotations_pb_service.d.ts +3 -0
  20. package/lib/google/api/annotations_pb_service.js +3 -0
  21. package/lib/google/api/annotations_pb_service.mjs +3 -0
  22. package/lib/google/api/http_pb.d.ts +132 -0
  23. package/lib/google/api/http_pb.js +860 -0
  24. package/lib/google/api/http_pb.mjs +982 -0
  25. package/lib/google/api/http_pb_service.d.ts +3 -0
  26. package/lib/google/api/http_pb_service.js +3 -0
  27. package/lib/google/api/http_pb_service.mjs +3 -0
  28. package/lib/google/rpc/code_pb.d.ts +26 -0
  29. package/lib/google/rpc/code_pb.js +44 -0
  30. package/lib/google/rpc/code_pb.mjs +48 -0
  31. package/lib/google/rpc/code_pb_service.d.ts +3 -0
  32. package/lib/google/rpc/code_pb_service.js +3 -0
  33. package/lib/google/rpc/code_pb_service.mjs +3 -0
  34. package/lib/google/rpc/error_details_pb.d.ts +322 -0
  35. package/lib/google/rpc/error_details_pb.js +2220 -0
  36. package/lib/google/rpc/error_details_pb.mjs +2499 -0
  37. package/lib/google/rpc/error_details_pb_service.d.ts +3 -0
  38. package/lib/google/rpc/error_details_pb_service.js +3 -0
  39. package/lib/google/rpc/error_details_pb_service.mjs +3 -0
  40. package/lib/google/rpc/status_pb.d.ts +36 -0
  41. package/lib/google/rpc/status_pb.js +235 -0
  42. package/lib/google/rpc/status_pb.mjs +268 -0
  43. package/lib/google/rpc/status_pb_service.d.ts +3 -0
  44. package/lib/google/rpc/status_pb_service.js +3 -0
  45. package/lib/google/rpc/status_pb_service.mjs +3 -0
  46. package/lib/index.d.ts +20 -0
  47. package/lib/index.js +199 -0
  48. package/lib/index.mjs +46 -0
  49. package/lib/modelFactory.d.ts +64 -0
  50. package/lib/modelFactory.js +206 -0
  51. package/lib/modelFactory.mjs +176 -0
  52. package/lib/proto/event/client/event_pb.d.ts +761 -0
  53. package/lib/proto/event/client/event_pb.js +5195 -0
  54. package/lib/proto/event/client/event_pb.mjs +5865 -0
  55. package/lib/proto/event/client/event_pb_service.d.ts +3 -0
  56. package/lib/proto/event/client/event_pb_service.js +3 -0
  57. package/lib/proto/event/client/event_pb_service.mjs +3 -0
  58. package/lib/proto/event/domain/event_pb.d.ts +4518 -0
  59. package/lib/proto/event/domain/event_pb.js +10834 -0
  60. package/lib/proto/event/domain/event_pb.mjs +33315 -0
  61. package/lib/proto/event/domain/event_pb_service.d.ts +3 -0
  62. package/lib/proto/event/domain/event_pb_service.js +3 -0
  63. package/lib/proto/event/domain/event_pb_service.mjs +3 -0
  64. package/lib/proto/event/domain/localized_message_pb.d.ts +29 -0
  65. package/lib/proto/event/domain/localized_message_pb.js +183 -0
  66. package/lib/proto/event/domain/localized_message_pb.mjs +206 -0
  67. package/lib/proto/event/domain/localized_message_pb_service.d.ts +3 -0
  68. package/lib/proto/event/domain/localized_message_pb_service.js +3 -0
  69. package/lib/proto/event/domain/localized_message_pb_service.mjs +3 -0
  70. package/lib/proto/event/service/feature_pb.d.ts +44 -0
  71. package/lib/proto/event/service/feature_pb.js +277 -0
  72. package/lib/proto/event/service/feature_pb.mjs +319 -0
  73. package/lib/proto/event/service/feature_pb_service.d.ts +3 -0
  74. package/lib/proto/event/service/feature_pb_service.js +3 -0
  75. package/lib/proto/event/service/feature_pb_service.mjs +3 -0
  76. package/lib/proto/event/service/segment_pb.d.ts +51 -0
  77. package/lib/proto/event/service/segment_pb.js +324 -0
  78. package/lib/proto/event/service/segment_pb.mjs +375 -0
  79. package/lib/proto/event/service/segment_pb_service.d.ts +3 -0
  80. package/lib/proto/event/service/segment_pb_service.js +3 -0
  81. package/lib/proto/event/service/segment_pb_service.mjs +3 -0
  82. package/lib/proto/event/service/user_pb.d.ts +49 -0
  83. package/lib/proto/event/service/user_pb.js +315 -0
  84. package/lib/proto/event/service/user_pb.mjs +362 -0
  85. package/lib/proto/event/service/user_pb_service.d.ts +3 -0
  86. package/lib/proto/event/service/user_pb_service.js +3 -0
  87. package/lib/proto/event/service/user_pb_service.mjs +3 -0
  88. package/lib/proto/feature/clause_pb.d.ts +57 -0
  89. package/lib/proto/feature/clause_pb.js +277 -0
  90. package/lib/proto/feature/clause_pb.mjs +312 -0
  91. package/lib/proto/feature/clause_pb_service.d.ts +3 -0
  92. package/lib/proto/feature/clause_pb_service.js +3 -0
  93. package/lib/proto/feature/clause_pb_service.mjs +3 -0
  94. package/lib/proto/feature/command_pb.d.ts +1213 -0
  95. package/lib/proto/feature/command_pb.js +8260 -0
  96. package/lib/proto/feature/command_pb.mjs +9275 -0
  97. package/lib/proto/feature/command_pb_service.d.ts +3 -0
  98. package/lib/proto/feature/command_pb_service.js +3 -0
  99. package/lib/proto/feature/command_pb_service.mjs +3 -0
  100. package/lib/proto/feature/evaluation_pb.d.ts +111 -0
  101. package/lib/proto/feature/evaluation_pb.js +685 -0
  102. package/lib/proto/feature/evaluation_pb.mjs +793 -0
  103. package/lib/proto/feature/evaluation_pb_service.d.ts +3 -0
  104. package/lib/proto/feature/evaluation_pb_service.js +3 -0
  105. package/lib/proto/feature/evaluation_pb_service.mjs +3 -0
  106. package/lib/proto/feature/feature_last_used_info_pb.d.ts +45 -0
  107. package/lib/proto/feature/feature_last_used_info_pb.js +283 -0
  108. package/lib/proto/feature/feature_last_used_info_pb.mjs +326 -0
  109. package/lib/proto/feature/feature_last_used_info_pb_service.d.ts +3 -0
  110. package/lib/proto/feature/feature_last_used_info_pb_service.js +3 -0
  111. package/lib/proto/feature/feature_last_used_info_pb_service.mjs +3 -0
  112. package/lib/proto/feature/feature_pb.d.ts +192 -0
  113. package/lib/proto/feature/feature_pb.js +1210 -0
  114. package/lib/proto/feature/feature_pb.mjs +1413 -0
  115. package/lib/proto/feature/feature_pb_service.d.ts +3 -0
  116. package/lib/proto/feature/feature_pb_service.js +3 -0
  117. package/lib/proto/feature/feature_pb_service.mjs +3 -0
  118. package/lib/proto/feature/flag_trigger_pb.d.ts +84 -0
  119. package/lib/proto/feature/flag_trigger_pb.js +452 -0
  120. package/lib/proto/feature/flag_trigger_pb.mjs +525 -0
  121. package/lib/proto/feature/flag_trigger_pb_service.d.ts +3 -0
  122. package/lib/proto/feature/flag_trigger_pb_service.js +3 -0
  123. package/lib/proto/feature/flag_trigger_pb_service.mjs +3 -0
  124. package/lib/proto/feature/prerequisite_pb.d.ts +29 -0
  125. package/lib/proto/feature/prerequisite_pb.js +183 -0
  126. package/lib/proto/feature/prerequisite_pb.mjs +206 -0
  127. package/lib/proto/feature/prerequisite_pb_service.d.ts +3 -0
  128. package/lib/proto/feature/prerequisite_pb_service.js +3 -0
  129. package/lib/proto/feature/prerequisite_pb_service.mjs +3 -0
  130. package/lib/proto/feature/reason_pb.d.ts +40 -0
  131. package/lib/proto/feature/reason_pb.js +196 -0
  132. package/lib/proto/feature/reason_pb.mjs +219 -0
  133. package/lib/proto/feature/reason_pb_service.d.ts +3 -0
  134. package/lib/proto/feature/reason_pb_service.js +3 -0
  135. package/lib/proto/feature/reason_pb_service.mjs +3 -0
  136. package/lib/proto/feature/rule_pb.d.ts +39 -0
  137. package/lib/proto/feature/rule_pb.js +254 -0
  138. package/lib/proto/feature/rule_pb.mjs +291 -0
  139. package/lib/proto/feature/rule_pb_service.d.ts +3 -0
  140. package/lib/proto/feature/rule_pb_service.js +3 -0
  141. package/lib/proto/feature/rule_pb_service.mjs +3 -0
  142. package/lib/proto/feature/segment_pb.d.ts +161 -0
  143. package/lib/proto/feature/segment_pb.js +974 -0
  144. package/lib/proto/feature/segment_pb.mjs +1127 -0
  145. package/lib/proto/feature/segment_pb_service.d.ts +3 -0
  146. package/lib/proto/feature/segment_pb_service.js +3 -0
  147. package/lib/proto/feature/segment_pb_service.mjs +3 -0
  148. package/lib/proto/feature/service_pb.d.ts +2158 -0
  149. package/lib/proto/feature/service_pb.js +5363 -0
  150. package/lib/proto/feature/service_pb.mjs +16348 -0
  151. package/lib/proto/feature/service_pb_service.d.ts +747 -0
  152. package/lib/proto/feature/service_pb_service.js +1424 -0
  153. package/lib/proto/feature/service_pb_service.mjs +1501 -0
  154. package/lib/proto/feature/strategy_pb.d.ts +110 -0
  155. package/lib/proto/feature/strategy_pb.js +712 -0
  156. package/lib/proto/feature/strategy_pb.mjs +803 -0
  157. package/lib/proto/feature/strategy_pb_service.d.ts +3 -0
  158. package/lib/proto/feature/strategy_pb_service.js +3 -0
  159. package/lib/proto/feature/strategy_pb_service.mjs +3 -0
  160. package/lib/proto/feature/target_pb.d.ts +31 -0
  161. package/lib/proto/feature/target_pb.js +207 -0
  162. package/lib/proto/feature/target_pb.mjs +232 -0
  163. package/lib/proto/feature/target_pb_service.d.ts +3 -0
  164. package/lib/proto/feature/target_pb_service.js +3 -0
  165. package/lib/proto/feature/target_pb_service.mjs +3 -0
  166. package/lib/proto/feature/variation_pb.d.ts +37 -0
  167. package/lib/proto/feature/variation_pb.js +233 -0
  168. package/lib/proto/feature/variation_pb.mjs +266 -0
  169. package/lib/proto/feature/variation_pb_service.d.ts +3 -0
  170. package/lib/proto/feature/variation_pb_service.js +3 -0
  171. package/lib/proto/feature/variation_pb_service.mjs +3 -0
  172. package/lib/proto/gateway/service_pb.d.ts +772 -0
  173. package/lib/proto/gateway/service_pb.js +5249 -0
  174. package/lib/proto/gateway/service_pb.mjs +6001 -0
  175. package/lib/proto/gateway/service_pb_service.d.ts +253 -0
  176. package/lib/proto/gateway/service_pb_service.js +436 -0
  177. package/lib/proto/gateway/service_pb_service.mjs +461 -0
  178. package/lib/proto/user/user_pb.d.ts +58 -0
  179. package/lib/proto/user/user_pb.js +410 -0
  180. package/lib/proto/user/user_pb.mjs +460 -0
  181. package/lib/proto/user/user_pb_service.d.ts +3 -0
  182. package/lib/proto/user/user_pb_service.js +3 -0
  183. package/lib/proto/user/user_pb_service.mjs +3 -0
  184. package/lib/protoc-gen-openapiv2/options/annotations_pb.d.ts +16 -0
  185. package/lib/protoc-gen-openapiv2/options/annotations_pb.js +100 -0
  186. package/lib/protoc-gen-openapiv2/options/annotations_pb.mjs +158 -0
  187. package/lib/protoc-gen-openapiv2/options/annotations_pb_service.d.ts +3 -0
  188. package/lib/protoc-gen-openapiv2/options/annotations_pb_service.js +3 -0
  189. package/lib/protoc-gen-openapiv2/options/annotations_pb_service.mjs +3 -0
  190. package/lib/protoc-gen-openapiv2/options/openapiv2_pb.d.ts +834 -0
  191. package/lib/protoc-gen-openapiv2/options/openapiv2_pb.js +5456 -0
  192. package/lib/protoc-gen-openapiv2/options/openapiv2_pb.mjs +6256 -0
  193. package/lib/protoc-gen-openapiv2/options/openapiv2_pb_service.d.ts +3 -0
  194. package/lib/protoc-gen-openapiv2/options/openapiv2_pb_service.js +3 -0
  195. package/lib/protoc-gen-openapiv2/options/openapiv2_pb_service.mjs +3 -0
  196. package/lib/ruleEvaluator.d.ts +13 -0
  197. package/lib/ruleEvaluator.js +80 -0
  198. package/lib/ruleEvaluator.mjs +41 -0
  199. package/lib/segmentEvaluator.d.ts +7 -0
  200. package/lib/segmentEvaluator.js +74 -0
  201. package/lib/segmentEvaluator.mjs +34 -0
  202. package/lib/strategyEvaluator.d.ts +10 -0
  203. package/lib/strategyEvaluator.js +135 -0
  204. package/lib/strategyEvaluator.mjs +83 -0
  205. package/lib/userEvaluation.d.ts +8 -0
  206. package/lib/userEvaluation.js +70 -0
  207. package/lib/userEvaluation.mjs +60 -0
  208. package/package.json +46 -0
  209. package/release-please-config.json +22 -0
@@ -0,0 +1,712 @@
1
+ "use strict";
2
+
3
+ // source: proto/feature/strategy.proto
4
+ /**
5
+ * @fileoverview
6
+ * @enhanceable
7
+ * @suppress {missingRequire} reports error on implicit type usages.
8
+ * @suppress {messageConventions} JS Compiler reports an error if a variable or
9
+ * field starts with 'MSG_' and isn't a translatable message.
10
+ * @public
11
+ */
12
+ // GENERATED CODE -- DO NOT EDIT!
13
+
14
+ // @ts-nocheck
15
+
16
+ var jspb = require('google-protobuf');
17
+ var goog = jspb;
18
+ var global = typeof globalThis !== 'undefined' && globalThis || typeof window !== 'undefined' && window || typeof global !== 'undefined' && global || typeof self !== 'undefined' && self || function () {
19
+ return this;
20
+ }.call(null) || Function('return this')();
21
+ goog.exportSymbol('proto.bucketeer.feature.FixedStrategy', null, global);
22
+ goog.exportSymbol('proto.bucketeer.feature.RolloutStrategy', null, global);
23
+ goog.exportSymbol('proto.bucketeer.feature.RolloutStrategy.Variation', null, global);
24
+ goog.exportSymbol('proto.bucketeer.feature.Strategy', null, global);
25
+ goog.exportSymbol('proto.bucketeer.feature.Strategy.Type', null, global);
26
+ /**
27
+ * Generated by JsPbCodeGenerator.
28
+ * @param {Array=} opt_data Optional initial data array, typically from a
29
+ * server response, or constructed directly in Javascript. The array is used
30
+ * in place and becomes part of the constructed object. It is not cloned.
31
+ * If no data is provided, the constructed object will be empty, but still
32
+ * valid.
33
+ * @extends {jspb.Message}
34
+ * @constructor
35
+ */
36
+ proto.bucketeer.feature.FixedStrategy = function (opt_data) {
37
+ jspb.Message.initialize(this, opt_data, 0, -1, null, null);
38
+ };
39
+ goog.inherits(proto.bucketeer.feature.FixedStrategy, jspb.Message);
40
+ if (goog.DEBUG && !COMPILED) {
41
+ /**
42
+ * @public
43
+ * @override
44
+ */
45
+ proto.bucketeer.feature.FixedStrategy.displayName = 'proto.bucketeer.feature.FixedStrategy';
46
+ }
47
+ /**
48
+ * Generated by JsPbCodeGenerator.
49
+ * @param {Array=} opt_data Optional initial data array, typically from a
50
+ * server response, or constructed directly in Javascript. The array is used
51
+ * in place and becomes part of the constructed object. It is not cloned.
52
+ * If no data is provided, the constructed object will be empty, but still
53
+ * valid.
54
+ * @extends {jspb.Message}
55
+ * @constructor
56
+ */
57
+ proto.bucketeer.feature.RolloutStrategy = function (opt_data) {
58
+ jspb.Message.initialize(this, opt_data, 0, -1, proto.bucketeer.feature.RolloutStrategy.repeatedFields_, null);
59
+ };
60
+ goog.inherits(proto.bucketeer.feature.RolloutStrategy, jspb.Message);
61
+ if (goog.DEBUG && !COMPILED) {
62
+ /**
63
+ * @public
64
+ * @override
65
+ */
66
+ proto.bucketeer.feature.RolloutStrategy.displayName = 'proto.bucketeer.feature.RolloutStrategy';
67
+ }
68
+ /**
69
+ * Generated by JsPbCodeGenerator.
70
+ * @param {Array=} opt_data Optional initial data array, typically from a
71
+ * server response, or constructed directly in Javascript. The array is used
72
+ * in place and becomes part of the constructed object. It is not cloned.
73
+ * If no data is provided, the constructed object will be empty, but still
74
+ * valid.
75
+ * @extends {jspb.Message}
76
+ * @constructor
77
+ */
78
+ proto.bucketeer.feature.RolloutStrategy.Variation = function (opt_data) {
79
+ jspb.Message.initialize(this, opt_data, 0, -1, null, null);
80
+ };
81
+ goog.inherits(proto.bucketeer.feature.RolloutStrategy.Variation, jspb.Message);
82
+ if (goog.DEBUG && !COMPILED) {
83
+ /**
84
+ * @public
85
+ * @override
86
+ */
87
+ proto.bucketeer.feature.RolloutStrategy.Variation.displayName = 'proto.bucketeer.feature.RolloutStrategy.Variation';
88
+ }
89
+ /**
90
+ * Generated by JsPbCodeGenerator.
91
+ * @param {Array=} opt_data Optional initial data array, typically from a
92
+ * server response, or constructed directly in Javascript. The array is used
93
+ * in place and becomes part of the constructed object. It is not cloned.
94
+ * If no data is provided, the constructed object will be empty, but still
95
+ * valid.
96
+ * @extends {jspb.Message}
97
+ * @constructor
98
+ */
99
+ proto.bucketeer.feature.Strategy = function (opt_data) {
100
+ jspb.Message.initialize(this, opt_data, 0, -1, null, null);
101
+ };
102
+ goog.inherits(proto.bucketeer.feature.Strategy, jspb.Message);
103
+ if (goog.DEBUG && !COMPILED) {
104
+ /**
105
+ * @public
106
+ * @override
107
+ */
108
+ proto.bucketeer.feature.Strategy.displayName = 'proto.bucketeer.feature.Strategy';
109
+ }
110
+ if (jspb.Message.GENERATE_TO_OBJECT) {
111
+ /**
112
+ * Creates an object representation of this proto.
113
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
114
+ * Optional fields that are not set will be set to undefined.
115
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
116
+ * For the list of reserved names please see:
117
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
118
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
119
+ * JSPB instance for transitional soy proto support:
120
+ * http://goto/soy-param-migration
121
+ * @return {!Object}
122
+ */
123
+ proto.bucketeer.feature.FixedStrategy.prototype.toObject = function (opt_includeInstance) {
124
+ return proto.bucketeer.feature.FixedStrategy.toObject(opt_includeInstance, this);
125
+ };
126
+
127
+ /**
128
+ * Static version of the {@see toObject} method.
129
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
130
+ * the JSPB instance for transitional soy proto support:
131
+ * http://goto/soy-param-migration
132
+ * @param {!proto.bucketeer.feature.FixedStrategy} msg The msg instance to transform.
133
+ * @return {!Object}
134
+ * @suppress {unusedLocalVariables} f is only used for nested messages
135
+ */
136
+ proto.bucketeer.feature.FixedStrategy.toObject = function (includeInstance, msg) {
137
+ var f,
138
+ obj = {
139
+ variation: jspb.Message.getFieldWithDefault(msg, 1, "")
140
+ };
141
+ if (includeInstance) {
142
+ obj.$jspbMessageInstance = msg;
143
+ }
144
+ return obj;
145
+ };
146
+ }
147
+
148
+ /**
149
+ * Deserializes binary data (in protobuf wire format).
150
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
151
+ * @return {!proto.bucketeer.feature.FixedStrategy}
152
+ */
153
+ proto.bucketeer.feature.FixedStrategy.deserializeBinary = function (bytes) {
154
+ var reader = new jspb.BinaryReader(bytes);
155
+ var msg = new proto.bucketeer.feature.FixedStrategy();
156
+ return proto.bucketeer.feature.FixedStrategy.deserializeBinaryFromReader(msg, reader);
157
+ };
158
+
159
+ /**
160
+ * Deserializes binary data (in protobuf wire format) from the
161
+ * given reader into the given message object.
162
+ * @param {!proto.bucketeer.feature.FixedStrategy} msg The message object to deserialize into.
163
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
164
+ * @return {!proto.bucketeer.feature.FixedStrategy}
165
+ */
166
+ proto.bucketeer.feature.FixedStrategy.deserializeBinaryFromReader = function (msg, reader) {
167
+ while (reader.nextField()) {
168
+ if (reader.isEndGroup()) {
169
+ break;
170
+ }
171
+ var field = reader.getFieldNumber();
172
+ switch (field) {
173
+ case 1:
174
+ var value = /** @type {string} */reader.readString();
175
+ msg.setVariation(value);
176
+ break;
177
+ default:
178
+ reader.skipField();
179
+ break;
180
+ }
181
+ }
182
+ return msg;
183
+ };
184
+
185
+ /**
186
+ * Serializes the message to binary data (in protobuf wire format).
187
+ * @return {!Uint8Array}
188
+ */
189
+ proto.bucketeer.feature.FixedStrategy.prototype.serializeBinary = function () {
190
+ var writer = new jspb.BinaryWriter();
191
+ proto.bucketeer.feature.FixedStrategy.serializeBinaryToWriter(this, writer);
192
+ return writer.getResultBuffer();
193
+ };
194
+
195
+ /**
196
+ * Serializes the given message to binary data (in protobuf wire
197
+ * format), writing to the given BinaryWriter.
198
+ * @param {!proto.bucketeer.feature.FixedStrategy} message
199
+ * @param {!jspb.BinaryWriter} writer
200
+ * @suppress {unusedLocalVariables} f is only used for nested messages
201
+ */
202
+ proto.bucketeer.feature.FixedStrategy.serializeBinaryToWriter = function (message, writer) {
203
+ var f = undefined;
204
+ f = message.getVariation();
205
+ if (f.length > 0) {
206
+ writer.writeString(1, f);
207
+ }
208
+ };
209
+
210
+ /**
211
+ * optional string variation = 1;
212
+ * @return {string}
213
+ */
214
+ proto.bucketeer.feature.FixedStrategy.prototype.getVariation = function () {
215
+ return /** @type {string} */jspb.Message.getFieldWithDefault(this, 1, "");
216
+ };
217
+
218
+ /**
219
+ * @param {string} value
220
+ * @return {!proto.bucketeer.feature.FixedStrategy} returns this
221
+ */
222
+ proto.bucketeer.feature.FixedStrategy.prototype.setVariation = function (value) {
223
+ return jspb.Message.setProto3StringField(this, 1, value);
224
+ };
225
+
226
+ /**
227
+ * List of repeated fields within this message type.
228
+ * @private {!Array<number>}
229
+ * @const
230
+ */
231
+ proto.bucketeer.feature.RolloutStrategy.repeatedFields_ = [1];
232
+ if (jspb.Message.GENERATE_TO_OBJECT) {
233
+ /**
234
+ * Creates an object representation of this proto.
235
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
236
+ * Optional fields that are not set will be set to undefined.
237
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
238
+ * For the list of reserved names please see:
239
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
240
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
241
+ * JSPB instance for transitional soy proto support:
242
+ * http://goto/soy-param-migration
243
+ * @return {!Object}
244
+ */
245
+ proto.bucketeer.feature.RolloutStrategy.prototype.toObject = function (opt_includeInstance) {
246
+ return proto.bucketeer.feature.RolloutStrategy.toObject(opt_includeInstance, this);
247
+ };
248
+
249
+ /**
250
+ * Static version of the {@see toObject} method.
251
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
252
+ * the JSPB instance for transitional soy proto support:
253
+ * http://goto/soy-param-migration
254
+ * @param {!proto.bucketeer.feature.RolloutStrategy} msg The msg instance to transform.
255
+ * @return {!Object}
256
+ * @suppress {unusedLocalVariables} f is only used for nested messages
257
+ */
258
+ proto.bucketeer.feature.RolloutStrategy.toObject = function (includeInstance, msg) {
259
+ var f,
260
+ obj = {
261
+ variationsList: jspb.Message.toObjectList(msg.getVariationsList(), proto.bucketeer.feature.RolloutStrategy.Variation.toObject, includeInstance)
262
+ };
263
+ if (includeInstance) {
264
+ obj.$jspbMessageInstance = msg;
265
+ }
266
+ return obj;
267
+ };
268
+ }
269
+
270
+ /**
271
+ * Deserializes binary data (in protobuf wire format).
272
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
273
+ * @return {!proto.bucketeer.feature.RolloutStrategy}
274
+ */
275
+ proto.bucketeer.feature.RolloutStrategy.deserializeBinary = function (bytes) {
276
+ var reader = new jspb.BinaryReader(bytes);
277
+ var msg = new proto.bucketeer.feature.RolloutStrategy();
278
+ return proto.bucketeer.feature.RolloutStrategy.deserializeBinaryFromReader(msg, reader);
279
+ };
280
+
281
+ /**
282
+ * Deserializes binary data (in protobuf wire format) from the
283
+ * given reader into the given message object.
284
+ * @param {!proto.bucketeer.feature.RolloutStrategy} msg The message object to deserialize into.
285
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
286
+ * @return {!proto.bucketeer.feature.RolloutStrategy}
287
+ */
288
+ proto.bucketeer.feature.RolloutStrategy.deserializeBinaryFromReader = function (msg, reader) {
289
+ while (reader.nextField()) {
290
+ if (reader.isEndGroup()) {
291
+ break;
292
+ }
293
+ var field = reader.getFieldNumber();
294
+ switch (field) {
295
+ case 1:
296
+ var value = new proto.bucketeer.feature.RolloutStrategy.Variation();
297
+ reader.readMessage(value, proto.bucketeer.feature.RolloutStrategy.Variation.deserializeBinaryFromReader);
298
+ msg.addVariations(value);
299
+ break;
300
+ default:
301
+ reader.skipField();
302
+ break;
303
+ }
304
+ }
305
+ return msg;
306
+ };
307
+
308
+ /**
309
+ * Serializes the message to binary data (in protobuf wire format).
310
+ * @return {!Uint8Array}
311
+ */
312
+ proto.bucketeer.feature.RolloutStrategy.prototype.serializeBinary = function () {
313
+ var writer = new jspb.BinaryWriter();
314
+ proto.bucketeer.feature.RolloutStrategy.serializeBinaryToWriter(this, writer);
315
+ return writer.getResultBuffer();
316
+ };
317
+
318
+ /**
319
+ * Serializes the given message to binary data (in protobuf wire
320
+ * format), writing to the given BinaryWriter.
321
+ * @param {!proto.bucketeer.feature.RolloutStrategy} message
322
+ * @param {!jspb.BinaryWriter} writer
323
+ * @suppress {unusedLocalVariables} f is only used for nested messages
324
+ */
325
+ proto.bucketeer.feature.RolloutStrategy.serializeBinaryToWriter = function (message, writer) {
326
+ var f = undefined;
327
+ f = message.getVariationsList();
328
+ if (f.length > 0) {
329
+ writer.writeRepeatedMessage(1, f, proto.bucketeer.feature.RolloutStrategy.Variation.serializeBinaryToWriter);
330
+ }
331
+ };
332
+ if (jspb.Message.GENERATE_TO_OBJECT) {
333
+ /**
334
+ * Creates an object representation of this proto.
335
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
336
+ * Optional fields that are not set will be set to undefined.
337
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
338
+ * For the list of reserved names please see:
339
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
340
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
341
+ * JSPB instance for transitional soy proto support:
342
+ * http://goto/soy-param-migration
343
+ * @return {!Object}
344
+ */
345
+ proto.bucketeer.feature.RolloutStrategy.Variation.prototype.toObject = function (opt_includeInstance) {
346
+ return proto.bucketeer.feature.RolloutStrategy.Variation.toObject(opt_includeInstance, this);
347
+ };
348
+
349
+ /**
350
+ * Static version of the {@see toObject} method.
351
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
352
+ * the JSPB instance for transitional soy proto support:
353
+ * http://goto/soy-param-migration
354
+ * @param {!proto.bucketeer.feature.RolloutStrategy.Variation} msg The msg instance to transform.
355
+ * @return {!Object}
356
+ * @suppress {unusedLocalVariables} f is only used for nested messages
357
+ */
358
+ proto.bucketeer.feature.RolloutStrategy.Variation.toObject = function (includeInstance, msg) {
359
+ var f,
360
+ obj = {
361
+ variation: jspb.Message.getFieldWithDefault(msg, 1, ""),
362
+ weight: jspb.Message.getFieldWithDefault(msg, 2, 0)
363
+ };
364
+ if (includeInstance) {
365
+ obj.$jspbMessageInstance = msg;
366
+ }
367
+ return obj;
368
+ };
369
+ }
370
+
371
+ /**
372
+ * Deserializes binary data (in protobuf wire format).
373
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
374
+ * @return {!proto.bucketeer.feature.RolloutStrategy.Variation}
375
+ */
376
+ proto.bucketeer.feature.RolloutStrategy.Variation.deserializeBinary = function (bytes) {
377
+ var reader = new jspb.BinaryReader(bytes);
378
+ var msg = new proto.bucketeer.feature.RolloutStrategy.Variation();
379
+ return proto.bucketeer.feature.RolloutStrategy.Variation.deserializeBinaryFromReader(msg, reader);
380
+ };
381
+
382
+ /**
383
+ * Deserializes binary data (in protobuf wire format) from the
384
+ * given reader into the given message object.
385
+ * @param {!proto.bucketeer.feature.RolloutStrategy.Variation} msg The message object to deserialize into.
386
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
387
+ * @return {!proto.bucketeer.feature.RolloutStrategy.Variation}
388
+ */
389
+ proto.bucketeer.feature.RolloutStrategy.Variation.deserializeBinaryFromReader = function (msg, reader) {
390
+ while (reader.nextField()) {
391
+ if (reader.isEndGroup()) {
392
+ break;
393
+ }
394
+ var field = reader.getFieldNumber();
395
+ switch (field) {
396
+ case 1:
397
+ var value = /** @type {string} */reader.readString();
398
+ msg.setVariation(value);
399
+ break;
400
+ case 2:
401
+ var value = /** @type {number} */reader.readInt32();
402
+ msg.setWeight(value);
403
+ break;
404
+ default:
405
+ reader.skipField();
406
+ break;
407
+ }
408
+ }
409
+ return msg;
410
+ };
411
+
412
+ /**
413
+ * Serializes the message to binary data (in protobuf wire format).
414
+ * @return {!Uint8Array}
415
+ */
416
+ proto.bucketeer.feature.RolloutStrategy.Variation.prototype.serializeBinary = function () {
417
+ var writer = new jspb.BinaryWriter();
418
+ proto.bucketeer.feature.RolloutStrategy.Variation.serializeBinaryToWriter(this, writer);
419
+ return writer.getResultBuffer();
420
+ };
421
+
422
+ /**
423
+ * Serializes the given message to binary data (in protobuf wire
424
+ * format), writing to the given BinaryWriter.
425
+ * @param {!proto.bucketeer.feature.RolloutStrategy.Variation} message
426
+ * @param {!jspb.BinaryWriter} writer
427
+ * @suppress {unusedLocalVariables} f is only used for nested messages
428
+ */
429
+ proto.bucketeer.feature.RolloutStrategy.Variation.serializeBinaryToWriter = function (message, writer) {
430
+ var f = undefined;
431
+ f = message.getVariation();
432
+ if (f.length > 0) {
433
+ writer.writeString(1, f);
434
+ }
435
+ f = message.getWeight();
436
+ if (f !== 0) {
437
+ writer.writeInt32(2, f);
438
+ }
439
+ };
440
+
441
+ /**
442
+ * optional string variation = 1;
443
+ * @return {string}
444
+ */
445
+ proto.bucketeer.feature.RolloutStrategy.Variation.prototype.getVariation = function () {
446
+ return /** @type {string} */jspb.Message.getFieldWithDefault(this, 1, "");
447
+ };
448
+
449
+ /**
450
+ * @param {string} value
451
+ * @return {!proto.bucketeer.feature.RolloutStrategy.Variation} returns this
452
+ */
453
+ proto.bucketeer.feature.RolloutStrategy.Variation.prototype.setVariation = function (value) {
454
+ return jspb.Message.setProto3StringField(this, 1, value);
455
+ };
456
+
457
+ /**
458
+ * optional int32 weight = 2;
459
+ * @return {number}
460
+ */
461
+ proto.bucketeer.feature.RolloutStrategy.Variation.prototype.getWeight = function () {
462
+ return /** @type {number} */jspb.Message.getFieldWithDefault(this, 2, 0);
463
+ };
464
+
465
+ /**
466
+ * @param {number} value
467
+ * @return {!proto.bucketeer.feature.RolloutStrategy.Variation} returns this
468
+ */
469
+ proto.bucketeer.feature.RolloutStrategy.Variation.prototype.setWeight = function (value) {
470
+ return jspb.Message.setProto3IntField(this, 2, value);
471
+ };
472
+
473
+ /**
474
+ * repeated Variation variations = 1;
475
+ * @return {!Array<!proto.bucketeer.feature.RolloutStrategy.Variation>}
476
+ */
477
+ proto.bucketeer.feature.RolloutStrategy.prototype.getVariationsList = function () {
478
+ return /** @type{!Array<!proto.bucketeer.feature.RolloutStrategy.Variation>} */jspb.Message.getRepeatedWrapperField(this, proto.bucketeer.feature.RolloutStrategy.Variation, 1);
479
+ };
480
+
481
+ /**
482
+ * @param {!Array<!proto.bucketeer.feature.RolloutStrategy.Variation>} value
483
+ * @return {!proto.bucketeer.feature.RolloutStrategy} returns this
484
+ */
485
+ proto.bucketeer.feature.RolloutStrategy.prototype.setVariationsList = function (value) {
486
+ return jspb.Message.setRepeatedWrapperField(this, 1, value);
487
+ };
488
+
489
+ /**
490
+ * @param {!proto.bucketeer.feature.RolloutStrategy.Variation=} opt_value
491
+ * @param {number=} opt_index
492
+ * @return {!proto.bucketeer.feature.RolloutStrategy.Variation}
493
+ */
494
+ proto.bucketeer.feature.RolloutStrategy.prototype.addVariations = function (opt_value, opt_index) {
495
+ return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.bucketeer.feature.RolloutStrategy.Variation, opt_index);
496
+ };
497
+
498
+ /**
499
+ * Clears the list making it empty but non-null.
500
+ * @return {!proto.bucketeer.feature.RolloutStrategy} returns this
501
+ */
502
+ proto.bucketeer.feature.RolloutStrategy.prototype.clearVariationsList = function () {
503
+ return this.setVariationsList([]);
504
+ };
505
+ if (jspb.Message.GENERATE_TO_OBJECT) {
506
+ /**
507
+ * Creates an object representation of this proto.
508
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
509
+ * Optional fields that are not set will be set to undefined.
510
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
511
+ * For the list of reserved names please see:
512
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
513
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
514
+ * JSPB instance for transitional soy proto support:
515
+ * http://goto/soy-param-migration
516
+ * @return {!Object}
517
+ */
518
+ proto.bucketeer.feature.Strategy.prototype.toObject = function (opt_includeInstance) {
519
+ return proto.bucketeer.feature.Strategy.toObject(opt_includeInstance, this);
520
+ };
521
+
522
+ /**
523
+ * Static version of the {@see toObject} method.
524
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
525
+ * the JSPB instance for transitional soy proto support:
526
+ * http://goto/soy-param-migration
527
+ * @param {!proto.bucketeer.feature.Strategy} msg The msg instance to transform.
528
+ * @return {!Object}
529
+ * @suppress {unusedLocalVariables} f is only used for nested messages
530
+ */
531
+ proto.bucketeer.feature.Strategy.toObject = function (includeInstance, msg) {
532
+ var f,
533
+ obj = {
534
+ type: jspb.Message.getFieldWithDefault(msg, 1, 0),
535
+ fixedStrategy: (f = msg.getFixedStrategy()) && proto.bucketeer.feature.FixedStrategy.toObject(includeInstance, f),
536
+ rolloutStrategy: (f = msg.getRolloutStrategy()) && proto.bucketeer.feature.RolloutStrategy.toObject(includeInstance, f)
537
+ };
538
+ if (includeInstance) {
539
+ obj.$jspbMessageInstance = msg;
540
+ }
541
+ return obj;
542
+ };
543
+ }
544
+
545
+ /**
546
+ * Deserializes binary data (in protobuf wire format).
547
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
548
+ * @return {!proto.bucketeer.feature.Strategy}
549
+ */
550
+ proto.bucketeer.feature.Strategy.deserializeBinary = function (bytes) {
551
+ var reader = new jspb.BinaryReader(bytes);
552
+ var msg = new proto.bucketeer.feature.Strategy();
553
+ return proto.bucketeer.feature.Strategy.deserializeBinaryFromReader(msg, reader);
554
+ };
555
+
556
+ /**
557
+ * Deserializes binary data (in protobuf wire format) from the
558
+ * given reader into the given message object.
559
+ * @param {!proto.bucketeer.feature.Strategy} msg The message object to deserialize into.
560
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
561
+ * @return {!proto.bucketeer.feature.Strategy}
562
+ */
563
+ proto.bucketeer.feature.Strategy.deserializeBinaryFromReader = function (msg, reader) {
564
+ while (reader.nextField()) {
565
+ if (reader.isEndGroup()) {
566
+ break;
567
+ }
568
+ var field = reader.getFieldNumber();
569
+ switch (field) {
570
+ case 1:
571
+ var value = /** @type {!proto.bucketeer.feature.Strategy.Type} */reader.readEnum();
572
+ msg.setType(value);
573
+ break;
574
+ case 2:
575
+ var value = new proto.bucketeer.feature.FixedStrategy();
576
+ reader.readMessage(value, proto.bucketeer.feature.FixedStrategy.deserializeBinaryFromReader);
577
+ msg.setFixedStrategy(value);
578
+ break;
579
+ case 3:
580
+ var value = new proto.bucketeer.feature.RolloutStrategy();
581
+ reader.readMessage(value, proto.bucketeer.feature.RolloutStrategy.deserializeBinaryFromReader);
582
+ msg.setRolloutStrategy(value);
583
+ break;
584
+ default:
585
+ reader.skipField();
586
+ break;
587
+ }
588
+ }
589
+ return msg;
590
+ };
591
+
592
+ /**
593
+ * Serializes the message to binary data (in protobuf wire format).
594
+ * @return {!Uint8Array}
595
+ */
596
+ proto.bucketeer.feature.Strategy.prototype.serializeBinary = function () {
597
+ var writer = new jspb.BinaryWriter();
598
+ proto.bucketeer.feature.Strategy.serializeBinaryToWriter(this, writer);
599
+ return writer.getResultBuffer();
600
+ };
601
+
602
+ /**
603
+ * Serializes the given message to binary data (in protobuf wire
604
+ * format), writing to the given BinaryWriter.
605
+ * @param {!proto.bucketeer.feature.Strategy} message
606
+ * @param {!jspb.BinaryWriter} writer
607
+ * @suppress {unusedLocalVariables} f is only used for nested messages
608
+ */
609
+ proto.bucketeer.feature.Strategy.serializeBinaryToWriter = function (message, writer) {
610
+ var f = undefined;
611
+ f = message.getType();
612
+ if (f !== 0.0) {
613
+ writer.writeEnum(1, f);
614
+ }
615
+ f = message.getFixedStrategy();
616
+ if (f != null) {
617
+ writer.writeMessage(2, f, proto.bucketeer.feature.FixedStrategy.serializeBinaryToWriter);
618
+ }
619
+ f = message.getRolloutStrategy();
620
+ if (f != null) {
621
+ writer.writeMessage(3, f, proto.bucketeer.feature.RolloutStrategy.serializeBinaryToWriter);
622
+ }
623
+ };
624
+
625
+ /**
626
+ * @enum {number}
627
+ */
628
+ proto.bucketeer.feature.Strategy.Type = {
629
+ FIXED: 0,
630
+ ROLLOUT: 1
631
+ };
632
+
633
+ /**
634
+ * optional Type type = 1;
635
+ * @return {!proto.bucketeer.feature.Strategy.Type}
636
+ */
637
+ proto.bucketeer.feature.Strategy.prototype.getType = function () {
638
+ return /** @type {!proto.bucketeer.feature.Strategy.Type} */jspb.Message.getFieldWithDefault(this, 1, 0);
639
+ };
640
+
641
+ /**
642
+ * @param {!proto.bucketeer.feature.Strategy.Type} value
643
+ * @return {!proto.bucketeer.feature.Strategy} returns this
644
+ */
645
+ proto.bucketeer.feature.Strategy.prototype.setType = function (value) {
646
+ return jspb.Message.setProto3EnumField(this, 1, value);
647
+ };
648
+
649
+ /**
650
+ * optional FixedStrategy fixed_strategy = 2;
651
+ * @return {?proto.bucketeer.feature.FixedStrategy}
652
+ */
653
+ proto.bucketeer.feature.Strategy.prototype.getFixedStrategy = function () {
654
+ return /** @type{?proto.bucketeer.feature.FixedStrategy} */jspb.Message.getWrapperField(this, proto.bucketeer.feature.FixedStrategy, 2);
655
+ };
656
+
657
+ /**
658
+ * @param {?proto.bucketeer.feature.FixedStrategy|undefined} value
659
+ * @return {!proto.bucketeer.feature.Strategy} returns this
660
+ */
661
+ proto.bucketeer.feature.Strategy.prototype.setFixedStrategy = function (value) {
662
+ return jspb.Message.setWrapperField(this, 2, value);
663
+ };
664
+
665
+ /**
666
+ * Clears the message field making it undefined.
667
+ * @return {!proto.bucketeer.feature.Strategy} returns this
668
+ */
669
+ proto.bucketeer.feature.Strategy.prototype.clearFixedStrategy = function () {
670
+ return this.setFixedStrategy(undefined);
671
+ };
672
+
673
+ /**
674
+ * Returns whether this field is set.
675
+ * @return {boolean}
676
+ */
677
+ proto.bucketeer.feature.Strategy.prototype.hasFixedStrategy = function () {
678
+ return jspb.Message.getField(this, 2) != null;
679
+ };
680
+
681
+ /**
682
+ * optional RolloutStrategy rollout_strategy = 3;
683
+ * @return {?proto.bucketeer.feature.RolloutStrategy}
684
+ */
685
+ proto.bucketeer.feature.Strategy.prototype.getRolloutStrategy = function () {
686
+ return /** @type{?proto.bucketeer.feature.RolloutStrategy} */jspb.Message.getWrapperField(this, proto.bucketeer.feature.RolloutStrategy, 3);
687
+ };
688
+
689
+ /**
690
+ * @param {?proto.bucketeer.feature.RolloutStrategy|undefined} value
691
+ * @return {!proto.bucketeer.feature.Strategy} returns this
692
+ */
693
+ proto.bucketeer.feature.Strategy.prototype.setRolloutStrategy = function (value) {
694
+ return jspb.Message.setWrapperField(this, 3, value);
695
+ };
696
+
697
+ /**
698
+ * Clears the message field making it undefined.
699
+ * @return {!proto.bucketeer.feature.Strategy} returns this
700
+ */
701
+ proto.bucketeer.feature.Strategy.prototype.clearRolloutStrategy = function () {
702
+ return this.setRolloutStrategy(undefined);
703
+ };
704
+
705
+ /**
706
+ * Returns whether this field is set.
707
+ * @return {boolean}
708
+ */
709
+ proto.bucketeer.feature.Strategy.prototype.hasRolloutStrategy = function () {
710
+ return jspb.Message.getField(this, 3) != null;
711
+ };
712
+ goog.object.extend(exports, proto.bucketeer.feature);