@google-shopping/reviews 0.5.1 → 0.6.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.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Google LLC
1
+ // Copyright 2026 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -79,7 +79,6 @@ message CustomAttribute {
79
79
  //
80
80
  // Destinations are used in Merchant Center to allow you to control where the
81
81
  // products from your data feed should be displayed.
82
- //
83
82
  message Destination {
84
83
  // Destination values.
85
84
  enum DestinationEnum {
@@ -105,6 +104,25 @@ message Destination {
105
104
 
106
105
  // [YouTube Shopping](https://support.google.com/merchants/answer/12362804).
107
106
  YOUTUBE_SHOPPING = 6;
107
+
108
+ // Youtube shopping checkout.
109
+ YOUTUBE_SHOPPING_CHECKOUT = 7;
110
+
111
+ // [Youtube Affiliate](https://support.google.com/youtube/answer/13376398).
112
+ YOUTUBE_AFFILIATE = 8;
113
+
114
+ // [Free vehicle
115
+ // listings](https://support.google.com/merchants/answer/11189169).
116
+ FREE_VEHICLE_LISTINGS = 9;
117
+
118
+ // [Vehicle ads](https://support.google.com/merchants/answer/11189169).
119
+ VEHICLE_ADS = 10;
120
+
121
+ // [Cloud retail](https://cloud.google.com/solutions/retail).
122
+ CLOUD_RETAIL = 11;
123
+
124
+ // [Local cloud retail](https://cloud.google.com/solutions/retail).
125
+ LOCAL_CLOUD_RETAIL = 12;
108
126
  }
109
127
  }
110
128
 
@@ -115,7 +133,6 @@ message Destination {
115
133
  // ads](https://support.google.com/merchants/answer/6149970)) or a subset of
116
134
  // formats within a destination (for example, [Demand Gen
117
135
  // ads](https://support.google.com/merchants/answer/13389785)).
118
- //
119
136
  message ReportingContext {
120
137
  // Reporting context values.
121
138
  enum ReportingContextEnum {
@@ -155,6 +172,10 @@ message ReportingContext {
155
172
  // listings](https://support.google.com/merchants/answer/9199328).
156
173
  FREE_LISTINGS = 7;
157
174
 
175
+ // [Free product listings on UCP
176
+ // checkout](https://developers.google.com/merchant/ucp).
177
+ FREE_LISTINGS_UCP_CHECKOUT = 19;
178
+
158
179
  // [Free local product
159
180
  // listings](https://support.google.com/merchants/answer/9825611).
160
181
  FREE_LOCAL_LISTINGS = 8;
@@ -163,6 +184,9 @@ message ReportingContext {
163
184
  // listings](https://support.google.com/merchants/answer/11544533).
164
185
  FREE_LOCAL_VEHICLE_LISTINGS = 9;
165
186
 
187
+ // [Youtube Affiliate](https://support.google.com/youtube/answer/13376398).
188
+ YOUTUBE_AFFILIATE = 18;
189
+
166
190
  // [YouTube
167
191
  // Shopping](https://support.google.com/merchants/answer/13478370).
168
192
  YOUTUBE_SHOPPING = 10;
@@ -172,6 +196,18 @@ message ReportingContext {
172
196
 
173
197
  // [Local cloud retail](https://cloud.google.com/solutions/retail).
174
198
  LOCAL_CLOUD_RETAIL = 12;
199
+
200
+ // [Product
201
+ // Reviews](https://support.google.com/merchants/answer/14620732).
202
+ PRODUCT_REVIEWS = 15;
203
+
204
+ // [Merchant
205
+ // Reviews](https://developers.google.com/merchant-review-feeds).
206
+ MERCHANT_REVIEWS = 16;
207
+
208
+ // YouTube Checkout
209
+ // .
210
+ YOUTUBE_CHECKOUT = 17;
175
211
  }
176
212
  }
177
213
 
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Google LLC
1
+ // Copyright 2026 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -3287,7 +3287,13 @@ export namespace google {
3287
3287
  LOCAL_INVENTORY_ADS = 3,
3288
3288
  FREE_LISTINGS = 4,
3289
3289
  FREE_LOCAL_LISTINGS = 5,
3290
- YOUTUBE_SHOPPING = 6
3290
+ YOUTUBE_SHOPPING = 6,
3291
+ YOUTUBE_SHOPPING_CHECKOUT = 7,
3292
+ YOUTUBE_AFFILIATE = 8,
3293
+ FREE_VEHICLE_LISTINGS = 9,
3294
+ VEHICLE_ADS = 10,
3295
+ CLOUD_RETAIL = 11,
3296
+ LOCAL_CLOUD_RETAIL = 12
3291
3297
  }
3292
3298
  }
3293
3299
 
@@ -3396,11 +3402,16 @@ export namespace google {
3396
3402
  LOCAL_INVENTORY_ADS = 5,
3397
3403
  VEHICLE_INVENTORY_ADS = 6,
3398
3404
  FREE_LISTINGS = 7,
3405
+ FREE_LISTINGS_UCP_CHECKOUT = 19,
3399
3406
  FREE_LOCAL_LISTINGS = 8,
3400
3407
  FREE_LOCAL_VEHICLE_LISTINGS = 9,
3408
+ YOUTUBE_AFFILIATE = 18,
3401
3409
  YOUTUBE_SHOPPING = 10,
3402
3410
  CLOUD_RETAIL = 11,
3403
- LOCAL_CLOUD_RETAIL = 12
3411
+ LOCAL_CLOUD_RETAIL = 12,
3412
+ PRODUCT_REVIEWS = 15,
3413
+ MERCHANT_REVIEWS = 16,
3414
+ YOUTUBE_CHECKOUT = 17
3404
3415
  }
3405
3416
  }
3406
3417
 
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Google LLC
1
+ // Copyright 2026 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -3023,11 +3023,16 @@
3023
3023
  case 5:
3024
3024
  case 6:
3025
3025
  case 7:
3026
+ case 19:
3026
3027
  case 8:
3027
3028
  case 9:
3029
+ case 18:
3028
3030
  case 10:
3029
3031
  case 11:
3030
3032
  case 12:
3033
+ case 15:
3034
+ case 16:
3035
+ case 17:
3031
3036
  break;
3032
3037
  }
3033
3038
  return null;
@@ -3092,6 +3097,10 @@
3092
3097
  case 7:
3093
3098
  message.reportingContext = 7;
3094
3099
  break;
3100
+ case "FREE_LISTINGS_UCP_CHECKOUT":
3101
+ case 19:
3102
+ message.reportingContext = 19;
3103
+ break;
3095
3104
  case "FREE_LOCAL_LISTINGS":
3096
3105
  case 8:
3097
3106
  message.reportingContext = 8;
@@ -3100,6 +3109,10 @@
3100
3109
  case 9:
3101
3110
  message.reportingContext = 9;
3102
3111
  break;
3112
+ case "YOUTUBE_AFFILIATE":
3113
+ case 18:
3114
+ message.reportingContext = 18;
3115
+ break;
3103
3116
  case "YOUTUBE_SHOPPING":
3104
3117
  case 10:
3105
3118
  message.reportingContext = 10;
@@ -3112,6 +3125,18 @@
3112
3125
  case 12:
3113
3126
  message.reportingContext = 12;
3114
3127
  break;
3128
+ case "PRODUCT_REVIEWS":
3129
+ case 15:
3130
+ message.reportingContext = 15;
3131
+ break;
3132
+ case "MERCHANT_REVIEWS":
3133
+ case 16:
3134
+ message.reportingContext = 16;
3135
+ break;
3136
+ case "YOUTUBE_CHECKOUT":
3137
+ case 17:
3138
+ message.reportingContext = 17;
3139
+ break;
3115
3140
  }
