@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,1413 @@
1
+ // source: proto/feature/feature.proto
2
+ /**
3
+ * @fileoverview
4
+ * @enhanceable
5
+ * @suppress {missingRequire} reports error on implicit type usages.
6
+ * @suppress {messageConventions} JS Compiler reports an error if a variable or
7
+ * field starts with 'MSG_' and isn't a translatable message.
8
+ * @public
9
+ */
10
+ // GENERATED CODE -- DO NOT EDIT!
11
+
12
+ // @ts-nocheck
13
+
14
+ var jspb = require('google-protobuf');
15
+ var goog = jspb;
16
+ var global =
17
+ (typeof globalThis !== 'undefined' && globalThis) ||
18
+ (typeof window !== 'undefined' && window) ||
19
+ (typeof global !== 'undefined' && global) ||
20
+ (typeof self !== 'undefined' && self) ||
21
+ (function () { return this; }).call(null) ||
22
+ Function('return this')();
23
+
24
+ var proto_feature_rule_pb = require('../../proto/feature/rule_pb.js');
25
+ goog.object.extend(proto, proto_feature_rule_pb);
26
+ var proto_feature_target_pb = require('../../proto/feature/target_pb.js');
27
+ goog.object.extend(proto, proto_feature_target_pb);
28
+ var proto_feature_variation_pb = require('../../proto/feature/variation_pb.js');
29
+ goog.object.extend(proto, proto_feature_variation_pb);
30
+ var proto_feature_strategy_pb = require('../../proto/feature/strategy_pb.js');
31
+ goog.object.extend(proto, proto_feature_strategy_pb);
32
+ var proto_feature_feature_last_used_info_pb = require('../../proto/feature/feature_last_used_info_pb.js');
33
+ goog.object.extend(proto, proto_feature_feature_last_used_info_pb);
34
+ var proto_feature_prerequisite_pb = require('../../proto/feature/prerequisite_pb.js');
35
+ goog.object.extend(proto, proto_feature_prerequisite_pb);
36
+ goog.exportSymbol('proto.bucketeer.feature.Feature', null, global);
37
+ goog.exportSymbol('proto.bucketeer.feature.Feature.VariationType', null, global);
38
+ goog.exportSymbol('proto.bucketeer.feature.Features', null, global);
39
+ goog.exportSymbol('proto.bucketeer.feature.Tag', null, global);
40
+ /**
41
+ * Generated by JsPbCodeGenerator.
42
+ * @param {Array=} opt_data Optional initial data array, typically from a
43
+ * server response, or constructed directly in Javascript. The array is used
44
+ * in place and becomes part of the constructed object. It is not cloned.
45
+ * If no data is provided, the constructed object will be empty, but still
46
+ * valid.
47
+ * @extends {jspb.Message}
48
+ * @constructor
49
+ */
50
+ proto.bucketeer.feature.Feature = function(opt_data) {
51
+ jspb.Message.initialize(this, opt_data, 0, -1, proto.bucketeer.feature.Feature.repeatedFields_, null);
52
+ };
53
+ goog.inherits(proto.bucketeer.feature.Feature, jspb.Message);
54
+ if (goog.DEBUG && !COMPILED) {
55
+ /**
56
+ * @public
57
+ * @override
58
+ */
59
+ proto.bucketeer.feature.Feature.displayName = 'proto.bucketeer.feature.Feature';
60
+ }
61
+ /**
62
+ * Generated by JsPbCodeGenerator.
63
+ * @param {Array=} opt_data Optional initial data array, typically from a
64
+ * server response, or constructed directly in Javascript. The array is used
65
+ * in place and becomes part of the constructed object. It is not cloned.
66
+ * If no data is provided, the constructed object will be empty, but still
67
+ * valid.
68
+ * @extends {jspb.Message}
69
+ * @constructor
70
+ */
71
+ proto.bucketeer.feature.Features = function(opt_data) {
72
+ jspb.Message.initialize(this, opt_data, 0, -1, proto.bucketeer.feature.Features.repeatedFields_, null);
73
+ };
74
+ goog.inherits(proto.bucketeer.feature.Features, jspb.Message);
75
+ if (goog.DEBUG && !COMPILED) {
76
+ /**
77
+ * @public
78
+ * @override
79
+ */
80
+ proto.bucketeer.feature.Features.displayName = 'proto.bucketeer.feature.Features';
81
+ }
82
+ /**
83
+ * Generated by JsPbCodeGenerator.
84
+ * @param {Array=} opt_data Optional initial data array, typically from a
85
+ * server response, or constructed directly in Javascript. The array is used
86
+ * in place and becomes part of the constructed object. It is not cloned.
87
+ * If no data is provided, the constructed object will be empty, but still
88
+ * valid.
89
+ * @extends {jspb.Message}
90
+ * @constructor
91
+ */
92
+ proto.bucketeer.feature.Tag = function(opt_data) {
93
+ jspb.Message.initialize(this, opt_data, 0, -1, null, null);
94
+ };
95
+ goog.inherits(proto.bucketeer.feature.Tag, jspb.Message);
96
+ if (goog.DEBUG && !COMPILED) {
97
+ /**
98
+ * @public
99
+ * @override
100
+ */
101
+ proto.bucketeer.feature.Tag.displayName = 'proto.bucketeer.feature.Tag';
102
+ }
103
+
104
+ /**
105
+ * List of repeated fields within this message type.
106
+ * @private {!Array<number>}
107
+ * @const
108
+ */
109
+ proto.bucketeer.feature.Feature.repeatedFields_ = [11,12,13,16,21];
110
+
111
+
112
+
113
+ if (jspb.Message.GENERATE_TO_OBJECT) {
114
+ /**
115
+ * Creates an object representation of this proto.
116
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
117
+ * Optional fields that are not set will be set to undefined.
118
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
119
+ * For the list of reserved names please see:
120
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
121
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
122
+ * JSPB instance for transitional soy proto support:
123
+ * http://goto/soy-param-migration
124
+ * @return {!Object}
125
+ */
126
+ proto.bucketeer.feature.Feature.prototype.toObject = function(opt_includeInstance) {
127
+ return proto.bucketeer.feature.Feature.toObject(opt_includeInstance, this);
128
+ };
129
+
130
+
131
+ /**
132
+ * Static version of the {@see toObject} method.
133
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
134
+ * the JSPB instance for transitional soy proto support:
135
+ * http://goto/soy-param-migration
136
+ * @param {!proto.bucketeer.feature.Feature} msg The msg instance to transform.
137
+ * @return {!Object}
138
+ * @suppress {unusedLocalVariables} f is only used for nested messages
139
+ */
140
+ proto.bucketeer.feature.Feature.toObject = function(includeInstance, msg) {
141
+ var f, obj = {
142
+ id: jspb.Message.getFieldWithDefault(msg, 1, ""),
143
+ name: jspb.Message.getFieldWithDefault(msg, 2, ""),
144
+ description: jspb.Message.getFieldWithDefault(msg, 3, ""),
145
+ enabled: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
146
+ deleted: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
147
+ evaluationUndelayable: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
148
+ ttl: jspb.Message.getFieldWithDefault(msg, 7, 0),
149
+ version: jspb.Message.getFieldWithDefault(msg, 8, 0),
150
+ createdAt: jspb.Message.getFieldWithDefault(msg, 9, 0),
151
+ updatedAt: jspb.Message.getFieldWithDefault(msg, 10, 0),
152
+ variationsList: jspb.Message.toObjectList(msg.getVariationsList(),
153
+ proto_feature_variation_pb.Variation.toObject, includeInstance),
154
+ targetsList: jspb.Message.toObjectList(msg.getTargetsList(),
155
+ proto_feature_target_pb.Target.toObject, includeInstance),
156
+ rulesList: jspb.Message.toObjectList(msg.getRulesList(),
157
+ proto_feature_rule_pb.Rule.toObject, includeInstance),
158
+ defaultStrategy: (f = msg.getDefaultStrategy()) && proto_feature_strategy_pb.Strategy.toObject(includeInstance, f),
159
+ offVariation: jspb.Message.getFieldWithDefault(msg, 15, ""),
160
+ tagsList: (f = jspb.Message.getRepeatedField(msg, 16)) == null ? undefined : f,
161
+ lastUsedInfo: (f = msg.getLastUsedInfo()) && proto_feature_feature_last_used_info_pb.FeatureLastUsedInfo.toObject(includeInstance, f),
162
+ maintainer: jspb.Message.getFieldWithDefault(msg, 18, ""),
163
+ variationType: jspb.Message.getFieldWithDefault(msg, 19, 0),
164
+ archived: jspb.Message.getBooleanFieldWithDefault(msg, 20, false),
165
+ prerequisitesList: jspb.Message.toObjectList(msg.getPrerequisitesList(),
166
+ proto_feature_prerequisite_pb.Prerequisite.toObject, includeInstance),
167
+ samplingSeed: jspb.Message.getFieldWithDefault(msg, 22, "")
168
+ };
169
+
170
+ if (includeInstance) {
171
+ obj.$jspbMessageInstance = msg;
172
+ }
173
+ return obj;
174
+ };
175
+ }
176
+
177
+
178
+ /**
179
+ * Deserializes binary data (in protobuf wire format).
180
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
181
+ * @return {!proto.bucketeer.feature.Feature}
182
+ */
183
+ proto.bucketeer.feature.Feature.deserializeBinary = function(bytes) {
184
+ var reader = new jspb.BinaryReader(bytes);
185
+ var msg = new proto.bucketeer.feature.Feature;
186
+ return proto.bucketeer.feature.Feature.deserializeBinaryFromReader(msg, reader);
187
+ };
188
+
189
+
190
+ /**
191
+ * Deserializes binary data (in protobuf wire format) from the
192
+ * given reader into the given message object.
193
+ * @param {!proto.bucketeer.feature.Feature} msg The message object to deserialize into.
194
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
195
+ * @return {!proto.bucketeer.feature.Feature}
196
+ */
197
+ proto.bucketeer.feature.Feature.deserializeBinaryFromReader = function(msg, reader) {
198
+ while (reader.nextField()) {
199
+ if (reader.isEndGroup()) {
200
+ break;
201
+ }
202
+ var field = reader.getFieldNumber();
203
+ switch (field) {
204
+ case 1:
205
+ var value = /** @type {string} */ (reader.readString());
206
+ msg.setId(value);
207
+ break;
208
+ case 2:
209
+ var value = /** @type {string} */ (reader.readString());
210
+ msg.setName(value);
211
+ break;
212
+ case 3:
213
+ var value = /** @type {string} */ (reader.readString());
214
+ msg.setDescription(value);
215
+ break;
216
+ case 4:
217
+ var value = /** @type {boolean} */ (reader.readBool());
218
+ msg.setEnabled(value);
219
+ break;
220
+ case 5:
221
+ var value = /** @type {boolean} */ (reader.readBool());
222
+ msg.setDeleted(value);
223
+ break;
224
+ case 6:
225
+ var value = /** @type {boolean} */ (reader.readBool());
226
+ msg.setEvaluationUndelayable(value);
227
+ break;
228
+ case 7:
229
+ var value = /** @type {number} */ (reader.readInt32());
230
+ msg.setTtl(value);
231
+ break;
232
+ case 8:
233
+ var value = /** @type {number} */ (reader.readInt32());
234
+ msg.setVersion(value);
235
+ break;
236
+ case 9:
237
+ var value = /** @type {number} */ (reader.readInt64());
238
+ msg.setCreatedAt(value);
239
+ break;
240
+ case 10:
241
+ var value = /** @type {number} */ (reader.readInt64());
242
+ msg.setUpdatedAt(value);
243
+ break;
244
+ case 11:
245
+ var value = new proto_feature_variation_pb.Variation;
246
+ reader.readMessage(value,proto_feature_variation_pb.Variation.deserializeBinaryFromReader);
247
+ msg.addVariations(value);
248
+ break;
249
+ case 12:
250
+ var value = new proto_feature_target_pb.Target;
251
+ reader.readMessage(value,proto_feature_target_pb.Target.deserializeBinaryFromReader);
252
+ msg.addTargets(value);
253
+ break;
254
+ case 13:
255
+ var value = new proto_feature_rule_pb.Rule;
256
+ reader.readMessage(value,proto_feature_rule_pb.Rule.deserializeBinaryFromReader);
257
+ msg.addRules(value);
258
+ break;
259
+ case 14:
260
+ var value = new proto_feature_strategy_pb.Strategy;
261
+ reader.readMessage(value,proto_feature_strategy_pb.Strategy.deserializeBinaryFromReader);
262
+ msg.setDefaultStrategy(value);
263
+ break;
264
+ case 15:
265
+ var value = /** @type {string} */ (reader.readString());
266
+ msg.setOffVariation(value);
267
+ break;
268
+ case 16:
269
+ var value = /** @type {string} */ (reader.readString());
270
+ msg.addTags(value);
271
+ break;
272
+ case 17:
273
+ var value = new proto_feature_feature_last_used_info_pb.FeatureLastUsedInfo;
274
+ reader.readMessage(value,proto_feature_feature_last_used_info_pb.FeatureLastUsedInfo.deserializeBinaryFromReader);
275
+ msg.setLastUsedInfo(value);
276
+ break;
277
+ case 18:
278
+ var value = /** @type {string} */ (reader.readString());
279
+ msg.setMaintainer(value);
280
+ break;
281
+ case 19:
282
+ var value = /** @type {!proto.bucketeer.feature.Feature.VariationType} */ (reader.readEnum());
283
+ msg.setVariationType(value);
284
+ break;
285
+ case 20:
286
+ var value = /** @type {boolean} */ (reader.readBool());
287
+ msg.setArchived(value);
288
+ break;
289
+ case 21:
290
+ var value = new proto_feature_prerequisite_pb.Prerequisite;
291
+ reader.readMessage(value,proto_feature_prerequisite_pb.Prerequisite.deserializeBinaryFromReader);
292
+ msg.addPrerequisites(value);
293
+ break;
294
+ case 22:
295
+ var value = /** @type {string} */ (reader.readString());
296
+ msg.setSamplingSeed(value);
297
+ break;
298
+ default:
299
+ reader.skipField();
300
+ break;
301
+ }
302
+ }
303
+ return msg;
304
+ };
305
+
306
+
307
+ /**
308
+ * Serializes the message to binary data (in protobuf wire format).
309
+ * @return {!Uint8Array}
310
+ */
311
+ proto.bucketeer.feature.Feature.prototype.serializeBinary = function() {
312
+ var writer = new jspb.BinaryWriter();
313
+ proto.bucketeer.feature.Feature.serializeBinaryToWriter(this, writer);
314
+ return writer.getResultBuffer();
315
+ };
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.Feature} message
322
+ * @param {!jspb.BinaryWriter} writer
323
+ * @suppress {unusedLocalVariables} f is only used for nested messages
324
+ */
325
+ proto.bucketeer.feature.Feature.serializeBinaryToWriter = function(message, writer) {
326
+ var f = undefined;
327
+ f = message.getId();
328
+ if (f.length > 0) {
329
+ writer.writeString(
330
+ 1,
331
+ f
332
+ );
333
+ }
334
+ f = message.getName();
335
+ if (f.length > 0) {
336
+ writer.writeString(
337
+ 2,
338
+ f
339
+ );
340
+ }
341
+ f = message.getDescription();
342
+ if (f.length > 0) {
343
+ writer.writeString(
344
+ 3,
345
+ f
346
+ );
347
+ }
348
+ f = message.getEnabled();
349
+ if (f) {
350
+ writer.writeBool(
351
+ 4,
352
+ f
353
+ );
354
+ }
355
+ f = message.getDeleted();
356
+ if (f) {
357
+ writer.writeBool(
358
+ 5,
359
+ f
360
+ );
361
+ }
362
+ f = message.getEvaluationUndelayable();
363
+ if (f) {
364
+ writer.writeBool(
365
+ 6,
366
+ f
367
+ );
368
+ }
369
+ f = message.getTtl();
370
+ if (f !== 0) {
371
+ writer.writeInt32(
372
+ 7,
373
+ f
374
+ );
375
+ }
376
+ f = message.getVersion();
377
+ if (f !== 0) {
378
+ writer.writeInt32(
379
+ 8,
380
+ f
381
+ );
382
+ }
383
+ f = message.getCreatedAt();
384
+ if (f !== 0) {
385
+ writer.writeInt64(
386
+ 9,
387
+ f
388
+ );
389
+ }
390
+ f = message.getUpdatedAt();
391
+ if (f !== 0) {
392
+ writer.writeInt64(
393
+ 10,
394
+ f
395
+ );
396
+ }
397
+ f = message.getVariationsList();
398
+ if (f.length > 0) {
399
+ writer.writeRepeatedMessage(
400
+ 11,
401
+ f,
402
+ proto_feature_variation_pb.Variation.serializeBinaryToWriter
403
+ );
404
+ }
405
+ f = message.getTargetsList();
406
+ if (f.length > 0) {
407
+ writer.writeRepeatedMessage(
408
+ 12,
409
+ f,
410
+ proto_feature_target_pb.Target.serializeBinaryToWriter
411
+ );
412
+ }
413
+ f = message.getRulesList();
414
+ if (f.length > 0) {
415
+ writer.writeRepeatedMessage(
416
+ 13,
417
+ f,
418
+ proto_feature_rule_pb.Rule.serializeBinaryToWriter
419
+ );
420
+ }
421
+ f = message.getDefaultStrategy();
422
+ if (f != null) {
423
+ writer.writeMessage(
424
+ 14,
425
+ f,
426
+ proto_feature_strategy_pb.Strategy.serializeBinaryToWriter
427
+ );
428
+ }
429
+ f = message.getOffVariation();
430
+ if (f.length > 0) {
431
+ writer.writeString(
432
+ 15,
433
+ f
434
+ );
435
+ }
436
+ f = message.getTagsList();
437
+ if (f.length > 0) {
438
+ writer.writeRepeatedString(
439
+ 16,
440
+ f
441
+ );
442
+ }
443
+ f = message.getLastUsedInfo();
444
+ if (f != null) {
445
+ writer.writeMessage(
446
+ 17,
447
+ f,
448
+ proto_feature_feature_last_used_info_pb.FeatureLastUsedInfo.serializeBinaryToWriter
449
+ );
450
+ }
451
+ f = message.getMaintainer();
452
+ if (f.length > 0) {
453
+ writer.writeString(
454
+ 18,
455
+ f
456
+ );
457
+ }
458
+ f = message.getVariationType();
459
+ if (f !== 0.0) {
460
+ writer.writeEnum(
461
+ 19,
462
+ f
463
+ );
464
+ }
465
+ f = message.getArchived();
466
+ if (f) {
467
+ writer.writeBool(
468
+ 20,
469
+ f
470
+ );
471
+ }
472
+ f = message.getPrerequisitesList();
473
+ if (f.length > 0) {
474
+ writer.writeRepeatedMessage(
475
+ 21,
476
+ f,
477
+ proto_feature_prerequisite_pb.Prerequisite.serializeBinaryToWriter
478
+ );
479
+ }
480
+ f = message.getSamplingSeed();
481
+ if (f.length > 0) {
482
+ writer.writeString(
483
+ 22,
484
+ f
485
+ );
486
+ }
487
+ };
488
+
489
+
490
+ /**
491
+ * @enum {number}
492
+ */
493
+ proto.bucketeer.feature.Feature.VariationType = {
494
+ STRING: 0,
495
+ BOOLEAN: 1,
496
+ NUMBER: 2,
497
+ JSON: 3
498
+ };
499
+
500
+ /**
501
+ * optional string id = 1;
502
+ * @return {string}
503
+ */
504
+ proto.bucketeer.feature.Feature.prototype.getId = function() {
505
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
506
+ };
507
+
508
+
509
+ /**
510
+ * @param {string} value
511
+ * @return {!proto.bucketeer.feature.Feature} returns this
512
+ */
513
+ proto.bucketeer.feature.Feature.prototype.setId = function(value) {
514
+ return jspb.Message.setProto3StringField(this, 1, value);
515
+ };
516
+
517
+
518
+ /**
519
+ * optional string name = 2;
520
+ * @return {string}
521
+ */
522
+ proto.bucketeer.feature.Feature.prototype.getName = function() {
523
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
524
+ };
525
+
526
+
527
+ /**
528
+ * @param {string} value
529
+ * @return {!proto.bucketeer.feature.Feature} returns this
530
+ */
531
+ proto.bucketeer.feature.Feature.prototype.setName = function(value) {
532
+ return jspb.Message.setProto3StringField(this, 2, value);
533
+ };
534
+
535
+
536
+ /**
537
+ * optional string description = 3;
538
+ * @return {string}
539
+ */
540
+ proto.bucketeer.feature.Feature.prototype.getDescription = function() {
541
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
542
+ };
543
+
544
+
545
+ /**
546
+ * @param {string} value
547
+ * @return {!proto.bucketeer.feature.Feature} returns this
548
+ */
549
+ proto.bucketeer.feature.Feature.prototype.setDescription = function(value) {
550
+ return jspb.Message.setProto3StringField(this, 3, value);
551
+ };
552
+
553
+
554
+ /**
555
+ * optional bool enabled = 4;
556
+ * @return {boolean}
557
+ */
558
+ proto.bucketeer.feature.Feature.prototype.getEnabled = function() {
559
+ return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
560
+ };
561
+
562
+
563
+ /**
564
+ * @param {boolean} value
565
+ * @return {!proto.bucketeer.feature.Feature} returns this
566
+ */
567
+ proto.bucketeer.feature.Feature.prototype.setEnabled = function(value) {
568
+ return jspb.Message.setProto3BooleanField(this, 4, value);
569
+ };
570
+
571
+
572
+ /**
573
+ * optional bool deleted = 5;
574
+ * @return {boolean}
575
+ */
576
+ proto.bucketeer.feature.Feature.prototype.getDeleted = function() {
577
+ return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
578
+ };
579
+
580
+
581
+ /**
582
+ * @param {boolean} value
583
+ * @return {!proto.bucketeer.feature.Feature} returns this
584
+ */
585
+ proto.bucketeer.feature.Feature.prototype.setDeleted = function(value) {
586
+ return jspb.Message.setProto3BooleanField(this, 5, value);
587
+ };
588
+
589
+
590
+ /**
591
+ * optional bool evaluation_undelayable = 6;
592
+ * @return {boolean}
593
+ */
594
+ proto.bucketeer.feature.Feature.prototype.getEvaluationUndelayable = function() {
595
+ return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
596
+ };
597
+
598
+
599
+ /**
600
+ * @param {boolean} value
601
+ * @return {!proto.bucketeer.feature.Feature} returns this
602
+ */
603
+ proto.bucketeer.feature.Feature.prototype.setEvaluationUndelayable = function(value) {
604
+ return jspb.Message.setProto3BooleanField(this, 6, value);
605
+ };
606
+
607
+
608
+ /**
609
+ * optional int32 ttl = 7;
610
+ * @return {number}
611
+ */
612
+ proto.bucketeer.feature.Feature.prototype.getTtl = function() {
613
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
614
+ };
615
+
616
+
617
+ /**
618
+ * @param {number} value
619
+ * @return {!proto.bucketeer.feature.Feature} returns this
620
+ */
621
+ proto.bucketeer.feature.Feature.prototype.setTtl = function(value) {
622
+ return jspb.Message.setProto3IntField(this, 7, value);
623
+ };
624
+
625
+
626
+ /**
627
+ * optional int32 version = 8;
628
+ * @return {number}
629
+ */
630
+ proto.bucketeer.feature.Feature.prototype.getVersion = function() {
631
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
632
+ };
633
+
634
+
635
+ /**
636
+ * @param {number} value
637
+ * @return {!proto.bucketeer.feature.Feature} returns this
638
+ */
639
+ proto.bucketeer.feature.Feature.prototype.setVersion = function(value) {
640
+ return jspb.Message.setProto3IntField(this, 8, value);
641
+ };
642
+
643
+
644
+ /**
645
+ * optional int64 created_at = 9;
646
+ * @return {number}
647
+ */
648
+ proto.bucketeer.feature.Feature.prototype.getCreatedAt = function() {
649
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
650
+ };
651
+
652
+
653
+ /**
654
+ * @param {number} value
655
+ * @return {!proto.bucketeer.feature.Feature} returns this
656
+ */
657
+ proto.bucketeer.feature.Feature.prototype.setCreatedAt = function(value) {
658
+ return jspb.Message.setProto3IntField(this, 9, value);
659
+ };
660
+
661
+
662
+ /**
663
+ * optional int64 updated_at = 10;
664
+ * @return {number}
665
+ */
666
+ proto.bucketeer.feature.Feature.prototype.getUpdatedAt = function() {
667
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
668
+ };
669
+
670
+
671
+ /**
672
+ * @param {number} value
673
+ * @return {!proto.bucketeer.feature.Feature} returns this
674
+ */
675
+ proto.bucketeer.feature.Feature.prototype.setUpdatedAt = function(value) {
676
+ return jspb.Message.setProto3IntField(this, 10, value);
677
+ };
678
+
679
+
680
+ /**
681
+ * repeated Variation variations = 11;
682
+ * @return {!Array<!proto.bucketeer.feature.Variation>}
683
+ */
684
+ proto.bucketeer.feature.Feature.prototype.getVariationsList = function() {
685
+ return /** @type{!Array<!proto.bucketeer.feature.Variation>} */ (
686
+ jspb.Message.getRepeatedWrapperField(this, proto_feature_variation_pb.Variation, 11));
687
+ };
688
+
689
+
690
+ /**
691
+ * @param {!Array<!proto.bucketeer.feature.Variation>} value
692
+ * @return {!proto.bucketeer.feature.Feature} returns this
693
+ */
694
+ proto.bucketeer.feature.Feature.prototype.setVariationsList = function(value) {
695
+ return jspb.Message.setRepeatedWrapperField(this, 11, value);
696
+ };
697
+
698
+
699
+ /**
700
+ * @param {!proto.bucketeer.feature.Variation=} opt_value
701
+ * @param {number=} opt_index
702
+ * @return {!proto.bucketeer.feature.Variation}
703
+ */
704
+ proto.bucketeer.feature.Feature.prototype.addVariations = function(opt_value, opt_index) {
705
+ return jspb.Message.addToRepeatedWrapperField(this, 11, opt_value, proto.bucketeer.feature.Variation, opt_index);
706
+ };
707
+
708
+
709
+ /**
710
+ * Clears the list making it empty but non-null.
711
+ * @return {!proto.bucketeer.feature.Feature} returns this
712
+ */
713
+ proto.bucketeer.feature.Feature.prototype.clearVariationsList = function() {
714
+ return this.setVariationsList([]);
715
+ };
716
+
717
+
718
+ /**
719
+ * repeated Target targets = 12;
720
+ * @return {!Array<!proto.bucketeer.feature.Target>}
721
+ */
722
+ proto.bucketeer.feature.Feature.prototype.getTargetsList = function() {
723
+ return /** @type{!Array<!proto.bucketeer.feature.Target>} */ (
724
+ jspb.Message.getRepeatedWrapperField(this, proto_feature_target_pb.Target, 12));
725
+ };
726
+
727
+
728
+ /**
729
+ * @param {!Array<!proto.bucketeer.feature.Target>} value
730
+ * @return {!proto.bucketeer.feature.Feature} returns this
731
+ */
732
+ proto.bucketeer.feature.Feature.prototype.setTargetsList = function(value) {
733
+ return jspb.Message.setRepeatedWrapperField(this, 12, value);
734
+ };
735
+
736
+
737
+ /**
738
+ * @param {!proto.bucketeer.feature.Target=} opt_value
739
+ * @param {number=} opt_index
740
+ * @return {!proto.bucketeer.feature.Target}
741
+ */
742
+ proto.bucketeer.feature.Feature.prototype.addTargets = function(opt_value, opt_index) {
743
+ return jspb.Message.addToRepeatedWrapperField(this, 12, opt_value, proto.bucketeer.feature.Target, opt_index);
744
+ };
745
+
746
+
747
+ /**
748
+ * Clears the list making it empty but non-null.
749
+ * @return {!proto.bucketeer.feature.Feature} returns this
750
+ */
751
+ proto.bucketeer.feature.Feature.prototype.clearTargetsList = function() {
752
+ return this.setTargetsList([]);
753
+ };
754
+
755
+
756
+ /**
757
+ * repeated Rule rules = 13;
758
+ * @return {!Array<!proto.bucketeer.feature.Rule>}
759
+ */
760
+ proto.bucketeer.feature.Feature.prototype.getRulesList = function() {
761
+ return /** @type{!Array<!proto.bucketeer.feature.Rule>} */ (
762
+ jspb.Message.getRepeatedWrapperField(this, proto_feature_rule_pb.Rule, 13));
763
+ };
764
+
765
+
766
+ /**
767
+ * @param {!Array<!proto.bucketeer.feature.Rule>} value
768
+ * @return {!proto.bucketeer.feature.Feature} returns this
769
+ */
770
+ proto.bucketeer.feature.Feature.prototype.setRulesList = function(value) {
771
+ return jspb.Message.setRepeatedWrapperField(this, 13, value);
772
+ };
773
+
774
+
775
+ /**
776
+ * @param {!proto.bucketeer.feature.Rule=} opt_value
777
+ * @param {number=} opt_index
778
+ * @return {!proto.bucketeer.feature.Rule}
779
+ */
780
+ proto.bucketeer.feature.Feature.prototype.addRules = function(opt_value, opt_index) {
781
+ return jspb.Message.addToRepeatedWrapperField(this, 13, opt_value, proto.bucketeer.feature.Rule, opt_index);
782
+ };
783
+
784
+
785
+ /**
786
+ * Clears the list making it empty but non-null.
787
+ * @return {!proto.bucketeer.feature.Feature} returns this
788
+ */
789
+ proto.bucketeer.feature.Feature.prototype.clearRulesList = function() {
790
+ return this.setRulesList([]);
791
+ };
792
+
793
+
794
+ /**
795
+ * optional Strategy default_strategy = 14;
796
+ * @return {?proto.bucketeer.feature.Strategy}
797
+ */
798
+ proto.bucketeer.feature.Feature.prototype.getDefaultStrategy = function() {
799
+ return /** @type{?proto.bucketeer.feature.Strategy} */ (
800
+ jspb.Message.getWrapperField(this, proto_feature_strategy_pb.Strategy, 14));
801
+ };
802
+
803
+
804
+ /**
805
+ * @param {?proto.bucketeer.feature.Strategy|undefined} value
806
+ * @return {!proto.bucketeer.feature.Feature} returns this
807
+ */
808
+ proto.bucketeer.feature.Feature.prototype.setDefaultStrategy = function(value) {
809
+ return jspb.Message.setWrapperField(this, 14, value);
810
+ };
811
+
812
+
813
+ /**
814
+ * Clears the message field making it undefined.
815
+ * @return {!proto.bucketeer.feature.Feature} returns this
816
+ */
817
+ proto.bucketeer.feature.Feature.prototype.clearDefaultStrategy = function() {
818
+ return this.setDefaultStrategy(undefined);
819
+ };
820
+
821
+
822
+ /**
823
+ * Returns whether this field is set.
824
+ * @return {boolean}
825
+ */
826
+ proto.bucketeer.feature.Feature.prototype.hasDefaultStrategy = function() {
827
+ return jspb.Message.getField(this, 14) != null;
828
+ };
829
+
830
+
831
+ /**
832
+ * optional string off_variation = 15;
833
+ * @return {string}
834
+ */
835
+ proto.bucketeer.feature.Feature.prototype.getOffVariation = function() {
836
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, ""));
837
+ };
838
+
839
+
840
+ /**
841
+ * @param {string} value
842
+ * @return {!proto.bucketeer.feature.Feature} returns this
843
+ */
844
+ proto.bucketeer.feature.Feature.prototype.setOffVariation = function(value) {
845
+ return jspb.Message.setProto3StringField(this, 15, value);
846
+ };
847
+
848
+
849
+ /**
850
+ * repeated string tags = 16;
851
+ * @return {!Array<string>}
852
+ */
853
+ proto.bucketeer.feature.Feature.prototype.getTagsList = function() {
854
+ return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 16));
855
+ };
856
+
857
+
858
+ /**
859
+ * @param {!Array<string>} value
860
+ * @return {!proto.bucketeer.feature.Feature} returns this
861
+ */
862
+ proto.bucketeer.feature.Feature.prototype.setTagsList = function(value) {
863
+ return jspb.Message.setField(this, 16, value || []);
864
+ };
865
+
866
+
867
+ /**
868
+ * @param {string} value
869
+ * @param {number=} opt_index
870
+ * @return {!proto.bucketeer.feature.Feature} returns this
871
+ */
872
+ proto.bucketeer.feature.Feature.prototype.addTags = function(value, opt_index) {
873
+ return jspb.Message.addToRepeatedField(this, 16, value, opt_index);
874
+ };
875
+
876
+
877
+ /**
878
+ * Clears the list making it empty but non-null.
879
+ * @return {!proto.bucketeer.feature.Feature} returns this
880
+ */
881
+ proto.bucketeer.feature.Feature.prototype.clearTagsList = function() {
882
+ return this.setTagsList([]);
883
+ };
884
+
885
+
886
+ /**
887
+ * optional FeatureLastUsedInfo last_used_info = 17;
888
+ * @return {?proto.bucketeer.feature.FeatureLastUsedInfo}
889
+ */
890
+ proto.bucketeer.feature.Feature.prototype.getLastUsedInfo = function() {
891
+ return /** @type{?proto.bucketeer.feature.FeatureLastUsedInfo} */ (
892
+ jspb.Message.getWrapperField(this, proto_feature_feature_last_used_info_pb.FeatureLastUsedInfo, 17));
893
+ };
894
+
895
+
896
+ /**
897
+ * @param {?proto.bucketeer.feature.FeatureLastUsedInfo|undefined} value
898
+ * @return {!proto.bucketeer.feature.Feature} returns this
899
+ */
900
+ proto.bucketeer.feature.Feature.prototype.setLastUsedInfo = function(value) {
901
+ return jspb.Message.setWrapperField(this, 17, value);
902
+ };
903
+
904
+
905
+ /**
906
+ * Clears the message field making it undefined.
907
+ * @return {!proto.bucketeer.feature.Feature} returns this
908
+ */
909
+ proto.bucketeer.feature.Feature.prototype.clearLastUsedInfo = function() {
910
+ return this.setLastUsedInfo(undefined);
911
+ };
912
+
913
+
914
+ /**
915
+ * Returns whether this field is set.
916
+ * @return {boolean}
917
+ */
918
+ proto.bucketeer.feature.Feature.prototype.hasLastUsedInfo = function() {
919
+ return jspb.Message.getField(this, 17) != null;
920
+ };
921
+
922
+
923
+ /**
924
+ * optional string maintainer = 18;
925
+ * @return {string}
926
+ */
927
+ proto.bucketeer.feature.Feature.prototype.getMaintainer = function() {
928
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 18, ""));
929
+ };
930
+
931
+
932
+ /**
933
+ * @param {string} value
934
+ * @return {!proto.bucketeer.feature.Feature} returns this
935
+ */
936
+ proto.bucketeer.feature.Feature.prototype.setMaintainer = function(value) {
937
+ return jspb.Message.setProto3StringField(this, 18, value);
938
+ };
939
+
940
+
941
+ /**
942
+ * optional VariationType variation_type = 19;
943
+ * @return {!proto.bucketeer.feature.Feature.VariationType}
944
+ */
945
+ proto.bucketeer.feature.Feature.prototype.getVariationType = function() {
946
+ return /** @type {!proto.bucketeer.feature.Feature.VariationType} */ (jspb.Message.getFieldWithDefault(this, 19, 0));
947
+ };
948
+
949
+
950
+ /**
951
+ * @param {!proto.bucketeer.feature.Feature.VariationType} value
952
+ * @return {!proto.bucketeer.feature.Feature} returns this
953
+ */
954
+ proto.bucketeer.feature.Feature.prototype.setVariationType = function(value) {
955
+ return jspb.Message.setProto3EnumField(this, 19, value);
956
+ };
957
+
958
+
959
+ /**
960
+ * optional bool archived = 20;
961
+ * @return {boolean}
962
+ */
963
+ proto.bucketeer.feature.Feature.prototype.getArchived = function() {
964
+ return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 20, false));
965
+ };
966
+
967
+
968
+ /**
969
+ * @param {boolean} value
970
+ * @return {!proto.bucketeer.feature.Feature} returns this
971
+ */
972
+ proto.bucketeer.feature.Feature.prototype.setArchived = function(value) {
973
+ return jspb.Message.setProto3BooleanField(this, 20, value);
974
+ };
975
+
976
+
977
+ /**
978
+ * repeated Prerequisite prerequisites = 21;
979
+ * @return {!Array<!proto.bucketeer.feature.Prerequisite>}
980
+ */
981
+ proto.bucketeer.feature.Feature.prototype.getPrerequisitesList = function() {
982
+ return /** @type{!Array<!proto.bucketeer.feature.Prerequisite>} */ (
983
+ jspb.Message.getRepeatedWrapperField(this, proto_feature_prerequisite_pb.Prerequisite, 21));
984
+ };
985
+
986
+
987
+ /**
988
+ * @param {!Array<!proto.bucketeer.feature.Prerequisite>} value
989
+ * @return {!proto.bucketeer.feature.Feature} returns this
990
+ */
991
+ proto.bucketeer.feature.Feature.prototype.setPrerequisitesList = function(value) {
992
+ return jspb.Message.setRepeatedWrapperField(this, 21, value);
993
+ };
994
+
995
+
996
+ /**
997
+ * @param {!proto.bucketeer.feature.Prerequisite=} opt_value
998
+ * @param {number=} opt_index
999
+ * @return {!proto.bucketeer.feature.Prerequisite}
1000
+ */
1001
+ proto.bucketeer.feature.Feature.prototype.addPrerequisites = function(opt_value, opt_index) {
1002
+ return jspb.Message.addToRepeatedWrapperField(this, 21, opt_value, proto.bucketeer.feature.Prerequisite, opt_index);
1003
+ };
1004
+
1005
+
1006
+ /**
1007
+ * Clears the list making it empty but non-null.
1008
+ * @return {!proto.bucketeer.feature.Feature} returns this
1009
+ */
1010
+ proto.bucketeer.feature.Feature.prototype.clearPrerequisitesList = function() {
1011
+ return this.setPrerequisitesList([]);
1012
+ };
1013
+
1014
+
1015
+ /**
1016
+ * optional string sampling_seed = 22;
1017
+ * @return {string}
1018
+ */
1019
+ proto.bucketeer.feature.Feature.prototype.getSamplingSeed = function() {
1020
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 22, ""));
1021
+ };
1022
+
1023
+
1024
+ /**
1025
+ * @param {string} value
1026
+ * @return {!proto.bucketeer.feature.Feature} returns this
1027
+ */
1028
+ proto.bucketeer.feature.Feature.prototype.setSamplingSeed = function(value) {
1029
+ return jspb.Message.setProto3StringField(this, 22, value);
1030
+ };
1031
+
1032
+
1033
+
1034
+ /**
1035
+ * List of repeated fields within this message type.
1036
+ * @private {!Array<number>}
1037
+ * @const
1038
+ */
1039
+ proto.bucketeer.feature.Features.repeatedFields_ = [1];
1040
+
1041
+
1042
+
1043
+ if (jspb.Message.GENERATE_TO_OBJECT) {
1044
+ /**
1045
+ * Creates an object representation of this proto.
1046
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
1047
+ * Optional fields that are not set will be set to undefined.
1048
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
1049
+ * For the list of reserved names please see:
1050
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
1051
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
1052
+ * JSPB instance for transitional soy proto support:
1053
+ * http://goto/soy-param-migration
1054
+ * @return {!Object}
1055
+ */
1056
+ proto.bucketeer.feature.Features.prototype.toObject = function(opt_includeInstance) {
1057
+ return proto.bucketeer.feature.Features.toObject(opt_includeInstance, this);
1058
+ };
1059
+
1060
+
1061
+ /**
1062
+ * Static version of the {@see toObject} method.
1063
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
1064
+ * the JSPB instance for transitional soy proto support:
1065
+ * http://goto/soy-param-migration
1066
+ * @param {!proto.bucketeer.feature.Features} msg The msg instance to transform.
1067
+ * @return {!Object}
1068
+ * @suppress {unusedLocalVariables} f is only used for nested messages
1069
+ */
1070
+ proto.bucketeer.feature.Features.toObject = function(includeInstance, msg) {
1071
+ var f, obj = {
1072
+ featuresList: jspb.Message.toObjectList(msg.getFeaturesList(),
1073
+ proto.bucketeer.feature.Feature.toObject, includeInstance),
1074
+ id: jspb.Message.getFieldWithDefault(msg, 2, "")
1075
+ };
1076
+
1077
+ if (includeInstance) {
1078
+ obj.$jspbMessageInstance = msg;
1079
+ }
1080
+ return obj;
1081
+ };
1082
+ }
1083
+
1084
+
1085
+ /**
1086
+ * Deserializes binary data (in protobuf wire format).
1087
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
1088
+ * @return {!proto.bucketeer.feature.Features}
1089
+ */
1090
+ proto.bucketeer.feature.Features.deserializeBinary = function(bytes) {
1091
+ var reader = new jspb.BinaryReader(bytes);
1092
+ var msg = new proto.bucketeer.feature.Features;
1093
+ return proto.bucketeer.feature.Features.deserializeBinaryFromReader(msg, reader);
1094
+ };
1095
+
1096
+
1097
+ /**
1098
+ * Deserializes binary data (in protobuf wire format) from the
1099
+ * given reader into the given message object.
1100
+ * @param {!proto.bucketeer.feature.Features} msg The message object to deserialize into.
1101
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
1102
+ * @return {!proto.bucketeer.feature.Features}
1103
+ */
1104
+ proto.bucketeer.feature.Features.deserializeBinaryFromReader = function(msg, reader) {
1105
+ while (reader.nextField()) {
1106
+ if (reader.isEndGroup()) {
1107
+ break;
1108
+ }
1109
+ var field = reader.getFieldNumber();
1110
+ switch (field) {
1111
+ case 1:
1112
+ var value = new proto.bucketeer.feature.Feature;
1113
+ reader.readMessage(value,proto.bucketeer.feature.Feature.deserializeBinaryFromReader);
1114
+ msg.addFeatures(value);
1115
+ break;
1116
+ case 2:
1117
+ var value = /** @type {string} */ (reader.readString());
1118
+ msg.setId(value);
1119
+ break;
1120
+ default:
1121
+ reader.skipField();
1122
+ break;
1123
+ }
1124
+ }
1125
+ return msg;
1126
+ };
1127
+
1128
+
1129
+ /**
1130
+ * Serializes the message to binary data (in protobuf wire format).
1131
+ * @return {!Uint8Array}
1132
+ */
1133
+ proto.bucketeer.feature.Features.prototype.serializeBinary = function() {
1134
+ var writer = new jspb.BinaryWriter();
1135
+ proto.bucketeer.feature.Features.serializeBinaryToWriter(this, writer);
1136
+ return writer.getResultBuffer();
1137
+ };
1138
+
1139
+
1140
+ /**
1141
+ * Serializes the given message to binary data (in protobuf wire
1142
+ * format), writing to the given BinaryWriter.
1143
+ * @param {!proto.bucketeer.feature.Features} message
1144
+ * @param {!jspb.BinaryWriter} writer
1145
+ * @suppress {unusedLocalVariables} f is only used for nested messages
1146
+ */
1147
+ proto.bucketeer.feature.Features.serializeBinaryToWriter = function(message, writer) {
1148
+ var f = undefined;
1149
+ f = message.getFeaturesList();
1150
+ if (f.length > 0) {
1151
+ writer.writeRepeatedMessage(
1152
+ 1,
1153
+ f,
1154
+ proto.bucketeer.feature.Feature.serializeBinaryToWriter
1155
+ );
1156
+ }
1157
+ f = message.getId();
1158
+ if (f.length > 0) {
1159
+ writer.writeString(
1160
+ 2,
1161
+ f
1162
+ );
1163
+ }
1164
+ };
1165
+
1166
+
1167
+ /**
1168
+ * repeated Feature features = 1;
1169
+ * @return {!Array<!proto.bucketeer.feature.Feature>}
1170
+ */
1171
+ proto.bucketeer.feature.Features.prototype.getFeaturesList = function() {
1172
+ return /** @type{!Array<!proto.bucketeer.feature.Feature>} */ (
1173
+ jspb.Message.getRepeatedWrapperField(this, proto.bucketeer.feature.Feature, 1));
1174
+ };
1175
+
1176
+
1177
+ /**
1178
+ * @param {!Array<!proto.bucketeer.feature.Feature>} value
1179
+ * @return {!proto.bucketeer.feature.Features} returns this
1180
+ */
1181
+ proto.bucketeer.feature.Features.prototype.setFeaturesList = function(value) {
1182
+ return jspb.Message.setRepeatedWrapperField(this, 1, value);
1183
+ };
1184
+
1185
+
1186
+ /**
1187
+ * @param {!proto.bucketeer.feature.Feature=} opt_value
1188
+ * @param {number=} opt_index
1189
+ * @return {!proto.bucketeer.feature.Feature}
1190
+ */
1191
+ proto.bucketeer.feature.Features.prototype.addFeatures = function(opt_value, opt_index) {
1192
+ return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.bucketeer.feature.Feature, opt_index);
1193
+ };
1194
+
1195
+
1196
+ /**
1197
+ * Clears the list making it empty but non-null.
1198
+ * @return {!proto.bucketeer.feature.Features} returns this
1199
+ */
1200
+ proto.bucketeer.feature.Features.prototype.clearFeaturesList = function() {
1201
+ return this.setFeaturesList([]);
1202
+ };
1203
+
1204
+
1205
+ /**
1206
+ * optional string id = 2;
1207
+ * @return {string}
1208
+ */
1209
+ proto.bucketeer.feature.Features.prototype.getId = function() {
1210
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
1211
+ };
1212
+
1213
+
1214
+ /**
1215
+ * @param {string} value
1216
+ * @return {!proto.bucketeer.feature.Features} returns this
1217
+ */
1218
+ proto.bucketeer.feature.Features.prototype.setId = function(value) {
1219
+ return jspb.Message.setProto3StringField(this, 2, value);
1220
+ };
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+ if (jspb.Message.GENERATE_TO_OBJECT) {
1227
+ /**
1228
+ * Creates an object representation of this proto.
1229
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
1230
+ * Optional fields that are not set will be set to undefined.
1231
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
1232
+ * For the list of reserved names please see:
1233
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
1234
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
1235
+ * JSPB instance for transitional soy proto support:
1236
+ * http://goto/soy-param-migration
1237
+ * @return {!Object}
1238
+ */
1239
+ proto.bucketeer.feature.Tag.prototype.toObject = function(opt_includeInstance) {
1240
+ return proto.bucketeer.feature.Tag.toObject(opt_includeInstance, this);
1241
+ };
1242
+
1243
+
1244
+ /**
1245
+ * Static version of the {@see toObject} method.
1246
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
1247
+ * the JSPB instance for transitional soy proto support:
1248
+ * http://goto/soy-param-migration
1249
+ * @param {!proto.bucketeer.feature.Tag} msg The msg instance to transform.
1250
+ * @return {!Object}
1251
+ * @suppress {unusedLocalVariables} f is only used for nested messages
1252
+ */
1253
+ proto.bucketeer.feature.Tag.toObject = function(includeInstance, msg) {
1254
+ var f, obj = {
1255
+ id: jspb.Message.getFieldWithDefault(msg, 1, ""),
1256
+ createdAt: jspb.Message.getFieldWithDefault(msg, 2, 0),
1257
+ updatedAt: jspb.Message.getFieldWithDefault(msg, 3, 0)
1258
+ };
1259
+
1260
+ if (includeInstance) {
1261
+ obj.$jspbMessageInstance = msg;
1262
+ }
1263
+ return obj;
1264
+ };
1265
+ }
1266
+
1267
+
1268
+ /**
1269
+ * Deserializes binary data (in protobuf wire format).
1270
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
1271
+ * @return {!proto.bucketeer.feature.Tag}
1272
+ */
1273
+ proto.bucketeer.feature.Tag.deserializeBinary = function(bytes) {
1274
+ var reader = new jspb.BinaryReader(bytes);
1275
+ var msg = new proto.bucketeer.feature.Tag;
1276
+ return proto.bucketeer.feature.Tag.deserializeBinaryFromReader(msg, reader);
1277
+ };
1278
+
1279
+
1280
+ /**
1281
+ * Deserializes binary data (in protobuf wire format) from the
1282
+ * given reader into the given message object.
1283
+ * @param {!proto.bucketeer.feature.Tag} msg The message object to deserialize into.
1284
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
1285
+ * @return {!proto.bucketeer.feature.Tag}
1286
+ */
1287
+ proto.bucketeer.feature.Tag.deserializeBinaryFromReader = function(msg, reader) {
1288
+ while (reader.nextField()) {
1289
+ if (reader.isEndGroup()) {
1290
+ break;
1291
+ }
1292
+ var field = reader.getFieldNumber();
1293
+ switch (field) {
1294
+ case 1:
1295
+ var value = /** @type {string} */ (reader.readString());
1296
+ msg.setId(value);
1297
+ break;
1298
+ case 2:
1299
+ var value = /** @type {number} */ (reader.readInt64());
1300
+ msg.setCreatedAt(value);
1301
+ break;
1302
+ case 3:
1303
+ var value = /** @type {number} */ (reader.readInt64());
1304
+ msg.setUpdatedAt(value);
1305
+ break;
1306
+ default:
1307
+ reader.skipField();
1308
+ break;
1309
+ }
1310
+ }
1311
+ return msg;
1312
+ };
1313
+
1314
+
1315
+ /**
1316
+ * Serializes the message to binary data (in protobuf wire format).
1317
+ * @return {!Uint8Array}
1318
+ */
1319
+ proto.bucketeer.feature.Tag.prototype.serializeBinary = function() {
1320
+ var writer = new jspb.BinaryWriter();
1321
+ proto.bucketeer.feature.Tag.serializeBinaryToWriter(this, writer);
1322
+ return writer.getResultBuffer();
1323
+ };
1324
+
1325
+
1326
+ /**
1327
+ * Serializes the given message to binary data (in protobuf wire
1328
+ * format), writing to the given BinaryWriter.
1329
+ * @param {!proto.bucketeer.feature.Tag} message
1330
+ * @param {!jspb.BinaryWriter} writer
1331
+ * @suppress {unusedLocalVariables} f is only used for nested messages
1332
+ */
1333
+ proto.bucketeer.feature.Tag.serializeBinaryToWriter = function(message, writer) {
1334
+ var f = undefined;
1335
+ f = message.getId();
1336
+ if (f.length > 0) {
1337
+ writer.writeString(
1338
+ 1,
1339
+ f
1340
+ );
1341
+ }
1342
+ f = message.getCreatedAt();
1343
+ if (f !== 0) {
1344
+ writer.writeInt64(
1345
+ 2,
1346
+ f
1347
+ );
1348
+ }
1349
+ f = message.getUpdatedAt();
1350
+ if (f !== 0) {
1351
+ writer.writeInt64(
1352
+ 3,
1353
+ f
1354
+ );
1355
+ }
1356
+ };
1357
+
1358
+
1359
+ /**
1360
+ * optional string id = 1;
1361
+ * @return {string}
1362
+ */
1363
+ proto.bucketeer.feature.Tag.prototype.getId = function() {
1364
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
1365
+ };
1366
+
1367
+
1368
+ /**
1369
+ * @param {string} value
1370
+ * @return {!proto.bucketeer.feature.Tag} returns this
1371
+ */
1372
+ proto.bucketeer.feature.Tag.prototype.setId = function(value) {
1373
+ return jspb.Message.setProto3StringField(this, 1, value);
1374
+ };
1375
+
1376
+
1377
+ /**
1378
+ * optional int64 created_at = 2;
1379
+ * @return {number}
1380
+ */
1381
+ proto.bucketeer.feature.Tag.prototype.getCreatedAt = function() {
1382
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
1383
+ };
1384
+
1385
+
1386
+ /**
1387
+ * @param {number} value
1388
+ * @return {!proto.bucketeer.feature.Tag} returns this
1389
+ */
1390
+ proto.bucketeer.feature.Tag.prototype.setCreatedAt = function(value) {
1391
+ return jspb.Message.setProto3IntField(this, 2, value);
1392
+ };
1393
+
1394
+
1395
+ /**
1396
+ * optional int64 updated_at = 3;
1397
+ * @return {number}
1398
+ */
1399
+ proto.bucketeer.feature.Tag.prototype.getUpdatedAt = function() {
1400
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
1401
+ };
1402
+
1403
+
1404
+ /**
1405
+ * @param {number} value
1406
+ * @return {!proto.bucketeer.feature.Tag} returns this
1407
+ */
1408
+ proto.bucketeer.feature.Tag.prototype.setUpdatedAt = function(value) {
1409
+ return jspb.Message.setProto3IntField(this, 3, value);
1410
+ };
1411
+
1412
+
1413
+ goog.object.extend(exports, proto.bucketeer.feature);