3116
3141
  return message;
3117
3142
  };
@@ -3435,11 +3460,16 @@
3435
3460
  case 5:
3436
3461
  case 6:
3437
3462
  case 7:
3463
+ case 19:
3438
3464
  case 8:
3439
3465
  case 9:
3466
+ case 18:
3440
3467
  case 10:
3441
3468
  case 11:
3442
3469
  case 12:
3470
+ case 15:
3471
+ case 16:
3472
+ case 17:
3443
3473
  break;
3444
3474
  }
3445
3475
  if (message.description != null && message.hasOwnProperty("description"))
@@ -3539,6 +3569,10 @@
3539
3569
  case 7:
3540
3570
  message.reportingContext = 7;
3541
3571
  break;
3572
+ case "FREE_LISTINGS_UCP_CHECKOUT":
3573
+ case 19:
3574
+ message.reportingContext = 19;
3575
+ break;
3542
3576
  case "FREE_LOCAL_LISTINGS":
3543
3577
  case 8:
3544
3578
  message.reportingContext = 8;
@@ -3547,6 +3581,10 @@
3547
3581
  case 9:
3548
3582
  message.reportingContext = 9;
3549
3583
  break;
3584
+ case "YOUTUBE_AFFILIATE":
3585
+ case 18:
3586
+ message.reportingContext = 18;
3587
+ break;
3550
3588
  case "YOUTUBE_SHOPPING":
3551
3589
  case 10:
3552
3590
  message.reportingContext = 10;
@@ -3559,6 +3597,18 @@
3559
3597
  case 12:
3560
3598
  message.reportingContext = 12;
3561
3599
  break;
3600
+ case "PRODUCT_REVIEWS":
3601
+ case 15:
3602
+ message.reportingContext = 15;
3603
+ break;
3604
+ case "MERCHANT_REVIEWS":
3605
+ case 16:
3606
+ message.reportingContext = 16;
3607
+ break;
3608
+ case "YOUTUBE_CHECKOUT":
3609
+ case 17:
3610
+ message.reportingContext = 17;
3611
+ break;
3562
3612
  }
3563
3613
  if (object.description != null)
3564
3614
  message.description = String(object.description);
@@ -7392,11 +7442,16 @@
7392
7442
  case 5:
7393
7443
  case 6:
7394
7444
  case 7:
7445
+ case 19:
7395
7446
  case 8:
7396
7447
  case 9:
7448
+ case 18:
7397
7449
  case 10:
7398
7450
  case 11:
7399
7451
  case 12:
7452
+ case 15:
7453
+ case 16:
7454
+ case 17:
7400
7455
  break;
7401
7456
  }
7402
7457
  return null;
@@ -7461,6 +7516,10 @@
7461
7516
  case 7:
7462
7517
  message.reportingContext = 7;
7463
7518
  break;
7519
+ case "FREE_LISTINGS_UCP_CHECKOUT":
7520
+ case 19:
7521
+ message.reportingContext = 19;
7522
+ break;
7464
7523
  case "FREE_LOCAL_LISTINGS":
7465
7524
  case 8:
7466
7525
  message.reportingContext = 8;
@@ -7469,6 +7528,10 @@
7469
7528
  case 9:
7470
7529
  message.reportingContext = 9;
7471
7530
  break;
7531
+ case "YOUTUBE_AFFILIATE":
7532
+ case 18:
7533
+ message.reportingContext = 18;
7534
+ break;
7472
7535
  case "YOUTUBE_SHOPPING":
7473
7536
  case 10:
7474
7537
  message.reportingContext = 10;
@@ -7481,6 +7544,18 @@
7481
7544
  case 12:
7482
7545
  message.reportingContext = 12;
7483
7546
  break;
7547
+ case "PRODUCT_REVIEWS":
7548
+ case 15:
7549
+ message.reportingContext = 15;
7550
+ break;
7551
+ case "MERCHANT_REVIEWS":
7552
+ case 16:
7553
+ message.reportingContext = 16;
7554
+ break;
7555
+ case "YOUTUBE_CHECKOUT":
7556
+ case 17:
7557
+ message.reportingContext = 17;
7558
+ break;
7484
7559
  }
7485
7560
  return message;
7486
7561
  };
@@ -7804,11 +7879,16 @@
7804
7879
  case 5:
7805
7880
  case 6:
7806
7881
  case 7:
7882
+ case 19:
7807
7883
  case 8:
7808
7884
  case 9:
7885
+ case 18:
7809
7886
  case 10:
7810
7887
  case 11:
7811
7888
  case 12:
7889
+ case 15:
7890
+ case 16:
7891
+ case 17:
7812
7892
  break;
7813
7893
  }
7814
7894
  if (message.description != null && message.hasOwnProperty("description"))
@@ -7908,6 +7988,10 @@
7908
7988
  case 7:
7909
7989
  message.reportingContext = 7;
7910
7990
  break;
7991
+ case "FREE_LISTINGS_UCP_CHECKOUT":
7992
+ case 19:
7993
+ message.reportingContext = 19;
7994
+ break;
7911
7995
  case "FREE_LOCAL_LISTINGS":
7912
7996
  case 8:
7913
7997
  message.reportingContext = 8;
@@ -7916,6 +8000,10 @@
7916
8000
  case 9:
7917
8001
  message.reportingContext = 9;
7918
8002
  break;
8003
+ case "YOUTUBE_AFFILIATE":
8004
+ case 18:
8005
+ message.reportingContext = 18;
8006
+ break;
7919
8007
  case "YOUTUBE_SHOPPING":
7920
8008
  case 10:
7921
8009
  message.reportingContext = 10;
@@ -7928,6 +8016,18 @@
7928
8016
  case 12:
7929
8017
  message.reportingContext = 12;
7930
8018
  break;
8019
+ case "PRODUCT_REVIEWS":
8020
+ case 15:
8021
+ message.reportingContext = 15;
8022
+ break;
8023
+ case "MERCHANT_REVIEWS":
8024
+ case 16:
8025
+ message.reportingContext = 16;
8026
+ break;
8027
+ case "YOUTUBE_CHECKOUT":
8028
+ case 17:
8029
+ message.reportingContext = 17;
8030
+ break;
7931
8031
  }
7932
8032
  if (object.description != null)
7933
8033
  message.description = String(object.description);
@@ -9080,6 +9180,12 @@
9080
9180
  * @property {number} FREE_LISTINGS=4 FREE_LISTINGS value
9081
9181
  * @property {number} FREE_LOCAL_LISTINGS=5 FREE_LOCAL_LISTINGS value
9082
9182
  * @property {number} YOUTUBE_SHOPPING=6 YOUTUBE_SHOPPING value
9183
+ * @property {number} YOUTUBE_SHOPPING_CHECKOUT=7 YOUTUBE_SHOPPING_CHECKOUT value
9184
+ * @property {number} YOUTUBE_AFFILIATE=8 YOUTUBE_AFFILIATE value
9185
+ * @property {number} FREE_VEHICLE_LISTINGS=9 FREE_VEHICLE_LISTINGS value
9186
+ * @property {number} VEHICLE_ADS=10 VEHICLE_ADS value
9187
+ * @property {number} CLOUD_RETAIL=11 CLOUD_RETAIL value
9188
+ * @property {number} LOCAL_CLOUD_RETAIL=12 LOCAL_CLOUD_RETAIL value
9083
9189
  */
9084
9190
  Destination.DestinationEnum = (function() {
9085
9191
  var valuesById = {}, values = Object.create(valuesById);
@@ -9090,6 +9196,12 @@
9090
9196
  values[valuesById[4] = "FREE_LISTINGS"] = 4;
9091
9197
  values[valuesById[5] = "FREE_LOCAL_LISTINGS"] = 5;
9092
9198
  values[valuesById[6] = "YOUTUBE_SHOPPING"] = 6;
9199
+ values[valuesById[7] = "YOUTUBE_SHOPPING_CHECKOUT"] = 7;
9200
+ values[valuesById[8] = "YOUTUBE_AFFILIATE"] = 8;
9201
+ values[valuesById[9] = "FREE_VEHICLE_LISTINGS"] = 9;
9202
+ values[valuesById[10] = "VEHICLE_ADS"] = 10;
9203
+ values[valuesById[11] = "CLOUD_RETAIL"] = 11;
9204
+ values[valuesById[12] = "LOCAL_CLOUD_RETAIL"] = 12;
9093
9205
  return values;
9094
9206
  })();
9095
9207
 
@@ -9284,11 +9396,16 @@
9284
9396
  * @property {number} LOCAL_INVENTORY_ADS=5 LOCAL_INVENTORY_ADS value
9285
9397
  * @property {number} VEHICLE_INVENTORY_ADS=6 VEHICLE_INVENTORY_ADS value
9286
9398
  * @property {number} FREE_LISTINGS=7 FREE_LISTINGS value
9399
+ * @property {number} FREE_LISTINGS_UCP_CHECKOUT=19 FREE_LISTINGS_UCP_CHECKOUT value
9287
9400
  * @property {number} FREE_LOCAL_LISTINGS=8 FREE_LOCAL_LISTINGS value
9288
9401
  * @property {number} FREE_LOCAL_VEHICLE_LISTINGS=9 FREE_LOCAL_VEHICLE_LISTINGS value
9402
+ * @property {number} YOUTUBE_AFFILIATE=18 YOUTUBE_AFFILIATE value
9289
9403
  * @property {number} YOUTUBE_SHOPPING=10 YOUTUBE_SHOPPING value
9290
9404
  * @property {number} CLOUD_RETAIL=11 CLOUD_RETAIL value
9291
9405
  * @property {number} LOCAL_CLOUD_RETAIL=12 LOCAL_CLOUD_RETAIL value
9406
+ * @property {number} PRODUCT_REVIEWS=15 PRODUCT_REVIEWS value
9407
+ * @property {number} MERCHANT_REVIEWS=16 MERCHANT_REVIEWS value
9408
+ * @property {number} YOUTUBE_CHECKOUT=17 YOUTUBE_CHECKOUT value
9292
9409
  */
9293
9410
  ReportingContext.ReportingContextEnum = (function() {
9294
9411
  var valuesById = {}, values = Object.create(valuesById);
@@ -9302,11 +9419,16 @@
9302
9419
  values[valuesById[5] = "LOCAL_INVENTORY_ADS"] = 5;
9303
9420
  values[valuesById[6] = "VEHICLE_INVENTORY_ADS"] = 6;
9304
9421
  values[valuesById[7] = "FREE_LISTINGS"] = 7;
9422
+ values[valuesById[19] = "FREE_LISTINGS_UCP_CHECKOUT"] = 19;
9305
9423
  values[valuesById[8] = "FREE_LOCAL_LISTINGS"] = 8;
9306
9424
  values[valuesById[9] = "FREE_LOCAL_VEHICLE_LISTINGS"] = 9;
9425
+ values[valuesById[18] = "YOUTUBE_AFFILIATE"] = 18;
9307
9426
  values[valuesById[10] = "YOUTUBE_SHOPPING"] = 10;
9308
9427
  values[valuesById[11] = "CLOUD_RETAIL"] = 11;
9309
9428
  values[valuesById[12] = "LOCAL_CLOUD_RETAIL"] = 12;
9429
+ values[valuesById[15] = "PRODUCT_REVIEWS"] = 15;
9430
+ values[valuesById[16] = "MERCHANT_REVIEWS"] = 16;
9431
+ values[valuesById[17] = "YOUTUBE_CHECKOUT"] = 17;
9310
9432
  return values;
9311
9433
  })();
9312
9434
 
@@ -1408,7 +1408,13 @@
1408
1408
  "LOCAL_INVENTORY_ADS": 3,
1409
1409
  "FREE_LISTINGS": 4,
1410
1410
  "FREE_LOCAL_LISTINGS": 5,
1411
- "YOUTUBE_SHOPPING": 6
1411
+ "YOUTUBE_SHOPPING": 6,
1412
+ "YOUTUBE_SHOPPING_CHECKOUT": 7,
1413
+ "YOUTUBE_AFFILIATE": 8,
1414
+ "FREE_VEHICLE_LISTINGS": 9,
1415
+ "VEHICLE_ADS": 10,
1416
+ "CLOUD_RETAIL": 11,
1417
+ "LOCAL_CLOUD_RETAIL": 12
1412
1418
  }
1413
1419
  }
1414
1420
  }
@@ -1433,11 +1439,16 @@
1433
1439
  "LOCAL_INVENTORY_ADS": 5,
1434
1440
  "VEHICLE_INVENTORY_ADS": 6,
1435
1441
  "FREE_LISTINGS": 7,
1442
+ "FREE_LISTINGS_UCP_CHECKOUT": 19,
1436
1443
  "FREE_LOCAL_LISTINGS": 8,
1437
1444
  "FREE_LOCAL_VEHICLE_LISTINGS": 9,
1445
+ "YOUTUBE_AFFILIATE": 18,
1438
1446
  "YOUTUBE_SHOPPING": 10,
1439
1447
  "CLOUD_RETAIL": 11,
1440
- "LOCAL_CLOUD_RETAIL": 12
1448
+ "LOCAL_CLOUD_RETAIL": 12,
1449
+ "PRODUCT_REVIEWS": 15,
1450
+ "MERCHANT_REVIEWS": 16,
1451
+ "YOUTUBE_CHECKOUT": 17
1441
1452
  }
1442
1453
  }
1443
1454
  }
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2025 Google LLC
2
+ // Copyright 2026 Google LLC
3
3
  //
4
4
  // Licensed under the Apache License, Version 2.0 (the "License");
5
5
  // you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2025 Google LLC
2
+ // Copyright 2026 Google LLC
3
3
  //
4
4
  // Licensed under the Apache License, Version 2.0 (the "License");
5
5
  // you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2025 Google LLC
2
+ // Copyright 2026 Google LLC
3
3
  //
4
4
  // Licensed under the Apache License, Version 2.0 (the "License");
5
5
  // you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright 2025 Google LLC
2
+ // Copyright 2026 Google LLC
3
3
  //
4
4
  // Licensed under the Apache License, Version 2.0 (the "License");
5
5
  // you may not use this file except in compliance with the License.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@google-shopping/reviews",
3
- "version": "0.5.1",
3
+ "version": "0.6.1",
4
4
  "description": "Merchant API client for Node.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -61,10 +61,18 @@
61
61
  "long": "^5.3.1",
62
62
  "mocha": "^11.1.0",
63
63
  "pack-n-play": "^3.0.0",
64
- "sinon": "^21.0.0",
64
+ "sinon": "21.0.3",
65
65
  "typescript": "^5.8.2"
66
66
  },
67
67
  "engines": {
68
68
  "node": ">=18"
69
+ },
70
+ "overrides": {
71
+ "@sinonjs/fake-timers": "15.2.1"
72
+ },
73
+ "pnpm": {
74
+ "overrides": {
75
+ "@sinonjs/fake-timers": "15.2.1"
76
+ }
69
77
  }
70
78
  }
package/LICENSE DELETED
@@ -1,202 +0,0 @@
1
-
2
- Apache License
3
- Version 2.0, January 2004
4
- http://www.apache.org/licenses/
5
-
6
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
-
8
- 1. Definitions.
9
-
10
- "License" shall mean the terms and conditions for use, reproduction,
11
- and distribution as defined by Sections 1 through 9 of this document.
12
-
13
- "Licensor" shall mean the copyright owner or entity authorized by
14
- the copyright owner that is granting the License.
15
-
16
- "Legal Entity" shall mean the union of the acting entity and all
17
- other entities that control, are controlled by, or are under common
18
- control with that entity. For the purposes of this definition,
19
- "control" means (i) the power, direct or indirect, to cause the
20
- direction or management of such entity, whether by contract or
21
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
- outstanding shares, or (iii) beneficial ownership of such entity.
23
-
24
- "You" (or "Your") shall mean an individual or Legal Entity
25
- exercising permissions granted by this License.
26
-
27
- "Source" form shall mean the preferred form for making modifications,
28
- including but not limited to software source code, documentation
29
- source, and configuration files.
30
-
31
- "Object" form shall mean any form resulting from mechanical
32
- transformation or translation of a Source form, including but
33
- not limited to compiled object code, generated documentation,
34
- and conversions to other media types.
35
-
36
- "Work" shall mean the work of authorship, whether in Source or
37
- Object form, made available under the License, as indicated by a
38
- copyright notice that is included in or attached to the work
39
- (an example is provided in the Appendix below).
40
-
41
- "Derivative Works" shall mean any work, whether in Source or Object
42
- form, that is based on (or derived from) the Work and for which the
43
- editorial revisions, annotations, elaborations, or other modifications
44
- represent, as a whole, an original work of authorship. For the purposes
45
- of this License, Derivative Works shall not include works that remain
46
- separable from, or merely link (or bind by name) to the interfaces of,
47
- the Work and Derivative Works thereof.
48
-
49
- "Contribution" shall mean any work of authorship, including
50
- the original version of the Work and any modifications or additions
51
- to that Work or Derivative Works thereof, that is intentionally
52
- submitted to Licensor for inclusion in the Work by the copyright owner
53
- or by an individual or Legal Entity authorized to submit on behalf of
54
- the copyright owner. For the purposes of this definition, "submitted"
55
- means any form of electronic, verbal, or written communication sent
56
- to the Licensor or its representatives, including but not limited to
57
- communication on electronic mailing lists, source code control systems,
58
- and issue tracking systems that are managed by, or on behalf of, the
59
- Licensor for the purpose of discussing and improving the Work, but
60
- excluding communication that is conspicuously marked or otherwise
61
- designated in writing by the copyright owner as "Not a Contribution."
62
-
63
- "Contributor" shall mean Licensor and any individual or Legal Entity
64
- on behalf of whom a Contribution has been received by Licensor and
65
- subsequently incorporated within the Work.
66
-
67
- 2. Grant of Copyright License. Subject to the terms and conditions of
68
- this License, each Contributor hereby grants to You a perpetual,
69
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
- copyright license to reproduce, prepare Derivative Works of,
71
- publicly display, publicly perform, sublicense, and distribute the
72
- Work and such Derivative Works in Source or Object form.
73
-
74
- 3. Grant of Patent License. Subject to the terms and conditions of
75
- this License, each Contributor hereby grants to You a perpetual,
76
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
- (except as stated in this section) patent license to make, have made,
78
- use, offer to sell, sell, import, and otherwise transfer the Work,
79
- where such license applies only to those patent claims licensable
80
- by such Contributor that are necessarily infringed by their
81
- Contribution(s) alone or by combination of their Contribution(s)
82
- with the Work to which such Contribution(s) was submitted. If You
83
- institute patent litigation against any entity (including a
84
- cross-claim or counterclaim in a lawsuit) alleging that the Work
85
- or a Contribution incorporated within the Work constitutes direct
86
- or contributory patent infringement, then any patent licenses
87
- granted to You under this License for that Work shall terminate
88
- as of the date such litigation is filed.
89
-
90
- 4. Redistribution. You may reproduce and distribute copies of the
91
- Work or Derivative Works thereof in any medium, with or without
92
- modifications, and in Source or Object form, provided that You
93
- meet the following conditions:
94
-
95
- (a) You must give any other recipients of the Work or
96
- Derivative Works a copy of this License; and
97
-
98
- (b) You must cause any modified files to carry prominent notices
99
- stating that You changed the files; and
100
-
101
- (c) You must retain, in the Source form of any Derivative Works
102
- that You distribute, all copyright, patent, trademark, and
103
- attribution notices from the Source form of the Work,
104
- excluding those notices that do not pertain to any part of
105
- the Derivative Works; and
106
-
107
- (d) If the Work includes a "NOTICE" text file as part of its
108
- distribution, then any Derivative Works that You distribute must
109
- include a readable copy of the attribution notices contained
110
- within such NOTICE file, excluding those notices that do not
111
- pertain to any part of the Derivative Works, in at least one
112
- of the following places: within a NOTICE text file distributed
113
- as part of the Derivative Works; within the Source form or
114
- documentation, if provided along with the Derivative Works; or,
115
- within a display generated by the Derivative Works, if and
116
- wherever such third-party notices normally appear. The contents
117
- of the NOTICE file are for informational purposes only and
118
- do not modify the License. You may add Your own attribution
119
- notices within Derivative Works that You distribute, alongside
120
- or as an addendum to the NOTICE text from the Work, provided
121
- that such additional attribution notices cannot be construed
122
- as modifying the License.
123
-
124
- You may add Your own copyright statement to Your modifications and
125
- may provide additional or different license terms and conditions
126
- for use, reproduction, or distribution of Your modifications, or
127
- for any such Derivative Works as a whole, provided Your use,
128
- reproduction, and distribution of the Work otherwise complies with
129
- the conditions stated in this License.
130
-
131
- 5. Submission of Contributions. Unless You explicitly state otherwise,
132
- any Contribution intentionally submitted for inclusion in the Work
133
- by You to the Licensor shall be under the terms and conditions of
134
- this License, without any additional terms or conditions.
135
- Notwithstanding the above, nothing herein shall supersede or modify
136
- the terms of any separate license agreement you may have executed
137
- with Licensor regarding such Contributions.
138
-
139
- 6. Trademarks. This License does not grant permission to use the trade
140
- names, trademarks, service marks, or product names of the Licensor,
141
- except as required for reasonable and customary use in describing the
142
- origin of the Work and reproducing the content of the NOTICE file.
143
-
144
- 7. Disclaimer of Warranty. Unless required by applicable law or
145
- agreed to in writing, Licensor provides the Work (and each
146
- Contributor provides its Contributions) on an "AS IS" BASIS,
147
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
- implied, including, without limitation, any warranties or conditions
149
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
- PARTICULAR PURPOSE. You are solely responsible for determining the
151
- appropriateness of using or redistributing the Work and assume any
152
- risks associated with Your exercise of permissions under this License.
153
-
154
- 8. Limitation of Liability. In no event and under no legal theory,
155
- whether in tort (including negligence), contract, or otherwise,
156
- unless required by applicable law (such as deliberate and grossly
157
- negligent acts) or agreed to in writing, shall any Contributor be
158
- liable to You for damages, including any direct, indirect, special,
159
- incidental, or consequential damages of any character arising as a
160
- result of this License or out of the use or inability to use the
161
- Work (including but not limited to damages for loss of goodwill,
162
- work stoppage, computer failure or malfunction, or any and all
163
- other commercial damages or losses), even if such Contributor
164
- has been advised of the possibility of such damages.
165
-
166
- 9. Accepting Warranty or Additional Liability. While redistributing
167
- the Work or Derivative Works thereof, You may choose to offer,
168
- and charge a fee for, acceptance of support, warranty, indemnity,
169
- or other liability obligations and/or rights consistent with this
170
- License. However, in accepting such obligations, You may act only
171
- on Your own behalf and on Your sole responsibility, not on behalf
172
- of any other Contributor, and only if You agree to indemnify,
173
- defend, and hold each Contributor harmless for any liability
174
- incurred by, or claims asserted against, such Contributor by reason
175
- of your accepting any such warranty or additional liability.
176
-
177
- END OF TERMS AND CONDITIONS
178
-
179
- APPENDIX: How to apply the Apache License to your work.
180
-
181
- To apply the Apache License to your work, attach the following
182
- boilerplate notice, with the fields enclosed by brackets "[]"
183
- replaced with your own identifying information. (Don't include
184
- the brackets!) The text should be enclosed in the appropriate
185
- comment syntax for the file format. We also recommend that a
186
- file or class name and description of purpose be included on the
187
- same "printed page" as the copyright notice for easier
188
- identification within third-party archives.
189
-
190
- Copyright [yyyy] [name of copyright owner]
191
-
192
- Licensed under the Apache License, Version 2.0 (the "License");
193
- you may not use this file except in compliance with the License.
194
- You may obtain a copy of the License at
195
-
196
- http://www.apache.org/licenses/LICENSE-2.0
197
-
198
- Unless required by applicable law or agreed to in writing, software
199
- distributed under the License is distributed on an "AS IS" BASIS,
200
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
- See the License for the specific language governing permissions and
202
- limitations under the License.